Díky za pěkný přehled. ADRIFT je zajímavý také proto, že se dost používá/al (nevím, jestli se od něj teď už neustupuje) na tvorbu AIF, tj. adult interactive fiction, neboli erotických textovek: http://newsletter.aifcommunity.org/index.php
Dnes je také velice používaný Twine: http://twinery.org/
Ačkoli je to tedy nástroj na tvorbu hypertextových próz/CYOA (choose your own adventure). Tj. chybí mu parser, takže s těmi zde zmíněnými nástroji není úplně srovnatelný. Nicméně, první IF, která se dostala na Steam, Depression Quest, je vytvořená právě ve Twine. Díky tomu, že nemá parser, by byl vhodný na tvorbu českých IF.
CYOA - Choose Your Own Adventure - je druh textových her nejvíce podobných tzv. gamebookům. Hra typicky nabídne pár vět až pár odstavců příběhu a vyzve hráče, aby si vybral z několika nabízených možností a zase příběh chvíli pokračuje. Obrázky nejsou nutné, ovládání se redukuje na výběr z pár tlačítek (což je výhoda na mobilních zařízeních), logika na pozadí hry bývá spíše jednoduchá, jde hlavně o větvení příběhu, možná pár proměnných apod. Česky např. http://jiribrossmann.com/interactivefiction/hrdina/
Ajo diky moc za info. Ja jsem myslel Visual novel (to je ten spravny termin) - https://en.wikipedia.org/wiki/Visual_novel
Ono to vypada asi hodne podobne, i kdyz vetveni toho pribehu asi nebude uplne - nektere vetve se (podle me) budou muset spojit, jinak by to autor nezvladal vsechno napsat.
Mimochodem u TADSu by mohl být nějaký screenshot skutečně z TADSu a ne z Alanu ;-) Jinak Gargoyle je sice dost pěkný interpret, ale zrovna jeho podpora pro TADS je slabší - funguje jen jako čistě textový interpret bez multimediální podpory a je v něm dost zastaralá verze VM, takže nepodporuje hry zkompilované v aktuální verzi vývjového prostředí. Plnohodnotným intepretem na Linuxu je QTads 2.x.
Tak to se omlouvám, s tím neporadím, nemám zkušenosti. Já se spíše zajímám o ty parserové hry a ty se moc s mobilem nekamarádí. Když zapátrám ve fóru na intfiction.org, tak třeba se mluvilo o http://www.intfiction.org/forum/viewtopic.php?f=38&t=11478&p=66612&hilit=android#p66612 ale opravdu nemám osobní zkušenost.
Text Fiction
https://play.google.com/store/apps/details?id=de.onyxbits.textfiction
JFrotz
https://play.google.com/store/apps/details?id=com.whj1972.jfrotz
ZMPP Free
https://play.google.com/store/apps/details?id=com.boxofrats.zmpp4droid
Twisty
https://play.google.com/store/apps/details?id=com.google.code.twisty
Část o jazyku Inform mi přišla poněkud povrchní, i s přihlédnutím k příštímu dílu. Říct o Inform, že kompilace pro Z-Machine je zajímavost, je jako říct o Céčku, že zajímavostí je překlad do spustitelného kódu :). Inform je přeci jazyk, pro který byla kompatibilita se Z-Machine hlavní cíl.
Jinak Inform je v současnosti Inform6 a Inform7 - pokud vím, používají se oba. A nestálo by za to, ukázat spíš kód, než generické screenshoty z Gargoyle, které daný jazyk nijak nepředvádí? Aspoň nějakou složitější konstrukci, než "out"? To ostatně platilo pro všechny jazyky.
Seriálu ale každopádně fandím. Díky!
Mě to třeba s tou Z-mašinou překvapilo, protože je docela zvláštní, že se pořád ještě používá na něco dalšího, než jen na přehrávání Zorků :-) Trošku jsem se na specifikaci Z-mašiny díval a kromě grafu objektů tam vlastně nění nic tak speciálního, co by textovkářům pomohlo! Dokonce ani parser, takže - doufám že to správně chápu - pokud budu mít 100 textovek ve formátu dejme tomu .z6, tak budu mít na disku zbytečně 100x ten samý parser, 100x tu samou základní logiku ovládání atd.?
Pokud vím, tak Inform kompiluje do Z-machine i do Glulx. Do Z-machine ale dokáže zkompilovat jen menší hry, protože formát má svá omezení. V podstatě zvádne jen určité počty objektů atp. Podpora staršího formátu je daná hlavně historicky (Glulx vzniklo až z potřeby provozovat složitější hry) a také hraje roli kompatibilita (Z-machine je tu od počátku a tak je přeci jen větší nabídka interpretrů vč. historických platforem).
A ano, Z-machine i Glulx jsou poměrně nízkoúrovňové virtuální mašiny, vůbec se to neblíží vysokoúrovňovému jazyku, je to spíš takový "assembler". Nicméně oproti strojovému kódu určenému pro HW mikroprocesor se bytekód určený k vykonání SW virtuální mašinou přeci jen liší a občas má sklony k instrukcím vyšší úrovně abstrakce. U té Z-machine je např. vidět operační kód "tokenise", který provede rozložení příkazu zadaného hráčem na jednotlivé tokeny a zadaná slova porovná se slovníkem hry a připraví tabulku shod.
Zbytek parseru, tedy sémantická analýza zadaného příkazu, se už neprovádí v interpretru, ale v programu spuštěném na dané virtuální mašině. Takže ano, můžete mít stokrát to samé, ale v praxi to tak nebude zcela. Každá z těch 100 her může mít trochu jiný parser, třeba jen lehce upravený a doladěný podle dané hry, ale třeba i úplně jiný, pokud je hra vytvořena v jiném nástroji, který také kompiluje do .z6. To samé platí pro ten zbytek, tedy model světa. Opět záleží na nástrojích, ve kterých hry vznikají a i v rámci řekněme Informu pak záleží, jaká rozšíření si autor do hry vloží, takže se může hru od hry lišit.
U TADSu, o kterém přeci jen vím podstatně více, je to s virtuální mašinou podobné, tedy interpret poskytuje tokenizaci a matchování vůči slovníku. Celý zbytek parseru je naprogramovaný přímo v jazyku TADS v knihovně a přeložený do bytekódu, takže se dá prakticky libovolně přizpůsobit potřebám hry.
VM jde ale o podstatný kus dál, než Z-machine, poskytuje TADSovému programu hromadu zabudovaných (= naprogramovaných v C++ v rámci interpretru) funkcí a tříd (intrinsics), které kromě zprostředkování běžných věcí, jako vstup a výstup na obrazovku a do souborů nabízí různé datové struktury a kolekce (list, pole, bigint,...), regulární výrazy a i třeba zmíněnou infrastrukturu pro síťovou komunikaci. Co se týče instrukční sady VM, tak kromě těch instrukcí, které připomínají assembler, jsou zde i takové zajímavosti, jako instrukce, která provede volání metody na polymorfním objektu nebo třeba instrukci pro vyvolání výjimky.