Rodomi pranešimai su žymėmis 2D. Rodyti visus pranešimus
Rodomi pranešimai su žymėmis 2D. Rodyti visus pranešimus

2010 m. spalio 7 d., ketvirtadienis

Naujos tekstūros - smėlis

Vakar aptikau būdą, kaip pasigaminti tile'us izometriniam 2D žaidimui, kurie sudaro daugiau mažiau gražią tekstūrą, tad šiandien nusprendžiau nupiešti ką nors įtikinamesnio nei dviejų spalvų akmenis.

Taigi, nupiešiau keturias tekstūras:
http://img830.imageshack.us/img830/2016/startingtextures.png

Sudėjau aštuonias jų kombinacijas ir iškirpau gautas galutines tekstūras:
http://img812.imageshack.us/img812/733/combinedtile.png

Beje, raudonai nupiešiau specialiai paliekama žymę, pagal kurią sprendžiu, kur gi bus mano galutinė tekstūra.
"Užmoviau" ant plokštumos blenderyje ir sudėjęs tile'us į vieną failą nekantriai įsijungiau ide testavimui. Kai pamačiau, ką gavau, vos nesusikeikiau:
http://img6.imageshack.us/img6/4494/shithapends.png

Štai tau ir "seamless tiling"... Supratau savo klaidą - keturias tekstūras nupiešiau atskirai, todėl jų tonai kad ir nedaug, bet skirėsi, todėl ir gavau šią "šachmatų lentą".

Ėmiausi taisyti šią netvarką (tiksliau - tvarką), ir po dar vieno rato gavau štai tai:
http://img80.imageshack.us/img80/5971/correct.png

Gera žinia ta, kad atrodo jau gražiau. Blogosios yra net dvi - pirma, kad kažkokios "grotos" vis tiek šviečia, antra, kad su vienu vieninteliu smėlio tile'ų atrodo tik šiek tiek prasčiau. Pastaroji problema, aišku, maža, nes kokiai žolei ar kam kitam skirtumas tarp aštuonių ir vieno bus akivaizdesnis. Toliau galvosiu ir skaitysiu apie tolygius perėjimus tarp plytelių tipų (smėlis - akmenys, smėlis - purvas ir pan.).

Ir vos nepamiršau... Atradau, kad tiesias 2x1 linijas izometriniame žaidime galima sudaryti dviejų tipų plytelėmis:
http://img193.imageshack.us/img193/4976/tilesexamples.png
Anksčiau visą laiką naudojau pirmo tipo tile'us, kurių dydis 64x31. Vakar kad ir kiek sukinėčiau kamera blenderyje ir keisčiau kitus parametrus, tokių pačių gauti nepavyko - pavyko tik 64x32 (t.y. antrojo tipo), kas iš principo irgi buvo gerai. Šiandien apsisprendžiau gaminti didesnius tile'us, t.y. 80x40, bet kai vėl bandžiau gauti tiksliai tokio dydžio reikiamos struktūros tile'us, nieko nepavyko. Užtai pavyko gauti 80x39, ko visai nesitikėjau. Įdomiausia, kad pats to nežinodamas pasigaminau tile'ų, kurie kaip tik tokie, kokie naudojami diablo 2 variklyje! Manęs laukia dydi ateitis.:)
Jei kam įdomu, štai receptas: default'inė plokštuma (2x2 blenderio matavimo vienetų), kurios Z koordinatė yra 1, kamera, kurios koordinatės X = 10, Y = -10, Z = 5; kampai rotX = 60, rotY = 0; rotZ = 45; kamerai editing lange (F9) nustatyta orthographic ir shift y = 0.38; paveiksliuko dydis 208x120 (nors abejoju, ar Y dydis ką duoda); OSA, aišku, atjungta. Berods, nieko nepamiršau.

2010 m. spalio 6 d., trečiadienis

Plytelių klojimas

