Rendering game worlds in text [video]
youtube.com
youtube.com
Anyway, this video does make me want to try creating some text adventures again...
Same here :D
I really like the idea, but I see problems. I'm still watching the video, so maybe they'll be addressed.
Repetition: repetition in text can get quite jarring if the text is written like a novel, as opposed to the classic RPG way of displaying it as a text log. It's not unsolvable, but it certainly is difficult. Not only does avoiding repetition require knowledge of previously generated text, I think it also requires adjustments to the game world itself. It can't be Skyrim in that regard, it needs to generate unique and meaningful situations.
Effort of parsing: it takes the user a lot more effort to parse free-flowing text, as opposed to graphical shorthand representations or even photorealistic scenes. We like to spend that effort when we read stories because we get something in return. I'm less convinced that a completely automated but open world can offer the same appeal. It doesn't seem impossible, but it's certainly quite hard.
Of course the other alternative to generating meaning as a reward for the brain's effort to parse the text is to just generate the text with predictable patterns. In that case though, we are exactly back at the point where MUDs left off. Not that this is a bad thing, necessarily.
Admittedly, I'm probably just jaded and very dubious about well-produced videos making a lot of grandiose promises when it comes to games. I would certainly buy this game and give it a try.
> Admittedly, I'm probably just jaded and very dubious about well-produced videos making a lot of grandiose promises when it comes to games. I would certainly buy this game and give it a try.
Do that! The result he produced so far is a very exciting experiment. https://egamebook.com/knights/ (no affiliation on my part, I just love the concept of these games).
To clarify, the way to address repetition was not so much making battles shorter, but making effects less numeric and more radical. You can still spend a long time battling, but instead of decreasing hitpoints, you: fall on the ground, stab a leg, stand up, get leapt at, dodge, chop off a hand, get stabbed in the eye, and finally break a skull.
I tried this once by essentially making a Zork-like text adventure that played itself. The result[2] was horrible.
[1] https://nanogenmo.github.io/ [2] https://github.com/smcameron/nanogenmo-2017
[1]: https://github.com/filiph/edgehead/raw/nanogenmo2017/output2...
As far as actually writing a text adventure game goes these days, there's lots of options for languages and libraries that are specific to making text adventures.
There's Inform and TADS for making parser based games.
https://en.m.wikipedia.org/wiki/Inform
https://en.m.wikipedia.org/wiki/TADS
There's renpy, Quest and a bunch of others for making more visual novel/choose your own adventure style stories.
https://en.m.wikipedia.org/wiki/Ren%27Py
http://textadventures.co.uk/quest/
There's actually still a fairly large text based game community out there these days.
Whatever they're saying in the video, I'd like to remind everyone that the first games were played on machines that only had text mode. We're coming full circle?
> the first games were played on machines that only had text mode
This is also mentioned in the video, the author's aim seems to be to describe all elements of the game with natural language (e.g. rogue doesn't count, it uses text but in a graphical form).
You can watch the video with 2x speed and captions. He talked about this!
That's still slower than i can read ;)
My kid was interested in starting with game programming a few years ago and I tried to push him down the path of a text adventure to start simple... and I recall not being happy with the text game engines I stumbled upon.
Here are some links I tracked down to play with it more:
* Main website: https://egamebook.com/
* Knights of San Francisco game: https://egamebook.com/knights/
* Game engine source: https://github.com/filiph/egamebook
* Quickstart to run locally: https://github.com/filiph/egamebook/tree/master/edgehead#dev...
* A web-based prototype https://egamebook.com/vermin/v/latest/
Edit/Update: Contrasting the game on my phone with the how it plays in the terminal, while looking at the source files is blowing my mind :). The phone game rendering is really slick/polished -- I can see this was a labor of love. Nicely done.
Here's the starting point of the game's text source if anyone else is interested... https://github.com/filiph/egamebook/blob/master/edgehead/ass...
Unfortunately, the best sources about "old school" NLG are physical books. I really liked Building Natural Language Generation Systems as a start.
Newer NLG tries to merge ML and the old approaches. The only source there are academic papers, afaik.