Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Rendering game worlds in text [video] (youtube.com)
99 points by onli on July 8, 2021 | hide | past | favorite | 22 comments


Love this subject. I tried this sort of thing back in the 90s when I was learning BASIC and making text adventures, but it was way beyond my skill (and probably not best implemented in BASIC). I've revisited the topic thinking about AI story generation, but that comes with its own challenges (mainly how to manipulate the world state to solve a particular problem in an interesting way).

Anyway, this video does make me want to try creating some text adventures again...


There's nanogenmo[1], "Spend the month of November writing code that generates a novel of 50k+ words."

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


Oh hey! Author of the video here. I also tried NaNoGenMo in 2017 with my "Infinite Fight Scene" [1], a novel that is one long fight, utilizing an earlier version of the same system. I think I remember your entry (I'm a sucker for space opera). I thought it was great!

[1]: https://github.com/filiph/edgehead/raw/nanogenmo2017/output2...


You could always check out AIDungeon for some ideas about how AI story generation goes. It works alright for story generation as long as you don't mind editing or retrtying , but as an actual game, not so much. They added some game like features in there, but they don't work very well.

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.


I actually didn't find AI Dungeon to be very useful for story generation, unfortunately. It's nice for generating ideas, but lacks the logical consistency and creative problem solving needed to go meaningfully beyond that, at least as far as my experimenting with it went.


Yeah, you have to do a lot of the work in the end. My point was mostly, ai doesn't actually work that well for this. I don't think it's quite ready yet to give the level of creativity yet constrained freedom most well written text adventure games can give. That along with things like NovelAi and Koboldai are probably the best at it right now.


> I tried this sort of thing back in the 90s when I was learning BASIC and making text adventure

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.


He indeed addresses repetition later, in the context of battles. Without wanting to spoil too much (but many won't watch a full video), cutting the battles short by making each attack more deadly is his solution.

> 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).


Author here.

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.


Interesting ... there's a video talking about text. Is there a transcript? I skimmmed through it and most of it was a talking head plus some skyrim snippets.

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?


You can see the trailer for the game they developed here: https://www.youtube.com/watch?v=F2J11YFTsAE

> 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).


https://filiph.medium.com/skyrim-rendered-in-text-1899548ab2... is not a transcript of this video, but it explains some of the same things as the video, from an earlier perspective.


"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?"

You can watch the video with 2x speed and captions. He talked about this!


> You can watch the video with 2x speed and captions. He talked about this!

That's still slower than i can read ;)


This was posted a little while earlier and there's interesting discussion there:

https://news.ycombinator.com/item?id=27760863


That's very clever. The video needs more video game screen and less neckbeard talking head. Is there a paper?


What an ambitious vision! This is a really neat concept and a great breakdown of the interesting challenges with making a great text-based experience for game users.

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...


Have you tried https://twinery.org/ ?


I've loved messing around with Markov Chains in the past, but the output of this seems more interesting... does anyone have any recommended resources for getting started with Natural Language Generation?


Filip here, the person from the video.

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.


Just finished the game, really neat tool and concept. I would love to see a more fleshed concept with more money and time behind it. I will totally follow the dev team.


Beyond cool.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: