Diskuze o textových hrách

Strach ze tmy

mop

  • Plný člen
  • ***
    • Příspěvků: 158
    • Zobrazit profil
Dotlačil jsem do finální podoby a tímto vypouštím do světa novou věc, kterou jsem už tak trochu avizoval. Je to hra ve stylu textových fantasy RPG, plná starých klišé jako jsou jeskyně, skřeti, meče a lahvičky s léčivými lektvary. Třeba si to někdo zkusí zahrát a snad ho to bude bavit.

Binárka pro Windows:
https://github.com/myrmica-habilis/SzT/releases/download/v1.0/SzT.exe

Jinak si lze také naklonovat repozitář a jet ze zdroje:
https://github.com/myrmica-habilis/SzT.git
(je potřeba Python 3.6 a vyšší)


mop

  • Plný člen
  • ***
    • Příspěvků: 158
    • Zobrazit profil
Ještě je tu experimentální možnost zahrát si v prohlížeči:


(oproti příkazové řádce to ale bude pomalejší a možná ne úplně stabilní)


Kroužící orel

  • Plný člen
  • ***
    • Příspěvků: 205
    • Zobrazit profil
    • Šťastný statek
Díky za zajímavou textovku,

připadám si jako u her ze slavného Fantasy gamebook engine, škoda jen, že popis místností se často opakuje.

Hru jsem v linuxu spustil pomocí Wine, dobře funguje i web, zajímala mě samozřejrmě také kompilace a hraní nativní. Při pokusu o python __main__.py jsem dostával:

Traceback (most recent call last):
  File "__main__.py", line 1, in <module>
    from szt.hra import hra
ModuleNotFoundError: No module named 'szt'

ale např. Pycharm program bez problémů spustí. Chvíli jsem hledal, přeci jen "exáč" u pythoních aplikací není ouplně triviální, nakonec pomohl parádní web Realpython a info o aplikaci Pyinstaller, situaci jsem nakonec vyřešil takto:

1. vytvořil jsem soubor cli.py a setup.py v adresáři s testy a naplnil jej podobně jako příklad na Realpython, pomocí cli.py mohu hru hned spustit příkazem
python cli.py

2. Pro zjednodušení lze přidat do souboru cli.py na začátek řádek
#!/usr/bin/env python3

a cli.py nastavit jako spustitelný, poté je vše OK.

Vše připravené pro linux zasílám v příloze.


Hra je alespoň pro mě dost těžká, ale nevadí, budu ještě zkoušet, rád bych prolezl i tu jeskyni. Teď makám na Orlovi dvojce a při tom pracuji s Javou plus nově i s Pythonem, tyhle jazyky mi jako kombinace plně vyhovují a člověk krásně vidí jejich odlišnosti.

Další zajíamavá textovka v Pythonu je k nahlédnutí zde:

https://www.raspberrypi.org/blog/making-text-adventure-wireframe-6/

Vypadá dobře, je to tradiční model hry s využitím OOP podobně jako v TADS3.

Něco takového výhledově připravím.


mop

  • Plný člen
  • ***
    • Příspěvků: 158
    • Zobrazit profil
Při pokusu o python __main__.py jsem dostával:

Traceback (most recent call last):
  File "__main__.py", line 1, in <module>
    from szt.hra import hra
ModuleNotFoundError: No module named 'szt'

Ano, je potřeba spouštět to z nadřazené složky jako modul, příkazem python -m szt, tedy analogicky k tomu tvému spouštěcímu skriptu cli.py, jelikož ta složka je vlastně pythonovský balíček neboli package.

Jinak teď makám na tom, aby to i v konzoli Windows bylo barevné, zatím to vypadá nadějně.


mop

  • Plný člen
  • ***
    • Příspěvků: 158
    • Zobrazit profil
Přidal jsem do README nějaké povídání ohledně spuštění i hry samotné.

Hru jsem v linuxu spustil pomocí Wine
Vidíš, mně to na Mintu ve Wine nešlo :) můžu se zeptat, co máš za Linux?

Hra je alespoň pro mě dost těžká, ale nevadí, budu ještě zkoušet, rád bych prolezl i tu jeskyni.
Kdyby bylo nejhůř, tak mrkni na ten funkční test, to je vlastně takový doporučený postup hrou.


Kroužící orel

  • Plný člen
  • ***
    • Příspěvků: 205
    • Zobrazit profil
    • Šťastný statek
Paráda, děkuji za nakopnutí ohledně spuštění jako modul, příkaz python -m jsem neznal. Dobře, že jsi možnost uvedl i ve zdrojácích, určitě se najdou další linuxáci, kteří za ní budou vděční. Já se s Pythonem teprve seznamuji, dohodl jsem se s p. Pecinovským, že mu pomohu s revizí jeho nové knihy pro začátečníky a společně s TADS a Javou jsem se vrhnul i na Python, tahle pěkná kombinace (možná ještě s Javascriptem nebo C/C++, uvidíme) by mohla stačit na většinu věcí.

