V Javě, v jeho případě GUI toolkit Swing, jde jedním řádkem kódu zvolit (pseudo)nativní vzhled. Vypadá ok na Windows, Macu i v Linuxu. Akorát na Linuxu je lepší vybrat přímo Gtk místo Nativní, protože v KDE by zvolil ten hnusný Metal. KDE totiž není Gtk-based DE, ale aplikuje svému-podobný vzhled na Gtk aplikace.
"...plati se za to tim, ze tato verze s sebou "taha" celou Javu a proto ma cca stovky MB narozdil od multiplatformni verze ktera ma pouhych cca stovky KB"
Má použít nástroj (součástí SDK), který promaže soubory JDK/JRE podle potřeb app. Pro Swing Hello world app to u mě bylo 30 MB install size, 17 MB download size (.zip).
Pro zajímavost a srovnání: Qt6 je asi 100 MB, když si ho taháte s aplikací (týká se 98 % uživatelů).
2. 2. 2024, 23:49 editováno autorem komentáře
OT: hra mozna bude dobra, ale ten web je nevalidni https://validator.w3.org/check?uri=http%3A%2F%2Fwww.danielsoft.cz%2Ftrojsvit.html&charset=%28detect+automatically%29&doctype=Inline&group=0
:-)
Mně na Android mobilu nejde vůbec otevřít z Gmailu Root.cz (NET::ERR_CERT_AUTHORITY_INVALID). HTML/CSS source se přestal řešit už před lety, když spousta webů je generovaná JavaScriptem. Jako uživatel obsah vidím a vyhledávače taky (používají ořezaný JS engine, případně stačí hlavička se základním infem pro hloupé boty).
Vůbec nevím, co to je textovka, pro mě je textovka max psaná zpráva. Googlil jsem trochu, co to je textová hra, dobral jsem se tomu, že to absolutně nechápu.
Však hraje je něco, kde se něco děje, ne? Třeba starý Doom, ping pong na osciloskopu.
Ale kdeže, dneska má každý GPU s haldou výkonu a pustí snad všechno a když ne, tak ty starší GPU v bazaru jsou za pár šupek.
Textové hry vznikly dávno před PC. V knihách. Některé knihy nebo komiksy nabízejí rozvětvený příběh. V knihách se to implementovalo tak, že pro další příběh jsi nalistoval stranu, na kterou tě předchozí text odkázal. V papírové knize to má omezení velikostí knihy, v PC ten rozvětvený příběh může být složitější.
No a potom jsou umělecké knihy jako House of Leaves, které mají specifické ztvárnění už samotného textu a samotný příběh lze interpretovat různě, podle toho, jak se to čte.
A třeba House of Leaves inspiroval mapu My House pro Doom, který z toho Doom engine vyčerpává naprosté maximum. Podobně jako House of Leaves je asi tak maximum, co lze dělat s textem na papíru.
Děkuji za vysvětlení a zároveň chápu, kde je problém. Ten je v tom, že mě nikdy příběhy z knih nebavili, v životě jsem nevzal dobrovolně do ruky knihu, že bych si přečetl něco - ve smyslu příběh. Když už se to stalo, tak jsem skončil po 3 stránkách.
Já si neumím ten vizuál z toho, co čtu jako příběh dokreslit, dodělat v hlavě, nevím, jak ta postava vypadá, popis postavy mi nepomůže, ani věcí atd.
Třeba encyklopedie, odborná literatura, to je jiná, to mám rád, ale tím to taky končí.
Pokud se o hry zajímáš, pak narazíš na tento žánr velmi záhy. Je to základ herní historie. Pokud se o hry zajímáš jen okrajově a nerad čteš, asi tě to nezaujme. S věkem se ale může všechno změnit. Já třeba tíhnul k narativním ukecaným hrám i když v poslední době spíš vyhledávám takové non verbální věcičky, něco jako "The Witness".
4. 2. 2024, 13:39 editováno autorem komentáře
Taky se dnešní IF moc nepodobají těm starým textovkám, kde se chodilo v "gridu" sever, jih, zapad, vychod a jen se hledalo použití předmětů (a někdy dost obskurní). Dneska jde spíš o to "fiction" část, tedy příběh, který se postupně odhaluje a už to není postaveno na zákysech. Mnohdy je to taková oddychovka, ale každej to má jinak (já jsem asi víc na text, někdo zase jen na vizuál atd.).
Preco v jave, ked pre textovky je dost kvalitnych nastrojov?
Napr. Twine https://twinery.org/
Inform https://ganelson.github.io/inform-website/
Quest + Squiffy https://textadventures.co.uk/quest
Adrift https://textadventures.co.uk/quest
renpy https://renpy.org/
a nasli by sa zrejme aj dalsie. Nemusite tak znovuobjavovat koleso pri implementacii engine, mozete sa zamerat hlavne na hru...
Tuším napíšem hru v bashi a použijem tam POSIX tooly podľa možnosti čím hlúpejším spôsobom. (Teraz mám také bashové obdobie) Len aby som mudrlantov na root.cz nasral.
Java je fajn jazyk a hentakéto textovky sme mali ako jedno zo zadaní na hodinách programovania. Engine netreba zahodiť, dá sa prepoužiť na ďaľšiu hru. Vlastný engine má tú výhodu, že robí len to, čo treba.
Obvzlášť sa mi páči pitomý štýl humoru hry.
Ked si tak precitate celu diskusiu, mate dojem ze ten engine robi to co treba? Ja nie. Su to zvedsa problemy ktore kazia zazitok zo samotneho pribehu hry. Ked tak si tu hru napiste kludne v bashi. Alebo aj v strojaku, nech vas hreje, ze je to cele len vase, vratene prekladaca/interpretru. Tym ludi nenaseriete, naseriete ich tym ze zabijete inak mozno dobry pribeh. A nebude to problem jazyka, ten si vas nezvolil. Vy ste si zvolil jazyk, ktory bud nepokryva potreby, alebo nedokazete vyuzit moznosti jazyka na pokrytie potrieb.
tady autor hry, budu reagovat na některé připomínky:
Ad Java a zastaralost enginu hry:
První hra na tomto enginu vznikla už v roce 2007, kdy ještě smartphony vůbec (nebo skoro vůbec) nebyly a já už měl hotový framework. V té době byla Java volbou, protože ta první hra byla interní pro diskusní server Okoun, kde byla asi jedna třetina lidí s Macem, jedna třetina s Windows a jedna třetina s Linuxem.
Pak druhá hra Hlavně nenápadně ( http://danielsoft.cz/nenapadne.html ) a tento Trojsvit už byly potom postaveny na hotové knihovně (která je s historických důvodů takto)
weby dělat moc neumím
Java podporuje ve zdrojácích jen UTF16 a Linux na kterém hru vyvíjím má UTF8, proto bez diakritiky
Chápu, že jsem co se týče použitých technologií zaspal dobu, ale modernizace by znamenala celý nový framework, což je větší effort než napsat v hotovém a odladěném frameworku z roku 2007 hru (člověk už v podstatě pracuje jen jako level designer a knihovna se o všechno postará včetně chuťovek jako ukládání stavu celé hry, což bych nechtěl dělat znovu)
ad Problém tří těles: jediné, co je společné, je přítomnost tří sluncí, příběh hry nemá s příběhem Problému tří těles nic společného, knihu jsem ani nečetl. Ty tři slunce tam původně byly proto, že jsem dříve chtěl založit příběh hry na Asimovově Příchodu noci, ale kvůli Asimovovým autorským právům (resp jeho dědiců) jsem od toho upustil a v celé hře použil jen svoje originální nápady.
Sice nostalgické vzpomínky na Indiho v Basicu, ale hratelnost současných textovek s formátovaným textem, mapou, pohybem atd, je prostě někde jinde. Mimochodem právě "hraju" opensource polotextovku, respektive dohrál jsem hru teď si hraju se hrou a moje doporučení zní jasně: I když zvyk je železná košile tak vlastní framework nechat odpočívat v pokoji a hrábnout po něčem kde už někdo jiný vyřešil všechno potřebné a to píšu jako člověk který si opravdu rád dělá všechno po svém.
Diakritika: UTF16 je interní reprezentace, zdroják normálně UTF8. Swing s diakritikou problém nemá a ta binární serializace taky ne i třídu "HotelovýTelefon" to zvládne.
Nikterak jsem nelenil a tuto jistě fajnšmekrovskou záležitost jsem zabalil.
http://repo.vitexsoftware.cz/pool/games/t/trojsvit/
Komu se balíček nelíbí, nechť jej vylepší:
Tak jsem si hru zahrál a i když mi napřed ovládání přišlo dost krkolomné, tak jsem si celkem rychle zvykl a pak už to nebyl problém (snad až na neustálé odklikávání tlačítka OK).
Hra mi zabrala cca 30 minut a musím říct, že to bylo příjemných 30 minut. Většinou to bylo relativně přímočaré a menší zásek nastal asi jen 2x (kupodivu nepomohlo zkoušení všeho na všechno, ale změna místnosti). Za mě palec nahoru!
díky za zpětnou vazbu, cením si jí, jen bych rád jako autor uvedl na pravou míru: samotná "změna místnosti" nikdy nic neudělá, ale může se stát (tuším právě 2x lol) že nějaká akce v jedné místnosti způsobí, že se něco změní v místnosti jiné, ale mělo by se na to dát přijít logickým myšlením, pokud člověk pozorně čte texty, které ve hře jsou
Ano, takhle jsem to myslel. Většina problémů se vlastně řeší v dané místnosti, což je na jednu stranu dobře (člověk se soustředí na jeden problém a vše má na obrazovce k dispozici), ale na druhou stranu to dělá hru snazší. Pokud by se plánovalo pokračování/další hra, přimlouval bych se za větší komplexnost, kdy je potřeba provádět častěji provádět nějaké činnosti v jiných místnostech, aby to vedlo k posunu v místnosti, kde řeším "aktuální problém".
pokud chcete složitější hru, můžete zkusit moji předchozí http://www.danielsoft.cz/nenapadne.html