BLOGas.lt
Sukurk savo BLOGą Kitas atsitiktinis BLOGas

Su šventėm!!!

“Degantys ratai” sveikina visus su šventėm!!!



Rodyk draugams

Naujesnė versija

Kadangi iki šiol buvo galima parsisiųsti tik labai seną žaidimo versiją (2007-11), įdėjau truputį naujesnę (2008-05-20). Ji irgi ne pati naujausia, bet vis geriau. Taip pat įdėjau ir parsisiuntimo link’ą į šoninį meniu.

Rodyk draugams

Baigtas automobilio valdymas

Taigi, pagaliau baigiau automobilio valdymo programavimą. Jį visą perrašiau nuo pradžių, dabar jis žymiai tikslesnis. Automobilio judėjimo skaičiavimas paremtas dviem vektoriais: judėjimo (kur automobilis “nori” važiuoti) ir inercijos (kokia jėga jį veikia). Pvz. greitai sukant posūkį, inercijos jėga labai padidėja, tada įjungiamas čiuožimas. Esant tokiai sistemai, nereikia atskirai programuoti tokių veiksmų kaip čiuožimo įjungimas stabdant ir pan., visa tai apskaičiuojama “savaime” :) O trūkumas tas, kad tokį dalyką suprogramuoti daug sunkiau, daug formulių, daug klaidų…



Paveiksliuke matosi judėjimo (žalias) ir inercijos (raudonas, mėlynas) vektoriai. Kai tarp apskritimų atsiranda tarpas, įjungiamas čiuožimas.

Be valdymo dar padariau įvairių smulkmenų: screenshot'ų darymą, kameros atkabinimą nuo automobilio ir laisvą valdymą pele, galimybę kamerą apsukti aplink automobilį ir apžiūrėti iš visų pusių, taip pat perdariau ir patį BMW modelį (tik dar reiks pakeist tekstūrą).

Rodyk draugams

Gimtadienis!

Taigi, žaidimui šiandien suėjo vieneri metai :D Pagal planą jis jau turėjo būti baigtas, bet atsitiko tai, kas dažniausiai atsitinka tokiais atvejais - per anksti pradėjau tobulint. O tobulumui, kaip žinia, ribų nėra. Aišku tai nereiškia, kad kūrimas sustabdomas (nors ir kaip tai bebūtų populiaru :) ) - stengsiuosi jį užbaigti, tuo labiau, kad dabar vasara, laisvas laikas. Beje, kaip tik nuo vakar pradėjau dirbti programuotoju, tikiuosi tai labai neigiamai neįtakos žaidimo kūrimo.
Vertinant visą progresą, atrodo darbo liko visai nedaug. Tik paskutiniu metu strigau su automobilio valdymu. Tai svarbiausia (ir sunkiausia) žaidimo dalis, kurią perdarau jau trečią kartą. Na tikėkimės įveiksiu šį barjerą ir tada jau liks tik formalumai :)

Rodyk draugams

Misijų sistema

Baigiau programuoti misijų sistemą. Misijų sąrašas pateikiamas pasirinkus “Pradėti žaidimą”. Leidžiama pasirinkti jau pereitas misijas + vieną naują, visos kitos užrakintos. Pasirinkus misiją, parodomas pilnas jos aprašymas.
Misijos kuriamos ne skriptais (kaip turėtų būti “normaliam” žaidime), bet programuojamos. Tai suteikia daugiau galimybių (yra priėjimas prie įvairių duomenų), bet apsunkina testavimą. Kiekviena misija gali turėti savo intro, outro, savus duomenis (pvz. objektus, kurie naudojami tik toje misijoje). Kolkas misijos nepriklausomos viena nuo kitos - misijų eiga nepriklauso nuo prieš tai buvusių. Dar neaišku, kokios bus misijos, ir ar to priklausomumo išvis reikės.

(Programmer Art’as aišku bus pakeistas)

Rodyk draugams

WAV + OggVorbis

