2011 m. rugsėjo 27 d., antradienis

Pakalbėkim

Šiandien vienas iš minotaurų prakalbo žmogaus balsu:
Ačiū dievui, man užteko proto ir kantrybės pasirašyti šiokią tokią skriptų sistemą, todėl galiu keisti dialogus (ir ne tik) neišeidamas iš žaidimo:
Būtent skriptų pagalba žadu organizuoti quest'ų ir tutorial'ų sistemas. Iš tikrųjų visos žaidimo būsenos galėtų būti keičiamos skriptų pagalba, bet niekam to nereikia. Kol kas tiek.


P.S. Viršuje kairėje antros GUI dalies užuomazgos.

2011 m. rugsėjo 23 d., penktadienis

Kablys

Kablys dviem prasmėm. Pirma, šiuo metu darbe turiu mažai darbo, todėl yra daug laisvo laiko. O kai "užsikabliuoju", galiu nemažai nuveikti.;) Antra:
Į ką kreipiame dėmesį:
    a) Kriteris gavo į snukį KABLIU.:)
    b) Tai reiškia kad kriterio animacijos jau žaidime.
    c) Kol kas vienintelis įtrauktas į žaidimą gebėjimas (smūgiuoti) veikia - paspaudus pelės klavišą arba atitinkamą shortcut mygtuką (arba tiesiog pasinaudojus GUI elementais), pasikeičia minotauro animacija ir būsena, atėjus tam tikram animacijos kadrui, kriteriui nusiunčiama žinutė "kriterį, gavai į snukį", kriteris sėkmingai priima žinutę ir pradeda griūti. Gal ir neatrodo ypatingai, bet labai džiaugiuosi, kad pagaliau viskas veikia kaip suplanuota.
    d) Gebėjimo paveikslėlis.
    e) Dalinis GUI, apie kurį jau rašiau, yra žaidime.

Į ką nekreipiame dėmesio:
    a) Į minotaurų paveiksliukus/animacijas - minotaurai skirtingo dydžio (viena animacija sena, kitą sumečiau dabar patestaimui neišlaikydamas proporcijų).
    b) GUI mygtukus su mėlynu fonu. Dalis jų tiesiog laikinai naudojama pažymėti shortcut'ų vietas, o dalis veikiantys elementai, bet greitai pakeisiantys išvaizdą.
    c) Absoliučiai visus užrašus (ypač nekreipiame dėmesio į FPS:)).

2011 m. rugsėjo 22 d., ketvirtadienis

Užbaigtos kriterio animacijos

Uf, užbaigiau visas paprasto kriterio animacijas. Mano skaičiavimais jis jų turi net daugiau nei turės pagrindiniai veikėjai! Teko nemažai padirbėti, kol maksimaliai sumažinau kadrų skaičių išlaikydamas, kaip man atrodo, animacijų esmę. Labai prašyčiau įvertinti jas, nes norėčiau prieš gamindamas spritesheet'us ištaisyti visus netikslumus. Taip pat suprantu, kad kai kurios animacijos išimtos iš konteksto atrodo visai kitaip (net pabandžiau kiek įmanoma pritraukti kriterio nusileidimo animaciją prie konteksto, kuriame ji bus naudojama).
kriterio ataka 1

kriterio ataka 2

kriteris griebia

kriteris gavo smūgį 1
kriteris gavo smūgį 2

kriteris gavo smūgį 3

kriteris stovi

kriteris nusileidžia

kriteris bėga nuo kažko
kriteris žvalgosi

kriteris panikuoja


kriteris bėga

kriteris keliasi
kriteris atsigauna

kriteris apsvaigintas

kriteris išsigąsta

kriteris pasiruošia mirti 

2011 m. rugsėjo 20 d., antradienis

Panika

Dirbu prie eilinių kriterių (be jų suplanuoti 7 gyviai) animacijų. Viena iš man labiausiai patinkančių:

Greičiausiai tiek kadrų žaidime negalima bus turėti, tai reikia pasidžiaugti, kol galiu.:)

EDIT: Nusprendžiau naujo įrašo dėl tokio menkniekio nedaryti:

2011 m. rugsėjo 15 d., ketvirtadienis

Mažas atnaujinimas

Kažkas amžiname projekte turėjo atsirasti pastovaus. Jei nesulauksiu didelės kritikos, būtent toks bus galutinis žaidimo vizualus dizainas (kalbu apie GUI ekrano apačioje):

Man jame patinka sodresnės spalvos, tekstūros, šviesos. Stengsiuosi galutines aplinkas ir veikėjus "pritraukti" prie šitokio stiliaus. Pastaruosius metus kovojau su savimi negalėdamas apsispręsti - pasilikti prie "realesnių" tamsių ir blyškių spalvų ar pereiti prie ryškesnių ir sodresnių. Kadangi žaidimas nepretenduoja į realizmą, apsistosiu ties antru variantu ir,kaip bonusas, nesilaikysiu anatominių proporijų piešdamas veikėjus (ne, nė vieno dar nerodžiau, nes jų dar nėra).

2011 m. rugsėjo 12 d., pirmadienis

Nauja aplinka - urvai

Žemėlapių testas:
Dar matosi trūkumų - didžiausi gal dėl mano klaidos "užtempiant" tekstūras ant sienų modelių. Bet gerai tai, kad jau išmokau gan greitai modeliuoti ir perkelti į 2D sienų tile'us.

Jau net nebepamenu, kokio pločio buvo mano pradiniai labirintai (pradinė idėja buvo, kad vos vos du minotaurai prasilenktų), bet dabar koridoriaus plotis yra apie 40 matavimo vienetų plius po 10 matavimo vienetų kiekvienai sienai (minotauro spindulys yra 4 matavimo vienetai). Per šį visišką žaidimo perrašymą atsikračiau vienos labai įkyrios nesamonės - kažkodėl anksčiau vienai labirinto atkarpai (60x60 vienetų kvadratas) užpildyti kurdavau 6x6= 36 emm..., pavadinkime juos žaidimo objektais, tai va - žaidimo objektų grindims ir dar nuo 4 iki 20  - sienoms, taigi vidutiniškai 48 objektai. Dabar apsiriboju 4 grindims, t.y. 30x30 kvadratai (neatmetu galimybės, kad vėliau bus vienintelis 60x60) ir nuo 4 iki 8 sienoms, vidutiniškai 10 objektų. Prisimenu, jaudinausi dėl piešimo tvarkos ir sortinimo pagal atstumą nuo kameros, todėl ir buvo visi žaidimo objektai 10x10 - tiek veikėjai, tiek aplinkos. Dabar matau, kad užtenka žymiai mažiau, bet didesnių sprite'ų, kol atsiranda sort'inimo problemų. Kol kas tiek.

2011 m. rugpjūčio 31 d., trečiadienis

Įdomesni labirintai

Pirmiausia noriu pasidžiaugti, kad vėl turiu daugiau laiko ir noro čia ką nors parašyti. Nuo paskutinio įrašo, kaip ir reikėtų tikėtis, mano kuriamas žaidimas nemažai pasikeitė. Turbūt apie visus pakitimus viename įraše tikrai nesugebėsiu parašyti, tai parašysiu kelis. Reikėtų sugrupuoti informaciją, o kur geriau tai daryti kaip ne ant elektroninio popieriaus.

Taigi didžiausia naujiena - žaidimas perėjo nuo Allegro prie HGE žaidimų varikliuko. Seniai seniai minėjau, kad programuoju savo GUI elementus. Tai va, gan smagiai ten viskas išėjo ir šiuo metu naudoju savo GUI klases gan patogiai. O apskritai žaidimo filosofiją šiek tiek (o gal ir labai pakeičiau), pabandysiu išryškinti pagrindines išvadas, kurios prašite prisiprašė per šiuos kelis mėnesius:
1) Labirintai tokie, kokius juos įsivaizdavau, nėra įdomūs.
2) Spaudalioti daug GUI mygtukų nėra įdomu.
3) Laikyti galvoje daug kintamųjų nėra įdomu (su išimtimis, aišku).
4) Būti apdovanotam kažkuo, kas neaišku, ką daro, visai neįdomu.
5) Būti spaudžiamam laiko apribojimų kiekviename žingsnyje neįdomu, tai net varo stresą.


Dabar apie kiekvieną:
1) Kažkada įsidrąsinau tiek, kad parodžiau savo žaidimo demo kitiems. Tikriausiai niekas nesigilino, bet labirinto "arena" buvo kvadrato formos, tai buvo idealus (ta prasme, kad iš bet kurio taško į bet kurį kitą buvo vienas kelias) labirintas, kurio vidury buvo "išmušama" skylė ir patalpinami minotaurai. Šis būdas generuoti žemėlapį man labai greitai pasirodė netinkamas dėl to, kad žaidėjas nuo pat pradžių buvo įmetamas į žaidimą kaip kačiukas į tvenkinį. Plius tokiu principu žaidžiamas žaidimas (t.y. vien arenos kovos) atima man labai brangų atradimų žaidime elementą. Sugalvojau, kad labirintą reikia paskirstyti netolygiai ir kad turi būti ne tik kovos arenoje, bet ir lobių bei svarbių NPC paieška labirintuose. Čia pirmieji bandymai:

