Diskuze o textových hrách

Kroužící orel 2

Kroužící orel

  • Plný člen
  • ***
    • Příspěvků: 163
    • Zobrazit profil
    • Šťastný statek
Po delší době zdravím všechny textovkáře,

moc se omlouvám za odmlku, v poslední době jsem se věnoval klasickému programování nakonec v Javě, kde mě oslovily knihy pana Pecinovského a rozhodně nelituji, je opravdu fuk, čím člověk začne, ale styl výkladu holt hraje prim. Doslova před pár dny jsem si přečetl Holynovu recenzi na Orla I. a slíbil jsem, že před Otěžemi zimní noci, textovek z ruské občanské války a jiných zajímavých témat nejprve dokončím indiánskou trilogii.

Orla dvojku již tvořím sám kompletně v TADSu, hra má cca 40 místností (ve dne i v noci, viz níže), spoustu postav a věcí k prozkoumání, hádanky samozřejmě budou, nejvíce jsem se však zaměřil na příběh a rozhovory, což mě u textovek vždy bavilo. S Exoterem jsem se dosloval plácal, protože OOP rozhodně není sranda, teď už jsem doufám jinde a hru dokončím s nabitými zkušenostmi. Už nebude jeden ne zrovna přehledný zdrojový soubor, inšpiroval jsem se svým programováním v Javě a samozřejmě Základnou, čímž jsem kód mnohem více zpřehlednil, více souborů a využití Makefile je pro už přeci jen mírně větší projekt to pravé. Právě nyní dokončuji Akce a hraji si s PreCondition, poté se vrhnu na konverzační témata (ta v Exoteru vůbec nebyla, model TADSu je ale parádní) a nakonec neodolám, indiánská vesnice ve dne je nádherná, v noci ale o nic méně zajímavá. K naprogramování denní a noční lokace jsem nenašel žádnou dokumentaci, takže krom klasických třídy Room vytvořím ještě nové objekty DarkRoom včetně všech změn, to ale nevadí.

Pány jistě potěší ženské postavy, se kterými lze konzervovat a možná i něco navíc (spíš určitě), ctěný zájemce ať si sám vybere, hrajeme konverzační hry a právě na rozhovory jsem se zaměřil asi nejvíc.

TADS je opravdu famózní, už asi po dvacáté čtu skvělý Gaspodův manuál (který mi vždy připadal nekonečný a v poslední době příliš stručný, ach jo) a ještě více se hrabu ve zdrojácích Základny, teď s vědomostmi z Javy konečně vidím tu šílenou práci, kterou si s ním autor dal, takže jí prostě nemohu nevyužít. Hra bezvadně funguje od Win XP po Win 10 a na všech hlavních linuxech, připravím aktuální info o dnešních interpreterech (např. poslední verze Gargoyle už TADS zvládne také). Bezva nápady na textovku v Javě jsem našel zde:

https://java.vse.cz/4it101/ZadaniAdventury

a ano, přesně toto a mnohem, mnohem více TADS řeší. Škoda, že není k dispozici moderní IDE, když se např. rozhodnu, že název mistostTipiOrla potřebuji všude přejmenovat na mistostTypiOrla, nejde to tak jednoduše jako např. v Netbeansech nebo v Idee, ale alespoň o to více si budu vážit kvalitních prostředí, která opravdu pomáhají. A pokud bych v budoucnu TADS z jakéhokoliv důvodu nemohl využít (přeci jen se už nevyvíjí, naštěstí fórum stále funguje), vypadá to, že mohu klidně textovkařit v Javě a drobet upravit ty skvělé předpřipravené třídy (to ale alespoň zatím nehrozí, starý dobrý Workbenech jede všude a frobtads také, Fabularium na Androidu také odvádí skvělou práci no a nakonec možnost webového hraní, kde jsem se na fóru dozvěděl o využití moderního javascriptu např. u automapingu). Mimochodem, pro mapování využívám právě JS aplikaci Trizbort:

https://github.com/henck/trizbort

která pro TADS i jiné systémy umí z mapy vygenerovat názvy místností a propojení mezi nimi (ne vždy přesně, ale rozhodně pomůže).


Kdy hra vyjde? Do konce roku nemám šanci, i když teď na ní makám téměř denně. Vidím to na leden, maximálně únor, není totiž od věci, když si všechno, co jeden den připravím, druhý den přečtu ještě jednou. Jakmile vydám hru, počkám cca měsíc na uveřejnění zdrojáků. Postupně budu informovat o pokračování ve vývoji, netušil jsem, že seznamování se s vývojařinou bude trvat takhle dlouho, ach jo, už chápu, proč vznikla Adv3lite (tam ale chybí skvělý Gaspodův český překlad, takže jedu klasiku).


gaspoda

  • Plný člen
  • ***
    • Příspěvků: 127
    • Zobrazit profil
