2010 m. lapkričio 23 d., antradienis

Klaidos, klaidos, klaidos...

Prieš gerą savaitę ant lapo užsirašiau nemažai punktų apie tai, ko žaidime dar nėra (arba ko per daug). Klaidų ir lūžimų žaidime buvo akivaizdžiai per daug. Tad vienas iš punktų buvo "Pašalinti programos lūžimus (pažiūrėti į animacijas)". Toks "mažutis" punkčiukas palyginus su kokiu "Padaryti, kad minotaurai galėtų imti daiktus žaidimo lauke".;) Vargais negalais pavyko sumažinti lūžimų dažnumą ir ištaisyti nemažai klaidų...

O buvo viskas taip. Įsisąmoninau du dalykus: 1) reikės dar ne vieną kėdę nutrinti, kol galėsiu sakyti, kad kažkas veikia ir tai iš tikrųjų veiks, 2) turiu prisiekti, kad naudosiu panašią sintaksę:
if (somePointer)
{
     delete somePointer;
     somePointer = 0;
}
o ne:
delete somePointer
net jei esu tikras, kad tas pointeris į kažką rodo. Šiandien rodo, o rytoj jau nebe. Dėl pirmo punkto viskas kur kas blogiau - pvz.: buvau tikras, kad bet kokios operacijos su string klase yra nekaltos ir negali sukelti staigios mirties mano programai. WRONG! Buffer overflow, you are out! C++ netikrina ribų. Kaip tik dabar vėl išplaukia rtfb vaizdas (įsivaizduojamas) ir sako: "Nereikėjo pradėti nuo c++".:)

Beje, animacijos (t.y. Animacijų Būsenų Mašina) buvo mažiausiai kaltos ir puikiausiai darė savo darbą (gal dėl to, kad suprogramuotos buvo palyginus neseniai).

Taigi kas padaryta:
Ištaisyta dauguma klaidų.
Minotaurai gali paimti daiktus ir pinigus nuo žemės.
Rodomi įvairūs užrašai - tipo "Double kill", "Stunned by ...", "Item gained" ir t.t.
Pradėtas piešti akademijos (vietos, kur treniruojasi minotaurai) vidinis kiemas. Dar nieko gražaus.

Artimiausiu metu (savaitė ar pan.) planuoju parodyti ką nors žaidžiamo.

Beje, vyrukas iš paveiksliuko - vienas iš minotaurų trenerių. Jis klausia: "Ar tikrai nori treniruotis? Šitas reikalas ne minkštakūniams."

2010 m. lapkričio 14 d., sekmadienis

Darbai juda

Buvo naudinga žaidimą kažkam (jrs0ul) parodyti. Be to, kad išgirdau nuomonę, šis dalykas dar naudingas ir dėl papildomos motivacijos. Velnias, pamatai, koks žaidimas yra neišbaigtas, ir kad net negali demo versijos sukurpti. Tikriausiai tokios mintys kyla ne visiems, bet man čia buvo didelė paskata išskirti, kas svarbiausia ir dirbti organizuočiau.

Tikėtina, kad artimiausiu metu bus mažiau atnaujinimų, nes bus mažiau, ką parodyti. Surašiau bemaž keliasdešimt punktų, ką dar reikia padaryti (iš programavimo ir art'o pusių), o dėl labai riboto laiko per savaitgalį  iš tų punktų atlikti lygiai du. Tiesą sakant, gal tik pusantro, nes padažnėjo programos lūžimai, bet čia tik į gerą - greičiau atrasiu, kur šaknys.

Taigi per savaitgalį padaryta:
rodoma, kiek kriterių liko žaidimo lauke; (šito neskaičiuoju)
kriteriai gali pabėgti iš labirinto, užeidami ant tam tikro lauko;
padarytos skrendančio (po spyrio) kriterio animacijos; (šitas jau buvo seniai pradėtas)
rodoma tam tikra informacija, kaip kylantys ir išnykstantys žodžiai. Čia turėtų būti neaišku, bet praktiškai, jei žaidėjas pvz., numuša kriterį, jis gauna kažkiek aukso. Taigi iš tos vietos, kur įvyko šitas faktas, pakyla užrašas tipo "+10 gold" arba "gained 10 gold" arba kažkoks paveiksliukas ir "+ 10" ir t.t.

2010 m. lapkričio 9 d., antradienis

Minotauro pasirinkimo meniu atnaujinimas

Ilgas pavadinimas...





Galutinėje versijoje paveiksliukus planuoju labiau trimačius (na pvz., minotauro ranka išsikiša iš to apvalaus lango ir pan.), o dabar tik tiek galiu parodyt.

2010 m. lapkričio 8 d., pirmadienis

Kas ne taip?


Tai yra minotauro pasirinkimo ekranas. Lyg ir esu patenkintas tuo, kaip čia viskas išėjo, bet žiūrėdamas į panašius išleistus žaidimus, suprantu, kad kažko trūksta. Spalvų variacijų, detalių, kažko, apie ką aš net nenutuokiu?

2010 m. lapkričio 4 d., ketvirtadienis

Nedidelis atnaujinimas

Po truputį kriteriai įgauna savo tikrąjį veidą. Šiuo metu atrodo štai taip:





O štai taip kriteriai parodo savo požiūrį į minotaurus, žaidėją ir šiaip pasaulį aplink juos:



Yra vilties, kad šį padarą jau galima animuoti.

P.S. Tos akys tokios ir turi būti - man patinka piktas tuščias jų žvilgsnis.:)