Kad būtų kažkoks tikslas, sugalvojau, kad minotaurai gali grobti labirinto dalis ir kuo daugiau tų labirinto atkarpų turi, tuo daugiau gauni resursų (plačiąja prasme) tarp turnyro varžybų. Antrame paveiksliuke net yra rodyklė, rodantį, kur ieškoti taikinio - priešininko (arba kriterių) vėliavos. Dešinėje viršuje matomas žemėlapis. Šie du dalykėliai buvo paskutinės dvi vinys į labirinto generavimo karstą. Jei jau reikia tokių dalykų, reiškia kuri, žmogau, kažką labai painaus. Supratau bendrą tiesą apie žaidimų susijusių su labirintais programavimą - programuoti juos įdomiau nei žaisti.:) O programavau aš tai tikrai laaabai ilgai. Kol kas čia sustabdysiu aprašymą, o vėliau grįšiu prie žemėlapių apskritai.
2) Vienu metu reikėjo paspausti nemažai mygtukų ir kitų "šudukų", kad vien tik atsirastum labirinte. Dar "kovoju" su šia problema. Žaidėjas juk nori žaisti, o ne naršyti po finansines labirinto ataskaitas:
Beje, taip atrodė "visas" labirintas. Kiekvienas kvadračiukas turėjo savo statistiką, vieni buvo geresni, bet sunkiau užgrobiami, kiti - atvirkščiai. Bet ne apie tai kalba. Šitą vaizdą mačiau per dažnai - nori į labirintą? še tau šį pasirinkimo meniu, nori pastatyti statulą "savo" labirinto daly? še tau šitą vaizdą, nori užpulti kito minotauro labirintą? še tau tas pats. Neįdomu.
3) Esu parašęs ganėtinai sklandų navigacijos labirinte algoritmą - minotaurai gražiai ir tolygiai pasuka, kai pribėga prie kampo, o ne staigiai kaip robotai po sėkundės šimtųjų jau žiūri priešinga kryptimi. Ir į šį jau ir taip sudėtingą kodo makaroną man būtinai reikėjo dar visko pridėti. Kai pagalvoju apie priežastį, juokinga iš savęs pasidaro - man reikėjo, kad minotaurų stats'ai būtų daugiau kur panaudojami. Atsirado tokie akivaizdžiai "prasmingi" skaičiukai kaip acceleration rate, decceleration rate, turn rate ir pan. Virš dešimties kažkių keistų (na, gal šiek tiek inovatoriškų tokiam žanrui) charakteristikų. Mano galvai - per daug. Švelniai pereinam prie...
4) Kas geriau: greičiau įsibegėti ar greičiau sustoti?:) Arba ką reiškia užrašas ant sandalų +0,004 turn rate? Daug nereikalingos ir neaiškios informacijos. Išmesti.
5) Pirmojo punkto antrajame paveiksliuke matyti dar kaikas - laikas likęs minotaurui būti labirinte. Na, "savo" dalyje galėjai būti kiek širdis geidžia, bet pas priešininkus galėjai būti tam tikrą laiką. Neįdomu visu greičiu lėkti ten kur rodo raudonas kursorius ir dar aptikti, kad tai visai ne iš tos sienos pusės. Laikas turėtų būti kaip kažkas "optimalaus" - pasimatuoti, kieno jis trumpesnis ar ką.


Keli vaizdai iš to, kas buvo:





Jei ką, žaidimo toli gražu nemečiau:

Stilius greičiausiai pasikeis, bet turėtų jaustis tokių žaidimų kaip Diablo (jo net nežaidžiau) ir Titan quest prieskonis.

