HTML

Naptár

június 2017
Hét Ked Sze Csü Pén Szo Vas
<<  < Archív
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30

Blogajánló

Az Éjgoblin szív örökké dobog...
 Megtévesztő cím, breton is van ott
Csata és Taktika
Plastic Fantastic
MazeLab Szabolcs Mathematicája
CRPGAddict a megszállott (angol)

Utolsó kommentek

  • pocokman: Srácok, valaki el tudná küldeni nekem azt az x-kutato.zip-et? smidla@gmail.com, már nincs fent meg... (2016.06.09. 11:09) Félmunkák: X-Kutatócsoport
  • Varga Matein: Nagyon szépen köszönöm. :) (2015.08.07. 08:02) Árak, bérek, pontok
  • Tilinger Ádám: @Varga Matein: Megtörtént! (2015.08.07. 02:26) Árak, bérek, pontok
  • Tilinger Ádám: @Varga Matein: Igen, ez volt a tervem eredetileg is. Az utóbbi napokban volt pár szabad estém, úgy... (2015.08.04. 00:22) Árak, bérek, pontok
  • Varga Matein: Ha kész leszel a Nothingam szabályrendszerrel, akkor feltöltenéd az oldalra? (2015.08.02. 21:54) Árak, bérek, pontok
  • Utolsó 20

Miért nem lesz soha kész a Curse of Wystowe Castle?

2015.08.31. 22:00 Tilinger Ádám

Egy ideje visszatértem az Android RPG-m tervezgetéséhez. Mivel a gépem kilehellte a lelkét, Niki gépe pedig határozatlan időközönként (de legalább nagyjából óránként) egyszerűen túlmelegszik és leáll, ezért a figyelmem javát a kódolás helyett a játék designjára fordíthattam. Ez már önmagában is hátráltató helyzet, minél kevesebb a látványos előrehaladás, annál kevesebb a motiváció is. A nagyobb baj, - és ezzel egyből meg is válaszolom a címben feltett kérdést - hogy - mint kiderült - nem tudom, hogy milyen játékot szeretnék írni.

Voltak azonban hasznos észrevételeim is: a világ mérete túl nagy egy első projekthez. Mivel a történetet alig dolgoztam még ki, ennek újraírása nem okozott gondot, ezzel kezdtem a tervezgetést, és le is zsugorítottam a játékot. Aztán végül már oda lyukadtam ki, hogy egy csöppnyi világ egy szint labirintussal is elég lesz.

A problémák akkor jelentkeztek, amikor az implementációt kezdtem tervezgetni. Az alapvető irányvonalak már a játék megkezdése előtt a korábbiak voltak:

  1. "first person" megjelenítés, "Eye of the Beholder"-szerűen
  2. interakció nem csak tárgyakkal (sütni-főzni, "crafting"), de a térkép elemeivel is (pl. fák kivághatók, falak lebonthatók)
  3. permadeath, ha meghal a karakter, akkor annyi, lehet újat kezdeni
  4. kidolgozott történet félig szkriptelve, félig interakciókra alapozva

Az első ponthoz sokáig ragaszkodtam, amíg el nem jutottam a tervezés "tereppel való interakció" pontjához. Az "Eye of the Beholder" a terepelemeket (falakat/ajtókat) egy négyzetháló celláiként tárolja. Bevált és egyszerű megoldás, ezért is választottam. A hátulütője, hogy a legvékonyabb fal is több méter szélességű. A kézenfekvő megoldás, hogy az olyan építményeket, ahol ez problémát okoz "portálokkal" oldom meg. Egy ház a térképen például egy 3x2 cellából álló tömör doboz, egyik oldalán egy ajtóval. Ha ezen belép a játékos, akkor egy másik, kis térképre jut, ami csak a ház belsejét tartalmazza. Így is implementáltam az első változatban.

No de mi történik, ha a ház egyik fala ledől? Vagy a játékos szeretne bekukkantani egy abalkon. Vagy felgyullad a ház? És a sok portál valószínűleg megnehezíti az AI útkeresést is. Neeem, ez így nem fog menni - gondoltam -, és máris váltottam a "gold box" játékokból ismert "a háló élei a falak" elképzelésre. Ez egy picit talán több rajzolási munkát igényel, de sokkal szebbé is teszi a játékot. Az egybefüggő, átmenet nélküli játékvilág pedig szerintem jó dolog.

map_paradigms.png

OK, egy kis változtatás az első ponton. Egy kicsit azonban elkapott a lendület, és jött az első buktató ötlet: szintek. Ha már egybefüggő a világ, akkor legyen minden irányba az! No ez már keményebb falat. Az objektumstruktúra csak kicsit változik (bonyolódik), de a grafikai munka sokkal durvább. És a többszintes objektumok (pl. fák) kezelése is tovább nehezíti az implementációt. Kivételek = exponenciális komlexitásnövekedés.

Ez azonban legfeljebb csak megnehezíti (lassítja) a program elkészültét. A hármas és négyes pont azonban így együtt elméleti oldalról is hibás design-nak tűnik (amellett, hogy a négyes önmagában is első ránézésre rettentő feladat). A permadeath ugyanis a Rogue-félékben azért működött olyan jól, mert a tartalom játékonként újragenerálódott. Ha meghalt a karakter, akkor az új egy új világba került, - javarészt - új kihívásokkal. Ugyanazt a  történetet többedszerre végigjátszani viszont unalmas lehet. Nem is beszélve arról, hogy ha a járékost újrakezdésre kényszerítem, akkor valahogy az előző játékok során szerzett tudásának felhasználhatóságát is korlátoznom kellene. Ez pedig a négyes pontot még tovább bonyolítja.

Emellett szenvedtem az egyes objektumok alulról való felépítésével is. Próbálom elkerülni a HP ("health point") elvet, és testrészenkénti konkrét sebződésekben gondolkodom, de az algoritmusok kezdenek elméletben is átláthatatlanná válni a "skill"-ek, sebződések és egyéb külső tényezők miatt. Fizikai modellezésbe a képességeim korlátossága miatt nem akarok belemenni, így pár dolog mindenképpen absztrahálva lesz, ami pedig a bonyolult algoritmusok mellett azt jelenti, hogy kínszenvedés lesz a rendszert kiegyensúlyozni.

Azt hiszem mégis inkább kódolnom kellene, akkor az ilyen "apróságokon" átlépek...

Szólj hozzá!

Címkék: android

A bejegyzés trackback címe:

http://adamblog.blog.hu/api/trackback/id/tr677748702

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben.

Nincsenek hozzászólások.