Taip taip, čia apie žaidimus. Kadangi animacijos jau yra (tik dar nėra įdėtos į žaidimą), nusprendžiau užsiimti aplinkomis. Kaip ir visada, norėdamas aplinkas kurti 2D, imuosi tile'ų (plytelių). Kadangi jau ne pirmą kartą bandau su jomis žaisti, pasistengiau pirmiausia sužinoti daugiau iš visagalio interneto. Ir ką gi aš radau? O gi:
http://shell.cas.usf.edu/~jonoska/kursevi/biomol-comp/Wang_Tiles_Paper.pdf
ir
http://research.microsoft.com/en-us/um/people/cohen/WangFinal.pdf

Idėja apie tokį tile'ų dėliojimą mane aplankė jau seniai (na, aišku, ne taip seniai, kaip Wang'ą), tačiau iš šių straipsnių aš sužinojau ir lengvą būdą tuos tile'us gaminti. Man darbo eiga buvo tokia:
1) nupiešiau keturias tekstūras 200x200;
2) pavadinau jas raudona, mėlyna, žalia ir geltona;
3) pasukau kiekviena 45 laipsniais ir sudėjau visas aštuonias kombinacijas (2-as straipsnis);
4) atsikračiau nesutapimų (tai, ką, kaip supratau, už straipsnio autorius daro kompiuteris );
5) iškirpau kvadratą iš kiekvienos kombinacijos ir išsaugojau kaip jpg (beje, naudoju GIMP);
6) užtempiau gautas tekstūras ant plokštumos blenderyje ir pažaidęs su kamera ir render opcijom, gavau reikiamo dydžio tile'us.

Mano eksperimento rezultatas:
http://img826.imageshack.us/img826/3098/wangtiles.png
Programėlės neįdedu, nes ji triviali.

Šios tekstūros nupieštos per kelias minutes, tai žaidime jų, aišku, nebus - nupiešiu ką nors bent šiek tiek padoraus.:)

2010 m. rugsėjo 30 d., ketvirtadienis

Pradžia įpusėjus

Čia yra pirmasis mano įrašas kuriame nors bloge, tad pradėti norėjau nuo ko nors apčiuopiamo. Kadangi įrašų seriją (tikiuosi, kad seriją) pradedu jau gerokai įsivažiavęs su žaidimu, padaryti tai nebuvo sunku. Šiuo metu dirbu prie animacijos sistemos ir, be abejo, pačių animacijų, todėl nusprendžiau sumesti "ant greitųjų" mini demo.

Ką gi rasite šioje mini demo? Na, tiesą sakant, labai nedaug. Tačiau... Visa programėlė yra kelių mano padarytų 16 krypčių animacijų demonstracija, be to - animacijų būsenų mašinos (keistai skambantis angliško Finite State Machine lietuviškas atitikmuo) darbo demonstracija. O kaip didžiausias bonusas - išeities kodas! Tačiau... Išeities kodas yra be komentarų. Jei kada nors dėl kokių nors nepaaiškinamų priežasčių kažkam šio kodo prireiks ir juo negalima bus pasinaudoti dėl komentarų nebuvimo, su malonumu juos ten sudėsiu. Kodas turėtų būti aiškus, nors kadangi sulipdytas iš skirtingų mano mokimosi programuoti epochų failų, gali vietomis skirtias pats nuo savęs.:) Taigi:
http://www.mediafire.com/file/8xx8ab823j8582z/minotaur_run%28v003%29.rar

Ką gi rasite šiame tinklaraštyje? Gal nuo šito reikėjo ir pradėt. O gi čia žadu talpinti naujienas susijusias su mano laisvalaikiu kuriamu žaidimu, žaidimo kodo fragmentus, kažkokias mini programėles, kurios bus ar buvo parašytos kaip kurios nors žaidimo dalies prototipai. Kad nesikartočiau pradžiai tiesiog įklijuosiu nuorodą į gamedev.lt forumą, kur mano žaidimas pirmą kartą ir paminėtas:
http://www.gamedev.lt/viewtopic.php?f=44&t=2818
Ten pat galima rasti ir šio tinklaraščio atsiradimo istoriją (dėkui didžiausiam skatintojui jrs0ul;)).