Wątek: Silnik gier tekstowych działających prawie na wszystkimLINE
Wróć do listy wątków1 z 1
1 z 11: grzezlo
Cześć.
Kiedyś napisałem Grtekst - silnik umożliwiający tworzenie prostych gier tekstowych na PC z Windowsem.
Miał on kilka wad, bo sam język programowania był mocno niedopracowany, a poza tym - właśnie - działał tylko pod Windows.
Około rok temu wypuściłem tekstową grę 8-Puzle [1], która została zrobiona w oparciu o następcę Grtekstu, działającego w przeglądarce, czyli tym samym na wszystkich urządzeniach wyposażonych w przeglądarkę z Javascriptem.
Biblioteka gamecore.js to zbiór funkcji upraszczających tworzenie gier tekstowych w sposób zbliżony do Grtekstu, ale oczywiście rozszerzony o możliwości jakie daje sam Javascript, więc łańcuchy, tablice, obiekty itd.
Dzięki funkcjom gamecore, generowanie opisów sytuacji i listy opcji oraz skojarzonych z nimi akcji jest bardzo proste.
Można łatwo rozbudować dzieło o zapis i wczytywanie stanu gry.
Starczy notatnik i przeglądarka sieciowa, żeby rozpocząć swoją przygodę z tworzeniem gier tekstowych i myślę nawet, że nie wymaga to znajomości tajników programowania i przygotowanie gry tekstowej jest w zasięgu wszystkich chętnych.
Zainteresowanych zapraszam do pobrania poniższego archiwum i rozpoczęcie od pliku dokumentacja.html.
http://www.zlotowicz.pl/files/textgamecore.zip
[1] http://www.zlotowicz.pl/puzle/
04.11.2018 18:10
2 z 11: nuno69
O tak, zobaczymy czy to co kolwiek jest warte. Mówię to w takim sensie, że jak pisałem na priv technoloie webowe to technologie webowe, ale jak zwykle rad jestem z tego, że ktoś miast tylko nażekać zroił coś sensownego. Łatwo możnaby do tego dodać oprawę dźwiękową przy użyciu technologii Webaudio.
- "Intelligence and wisdom is like jam. The less you have, the harder you're trying to spread it arround." - French proverb
04.11.2018 18:33
3 z 11: grzegorzm
Ciekawe. Jeżeli to podobne do grtext to każdy sobie poradzi z tworzeniem.
04.11.2018 20:48
4 z 11: mikolajholysz
Idea w sumie fajna, ale z prostotą grteksta ma wspólnego mało.
Jako dodatkowa biblioteka dla osób już znających js w sumie fajna rzecz. Polecał bym, w miare możliwości, pogadać z jakimś widzącym i jakoś ostylować te divy, żeby widzącym się podobało, bo z tego co szablon widziałem cssa tam brak. Oczywiście należałoby pozostawić jakąś możliwość nadpisania tychże albo w ogóle zamieścić je jako osobny plik, w stylu default_theme.css. którego możnaby, lecz nie trzeba, dołączyć do html
Mając kiedyś przelotnie do czynienia z grtekstem, znając jego błędy i tak dalej, a jednocześnie znając złożoność js widzę, że to jest znacznie wyższy poziom. Ja znając js całkiem całkiem, tak na tyle żeby sobie wyciągnąć z kodu jakiegoś jqueryowego frontendu, co on tam w tle robi i włąsny skrypt w czymś napisać, żeby to samo po niewidomemu zrobić zauważam, że tu znacznie więcej trzeba. Do grt wystarczyłą, tak na prawdę, dokumentacja samego grt, bo tam wszystko, włącznie z błędami, było po polsku. Tu jest, niestety, nieco gorzej. Po pierwsze musimy znać js i to całkiem całkiem, bo pojawia się np. przekazywanie funkcji do funkcji i wszystkie komplikacje, jakie to za sobą niesie i inne takie. Nie wspomnę już o konieczności używania konsoli przeglądarki, której nie lubię do teraz czy chociażby angielskich błędach.
Moim zdaniem tu jest potrzebna biblioteka będąca niejako wyższą warstwą nad samo gamecore, jakiś parser tłumaczący język podobny do grt ale z jakimiś stringami, sensowniej rozwiązanymi zmiennymi (zmienne lokalne, zmienne dla całej gry itd), wykrywaniem, że tu napisałeś zmeinna zamiast zmienna, polską, mniej interpunkcyjną i łatwiejszą dla nieprogramujących składnią i wykrywaniem większości błędów przed transpilacją do js, pokazując w treści samego html a nie w konsoli. Coś takiego jest jak najbardziej do zrobienia. Ja to widzę jako dodatkowy plik parser.js załączany w szablonie oraz dodatkowy tag script o typie "text/grt" (takie coś się da z poziomu js obsłużyć, np. babel tak robi, żeby rozpoznać jsx). Taki tag powinien wskazywać przez atrybut src na plik, na przykład skrypt.txt. Wtedy użytkownik nie musi się bawić w szablony, skrypty i ogólnie js, który dla nieprogramującego wcześniej, a zwłąszcza dla nieprogramującego wcześniej niewidomego, jest wg mnie trudny ze względu na to, że większość kursów koncentruje się na tym, jak to wykorzystać na stronie i w html. Takie archiwum powinno zawierać właśnie pusty plik skrytpu i całą, skonfigurowaną resztę. Według mnie miałoby to znacznie większy sens.
ps. jakby to jeszcze przetłumaczyć na angielski i wrzucić na forum.audiogames.net, ludzie by się ucieszyli.
w związku z przesiadką na Maca, prawie mnie tutaj nie ma. Inne sposoby kontaktu w wizytówce.
05.11.2018 23:10
5 z 11: grzezlo
Pomysł ciekawy, no bo faktycznie javascript ma swoje wady, ale nie przypuszczam, żeby się ktoś podjął stworzenia takiego interpretera, ciekawe zresztą jaki narzut w wydajności by to spowodowało...
Zainteresowanie Grtekstem wiadomo jakie było, mocno niszowe zagadnienie.
A tu korzystając z szablon.html i gotowców w dokumentacji, można dość szybko coś stworzyć, bez wchodzenia w detale w jaki sposób w Javascript wyprowadzić tekst na ekran, albo obsłużyć kliknięcie przycisku.
A apropos, audiogames.net mi wywala error 403 Request forbidden by administrative rules. Całą Polskę blokują, czy tylko mojego dostawcę?
06.11.2018 19:39
6 z 11: mojsior
to coś wygląda na to że coś jest u ciebie bo u mnie strona działa
06.11.2018 19:42
7 z 11: mojsior
mnie naszła inna refleksja.
A gdyby tak podjąć prace nad silnikiem do tworzenia gier audio.
Osoby widzące mają dostęp do takich narzędzi jak unity engine, czy unreal engine, a my w zasadzie nie mamy niczego takiego.
Mamy bgt czyli blastgame toolkit, ale ja bym tego silnikiem nie nazwał, a poza tym to wykorzystuje już starą technologie i nie jest rozwijane od ładnych paru lat.
Jest gra audio rpg a hero's call, która bazuje na wspaniałym silniku stworzonym przez niewidomego programistę iana Reeda.
Niestety problem z tym człowiekiem jest taki, że odłączył się od timu developerskiego, z którym tworzył grę, samego silnika jakoś nie chce udostępnić ani udokumentować no i kontakt jest z nim bardzo trudny.
A silnik jest naprawdę wspaniały, jest do niego dodane wsparcie dla padów od xboxa, obsługa bibliotek zewnętrznych, a przede wszystkim gra zachowuje się na nim bardzo dobrze.
Sam silnik jest pisany w C sharp natomiast z tego co wiem niektóre skrypty to java script.
Więc bardzo bym się cieszył, gdyby powstał silnik, w którym nie trzeba by się bawić w skomplikowane pisanie kodu, ale niewielkim wysiłkiem można zrobić grę audio.
Gry tekstowe są jak najbardziej spoko ale do mnie przemawiają jednak gry audio.
06.11.2018 20:21
8 z 11: mikolajholysz
@mojsior Silnik z jakimiś nakładkami czy czymś i w wersji starszej gdzieś mam, było to udostępniane. Na tym było robione chyba tactical battle. Nie przyglądałem się temu zbytnio i kompletnie nie pamiętam, jak to działąło, ile umiało i na czym polegało ale coś mi świta, że tam też gdzieś jakiś javascript albo typescript był wykorzystywany do samego kodu gier, a silnik to chyba jakiś dotnet.
Gorthalon kiedyś coś robił, może nie silnik, a tak popularne w świecie js boilerplate, czyli taki szkielet projektu z pokonfigurowanymi pakietami od dźwięku i tak dalej. Nie wiem, czy js to dobry język dla gier audio, na pewno nie dla początkujących, bo on ma dużo niełatwych mechanizmów typu np. funkcje call back albo ostatnio async await, które wydaje się łatwiejsze ale wcale takie nie jest.
@grzezlo Gdybym ja tylko miał czas... I gdybym ja nie miał na liście do zrobienia tysiąca innych rzeczy... zabrałbym się może.
w związku z przesiadką na Maca, prawie mnie tutaj nie ma. Inne sposoby kontaktu w wizytówce.
06.11.2018 20:47
9 z 11: mojsior
a wiem co to na stronie blindgamers.com jest on dostępny.
To się nazywa text game adventure i tu można jakieś dźwięki dodawać.
To właśnie jest projekt iana reeda tyle że nie rozwijany muszę się tym pobawić
06.11.2018 20:49
10 z 11: balteam
Grzezlo, spróbuj przez inną przeglądarkę audiogames odpalić, mi na mozilli czasem nie chodziła, na operze problemu nie było.
Zapraszam osoby posiadające piesy, lub chcące je posiadać, do dołączenia do grupy o psach przewodnikach.
06.11.2018 22:26
11 z 11: grzezlo
Pomysł z przeglądarką w punkt, bo faktycznie starawego FF blokują, a się wkręciłem w te geoblokady jako jedyne rozwiązanie.
A na Chromie poszło.
Co do silnika, to jest pytanie, jaki sens miałby silnik na pecety, raczej musiałoby to coś chodzić na wszystkim zaczynając od IOS i Andka poprzez Macos...
08.11.2018 21:58