Algoritmy a struktury pro textovou adventuru

Master Foo

Algoritmy a struktury pro textovou adventuru
« kdy: 17. 10. 2012, 00:25:12 »
Ahoj,

konečně jsem se dostal k tomu, že bych si splnil svůj dětský sen... chci si zkusit naprogramovat textovou adventuru lehce říznutou RPG. Nechci se patlat s nějakým specializovaným frameworkem, rád bych si to napsal od píky (v C#/Mono, ale to není tak důležité). Na druhou stranu bych nerad znovu vynalézal kolo: herní logiku bych sice dokázal nějak splácat, ale jsem si jistý, že už existují nějaké zavedené principy. Před lety jsem o tom četl sérii článků, ale nemůžu ji najít a Google mi vůbec vrací hrozně obecné výsledky nebo přímo frameworky. S vývojem her nemám až na napsání Pongu za víkend žádné zkušenosti.

Můžete prosím doporučit nějaké články, knížku, tutoriálek nebo něco takového o tom, jak se programují textové adventury?

Díky, K.
« Poslední změna: 17. 10. 2012, 10:18:22 od Petr Krčmář »


KapitánRUM

Myslím, že na textovou adventuru ti stačí nějaký jednoduchý player ve smyslu: lokace + podmínky = výsledek

Lokace sklep: ? inventář obsahuje klíč: odemknout jinak zamčeno
Lokace obývák: možnosti + seznam platných itemů, přesun itemu do inventáře = vytažení ze seznamu
Lokace prostitutka: ? pokud počet peněz > x: možnosti jinak jiné
Lokace kamarádka: ? vztah > 10: možnosti jinak jiné, vztah < 0 minimální hodnota: možnosti

Prostě si nadefinuješ sadu akcí a eventů, kterou by to mělo zvládat a ty si pak můžeš přehazovat z jednoho listu do druhého.
Například na otevření dveří potřebuješ klíč od sklepa, takže se podíváš do inventáře, jestli máš daný objekt v inventáři a pokud ano, povolíš další možnost.

Na to nepotřebuješ žádnou sofistikovanou herní logiku, to jsem zvládnul v 9-ti letech naprogramovat na Atari 800XL  ::)
A to byla ještě totalita a žádné články o tom nebyly  ::)

KapitánRUM

Začni tím, že si na PAPÍR! A věř mi, že papír je zlatej, nakreslíš "mapu" světa, pak si každou "místnost" si nakresli na jednotlivou A4ku a udělej si jí nejprve papírovou. Tj. musí být hratelná na papíře. Pak se podíváš, jaké eventy potřebuješ a podle toho si připravíš player eventů. Přechod z místnosti do místnosti jen podstrčí playeru danou místnost.  ::) S tím, že Player i lokace si pamatují, jestli jsi tam už byl nebo ne. Můžeš si udělat i nějaký jednoduchý editor lokací....

martin

Taky jsem kdysi neco takoveho delal. Cele jsem to postavil na SQLite databazi.
Hlavni ale je jak dobrej bude parser prikazu, na tom pak stoji i cela hra.
Cele to bylo napsane v Pythonu. A SQLite na to byl jak delany.
Stacilo par tabulek a par triggeru.

JS

Podle me nema cenu psat si vlastni framework, ale pouzit uz specializovany nastroj, napriklad Inform nebo TADS pro textove hry, nebo ScummVM nebo GemRB pro graficke textove hry. Programovat tam lze taky a umozni ti to spis soustredit se na samotnou hru, nez resit technicke detaily (navic uz casto obsahuji i implementaci velke casti "fyziky" sveta, a tim je to jeste jednodussi).


Radovan

Nějaký tutoriálek? Začni třeba tím, že si prostuduješ tu první: http://www.rickadams.org/adventure/e_downloads.html
Ta sice byla původně napsaná ve FORTRANu, ale mají tam i pozdější Céčkové verze.

Master Foo

Hru už mám hotovou z dob, kdy jsem hrál DrD, chce to jen drobné úpravy. Chci si právě napsat ty věci okolo.

e3k

Re:Algoritmy a struktury pro textovou adventuru
« Odpověď #7 kdy: 17. 10. 2012, 17:56:46 »
na modelovanie lokalit a ciest pouzi grafy: http://en.wikipedia.org/wiki/Graph_theory
na eventy vnutry jednej nody mozes pouzit to iste len mysli na to ze udalosti v jednej node mozu ovplivnit situaciu v inych nodach.

e3k

Re:Algoritmy a struktury pro textovou adventuru
« Odpověď #8 kdy: 17. 10. 2012, 18:15:10 »
inymi slovami: na vymodelovanie mapy ti staci 2 dimenzionalny grafovy diagram, ale ked sa do toho zapletu rozne reakcie na eventy a povedzme (rpg) status tvojej postavy uz ide o viac ako 2 dimenzionalny grafovy diagram.

suma sumarum moc to nekomplikuj aby si sa v tom nezaplietol ;)

korczis-anonymous

Re:Algoritmy a struktury pro textovou adventuru
« Odpověď #9 kdy: 18. 10. 2012, 12:08:20 »
Citace
suma sumarum moc to nekomplikuj aby si sa v tom nezaplietol

Make things as simple as possible, but not simpler. Albert Einstein.