Beklausant muzikos kilo tokia mintis, kad būtų visai įdomu, jei koks objektas žaidime judėtų pagal muzikos garsumą (pvz. kokia garso kolonėlė). Paskaitęs OpenAL dokumentaciją supratau, kad jis negali gauti grojamos muzikos garsumo, taigi nusprendžiau tą informaciją kažkaip ištraukti iš wav failo.  Kad jau teko panagrinėti wav formatą, tai tuo pačiu pasirašiau ir lib'ą wav failams užkrauti. Taigi dabar žaidimui nereikės alut.dll (jis buvo naudojamas vien tik dėl wav užkrovimo).

Čia paveiksliukas, kaip atrodo garsumo lygiai (viršutinė dalis - vaizdas Audacity programoje):


Maža testinė programėlė (925 KB)

Taip pat su jrs0ul pagalba padariau ir Ogg Vorbis garso failų užkrovimą. Ogg Vorbis formatas pasižymi dideliu garso suspaudimu, todėl sutaupoma vietos tiek HDD, tiek RAM'e. Maži garsai iškoduojami paprastai, o didesni nuskaitomi į RAM ir iš jo stream'inami mažomis dalimis.

Rodyk draugams

Geros naujienos

Taip jau atsitiko, kad universitete šį semestrą yra toks modulis “programavimo praktika”. Per visą semestrą reikia padaryti vieną programą - užduotis pasirenkama iš sąrašo arba individuali. Pagalvojau, kad tai puiki proga padaryti kažką įdomesnio - galvoj sukosi daug seniai sugalvotų projektų,
bet galiausiai nusprendžiau paimti šį žaidimą (visgi reikia jį užbaigti :).
Beje, yra ir reikalavimai: programa turi veikti GNU/Linux sistemoje.
Taigi prie visų darbų dar prisidės portinimas. Kolkas jis neatrodo labai baisus, nes naudoju multiplatforminius lib’us (OpenGL, OpenAL), GCC kompiliatorių. Iš pradžių galvojau GNU/Linux’e naudoti SDL (populiarus, paprastas…), bet pabandžiau ir kažkaip jis man pasirodė skystokas… Dabar taikausi į gryną X-Window (X11),- jei viskas pasiseks, tai tikriausiai jį ir naudosiu.

O šiaip paskutiniu metu daugiausiai testavau su grafika. Čia paveiksliukas, kaip atrodo “Environment Mapping” - netikri atspindžiai. Dar bandžiau padaryti “tikrų” projekcinių šešėlių renderinimą, bet dar iki galo neperkandau matricų transformacijų.

Rodyk draugams

Darbų sąrašas

Įdėjau nuorodą į darbų sąrašą, dabar progresą bus galima stebėti “gyvai”. O apie patį žaidimą kolkas dar neturiu nieko naujo pasakyt/parodyt.

Rodyk draugams

Planai

Atėjo laikas užbaigti žaidimą, taigi susirašiau dalykus, kuriuos liko padaryti:

   Programavimas:
   Misijų sistema
   Padangų žymės ant kelio
   Daugiau efektų su particlais
   Protingesnis AI, kad nebūtų užsikimšusių sankryžų
   Patobulinti valdymą
   Tekstūrų su 1 bito alpha kanalu palaikymas
   Perrašyti nustatymų programėlę
   Patobulinti susidūrimų skaičiavimą
   Artwork'as:
   Misijos
   Didesnis miestas
   Daugiau skirtingų objektų, automobilių
   Pakeisti garsus ir pridėti naujų
   Gražesnis meniu

Jei turit pasiūlymų - praneškit ;)

Rodyk draugams

Jau!

Kadangi yra problemų siunčiantis Indago žaidimus iš games.lt, duodu tiesioginę nuorodą: [click]. Tik būtinai perskaitykit informaciją (info_LT.pdf).

Ir nepamirškit, kad čia tik demo versija, kuri bus užbaigta. Taigi jei turit pasiūlymų - praneškit, galbūt jie bus įgyvendinti pilnam žaidime.

Kai kas prašė žaidimo paveiksliukų, tai štai vienas, tikiuosi užteks :)

Paveiksliukas iš žaidimo

Rodyk draugams

←senesni