Dabar trumpam grįšiu prie šiuo metu man aktualiausios temos - žemėlapio generavimas. Apskritai žaidimas grįžo į kokią v0.3 stadiją, nes nei minotaurų, nei labirintų kol kas nevaizduoju, bet jau daug padariau, kad kai vaizduosiu, tai bus pačiam malonu pažiūrėti, kas ten ir kaip. Prie žemėlapių nusprenžiau prieiti iš kito galo - apibrėžti susidomėjimo objektus (points of interest) ir žemėlapį sudarity apie juos. Kas galėtų būtie tie susidomėjimo objektai:
a) kažkokios žaidimo brangenybės (skaitykit - auksas);
b) daiktai, padedantys lengviau žaisti (ekipiruotė);
c) gal kokie raktai ar pan;
d) užduočių tikslai;
e) prekeiviai;
f) treneriai;
g) kriteriai (pavojaus, bet ir turto šaltiniai);
h) spąstai;
Kol kas žemėlapio topologiją nustatau pats (tiesą sakant, kadangi man kol kas nesvarbu, ji nuolat ta pati), bet, manau, visai įmanoma, kad įdomias topologijas generuotų kompiuteris. Ką aš turiu šiuo metu:
1) Apibrėžiam kelis susidomėjimo objektus (taikinius) ir bandysim juos sujungti prasmingais būdais. Tam paskaičiuosim, kurie labirinto elementai arčiau kurių taikinių:
Išėjo kaip ir Voronoi diagrama:) Toliau sugalvojau, kad reikia rasti vietas, kur tos zonos kertasi ir nuo ten pradėti "gręžti" iki taikinių, tam, aišku, rikia pirmiausia surasti zonų pakraščius:
Tada iš atsitiktinai parinktų pakraščių dalių tiesiamas labirintas tol, kol visi taikiniai pasiekti:
Baisu! Supratau, kad grįžau prie rodyklės ir žemėlapio.;) Tad ėmiausi patobulinimų: taikiniai "traukia" besikuriantį labirintą, jei jis pakankamai arti. Yra keli parametrai, kurie valdo, kiek traukia ir nuo kurio atstumo. Pvz., traukia labai:
Traukia mažiau:
Jau visai nieko, sakyčiau. Arti mano tikslo. O kam čia visa tai? Manau, iš kito paveiksliuko daug kas paaiškės:
Dar pridėkime pakeliui kriterių ir smulkių apdovanojimų ir turime visai nieko pagrindą žemėlapiui.:)

Žemėlapiai tikriausiai bus mažesni ir topologiškai įvairesni (čia kol kas taikiniai visą laiką buvo tose pačiose vietose). Daug prirašiau, bet čia nedidelė dalis to, kas prisikaupė.

2011 m. vasario 14 d., pirmadienis

Artimiausių dviejų savaičių planas

Kadangi Lietuvos padangėje atsirado toks visai neprastas žaidimas Nebula 44, prisipažinsiu, laisvalaikio konstruktyviam darbui buvo sumažėję.:) Šiuo metu pradėjau vienodinti žaidimo GUI. Kadangi jau dabar ten (Mino labirinte) nemažai klasių, kurios aprašo įvairius GUI elementus, tačiau tarpusavyje niekuo nesusiję, pamaniau, kad laikas sudaryti kažkokią struktūrą, juolab, kad tų GUI elementų dar bus.
Porai savaičių išvažiuoju į kitą pasaulio kraštą darbo reikalais, tad nesu tikras, kaip bus su atnaujinimais ir ryšiu su pasauliu apskritai.
 Sėkmės!

2011 m. vasario 2 d., trečiadienis

Šiek tiek art'o

Truputį patobulinau pagrindinį rezultatų ir t.t. screen'ą:
WIP variantas:




Kaip matote, atradau naują sau meno šaką - aplikaciją.:)
Keli nauji įgūdžių paveiksliukai:
Kol kas nerašysiu, kas čia apie ką, nes šiuo metu design'inu įgūdžius (ir jų aprašymus !!!!1), tad viską surašysiu į vieną įrašą.

Kol kas tiek.

2011 m. sausio 26 d., trečiadienis

Nauja versija

Jau galiu pristatyti naują žaidimo versiją. Taip sutapo, kad yra nemažai pokyčių ir versijos numeris yra "apvalus", t.y. 0.6.

Kas naujo:
Be jau minėtų naujovių:
http://minoslabyrinth.blogspot.com/2011/01/mino-labirintas-naujienos.html
dvi pagrindinės:
1) pakeičiau IDE. Dabar source yra VS2008 express edition projektas.
2) ištaisyta labai daug klaidų (ačiū jrs0ul ir VS2008).

Parsisiųsti išeities kodus:
http://www.mediafire.com/?9lxsxw7m4zwrcxm
Parsisiųsti windows binary:
http://www.mediafire.com/?10yb0xwo23u7k0d

Žinomos klaidos:
kartais blogai skaičiuojama randominių daiktų kaina;
priešininkai vis dar vietom sugalvoja, kad jų taikinys - siena ir bėga į ją:)
labiau ne klaida, bet nebaigta dalis - viskas, kas susiję su įgūdžiais, gerokai nebaigta.

