HN Theater @HNTheaterMonth

The best talks and videos of Hacker News.

Hacker News Comments on
Rendering game worlds in text

Filip Hráček · Youtube · 99 HN points · 1 HN comments
HN Theater has aggregated all Hacker News stories and comments that mention Filip Hráček's video "Rendering game worlds in text".
Youtube Summary
Many years ago, I decided to try to build something like "Skyrim" (a complex, simulation-heavy RPG game) that would describe what's going on instead of rendering it in 3D. Inspired by old gamebooks and Choose Your Own Adventure stories, but also games like Dwarf Fortress or Rimworld, I explored many blind alleys and generally learned things the hard way. This year, I finally got to release a full, commercial game for iOS and Android, based on these concepts.

This video is about those blind alleys and about the strategies I learned to deal with the problems at hand.

I'm not mentioning it in the video, but this is no AI Dungeon. That game and the other GPT-2 and GPT-3 based projects are fascinating, but they also have no ground truth. So they end up being closer to these funny, dadaist improv sessions than to actual games. In my game, there is ground truth, and it's simulated to the level of individual body parts. This game does not use ML (like GPT-2 or GPT-3) to "render" its prose.

Skyrim rendered in text (2017 article): https://filiph.medium.com/skyrim-rendered-in-text-1899548ab2c4

The game (Knights of San Francisco, 2021): https://egamebook.com/knights

You can follow my gamedev exploits on Twitter at https://twitter.com/RaindeadGames

Huge thanks to Linda Boussetila, who gave me the idea for making this video, and who was kind enough to review the first draft of it and gave me tips on how to improve it. You can reach Linda through https://github.com/LindaBoussetila.

0:00 Visualization intro
0:52 World state & rendering
1:57 Natural language generation
3:12 NLG & games
5:36 Repetition vs text
6:30 More realism
8:25 Game trailer
9:14 The problem with “radical effects”
10:45 The problem with choices
12:24 Spatial relations in text
13:07 Player reading in interactive works
15:40 But, why?
16:42 Indie & authorial
18:48 The result
20:09 Awkward outro
HN Theater Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this video.
He mentions that specifically in his "explainer" video (and uses Rogue itself as an example: https://youtu.be/CDDYeJznOhY?t=223
Jul 06, 2021 · 99 points, 22 comments · submitted by onli
nottorp
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?

onli
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.
ludamad
"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!

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

That's still slower than i can read ;)

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

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

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

Animats
That's very clever. The video needs more video game screen and less neckbeard talking head. Is there a paper?
swashbuck1r
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...

paulryanrogers
Have you tried https://twinery.org/ ?
mrspeaker
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?
filiph
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.

yohannparis
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.
bikamonki
Beyond cool.
shannifin
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...

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

shannifin
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.
grawprog
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.
ud_0
> 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.

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

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

smcameron
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

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

HN Theater is an independent project and is not operated by Y Combinator or any of the video hosting platforms linked to on this site.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.