Už dlouho používám Arch Linux, dnes mám verzi Wine 5.5-1 a vše jede relativně bez problémů, viz výpis:

wine SzT.exe
000f:err:service:process_send_command receiving command result timed out
000f:fixme:service:scmdatabase_autostart_services Auto-start service L"WineBus" failed to start: 1053
000f:err:service:process_send_command service protocol error - failed to write pipe!
000f:fixme:service:scmdatabase_autostart_services Auto-start service L"AdobeARMservice" failed to start: 1053
----------------------------------------------------------------------


                      S t r a c h   z e   t m y                       


                        textová hra na hrdiny                         

                      verze 1.0   6. dubna 2020                       


----------------------------------------------------------------------

Na druhém disku ale sídlí Q4OS Centaurus, což je Debian 10 s GUI Trinity, zde je čtyřková verze a program se nespustí:

Debian 10
Wine 4.0-2

wine SzT.exe
000f:err:service:process_send_command receiving command result timed out
wine: Špatný formát EXE pro Z:\home\abc\Plocha\SzT.exe.

Vidím, že v Mintu 19 je stále čtyřková verze, Ulyana by měla mít stejně jako Focal pětkovou.

Hledal jsem na fórech, u podobné chyby jsem se dočetl, že je vhodné zkusit vývojovou verzi, takže bych v případě dnešního Mintu asi zkusil:

https://computingforgeeks.com/how-to-install-wine-on-ubuntu-linux-mint-desktop/

i když ruku na srdce, start pomocí Wine u mě trvá cca jednu minutu, nativně přes můj cli.py asi dvě sekundy.


Ano, na test juknu a vše ještě jednou zkusím.


Měl bych dotaz ohledně té webové verze, server repl.it je bezva, využívá jej mimojiné např. JetBrains akademie, takže na něj časem hodím voko vo něco víc. Pro to, aby Ti fungoval odkaz

https://szt.myrmica.repl.run/

opravdu stačí stávající zdroják nakopírovat na

https://repl.it/talk/share/My-Replrun-Project/10942

?

To by byla paráda. Python se mi právě líbí v tom, že mohu využít např. ncurses nebo QT5 pro jednu aplikaci plus (teď nevím, jestli si to moc nemaluju) např. s využitím Flasku nebo Djanga upravit jako aplikaci webovou.


mop

  • Plný člen
  • ***
    • Příspěvků: 158
    • Zobrazit profil
dohodl jsem se s p. Pecinovským, že mu pomohu s revizí jeho nové knihy pro začátečníky
Já se zrovna chystám objednat tuhle jeho poslední novinku:
https://www.grada.cz/python-11421/

Knížku o Pythonu pro začátečníky bych taky rád okomentoval, kdybych mohl.

Měl bych dotaz ohledně té webové verze, server repl.it je bezva, využívá jej mimojiné např. JetBrains akademie, takže na něj časem hodím voko vo něco víc. Pro to, aby Ti fungoval odkaz

https://szt.myrmica.repl.run/

opravdu stačí stávající zdroják nakopírovat na

https://repl.it/talk/share/My-Replrun-Project/10942

?
Nevím, to jsem nezkoušel. Já mám na repl.it účet, tam se na pár kliknutí dá naklonovat repozitář z GitHubu, přidá se k tomu jednoduchý soubor .replit a pak už je to funkční.


Kroužící orel

  • Plný člen
  • ***
    • Příspěvků: 205
    • Zobrazit profil
    • Šťastný statek
Ano, stávající knížka Python – Kompletní příručka jazyka pro verzi 3.8 je určena vývojářům, kteří již mají zkušenost s Pythonem, takže směle do ní, já se po dokončení začátečnické příručky na ní chystám také. Autor potřeboval někoho s pouze minimálními znalostmi programování, aby z jeho pohledu zjistil, zda je knížka vhodná pro začátečníky, určitě zkus pana Pecinovského kontaktovat:

http://knihy.pecinovsky.cz/60_python/index.html#FAQ

a pokud se dohodnete, bude paráda, když zašleš i své dojmy.

S repl je to jasné, musím si vytvořit účet a poté mohu vesele spouštět své projekty, o to mi šlo. Pokud bych např. vydal nějakou textovku v Pythonu, tímto způsobem bude parádně hratelná podobně jako mám možnost připravit aplikaci v TADS3 pro online hraní.

Dnes budu zase pokračovat v Orlovi a průběžně se seznamovat s Pythonem, už se těším, kombinace výše uvedených knih a šikovných online materiálů (třeba Pyladies, Pycharm akademie nebo kurzy od Udemy vypadají opravdu parádně).