Žinomos NEklaidos:
pats visą laiką pagalvoju: "WTF? kur mano pinigai?" Reikalas tas, kad net žaidėjo minotauras treniruojasi automatiškai prieš varžybas, jei turi pinigų ir liko laisvų dienų iki varžybų. Kol kas nepadariau, kad tai galima būtų atjungti, todėl kartais erzina, kai tikslas surinkti 260 auksinių, o kas savaitę atsiima 35.:)

2011 m. sausio 20 d., ketvirtadienis

Mino labirintas - naujienos

Įrašų trūkumas nereiškia, kad nieko nedarau.:) Tiesiog vis kodas, kodas, kodas... tai nėra ką per daug ir rodyti. Kol kas naujo build'o nebus, bet trumpai apie tai, kas naujo:
1) Patobulintas pathfinding'o algoritmas. Dabar visais atvejais (beveik visais), kai priešininkai kur nors užkliuvo už sienos, galiu teigti, kad čia ne pathfinding'o kaltė, o būsenų logikos, ar pan.
2) Žaidėjo judėjimas perkeltas ant pathfinding'o pečių. Anksčiau žaidėjo valdomas minotauras judėjo tiesiai, kur rodo pelė, dabar, jei nurodomas laukas UŽ sienos, ant kurio galima vaikščioti, minotauras bėgs iki jo, o ne į sieną.
3) Spurtuodamas žaidėjas vis dar gali sukti minotaurą, tik labai po mažai. Priešininkams dar šio malonumo nesuteikiau.
4) Susiję su 3) - pakeičiau minotaurų charakteristikas. Vietoj keturių pagrindinių parametrų:
    a) power
    b) senses
    c) speed
    d) stamina
atsirado... emm... tie patys keturi pagrindiniai, su tuo skirtumu, kad speed dabar pakeistas į agility, bei berods dešimt antrinių parametrų, kurie susiję su kažkuriuo iš pagrindinių. Keli pavyzdžiai:
   a) resistance (stamina)
   b) max speed (agility)
   c) fatigue decrease rate (stamina)
   d) view distance (senses)
   e) ...
5) Susiję su 4), bet greičiau atvirkščiai. Kadangi pagrindinis mano artimiausias tikslas buvo pridėti į žaidimą malonių staigmenų, pamaniau, kad geriausias būdas tai daiktų įvairovė. Bet ką čia paįvairinsi su keturiom charakteristikom. Kai atsirado 4) punktas, galiu padaryti daug ir įvairių atsitiktinių daiktų, kaip kad:
Aišku, ne visi jie tokie geri, kaip paveiksliuke, bet yra ir geresnių. Dabar yra šioks toks azartas, kai primedžioji daiktų arenoje, pažiūrėti, kas ten arba apsilankyti parduotuvėje, kuri man vis dar nesegfaultina.;)
6) Ne visi kriteriai "duoda" pinigų. Logiška - ne visi turi.:) Pinigai, gauti iš kriterio turėtų būti kaip staigmena, o ne kasdienybė. Kita vertus negalima atimti duonos iš kovotojų minotaurų, kurie medžioja kriterius, o ne lobius labirinte, tai greičiausiai bus užmokestis už kiekvieną etapą (priklauso nuo darbo rezultatų).
7) Žinomumo (fame) apdovanojimai irgi gaunami sunkiau - anoks čia įvykis, kai vieną kriterį sutraiškai. Kita vertus, jei du ar daugiau, daraisi žinomesnis dėl savo combo smurto.:)
Kai darbe ir namie turėsiu laisvesnio laiko (gal tai bus kita savaitė), pabandysiu parodyti ką nors žaidžiamo, o gal net ir VS projektą padarysiu.

Kol kas tiek
P.S. Keturi smailai! O galvojau, kad rimtas žmogus esu.

2011 m. sausio 6 d., ketvirtadienis

Mini žaidimas

Čia kad nepradėčiau nuobodžiauti ir bent kas nors būtų UŽBAIGTA.:) Žaidimas apie tai, kaip minotaurai treniruojasi. Jį (gal šiek tiek pakeistą) planuoju įdėti į Mino labirintą kaip galios treniruotę. Žaidėjas galės rinktis: a) iš karto "pasiimti" pvz.: 3 galios taškus; b) sužaisti minižaidimą ir pasiimi maksimum 5 galios taškus.:)
Source:
http://www.mediafire.com/?jr8ghr6o729h56f
Windows binary:
http://www.mediafire.com/?r1jlofjrjdys7t8
screen:
Klausimas žaidusiems:
Gal žaidėte daugiau nei vieną kartą? Kodėl?:)

Tiek žinių kol kas