2012 m. rugpjūčio 20 d., pirmadienis

Gyvatėlė

Sveiki,
Žaidimo pagrindinis meniu

šiame įraše aprašysiu savo programuota žaidimą "Gyvatėlė".
Klausiat kodėl "Gyvatėlė"? Priežastis paprasta, universitete pavasario semestre turėjom praktika, kur praktikos užduotis duoda iš įmonės atėjęs žmogus, o ne pats susigalvoji. Tai tarp visų galimų užduočių pasirinkau mano galva lengviausia, sukurti žaidimą. Pasirinkimą paskatino tai, kad šiek tiek patirties žaidimų kūrime turėjau, maniau kad nebus sunku. Taip pat tai buvo gan nebloga galimybė labiau pagilinti žinias į tai. O kitos užduotys buvo apie internetinių tinklapių skanavimą ir jos man skambėjo labai sudėtingai ir neaiškiai. 

 

Žaidimo realizavimas 

Testuojant
Žaidimą realizuot reikėjo su C# kalba. Kalba visai patraukli ir smagiai programuojasi. Ko gero dėl to kad objektinė kalba. Žaidimą nusprendžiau realizuot su Microsoft XNA Game Studio 4.0 platforma. Platforma pati visai nieko tik, kad susidūriau su vienu trūkumu, tai kad nėra jokios klasės priimti teksto įvedimui iš klaviatūros. Tenka tai pačiam apsirašyt, bent aš taip dariau. Žinoma galima internete susirasti visą klasę tam reikalui. Patį Xna platformos smagumą atradau kai stengiaus realizuoti gyvatėlės lygį, kai ji šliaužia naktyje. Kai su XNA pagalba buvo galima realizuoti tekstūrų persidengimą. Tada suvokiau, kad daug ko nežinau apie pačia XNA.
Žaidėjų rezultatams saugoti pasirinkau Microsoft SQL Server Compact 4.0 dėl to, kad tai yra lokali duomenų bazė. Kitaip tariant, atkrenta problema, kad nereikia palaikyti kokios nors duombazės serveryje. Žinoma tai turi ir minusą, kad kiekvienas žaidėjas mato tik asmeninius rekordus.

Prisijungimą prie duomenų bazės organizavau su Fluent-NHibernate. Kodėl būtent Fluent-NHibernate? Pats NHibernate duoda tai, kad nereik pačiam rašyt SQL užklausų, tik reik su xml failu apsirašyt savo duomenų bazės laukelius. Bet tai išsprendžia Fluent-NHibernate, kai automatiškai už tave tai atlieka. Tai labai patogu jei reik pakeisti duomenų bazėj laukelius.
Tik turėjau daug galvos skausmo bandant pasijungti. Internete mažai informacijos kaip pasijungti Compact duombazę prie Fluent-NHibernate, tad užgaišau gan nemažai laiko prie bandymo prijungti. Bet vis dėl to pajungiau :)

Gyvatės galvos eskizas
Pasisekė man, kad turiu draugų, kurie moka piešt, nes kitu atveju, žaidimas atrodytų kur kas prasčiau. Už tekstūras dėkoju Gabrielei. Apdirbant tekstūras buvo gan savotiška patirtis, kokiu formatu saugoti ir svarbiausia kokiu dydžiu. Ne ką įdomiau buvo ir pats tekstūrų įterpimas į žaidimą. Tik testavimas erzindavo, kad norint patikrinti kaip atrodo, tekdavo per naujo kompiliuoti pakeitus kelis kintamuosius.

Žaidimo garsų paieška buvo pats nuobodžiausias dalykas. Įvairiausių garsų radau tinkančių kokiai šaudyklei, lenktynių žaidimui, bet ne gyvatėlei. Tad žaidimo garsai nėra stipriausia žaidimo pusė.

Dirbant prie šio žaidimo naudojau CodePlex. Jame saugau visą žaidimo sourc'ą. Gan patogus įrankis, kai jei po blogo pakeitimo nebeveikia programa, galima lengvai atstatyti į tą kodo versiją kuri buvo prieš pakeitimą.
Galite parsiųsti ar vietoj peržiūrėt žaidimo kodą bei patį parsisiųsti žaidimą. Deja, žaidimo kodui trūksta dokumentacijos. O žaidimo kodą rasit čia.

Apibendrinant šis projektas buvo vertas to laiko, kurį praleidau (apie 3 mėnesius su pertraukom), nes nemažai išmokau ir sužinojau žaidimų kūrime. Bei taip praplėčiau akiratį. 


Žaidimo aprašymas

Gyvatės pasirinkimas
Žaidėjas žaidime turi tris gyvybęs. Žaidimas turi du žaidimo rėžimus: klasikinį ir nuotykių. Kaip ir sako pavadinimas, klasikiniam rėžime galima pasirinkti gyvatės spalvą ir sudėtingumo lygį, pagal kurį keičiasi gyvatės judėjimo greitis. Nuotykių rėžimas įdomesnis tuo, kad jame yra 6 lygiai. Pirmajame lygyje valdysite be galo ilgą gyvatę ir reiks stengtis išvengti kliūčių ir išsilaikyti kuo galima ilgiau. Antrajame lygyje gyvatę valdysite naktyje, kai aplink gyvatės galva matysite nediduką plotelį žaidimo lauko. Trečiajame lygyje po žaidimo lauką lakstys ir vabalas, kurį pagavus duodama kur kas daugiau taškų nei suvalgius paprastą maistą. Ketvirtajame lygyje gyvatės judėjimas pagreitės kas tam tikras laiko tarpas iki tokio greičio, kai gyvatė lakstys žaibiškai ir reiks nemažai įgūdžių gyvatei suvaldyt. Ir paskutiniai du lygiai nelabai kuo išsiskiriantys, paprasčiausiai kliūtys kitaip išdėliotos.