mop

  • Plný člen
  • ***
    • Příspěvků: 158
    • Zobrazit profil
Zkompiloval jsem verzi 1.1 pro Windows, která běhá v barvách i v klasické příkazové řádce, která nepodporuje ANSI kódy. Testováno na Windows 7.

https://github.com/myrmica-habilis/SzT/releases/download/v1.1/SzT_v1.1.exe


Kroužící orel

  • Plný člen
  • ***
    • Příspěvků: 205
    • Zobrazit profil
    • Šťastný statek
Děkuji za vydání nové verze, je zajímavé, že tu první jsem pomocí wine 5.5-1 spustil

wine SzT.exe
002a:err:winediag:gnutls_initialize failed to load libgnutls, no support for encryption
002a:err:winediag:gnutls_initialize failed to load libgnutls, no support for pfx import/export
0030:fixme:advapi:RegisterEventSourceW ((null),L"AdobeARMservice"): stub
0030:fixme:advapi:ReportEventW (0xcafe4242,0x0004,0x0000,0x00000000,(nil),0x0001,0x00000000,0xeafcac,(nil)): stub
0030:fixme:advapi:DeregisterEventSource (0xcafe4242) stub
----------------------------------------------------------------------


                      S t r a c h   z e   t m y 


ale novější už nikoliv:


wine SzT_v1.1.exe
000f:err:service:process_send_command receiving command result timed out
000f:fixme:service:scmdatabase_autostart_services Auto-start service L"WineBus" failed to start: 1053
000f:err:service:process_send_command service protocol error - failed to write pipe!
000f:fixme:service:scmdatabase_autostart_services Auto-start service L"AdobeARMservice" failed to start: 1053
[44] INTERNAL ERROR: cannot create temporary directory!
002d:fixme:ver:GetCurrentPackageId (0x22fac0 (nil)): stub


Je to sranda, stačí pár změn a WINE to už nedá (problém bude asi v cannot create temporary directory), takže zase pojedu ze zdrojáků. A sakra, nepojedu, v aktuální verzi mi příkaz

python -m szt

vyhazuje chybu:

Traceback (most recent call last):
  File "/usr/lib/python3.8/runpy.py", line 193, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.8/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/wanbli/Desktop/Textovky/Strach ze tmy/SzT-master/szt/__main__.py", line 3, in <module>
    from .hra import hra
  File "/home/wanbli/Desktop/Textovky/Strach ze tmy/SzT-master/szt/hra.py", line 3, in <module>
    from . import utility
  File "/home/wanbli/Desktop/Textovky/Strach ze tmy/SzT-master/szt/utility.py", line 10, in <module>
    from rich.console import Console
ModuleNotFoundError: No module named 'rich'

Můžu poprosit o kontolu toho rich modulu?


mop

  • Plný člen
  • ***
    • Příspěvků: 158
    • Zobrazit profil
Děkuji za vydání nové verze, je zajímavé, že tu první jsem pomocí wine 5.5-1 spustil

ale novější už nikoliv:
Momentálně po aktualizaci na Wine 5.0 jsem na tom stejně. Mohl bych zkusit zkompilovat ještě 32bitovou verzi, ale tím to asi nebude. Prozatím to nebudu řešit.

ModuleNotFoundError: No module named 'rich'

Můžu poprosit o kontolu toho rich modulu?
Ano, rich je externí knihovna. Nainstaluj si to prosím podle aktualizovaného README, pokud možno přesně i s virtuálním prostředím. Je to jen pár příkazů navíc. Je nutný Python 3.6.1 a vyšší.


Kroužící orel

  • Plný člen
  • ***
    • Příspěvků: 205
    • Zobrazit profil
    • Šťastný statek
Nic se neděje, pokud hra funguje nativně ve Win, to je hlavní, my linuxáci tu naštěstí máme zdrojáky. Díky za nakopnutí, mě napadlo, že by rich mohla být nějaká pythoní knihovna, hledal jsem jí v archovských repozitářích, ale nějak jsem přehlédnul, že je k dispozici v AURu. V Arch linuxu totiž téměř nemusím používat pip nebo condu, většina věcí je v repo a tak je to i s balíčkem python-rich:

https://aur.archlinux.org/packages/python-rich/

Nyní je vše OK, nemusím využívat ani virtuální prostředí a pomocí

python -m szt

se hra v aktuální verzi v pohodě spustí, parametry pro barvy fungují také. Přiznám se, že jsem po aktualizaci s gitu nečetl soubor Čtimě, proto jsem jen odhadoval tu knihovnu, příště budu pečlivější. Hru zase pořádně zkusím, takhle barevnější vypadá mnohem lépe.