Šią savaitę šiek tiek padirbėjau ties pathfinding'u ir judėjimu platesne prasme. Minotaurai dabar turi pagreitį ir maksimalų kampinį greitį, kas reiškia, kad ju posūkiai atrodo gražiau, t.y. nėra kampuoti. Ištaisiau kelias klaidas susijusias su pakeliamais nuo arenos grindų daiktais - minotaurai turėtų gerokai rečiau striginėti. Pirmiau pastebėtų bug'ų "uodega", dėja, dar tempiasi;)
Source (jrs0ul, kol kas niekaip nerandu laiko ir motivacijos sourrceforge, tai sorry):
http://www.mediafire.com/?g241rljlnskuizl
Windows binary:
http://www.mediafire.com/?yb4bm4ugvuaz93k
Ir dar - su Naujaisiais!
2010 m. gruodžio 30 d., ketvirtadienis
2010 m. gruodžio 20 d., pirmadienis
Aš nedalyvauju žaidime!
Visada maniau ir tebemanau, kad net žaidime, kurio centras yra žaidėjas, turi vykti kažkokie veiksmai antrame plane. Turi egzistuoti kažkoks nuo žaidėjo nepriklausomas vyksmas:
botai susišaudo tarpusavyje Quake3 ar UT,
mutantai kažką aptarinėja Fallout3,
visa žinoma visata juda X serijos žaidimuose.
Čia keli pavyzdžiai iš nedaugelio žaidimų, kuriuos žaidžiau. Vienu atveju vyksmas, apie kurį kalbu, yra akivaizdus ir nesuvaidintas (botai susišaudo), kitu atveju kūrėjai žaidėją "apgauna" - kažkas vyksta, kai žaidėjas šalia arba vyksta kas nors neįtakojančio viso žaidimo.
Dėl ko aš čia šitą rašau? O gi dėl to, kad norėčiau sužinoti kitų nuomonę.
Ar prasminga žaidimą organizuoti taip, kad tarp žaidėjo ir mašinos vyktų varžybos,? Tarp mašinos ir mašinos?
Quake3 ir UT serijos žaidimuose mane dažnai erzindavo, kad štai be manęs kažkas vyksta, prakeikti botai renka taškus žudydami kitus silpnesnius botus, o aš sau kažkur klaidžioju ir nieko negaliu rasti. Tą patį aš matau savo žaidime - kriterių ordos gali būti sunaikintos be mano žinios vien tik dėl to, kad mano valdomas minotauras nubėgo ne ta kryptimi.
Pirmas klausimas iš dalies beprasmiškas, nes atsakymas į jį slypi pateiktuose pavyzdžiuose - prasminga, tai parodė aukščiau paminėtų šaudiklių sėkmė. Dabar atsirado kitas klausimas:
O kodėl mano žaidime varžybos kuriuose nedalyvauju taip gadina žaidimo malonumą, o pvz., Quake3 negadino?
Manau, gavęs atsakymą į šį klausimą galėsiu padaryti geresnį žaidimą.:)
botai susišaudo tarpusavyje Quake3 ar UT,
mutantai kažką aptarinėja Fallout3,
visa žinoma visata juda X serijos žaidimuose.
Čia keli pavyzdžiai iš nedaugelio žaidimų, kuriuos žaidžiau. Vienu atveju vyksmas, apie kurį kalbu, yra akivaizdus ir nesuvaidintas (botai susišaudo), kitu atveju kūrėjai žaidėją "apgauna" - kažkas vyksta, kai žaidėjas šalia arba vyksta kas nors neįtakojančio viso žaidimo.
Dėl ko aš čia šitą rašau? O gi dėl to, kad norėčiau sužinoti kitų nuomonę.
Ar prasminga žaidimą organizuoti taip, kad tarp žaidėjo ir mašinos vyktų varžybos,? Tarp mašinos ir mašinos?
Quake3 ir UT serijos žaidimuose mane dažnai erzindavo, kad štai be manęs kažkas vyksta, prakeikti botai renka taškus žudydami kitus silpnesnius botus, o aš sau kažkur klaidžioju ir nieko negaliu rasti. Tą patį aš matau savo žaidime - kriterių ordos gali būti sunaikintos be mano žinios vien tik dėl to, kad mano valdomas minotauras nubėgo ne ta kryptimi.
Pirmas klausimas iš dalies beprasmiškas, nes atsakymas į jį slypi pateiktuose pavyzdžiuose - prasminga, tai parodė aukščiau paminėtų šaudiklių sėkmė. Dabar atsirado kitas klausimas:
O kodėl mano žaidime varžybos kuriuose nedalyvauju taip gadina žaidimo malonumą, o pvz., Quake3 negadino?
Manau, gavęs atsakymą į šį klausimą galėsiu padaryti geresnį žaidimą.:)
Nedidelis atnaujinimas
Nors ir nedidelis atnaujinimas, bet pakankamai didelis, kad užsitarnautų v058 vardą. Išpakuojam į pagrindinę direktoriją pakeisdami Minos labyrinth.exe naujuoju.
http://www.mediafire.com/file/5rph9symgtspy8g/v058.rar
Segfault'ai dar neištaisyti. Tiesą sakant, net netaisyti dėl laiko trūkumo. Kas naujo:
nemažai kintamųjų išraukti į failą ir juos galima keisti kad ir žaidimo metu (failas nuskaitomas po kiekvienų varžybų ir prieš kiekvienas varžybas). Neįdėjau tikrinimo, kad vartotojo kintamieji išlaikytų protu suvokiamas ribas ir formatą, bet tikriasiai pastebėsit, jei vietoj double bus nuskaitytas string arba jei minotauro spindulys bus lygus 2000.;)
http://www.mediafire.com/file/5rph9symgtspy8g/v058.rar
Segfault'ai dar neištaisyti. Tiesą sakant, net netaisyti dėl laiko trūkumo. Kas naujo:
nemažai kintamųjų išraukti į failą ir juos galima keisti kad ir žaidimo metu (failas nuskaitomas po kiekvienų varžybų ir prieš kiekvienas varžybas). Neįdėjau tikrinimo, kad vartotojo kintamieji išlaikytų protu suvokiamas ribas ir formatą, bet tikriasiai pastebėsit, jei vietoj double bus nuskaitytas string arba jei minotauro spindulys bus lygus 2000.;)
2010 m. gruodžio 14 d., antradienis
Demo versija
Iš tikrųjų reikėtų sakyti ne "demo versija", bet "prototipas". Reikalas tas, kad skaitinėdamas apie gamedev, o tiksliau, apie žaidimų dizainą, susidariau nuomonę, kad aš dar esu nekoks dizaineris. Gera žinia ta, kad kažkokį talento grūdelį gal ir turiu - nestudijavęs jokios teorijos tiesiog taip triokšt pokšt sukūriau pagrindinę žaidimo mechaniką, kuri man ir dabar atrodo neprasta. Nieko nebuvau skaitęs apie atlygius ir riziką, bet stengdamasis suteikti žaidėjo veiksmams kažkokią prasmę netyčia tuos pagrindinius elementus įkėliau į savo žaidimą.
Žaidimo dizainas man dabar atrodo dar įdomesnis, tikiu, kad toliau žaidimus kursiu efektyviau. Paskaičiavau, kokio amžiaus yra mano Mino labirintas. O gi jau 11 mėn!!!11 Ir dėja, tik dabar galiu pasakyti, kad turiu veikiantį prototipą, t.y. žaidimą su pradžia, veiksmu, tikslais ir pabaiga. Aišku, dar primaišyta šiek tiek visokių "grožybių". Tačiau jos gali tapti bevertės, jei pagrindinė žaidimo mechanika bus nevykusi.
O gal aš per grižtas sau ir šio projekto dalys ima dėliotis į savo vietas ir jis virsta žaidimu? Spręsti jums.
Štai čia sukompiliuota windows versija:
http://www.mediafire.com/file/u0vrwpkgjiam0j3/Minos%20labyrinth%20prototype.rar
O štai čia išeities kodai, t.y. code::blocks projektas (tikiuosi, kam nors bus įdomu):
http://www.mediafire.com/file/9bnw82malvavffb/Minos%20labyrinth_v057.rar
Nekantriai laukiu jūsų nuomonės dėl pagrindinės mechanikos (t.y. kriterių spardymo, lobių rinkimo, priešininkų spardymo) smagumo/nesmagumo. Taip pat norėčiau sužinoti, kaip keistumėte tą ar aną dalyką. Turėkite uomenyje, kad žaidimas nėra subalansuotas. Stengiausi atsikratyti kuo daugiau klaidų ir lūžimų, bet jų dar gali pasitaikyti (ypač erzina kriteriai, kurie užstringa sienose ir oponentai atkakliai bėgantys įsirėmę į tą sieną). Jei taip, būtų malonu, jei pasakytumėte, kada tai įvyko ir ką tuo metu darėte (jei ką nors apskritai darėte).
Labai džiaugiuosi, kad šiokį tokį etapą perėjau - galiu pademonstruoti **žaidimą**. Kitas žingsnis - visus įmanomus ir neįmanomus kintamuosius sukelti į failus ir eksperimentuoti, eksperimentuoti, eksperimentuoti... Asmeniškai man nepatinka, kaip išdėstyti minotaurai ir kriteriai (minotaurai praktiškai vienoje vietoje, kriteriai - randomu), norėčiau, kad daugiau įtakos žaidimui darytų žaidėjo sprendimai ir gebėjimai, o ne atsitiktinės kriterių krūvos pasiekiamiausioje vietoje. Tad dirbsiu ir šia linkme. Kol kas tiek.
Žaidimo dizainas man dabar atrodo dar įdomesnis, tikiu, kad toliau žaidimus kursiu efektyviau. Paskaičiavau, kokio amžiaus yra mano Mino labirintas. O gi jau 11 mėn!!!11 Ir dėja, tik dabar galiu pasakyti, kad turiu veikiantį prototipą, t.y. žaidimą su pradžia, veiksmu, tikslais ir pabaiga. Aišku, dar primaišyta šiek tiek visokių "grožybių". Tačiau jos gali tapti bevertės, jei pagrindinė žaidimo mechanika bus nevykusi.
O gal aš per grižtas sau ir šio projekto dalys ima dėliotis į savo vietas ir jis virsta žaidimu? Spręsti jums.
Štai čia sukompiliuota windows versija:
http://www.mediafire.com/file/u0vrwpkgjiam0j3/Minos%20labyrinth%20prototype.rar
O štai čia išeities kodai, t.y. code::blocks projektas (tikiuosi, kam nors bus įdomu):
http://www.mediafire.com/file/9bnw82malvavffb/Minos%20labyrinth_v057.rar
Nekantriai laukiu jūsų nuomonės dėl pagrindinės mechanikos (t.y. kriterių spardymo, lobių rinkimo, priešininkų spardymo) smagumo/nesmagumo. Taip pat norėčiau sužinoti, kaip keistumėte tą ar aną dalyką. Turėkite uomenyje, kad žaidimas nėra subalansuotas. Stengiausi atsikratyti kuo daugiau klaidų ir lūžimų, bet jų dar gali pasitaikyti (ypač erzina kriteriai, kurie užstringa sienose ir oponentai atkakliai bėgantys įsirėmę į tą sieną). Jei taip, būtų malonu, jei pasakytumėte, kada tai įvyko ir ką tuo metu darėte (jei ką nors apskritai darėte).
Labai džiaugiuosi, kad šiokį tokį etapą perėjau - galiu pademonstruoti **žaidimą**. Kitas žingsnis - visus įmanomus ir neįmanomus kintamuosius sukelti į failus ir eksperimentuoti, eksperimentuoti, eksperimentuoti... Asmeniškai man nepatinka, kaip išdėstyti minotaurai ir kriteriai (minotaurai praktiškai vienoje vietoje, kriteriai - randomu), norėčiau, kad daugiau įtakos žaidimui darytų žaidėjo sprendimai ir gebėjimai, o ne atsitiktinės kriterių krūvos pasiekiamiausioje vietoje. Tad dirbsiu ir šia linkme. Kol kas tiek.
2010 m. gruodžio 10 d., penktadienis
Scenarijai
Dėl programos lūžimų tai turiu žinią:
Čia šiaip, niekuo nesusijęs su žainimu greitas papeizojimas, bet gerai tai, kad žaidimas daug stabilesnis.:)
Jau sukūriau septynis galimus scenarijus - ne šiaip gi žaidėjui pyškinti kriterius. Keli pavyzdžiai:
Lieka padaryti tik pabaigą ir galiu demonstruotis ir laukti kritikos. Labiau nei pats save iškritikavau, tikriausiai niekas nebekritikuos.
Čia šiaip, niekuo nesusijęs su žainimu greitas papeizojimas, bet gerai tai, kad žaidimas daug stabilesnis.:)
Jau sukūriau septynis galimus scenarijus - ne šiaip gi žaidėjui pyškinti kriterius. Keli pavyzdžiai:
Lieka padaryti tik pabaigą ir galiu demonstruotis ir laukti kritikos. Labiau nei pats save iškritikavau, tikriausiai niekas nebekritikuos.
2010 m. gruodžio 6 d., pirmadienis
Veikėjų eskizas
Po išsamaus susipažinimo su http://www.lostgarden.com/ bandau kuo greičiau priartėti prie žaidimo pirmojo žaidžiamo varianto. Rašydamas "žaidžiamo", turiu uomenyje, kad jis būtų su pradžia, veiksmais ir pabaiga. Iki šiol kažkas buvo padaryta tik dėl viduriniosios dalies. Ir apskritai, supratau, kad žaidžiu žaidimo kūrimą jau daugiau nei pusę metų. Ir maža to, kad žaidžiu, tai dar nesistemiškai ir neapgalvotai (beveik). Stebėtina, kaip man iki šiol šie labirintai nepabodę - matyt, gerokai "pasinešęs" esu.:) Kas dar neskaitė (čia apie aukščiau įvardytą blogą), tikrai verta paskaityti, jei gamedev jums tikrai įdomu.
Prie reikalo. Prieš senojo Mino labirinto išnarstymą po kaulelį vardant geresnio dizaino ir didesnio "fun" noriu pristatyti nesubalansuotą, bet žaidžiamą versiją. Iki šio tikslo buvo likę keli dalykai - veikėjai su aprašymais ir tikslais, paskutiniųjų lūžimų ištaisymas ir žaidimo pabaiga. Pabaiga savaime yra labai paprasta - nežadu daryti dviejų minučių epilogo, kol kas tiesiog pranešiu žaidėjui, kad jis pabaigė žaidimą, pranešiu, ar įvykdyti iškelti tikslai ir padėkosiu už žaidimą. Antras puktas sudėtingesnis ir (remiantis mano žiniomis apie mano paties programavimo ir debuginimo įgūdžius) apie apibrėžtą laiką čia kalbėti negalima. Juolab, kad lūžimai dažniausiai pasireiškia ant silpnesnio namų laptopo ir darbe aš jų išgauti negaliu. Pirmasis gi punktas praktiškai įvykdytas. Eskizas:
Aprašų čia nematyti, bet minotaurų asmenybes jau sugalvojau, taigi jų tikslai ir savybės žaidime - palyginus lengvas uždavinys. Kol kas tiek. Back to work...
Prie reikalo. Prieš senojo Mino labirinto išnarstymą po kaulelį vardant geresnio dizaino ir didesnio "fun" noriu pristatyti nesubalansuotą, bet žaidžiamą versiją. Iki šio tikslo buvo likę keli dalykai - veikėjai su aprašymais ir tikslais, paskutiniųjų lūžimų ištaisymas ir žaidimo pabaiga. Pabaiga savaime yra labai paprasta - nežadu daryti dviejų minučių epilogo, kol kas tiesiog pranešiu žaidėjui, kad jis pabaigė žaidimą, pranešiu, ar įvykdyti iškelti tikslai ir padėkosiu už žaidimą. Antras puktas sudėtingesnis ir (remiantis mano žiniomis apie mano paties programavimo ir debuginimo įgūdžius) apie apibrėžtą laiką čia kalbėti negalima. Juolab, kad lūžimai dažniausiai pasireiškia ant silpnesnio namų laptopo ir darbe aš jų išgauti negaliu. Pirmasis gi punktas praktiškai įvykdytas. Eskizas:
Aprašų čia nematyti, bet minotaurų asmenybes jau sugalvojau, taigi jų tikslai ir savybės žaidime - palyginus lengvas uždavinys. Kol kas tiek. Back to work...
2010 m. lapkričio 29 d., pirmadienis
Keli vaizdai iš žaidimo
Žinau, kad užsiminiau apie kažką žaidžiamo prieš gerą savaitę.:) Reikalas tas, kad laisvo laiko buvo žymiai mažiau nei tikėjausi. Todėl dabar galiu pasiūlyti tik pažiūrėti, bet ne pažaisti:
http://www.youtube.com/watch?v=N5skCjuY7rc
Kas naujo padaryta per savaitę:
1) Oponentai gali būti sužeisti (matyti filmuke).
2) Ištaisytos klaidos susijusios su specialių įgūdžių mokimusi.
Nedaug, nedaug...
http://www.youtube.com/watch?v=N5skCjuY7rc
Kas naujo padaryta per savaitę:
1) Oponentai gali būti sužeisti (matyti filmuke).
2) Ištaisytos klaidos susijusios su specialių įgūdžių mokimusi.
Nedaug, nedaug...
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."
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.
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.
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.:)
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.
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?:)
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?:)
2010 m. spalio 21 d., ketvirtadienis
Veikėjai: Prekeivis
Štai šitas seniokas prekiaus su minotaurais žaidime(mano vakar vakaro laisvalaikis):
Jis nelabai patenkintas vieta, į kurią pakliuvo, bet uždirba neblogai, dėl to dar ir nepabėgo iš šaltų ir drėgnų urvų, kuriuose apsigyveno labirinto arenos kovotojai.
Kritika, liaupsai, pasiūlimai?..:)
Jis nelabai patenkintas vieta, į kurią pakliuvo, bet uždirba neblogai, dėl to dar ir nepabėgo iš šaltų ir drėgnų urvų, kuriuose apsigyveno labirinto arenos kovotojai.
Kritika, liaupsai, pasiūlimai?..:)
2010 m. spalio 19 d., antradienis
Darbai vyksta
Sunku ir sugalvoti, kaip pavadinti tokį įrašą, kai tiesiog nori parašyti, kad kažką darai. Kaip ir nieko išsiskiriančio, bet vis kažkas. Be to, reikia pavadinimo, kuris dažnai kartojamas atrodytų "savo vietoje". Į galvą lenda angliškas "progress report".:)
Taigi savaitgalį sukelinėjau pastarųjų poros savaičių naujoves į žaidimą - animacijų sistemą ir tile'us. Štai čia nupaveikslavau, kaip šiuo metu atrodo draw() funkcijos run būsenoje rezultatas.;)
Matome bėgančius minotaurus, tile'us ant žemės (jau naujo dydžio), vienintelio žaidimo pradžioje duoto skill'o paveiksliuką ir nemažai debug informacijos. Taip pat matome, kad įvairovės šioje aplinkoje akivaizdžiai truksta, nes naudojamas vienintelis sienos paveikslėlis (plokštokas), jokių papildomų objektų (griaučiai, grybai ir pan.), o danga sukuriama principu - kur siena, ten smėlis (atseit smėlio pripusta į kraštus). Nieko nepataisomo - tik reikia laiko...
Po geros valados ar dviejų:
Įsijungiu task manager ir ką gi matau:
Suprantu, kad susimoviau, tik pasitikrinau, kiek rimtai. Išeinant į žaidimo titulinį, atminties naudojimas beveik nesumažėja, perėjęs į žaidimo būseną gaunu dar apie 200 Mb bonuso. Susimoviau labai.;) Einu vabalų medžioti...
Taigi savaitgalį sukelinėjau pastarųjų poros savaičių naujoves į žaidimą - animacijų sistemą ir tile'us. Štai čia nupaveikslavau, kaip šiuo metu atrodo draw() funkcijos run būsenoje rezultatas.;)
Matome bėgančius minotaurus, tile'us ant žemės (jau naujo dydžio), vienintelio žaidimo pradžioje duoto skill'o paveiksliuką ir nemažai debug informacijos. Taip pat matome, kad įvairovės šioje aplinkoje akivaizdžiai truksta, nes naudojamas vienintelis sienos paveikslėlis (plokštokas), jokių papildomų objektų (griaučiai, grybai ir pan.), o danga sukuriama principu - kur siena, ten smėlis (atseit smėlio pripusta į kraštus). Nieko nepataisomo - tik reikia laiko...
Po geros valados ar dviejų:
Įsijungiu task manager ir ką gi matau:
Suprantu, kad susimoviau, tik pasitikrinau, kiek rimtai. Išeinant į žaidimo titulinį, atminties naudojimas beveik nesumažėja, perėjęs į žaidimo būseną gaunu dar apie 200 Mb bonuso. Susimoviau labai.;) Einu vabalų medžioti...
2010 m. spalio 14 d., ketvirtadienis
Perėjimai tarp plytelių (antra dalis)
Šiek tiek paskaitinėjau ir paeksperimentavau. Neplanavau šito, bet...
Čia seni perėjimai, tik dabar jie turi alfa kanalą. Praradau kažkiek detalių, tad perėjimai suvienodėjo. Tai galima pataisyti koreguojant atskirą kaukės (mask) failą, bet ne tas svarbu. Nežinau, kiek tai sulėtino piešimą, bet dabar visi perėjimai paišomi kaip turintys alfa kanalą, o jų tokiuose "randominiuose" žemėlapiuose absoliuti dauguma. Iš karto matau sprendimą - žemėlapio krovimo metu sukurti visas perėjimo+apatinės plytelės kombinacijas, o piešimo metu piešti įprastai - be permatomumo. Yra vilties, kad aš veltui bijau ir dėl kelių tailų žaidimo nestabdys, bet faktas, kad viskam kitam (labiausiai AI) jau bus mažiau laiko.
Kaip mano skaitymo bonusas - matau realią galimybę parašyti savo alfa blendingą naudojant tiesioginę prieigą prie bitmapų atmintyje. Tokiu būdu galėtų pavykti optimizuoti allegro blendinimą visokių patikrinimų ir apskritai apsaugų nuo kvailo userio (kurių ten daug) sąskaita.
Čia seni perėjimai, tik dabar jie turi alfa kanalą. Praradau kažkiek detalių, tad perėjimai suvienodėjo. Tai galima pataisyti koreguojant atskirą kaukės (mask) failą, bet ne tas svarbu. Nežinau, kiek tai sulėtino piešimą, bet dabar visi perėjimai paišomi kaip turintys alfa kanalą, o jų tokiuose "randominiuose" žemėlapiuose absoliuti dauguma. Iš karto matau sprendimą - žemėlapio krovimo metu sukurti visas perėjimo+apatinės plytelės kombinacijas, o piešimo metu piešti įprastai - be permatomumo. Yra vilties, kad aš veltui bijau ir dėl kelių tailų žaidimo nestabdys, bet faktas, kad viskam kitam (labiausiai AI) jau bus mažiau laiko.
Kaip mano skaitymo bonusas - matau realią galimybę parašyti savo alfa blendingą naudojant tiesioginę prieigą prie bitmapų atmintyje. Tokiu būdu galėtų pavykti optimizuoti allegro blendinimą visokių patikrinimų ir apskritai apsaugų nuo kvailo userio (kurių ten daug) sąskaita.
2010 m. spalio 12 d., antradienis
Perėjimai tarp plytelių
Kad ir kaip man patinka programuoti, bet kartais maloniau piešti ar daryti dar ką nors, ko rezultatai pasirodo greitai. Štai ir dabar beveik kiekvieną dieną pavyksta nuveikti ką nors naujo žaidimo labui. Naujas pasiekimas - nupiešti tolygūs perėjimai tarp plytelių. Nepaisant to, kad jų net 112 (14 tipų po 8), darbas vyko labai greitai - dabar nereikėjo šokinėti tarp GIMP, Blender ir GraphicsGale, o viską dariau pixel'ių lygmenyje, t.y. GraphicsGale redaktoriuje. Be to, naikinti (trinti tam tikras vietas), lengviau nei kurti (piešti kiekvieną plytelę).
Parašiau nedidelę programėlę, kuri demonstruoja, kaip neapmokytas menininkas (kompiuteris) nupiešia tokį "pusę velnio" žemėlapiuką. Vaizdas daugmaž toks:
Darbo su perėjimais aš dar nebaigiau - reikia jiems suteikti šiek tiek tūrio, bet rezultatu jau dabar esu patenkintas. Be to, gražesnį vaizdelį jau dabar galima būtų gauti, jei būtų parašytas rimtesnis generavimo kodas, o ne "metam monetą ir nusprendžiam, kokia danga bus šitame taške";). Kadangi žaidime tą darys labirinto generatorius, galvos sau nesuku. Parsisiųsti programėlę galima iš čia:
http://www.mediafire.com/file/agcvh57ew87scwj/wang_tiles_v003.rar
Čia išeities kodas ir .exe.
Parašiau nedidelę programėlę, kuri demonstruoja, kaip neapmokytas menininkas (kompiuteris) nupiešia tokį "pusę velnio" žemėlapiuką. Vaizdas daugmaž toks:
Darbo su perėjimais aš dar nebaigiau - reikia jiems suteikti šiek tiek tūrio, bet rezultatu jau dabar esu patenkintas. Be to, gražesnį vaizdelį jau dabar galima būtų gauti, jei būtų parašytas rimtesnis generavimo kodas, o ne "metam monetą ir nusprendžiam, kokia danga bus šitame taške";). Kadangi žaidime tą darys labirinto generatorius, galvos sau nesuku. Parsisiųsti programėlę galima iš čia:
http://www.mediafire.com/file/agcvh57ew87scwj/wang_tiles_v003.rar
Čia išeities kodas ir .exe.
2010 m. spalio 10 d., sekmadienis
Naujos tekstūros - plytelės
Mano kompiuteryje atsirado naujas aplankas, vadinasi "tiles tiles". Štai čia ganėtinai NElaisvo savaitgalio darbo rezultatas:
http://img146.imageshack.us/img146/2180/tileso.png
Jau apgalvojau, kaip darysiu (darau) tile'ų perėjimus - kadangi smėlis bet kuriame perėjime "užeis" ant kito dangos tipo, ant nupaišyto tile'o dėsiu norimos formos truputį pratrintą smėlio tile'ą. Kol kas in developement...
http://img146.imageshack.us/img146/2180/tileso.png
Jau apgalvojau, kaip darysiu (darau) tile'ų perėjimus - kadangi smėlis bet kuriame perėjime "užeis" ant kito dangos tipo, ant nupaišyto tile'o dėsiu norimos formos truputį pratrintą smėlio tile'ą. Kol kas in developement...
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.
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.:)
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;)).
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;)).
Užsisakykite:
Pranešimai (Atom)