2010 m. lapkričio 3 d., trečiadienis

Kriteriai

Tikiuosi, žodžiui "critter" nėr kokio copyright'o.:) Kriteriai - kenkėjai, kuriuos medžios minotaurai.
Konceptas (pieštas prieš gerą pusmetį):

Truputį patobulintas ir paruoštas modeliuoti:

Dabartinė būsena:


Modeliuotojas iš manęs dar nekoks, bet tai buvo pirmas modelis, kuris padarytas "ne iš lempos", o remiantis piešiniu. Kitas žingsnis - žaidimai su tekstūrom ir animacijos.

2010 m. spalio 26 d., antradienis

Evoliucija (atnaujinta)

Evoliucija šiuo atveju dviem prasmėm - 1) evoliucionuoja žaidimo minotaurai, 2) tobulėju aš. Antru atveju čia nėra evoliucija, bet vis tiek gražiai skamba. Dabar išsamiau...

Minotaurai ir vėl gali užsiimti kažkokia veikla tarp varžybų labirinte: prekiauti, treniruotis, kviesti kitus minotaurus į dvikovas.

Kažkada prieš gerą mėnesį jau buvau padaręs šiokį tokį minotaurų "intelektą", bet jis manęs netenkino (iš programavimo pusės), nes nebuvo universalus (moduliarus, jei toks lietuviškas žodis yra). gamedev.lt forume gavau nuorodą į http://en.wikipedia.org/wiki/Decision_tree, tačiau turėjau ir savo idėją.

Planavau padaryti minotaurų mąstymą paremtą poreikiais ir numatomais atlygiais už atliktą veiksmą. Tokiu atveju jų elgseną būtų be galo lengva keisti. Įsivaizduoju, kad kiekvienas veiksmas būtų paieškos grafiko elementas, turintis savyje informaciją apie būtinus jam įvykdyti resursus ir resursus, kuriuos įvykdžius veiksmą gauna AI. Dėja, kol kas arba mano programavimo žinios per menkos, arba tiesiog neužteko užsispyrimo, bet iki galo aš šitos idėjos neišvysčiau.

Grįžau prie decision tree ir staigmena! Pats veiksmų medis ėmė man patikti jau po kelių jo rašymo minučių, dar po 10-15 min jis buvo baigtas. Turint uomenyje, kad tokio fiksuoto daikto implementacija neturėtų sudaryti sunkumų (o su savo veiksmų paieškos algoritmų aš prasėdėjau kelias dienas), šiuo atveju, kai rankos niežti piešti, čia WIN. Po kelių prisėdimų (bendro laiko neskaičiuoju) šitą decision tree reikaliuką baigiau, ir prie pradinio plano reikėjo pridėti tik vieną vienintelę grandį. Paveiksle neparodyta, bet prieš bandydamas treniruotis minotauras tikrina, ar įvykdyti visi prerekvizitai. Šitas dalykas praktiškai nieko nepakeitė, dabar minotaurai bent jau žino, kodėl jų akademijoje nemoko.:) Pradinis variantas atrodo taip:


Dariau su Microsoft Word ("puikus" pasirinkimas šiam tikslui :)), todėl atrodo taip neįprastai. Kiekvienas klausimas - minotauro implementacijos klasės metodas, be kitko kaip parametrą gaunantis koeficientą, nuo kurio priklauso atsakymas. Tie "decrease all weight coefficients of branch" reiškia, kad visi konkrečios šakos koeficientai pakeičiami, kad būtų mažesnė tikimybė pakartoti tokį pasirinkimą - tai yra apsauga nuo amžinų ciklų.

Antra mano darbų darbelių dalis - tęsiu darbus prie žaidimo art'o. Kol kas nedaug pasistūmėjau, bet "postūmių kokybė" man vis labiau patinka. Šiuo metu be kitų piešinių bandau keisti minotaurų įgūdžių paveikslėlius. Pvz.:


Iki darbų, į kuriuos pažiūrėjęs sakyčiau "Mmmmmmm", dar toli, bet dabar esu jau visą galvą aukščiau už tą Antisepthic, kur buvo prieš mėnesį ar du.




Štai tokia ta evoliucija...

Atnaujinta:
Šiaip jau laikas miegoti, bet kažkaip minotaurai užvaldę mano protą.:)
Nauja "vaikščiojančio kilimo" versija:

Mažesnis paveiksliukas, tai tai, kaip turėtų atrodyti žaidime. Atspėkite, vaikai, ką daro minotauras?:)