Ahoj, přeji pohodové vánoce a gratuluji, že ses na programování nevykašlal, ale jdeš si za svým cílem! Popravdě jsem si nebyl jistý, protože mi přišlo, že o tom nedokážeš nemluvit a dlouho o tobě nebylo vidu ani slechu ;-) Přeji mnoho úspěchů a těším se :-)


Kroužící orel

  • Plný člen
  • ***
    • Příspěvků: 163
    • Zobrazit profil
    • Šťastný statek
Zdravím Toma,

děkuji za parádní povzbuzení, na programování jsem se opravdu nevyklašlal, jen jsem musel zkusit pár přístupů a zjistit, který mi nejvíce vyhovuje. Stejně jako s Linuxem, kde pro mě z vícero důvodů zvítězil Arch jsem zkoušel i C, Python a nakonec se zaměřuji na Javu a TADS, nejde ani tak o jazyk, ale naučit se opravdu programovat a chápat souvislosti, zde mi sednul Pecinovský a skvěle jsem se odpíchnul od věčného začátečníka.

Orla v TADSu se pokusím vytvořit sám bez dotazů, když se juknu do historie naší komunikace, už se jen usmívám nad některými dotazy, ale jinak to nešlo. Poradil jsem si se dvěma osobami v jedné místnosti a změnou dne a noci, nerad bych Ti zkazil zážitek z hraní dotazy se zdrojáky. Opravdu pečlivě se snažím vše popsat, ať se hráč do světa může pořádně vcítit, TADS mi dává parádní možnosti plus zkoumám mapovací program Trizbort, který by se možná dal využít jako automapa k webovému hraní, to zjistím časem.

Snažím se pokud možno opouštět Workbench, debugger obsažený ve frobtads mi stačí, zatím vyvíjím v kombinaci editor Pluma + příkazová řádka frobtadsu a zkouším QT Creator včetně testovacích skriptů, o tomto všem jsme si psali minule. Zde získám bezva zkušenosti plus Library reference jsem si připravil pro offline prohlížeč dokumentace Zeal (jen zatím neumím provést indexaci, aby Zeal vyhledával pomocí fulltextu, na to se vrhnu výhledově). Zdrojáky jsou opravdu mohutné, "užvatlanost" Javy vidím i zde, pokouším se však dodržovat maximální přehlednost, takže s vývojem nemám probléma ani při několika tisících řádků kódu.

Krásné prázdninové a sváteční dny přeje

Orel


Kroužící orel

  • Plný člen
  • ***
    • Příspěvků: 163
    • Zobrazit profil
    • Šťastný statek
Krásné ránko přeji,

hlásím, že vývoj jde podle plánu, nejvíce času zaberou detaily typu přesného popisu všeho možného, správné mluvnické
rody a košaté rozhovory. Zatím jsem si poradil se všemi potížemi ohledně postav, práce s oděvy i kontejnery, opravdu
mi velmi pomáhá, když se umím podívat do knihovny funkcí a metod, kterou jsem si upravil pro Zeal. Dnes jsem dokonce
zjistil, že nejsem zdaleka sám, kdo vyvíjí hru z indiánského prostředí, This land is my land vypadá moc pěkně, sice
si jí na svém železe opravdu nespustím, ale i ta videa stojí za to.

Zeptal bych se na jednu drobnost, kterou sice umím vyřešit, ale rád bych věděl, zda je možné elegantní řešení vzhledem
ke struktuře mých zdrojáků. Jedná se o využití třídy Enterable, pokud chci např. jít do týpí, mohu zadat "dovnitř" nebo
"jdi dovnitř", ale po zadání "jdi to týpí" dostanu odpověď "To není něco, do čeho bys mohl vstoupit". Situaci chápu,
ostatně popisuješ jí ve svém návodu a také v Getting Started in TADS3 je na straně 56 přesně vysvětleno, co a proč dělat
plus v Library a souboru travel.t je krásně vidět provázanost jednotlivých tříd.
V příloze zasílám minimální zdrojáky pro postavu a dvě místnosti, je možné při této struktuře docílit funkčnosti příkazu
"jdi to týpí"? Pokud to nebude možné, nezbývá mi vše předělat tak jak popisuje manuál a je vyřešeno např. u chaty v Heidi.

A bych měl ještě něco z druhého soudku, TADS stále prozkoumávám a z Frobtads 1.2.3 jsem již před časem přešel na verzi
1.2.4. Vše je OK, jen pokud se pokouším zkompilovat Základnu, dostávám následující chybové hlášení, které jsem v předchozím
sestavení nezaznamenal:

symbol_export itemTablet.t -> obj/itemTablet.t3s
Neoprávněný přístup do paměti (SIGSEGV) (core dumped [obraz paměti uložen])

Program v Cčku bych např. projel pomocí GDB a Valgrindu, zde v TADSu debugger nemám. Mohu poprosit o simulaci, docela by
mě zajímalo, kde může být problém, protože se s ním při své budoucí tvorbě mohu setkat taky.

Jdu makat dále, tvorba mě čím dál více baví a to parádní způsob pro další vývoj.