Šį žaidimą galite rast čia.

Motociklo modelis

Sveiki,

iš priekio
noriu pasidalinti savo suklijuotu motociklo modeliu.
Istorija kaip kilo mintis jį sukonstruot labai trumpa. Viskas prasidėjo nuo to, kad draugui sudegė kompiuterio maitblokis. Maniau, kad bus nesudėtinga pataisyt, bet jį išsiardžius pastebėjau kad situacija kur kas blogesnė ir kad ne mano jėgom sutaisyt. Taigi draugas nusipirko naują maitblokį, o sudegęs liko pas mane. Neskubėjau aš jo išmesti, tai kurį laiką jis rinko pas mane dulkes, kol nepastebėjau, kad kelios ritės panašios į ratus. Taip ir kilo mintis sukonstruot motociklo modelį :)



Pasirinkau elektronikos komponentus klijuoti klijais, nes su lituokliu nelabai sekėsi sulituoti. Tačiau padariau didelę klaidą pasirinkęs ne bespalvius klijus, nes dabar tie išdžiuvę klijai panašūs į snarglius :D

Pridedu daugiau nuotraukų šio modeliuko :) 

elementų kompanavimas
iš šono
iš galo

iš viršaus

iš galo


Praėjo gan daug laiko...

Sveiki,

praėjo visai nemažai laiko po paskutinio mano įrašo. Per tą laiką mano gyvenime daug kas pasikeitė. Taip pat ir nuveikiau visai nemažai darbų.
Pradėkim nuo to, kad studijuoju informatiką ir jau ruošiuosi trečiam kursui. Nors toks ir ruošimasis, nusipirkt kelis sąsiuvinius ir kelis tušinukus. Tai iki rugsėjo tikrai bus progą tai įsigyti. Tiek keliems mėnesiams užteks.
Per šį laiką praplatėjo mano akiratis į programavimą. Žinoma apleidau flash'ą, nieko nebekuriu su juo ir jau baigiu primiršt jį. Tačiau galiu pasigirti užbaigtu žaidimu Gyvatėlė, kurį detaliau aprašysiu atskiram įraše. Taip pat uoliai darbuojuos prie vienos programos, kuri valdoma bluetoothu. Šį savo projektą taip pat aprašysiu detaliau.
Taip susiklostė kad pradėjau labiau elektronika domėtis. Konkrečiau pačiais mikrovaldikliais, kaip sulituot schemą bei suprogramuoti. Turiu ambiciją su keliais draugais sukonstruot robotą, tačiau kol kas darbai iš teorinės srities į praktinę nepersiverčia. Taip pat iš elektronikos komponentų sukonstravau motociklo modelį.

Tai kaip supratot, blogo tematika keisis, ir bus kur kas daugiau įvairesnių technologijų. Taigi laukite naujų įrašų. :)

2010 m. gruodžio 17 d., penktadienis

Panoraminė nuotrauka

Sveiki,
taigi šaltą žiemos vakarą į galvą šovė mintis sukurti sistemą kurios dėka būtų galima peržiūrėt panoraminę nuotrauką panašiai kaip google street view. Per gerą pusvalandį pasirašiau programos prototipą, kurį telieką tik patobulinti.
Štai programos beta versija :]
Programos valdymas:
pelės ratuka stumdant vaizdas pritraukiamas arba nutolinamas.
Nuotrauka stumdoma paspaudus deišinį pelės klavišą ir stumiant pelę norima kryptim.





2010 m. birželio 13 d., sekmadienis

Belaukiant Joninių


Sveiki visi,

skubu jums pristatyti keltą naujų užsklandų, kurios skaičiuoja likusias dienas iki joninių :) Užsklandos tinka telefonams palaikantiems Flash Lite 1.1 bei geriausiai tinka telefonams kurių ekrano raiška 240x320
Užsklandų archyvo dydis: 193 Kb

Parsisiųsti archyvą

2010 m. birželio 11 d., penktadienis

Flash Lite laikrodžiai


Šį sykį noriu padėkoti Beatričei, už jos nuostabias fotografijas :) užsklandos vietos užima gerokai daugiau, tačiau yra vertų jūsų dėmesio.

Ekrano raiška: 240 x 320
Flash grotuvas: 2.0 Flash Lite
Užsklandos dydis: ~650 Kb
Archyvo dydis: 2,4 Mb
Archyve užsklandų: 6 vnt.

Parsisųsti

2010 m. birželio 4 d., penktadienis

Vasariškos užsklandos

Sveiki,
ko gero jau pastebėjot, kad seniai atnaujinau savo blogą. Tam turėjau rimtų priežasčių... Na bet ne apie tai aš. Kadangi atėjo vasarą, sukūriau keletą paprastų ekrano užsklandų/laikrodžių :) Manau, kad kiekvienas atrasit sau patinkančia užsklandą. Taip pat norėčiau padėkoti Modestai ir Guodai už fotografijas, kurias panaudojau užsklandose bei kurios mane ir įkvėpė sukurti šias užsklandas :)


Užsklandos tinka telefonams kurių ekrano raiška 240 X 320 ir turi Flash Lite 2.0 grotuvą.

Parsisiųsti 5 užsklandas