Programming Throwdown - 162: Interactive Fiction
Episode Date: July 24, 2023In the latest episode of Programming Throwdown, we delve into the captivating world of interactive fiction. We explore: Wordnet, Inform, and how games in the past have been the forerunners of... today’s NLP challenges. 00:00:22 Introductions00:00:39 To hard mode or not to hard mode00:08:58 No moats in Google00:16:37 Stable Diffusion blows Jason’s mind00:21:31 Putting beats together00:23:38 GPT4All00:27:44 White Sand00:35:28 Fortuna00:38:55 Patrick’s ‘dirty’ secret00:47:20 Wordnet00:53:56 Procedural generation00:57:29 On tabletop RPGs01:00:48 Inform01:07:27 FarewellsResources mentioned in this episode:Join the Programming Throwdown Patreon community today: https://www.patreon.com/programmingthrowdown?ty=h Subscribe to the podcast on Youtube: https://www.youtube.com/@programmingthrowdown4793 News/Links:Google: We have no moat and neither does OpenAIhttps://www.semianalysis.com/p/google-we-have-no-moat-and-neitherStable Diffusion QR Codeshttps://stable-diffusion-art.com/qr-code/ Beginning to Make Musichttps://learningmusic.ableton.com/GPT4Allhttps://gpt4all.io/index.htmlWordnet:https://wordnet.princeton.edu/Inform:https://en.wikipedia.org/wiki/InformBook of the ShowPatrick:White Sand https://amzn.to/43CPMKAJason: The Fortuna https://www.generativefiction.com/Tool of the ShowJason:Gatsby.js https://www.gatsbyjs.com/Patrick: Peglin https://store.steampowered.com/app/1296610/Peglin/  If you’ve enjoyed this episode, you can listen to more on Programming Throwdown’s website: https://www.programmingthrowdown.com/ Reach out to us via email: programmingthrowdown@gmail.com You can also follow Programming Throwdown on Facebook | Apple Podcasts | Spotify | Player.FM | Youtube Join the discussion on our DiscordHelp support Programming Throwdown through our Patreon ★ Support this podcast on Patreon ★
Transcript
Discussion (0)
programming throwdown episode 162 interactive fiction take it away patrick i feel a little
bit bad that we're doing interactive fiction in a non-interactive format.
So we should release this episode as an interactive fiction.
Well, it's interactive if you email us, programmingthrowdown at gmail.com.
Very good.
This is spoken from someone who participates in social media.
All right.
My opening topic is picking game difficulty settings.
Jason and I were warming up in the in the green room
although it's neither green nor room but we were warming up before the podcast we were talking
about video games there's uh some new video games coming out people are really stoked for them i was
asking him if he was into it he's like oh yeah i was like oh man i can't get into them specifically
there's a new bethesda game famously previously makers of Fallout. And I just can't get into Fallout games.
I know I want to.
People tell me I should.
And Jason gave me the revelation of like, you got to set the difficulty setting correctly.
And then I realized, I think I have this thing where I just, you know, you start the game and it gives you your difficulty settings.
And it's like, you know, story mode, easy, normal, whatever.
And I read the subtext. I'm like,
oh, I should go for normal. But I think I just need to realize I'm not a normal gamer.
And I just need to lower the difficulty settings. I guess this was ingrained in me when games didn't
have difficulty settings. You know, when you open Super Mario Bros, there's no like,
what mode would you like to play on you just played on the difficulty setting well yeah because
of that it became a benchmark for your talent it's like have you seen world seven no you haven't you
know only because of the flute yeah that's right the flute but you're right that's the temptation
is to say like it's basically uh you know the game starts by asking you, are you smart or not?
You're kind of like, oh, no.
No, I mean, this is the worst way of looking at it, right?
It's like you come into it and say, well, yeah, I'm not.
I'm a smart guy.
Yeah.
I mean, I should clearly play this game on hard.
But no, that's not the right way of thinking about it.
So on this topic, I learned about a new world briefly
that I've never played. And so I've
never been an esports gamer other than
the three times I tried
logging on to some multiplayer game
and heard people significantly
younger than me coming over the audio channels
complaining about how bad I was and then getting
booted within minutes of joining a server
because I didn't know what to do. And I just
persevered. Which game was this? I don't want fess up um so but i did read an article briefly
which was fascinating it definitely wasn't a real life game because that would okay anyways
diablo 4 there was live streamers in a race to sort of like max their character levels be the
first to like complete the game
and i guess the hardest setting in diablo 4 i'm not super familiar uh is you have permadeath so
if your character dies that's like that's it like it wipes it from the game oh wow and so
if you cannot die even once while leveling up your character getting to the hardest thing
completing the game going through these dungeons whatever right you imagine you have an internet hiccup or something it's devastating so this is what happened so the
person i guess you're teeing it up very nicely uh so something about and i don't this is where
it sort of starts to fall if i didn't care enough to read deeply so i guess like the first 100 people
to like beat it in this certain mode we're going to be like carved into a statue in the headquarters
of blizzard i think makes diablo yeah that's right and so they're going to like engra it in this certain mode, we're going to be like carved into a statue in the headquarters of Blizzard,
I think makes Diablo 4.
Yeah, that's right.
And so they were going to like engrave their names on a statue or whatever.
And one of the things I didn't realize is exactly this.
So the way the sort of like top runner,
the front runner ended up dying is he had a brief internet glitch.
He or she actually don't know.
They had a brief internet glitch.
And so in order to prevent people disconnecting when they
got into a fight above their level they instituted exactly what jason alluded to if you have an
internet hiccup not that your your character they will kill your character not that your character
could die in the game but they will actually just kill it because they think you're trying to cheat
basically like intentionally yes oh no so it's like anti-cheat measure and so this is what
happened the guy had an internet,
the person had an internet hiccup and their, you know, front-running character,
they had spent many hours doing,
anyways, bit the dust.
Oh, man, unbelievable.
You know, hour, hundreds of hours,
dozens of hours.
Yeah, it was brutal.
I mean, why is that any better
than just letting your character stand there
and get hit by the enemies?
I mean, it seems like at least that way you have a chance of coming back.
To reconnect? Yeah, I'm not sure.
I mean, it's also a new game.
Something about the game, maybe disconnecting.
Like there's some technical thing.
But that is what...
Can you imagine you go into work,
and the first thing you see is a giant statue
with 10 usernames from the internet?
But yeah, that's... Oh's oh yeah so the difficulty so you know i i went into it when i was when i was younger you know thinking yeah
the difficulty is really like an iq test type thing and uh i remember i played sim earth on the
super nintendo in like the year like 1989 or something whenever it came
out 91 or something and i remember um they said oh if you can beat this the modern era level in
sim earth on hard then you know you're good enough to be like actually president like literally
president and uh you know i was really, really gullible child.
So I actually believed it. And I spent countless hours, I finally beat it on hard. And I actually
felt like, okay, now I'm ready. You know, yeah, I'm not born in this country. I'm born in Canada,
but that's okay. I have my SIPR high score. And I'm just gonna walk into the White House.
So if Jason ever gets a trip to the
White House, I guess that's the question he's going to ask. So how long did it take you to be?
Oh, yeah. But now, you know, and this could be just a natural cycle. And so maybe this advice
doesn't apply to everybody. But I got to the point now where I say, you know, how can I maximize my fun? And if, you know,
in a lot of these Bethesda games, what I find fun is exploring all the different ways that you can
do things like the ways you can manipulate the physics. And yeah, I have a character that has
a big sword, but also a little sword and a shield and fireballs and everything and a bow
and arrow. And so because of that, the way these Bethesda games work is if the less specialized
you are, the harder the game is because the monsters are all specialized. And as you go
through the game, you're just not leveling any one thing up high enough to take on these monsters and so you know you have to
compensate for that by not playing on really hard difficulty and if and and on the converse it's also
true like you could play on really hard difficulty and if you focus on one thing then you can have a
much easier time but now for me the difficulty has been more like what is going to maximize the fun like i played
this game called terra nil which was a puzzle game i started playing it on normal and i realized like
i got through like 20 of the content in 15 minutes or something oh i realized that okay yeah i need
to play this on a harder difficulty otherwise i'm not gonna get my money's worth but then for all the bethesda games i tried on hard and just got wrecked because i wasn't planning
ahead with my character so so yeah that's my best advice is really just tune the difficulty
the games where you have to pick the difficulty at the beginning that's actually i think becoming
kind of a anti-pattern in game design. It kind
of forces your hand a little bit too early. Yeah, I could believe that. I think there's also
the equivalent, I guess, would be where do you find yourself if you play Minecraft? I guess it's
ubiquitous enough. Like whether you allow yourself to go into creative to kind of give yourself a
little bit of a head start so you can play survival mode enjoyably or are you like no staunchly like i can only use diamond materials
that i actually mined from the bottom of the earth you know like they're like who who's to
say one is right and one is wrong like yep yep i think it's a balance between like uh
enjoying yourself in the moment versus having the satisfaction you know at the end
and so you're kind of trading off one for the other well cool i'm gonna move into my first uh
news article and that is uh i oh this is this is i gotta caveat this this is a supposedly internal Supposedly internal memo at Google to Googlers about them having no AI moat, but neither does open AI.
We've kind of referenced this before, but I'm putting this link in here and it's just one particular analysis of this.
But basically the upshot being here that, you know, a lot of people believe we're at sort of a pivot point for AI and these models.
And there's sort of this race to get them all implemented and be first mover.
Because in many cases, historically with technology, the sort of like first to market, you know, gets a seat at the market share table.
And that's really hard to overcome.
And they sort of call this, you know, a moat.
So if you think about people making cell phones today, those are moats because
the volume at which they do. So we hear about new laptop companies or cell phone companies
every so often attempt to enter the market, but they sell so many less units that all the tooling
costs. So if you buy an Apple product or a Google product, the unboxing experience, just the cost to
make that box that way, you need to buy 100,000 units experience, just the cost to like make that box
that way, you need to buy, you know, 100,000 units, which if you're a startup, that's really
hard to sell that much hardware. And so there, it's not clear yet for AI, if people getting
there first are going to have a moat, and what kind of data may be necessary, and who has that
data. And if you sort of have somebody coming and using your
service and essentially giving you feedback and ratings against how you're doing, is that
first mover advantage going to prove to be a moat? And so this internal article, one,
just an interesting analysis, I think, of how the different moving pieces of AI. So there's the data,
there's the feedback, there's the training and how you do the training.
But there's also having others do optimization on your models for you and in your frameworks and making them run on lower capacity devices.
So if we look at and we've talked about a few of those on the show, but like OpenAI, ChatGPT, but then others are approaching that level with significantly cheaper hardware.
So they kind of had to figure it out,
but now others can replicate it on a single computer
with much more limited data sets.
And so this was sort of an internal memo,
but I'm just using it as that sort of topic
that is interesting to me from an economic standpoint.
I don't know if this will be transformative
in the way people are,
or whether
this is like a sort of false start local maxima whatever kind of thing I don't know yet but no
one knows and it's kind of interesting to sit there and watch as big companies try to figure
it out someone was noticing that as an example bing's deployed some open ai power chatbots but
then over time they've sort of gotten less useful
as people have found like jailbreak escapes for like protections that were put in so that they
wouldn't be racist or wouldn't be discriminatory or wouldn't be, you know, doing things they
wouldn't want to and people are finding like ways around it. So they keep limiting and limiting and
limiting. There, it's this sort of interesting exploration of the spaces, everyone attempts to
figure out what matters, what doesn't matter, what economic incentives
are there or aren't there?
How do we deploy our resources against it?
So it's sort of fascinating in an internal look, potentially, hopefully, if that leak
is true.
But an internal look at how Google is thinking about that problem and orienting itself.
Yeah, that makes sense.
I read that.
I'm not sure if I believe it or not. I do think that, you know, getting customer feedback, you know,
turning that into more signal for the model and all of that, you know, you can build a moat there.
But yeah, I also really curious. I think a lot of people sense just an enormous amount of
uncertainty. I know I personally have been doing less Googling. For example, I recently decided
the whole team is going to go to a baseball game. So we're all going to meet in the same city
because we're all spread out all over the country. We're all going to gather in the same city and go
to a baseball game. And so I wanted to see if we could get a box office and what that costs per person and all that.
So I actually went into Bard and I said, how much does a box office cost for the Pittsburgh Pirates?
And it told me the answer. And this is the kind of thing where even if it hallucinates,
if it hallucinates too high, then I will not do the box office. It's not a big deal. I'll just
get the group tickets. It doesn't really ruin my life, right? If it hallucinates too high then i will not do the box office it's not a big deal i'll just get the group
tickets it doesn't really like ruin my life right if it hallucinates too low then i'll call the
person at the box office and they'll tell me the right answer same thing so it's not like it's
going to ruin my life if it hallucinates but uh you're right but it like saved me from having to
click on a link and then you know all of that like find the right link in the page. And so that's just one example. I've definitely been doing a lot less Googling, I noticed.
That's interesting. So for those like thought experiment questions, like how much does it cost
to rent a private jet? Like I know it's expensive, but like how expensive is it? $10,000? $100,000?
Like how is it billed? You're right. I wonder that if it has enough, ingested enough, it may be hard to Google because most of the
time that you're going to get sponsored links.
And I mean, I've tried before because we were having that idle conversation, which is like,
how much does it cost to, you know, go to the ski town in a private jet?
And it's like, get a quote.
I'm like, I don't want a quote.
I'm not serious.
I know I'm not going to pay for it, but I do want to know how much it is. Like, I'm curious. Well, Bart nailed it. So I ended up
going the group ticket route. And but you know, the same page that sells the group ticket sells
the box offices, of course, they kind of watch you, they're trying to steer you into the box
office. And it is basically right on, like whatever Bart said was the right answer. I think
it was cool, basically around like 200 bucks a person with
some minimum number of people i assume but yeah yeah you actually buy the whole box but there's
different sizes of boxes right but they all come out to about that and and so yeah i mean i think
bard will cannibalize the the whole uh you know not 100 of course maybe not even 50%, but even if it's 10%, the other thing is I feel like a lot
of the people who are moving over to Bard now are the people who will click on the expensive ads.
So that's another problem. So yeah, I do think they have a right to be scared, but I do think
also that there is a moat if it's done correctly. One of the things that I was really interested in kind of adjacent to that
is whether this is going to be a centralizing or decentralizing force. You know, I feel like
recommender systems, which is what, you know, I mostly worked on was a centralizing force. Like
you have more personalization, you know more about people and what they want, and you don't tell anyone that information.
You just keep it in your own company.
And so you could do a better and better and better job finding content for them. Every advertising studio in every city could be using the same ChatGPT, but it's so cheap that it's kind of like it becomes almost like a utility.
Where ChatGPT makes a tiny bit of money, but the people making most of the money are just these, you know, advertising boutiques spread out across the world.
And so it's kind of a decentralized value.
One day we'll look back and then we'll know the answer.
And we'll either have been early in questions or very wrong.
Well, yeah, it can't be any worse than our Bitcoin episode.
Nope, nope, nope, nope, nope.
Next topic.
All right, my next news is stable diffusion QR codes.
This blew my mind.
I really don't quite understand how it works. I thought I
knew how it worked and then I read it and I realized I don't know how it worked. But what
someone did is they made it so that you can have a QR code that is also like really artistically
beautiful. Like it's this like scene of a person standing over a mountain and and the actual bits
of the qr code are almost unrecognizable because they've been surrounded by all this other content
and it just seems to flow seamlessly um so yeah check out these qr codes they're pretty cool uh
you know check out on the show notes get grab a link and take a look at them. It uses something called a control net, which I haven't done research on.
But my guess is you fix the actual pixels that need to be black and white.
You fix those or at least some percent of them.
And then you allow the rest of the image to be in painted.
And it looks really cool.
Yeah.
So I, too, was like a little confused,
but so Jason's right.
It's basically you take like a QR code,
which is very like binary range,
like black and white block pixels, large chunks.
If you add enough error correcting bits into it
and then you basically like ignore that's a QR code
and you paint a painting
that happens to have light and dark splotches in approximately the right area.
And you run it through a low pass filter.
Right.
You like get your phone far enough away.
The idea is that like the light and dark and thresholding that you can get it there.
Now, it seemed the people were saying that only some percentage of them actually end up working.
Like it's not a very controlled things.
You have to kind of experiment a bit.
And then Jason and I were talking as well,
which we forget is sort of,
I guess it's kind of like the hash collision attack
that you could also do the same input
or change parts of the URL that don't matter,
like capitalize letters in the URL,
which are ignored, like HTTP, big H, little t little t t p you know little h big t little t you
know sort of like scramble the inputs to to get slightly different qr codes to try to find one
that maybe works a little bit better um and so kind of an interesting thing but i could that
that's sort of very interesting to me that like imagine a graffiti artist like putting one up on
the side of a building and getting close enough.
And like,
you go to take a picture of it,
you realize this picture,
it didn't even look like a QR code.
It's also a QR code.
Like,
Oh,
I could be super cool.
Oh man,
that is such a good idea.
Yeah.
And you could also take a QR reader library and do a closed loop thing where
you generate the photo,
you run it through maybe 10 QR reader libraries.
Unless all 10 of them find the URL, you generate another one.
Just keep trying.
Keep tweaking.
Really cool.
I think those kinds of like, not like transformative uses, but also like you were kind of saying, like, it's just a matter of time and permutations.
It's like what computers are really good at.
Like, let it just struggle trying. Like a human would give up oh i painted this
painting and it failed your like arbitrary benchmark screw you like give me my money
uh but like a computer will just sit there and try for what you know a year like six months
whatever who cares like until you find a picture you like and that passes your benchmarks i have a
bit of a spoiler if you've ever played this game,
but there's this game called Chrono Trigger
that came out in the 90s.
It's like an RPG game.
And there's this, you go back and forth through time, right?
That's the chrono part of the Chrono Trigger.
And so there's this one part where,
I'm going to get this wrong because it's been so long,
but basically there's this desert. And the desert desert like somehow you feel like you need to like bring life to the desert i
don't remember why but but the way you do it is you have a robot who's like one of the characters
in your party and all the characters have like they're really interesting dynamic characters
they have good dialogue and so what you figure out is to take the robot to the desert in the beginning of time
and leave him there and then go to the end of time.
And he's like still curating the desert, except now it's like a tropical forest or something, right?
And it just blew my mind.
It's like, okay, now I realize like that whole,
as a child, it kind of like hit me then.
They're like, okay, I just went forward in time, but the robot experienced like 10,000 years
of transformation or something.
It's kind of like that.
You can just let a computer go and come back to it
after it's painted 10 million images.
It's kind of a weird thing.
My next topic is, I feel like maybe we've had this before, but it came up again. And
it's a good one. So I'm doing it again. Anyways, learning to make digital music,
which is sort of like beats, I guess. I don't know how to describe electronic music.
Anyways, this is learningmusic.ableton.com, which Ableton is a digital audio workstation, a doc. So this is like one of my
like lingering like I love watching YouTube videos. I tried
every so often terrible at it. But how like teaching the
structure of music, right? So you have like the underlying
beats, you have a melody. And the web page is just really cool
just to like play around. This is awesome. Little snippets of
this DAW workflow in
there so you know a grid pattern where you have four bars and then each row so it kind of looks
like a matrix I guess like the top row is a hi-hat the next row is a clap sound the next row is a
snare drum the next row is a bass drum and you're clicking in the squares and sort of programming
how the the drum track sounds and then you have vertical bars to
represent notes on a music staff i guess and then you know you're programming the melody and it's
sort of teaching you kind of like the components and the structures i will say i did do most of it
and it doesn't really teach you like good music it just teaches you like the structure so if you
had a music in your head you could like learn how
to put it into the computer but i don't have the music in my head so that part's a little bit
missing um but yeah definitely check it out yeah super cool easy way to play around with you know
show kids like it's very i would say like an intuitive learning experience i have the same
thing where like i don't understand how they came up with this pattern and why that sounds good.
But yeah, this is, I love stuff like this.
So if you wanted to make mediocre to bad music
and you're me, this will teach you how to do it.
Nice.
Yeah, no, this is amazing.
You definitely got to play with this.
Yeah, I think this is great for kids too.
Very accessible.
You just click on these boxes
and it will add more, like change the sound.
Cool.
All right. My next topic is GPT for all.
There's probably a temporary name because I know OpenAI has been trying to sue anyone who has GPT in their name.
Oh, really?
But GPT for all is a desktop application. You install it on your desktop and it has a list of open source,
you know, chat engines. And so you pick an engine or pick multiple engines. And then now you have
like a GPT on your desktop and it's all local. Once you download the engine, you don't have to
download anything else. And so I had a bunch of questions.
One thing I noticed with the open source ones is
you have to kind of cheat a little bit.
So instead of just saying, like, you know,
who built the Eiffel Tower?
You actually have to say, question, colon,
who built the Eiffel Tower, new line, answer, colon.
And if you do that, then it knows.
If you don't, then these language models will just go off the rails.
We actually talked about this with Hagai in that episode.
So if you missed the generative AI large language model episode that we just did, definitely
go back and give that one a listen.
But this is really, really cool.
It runs totally on your desktop.
It runs basically real time.
Like it's generating one or two words a second.
And I really enjoyed this.
I think if we could get it on a phone,
that would be even better.
I'm sure they're working on it.
I saw as well,
so there's this tool for gluing together
a lot of these things called Langchain.
Do you know about
this oh no i haven't heard of that okay so somehow i ended up in my like youtube feed and i watched
like a few videos about and i keep getting random like how to make money by generating you know
various like uh print on demand amazon books using ai okay so this lang chain is a way of
doing the stuff that we've been talking about, but
gluing it all together. So you want to take text and run the embedding on it so that you can search
a vector database. So you want to use OpenAI to do the embedding, put in your token and it'll
help you. Now they're actually producing, I guess we would call them WYSIWYG or non-coding ways of
just dragging, connecting the boxes together.
So if you wanted to like run multiple open source generators and how would you combine them?
And so there's little blocks and you're dragging the blocks around.
And so we've talked about before, like if you want to ask a question like against a corpus, how do you ingest that corpus?
So there's like ingester.
So like, oh, I want all hacker
news articles and links and comments to like go into something. So if I'm searching for what's a
good C++ tool to do debugging, right, then like all the hacker news corpus is in there. And so
they have these blocks, and you can kind of just plop them down and connect them. Community is just
moving super, super fast around like how to connect all these up, how to do this hybrid workflow
in a way I've not really seen before,
where like, oh, I might send my tokens up to,
you know, OpenAI's tokenizer and better,
but then locally I may, you know,
do this text parsing and the splitting
and this sort of cloud local hybrid
is really interesting to see evolving.
Yeah, totally.
I know that there's also been a ton of work on trying to get these models to run on all
sorts of different hardware and figuring out what concessions you can make.
I was amazed to see the four-bit quantization.
Whoa.
You only have 16 values for each weight in the neural net after you're done training it.
And that still works really, really well.
So yeah, that blew my mind.
Oh, I see this.
I'm going to check this out later.
I would not have assumed it could go that low.
Yeah.
Yeah, it's wild.
Yeah, I wonder, you know, honestly, I feel like this gets back to the thing we talked about with Hagai,
where there's just not enough data to satisfy these huge models. I almost wonder if maybe they could even do the quantization
during training. It would be even better. All right, time for book of the show. What's your
book of the show, Patrick? Mine is a graphic novel by an author I recommended probably 75% of the time.
But anyways,
Brandon Sanderson and the graphic novel is white sand and in this sort of same universe as a lot of his other works,
but actually interestingly,
the graphic novel.
So I have this,
I read the graphic novel.
It is good,
but I did something which I had not done before,
which is I've talked about before doing audio books.
So audio books have a graphic novel, a bit weird. Yeah, which is I've talked about before doing audio books. So audio
books of a graphic novel a bit weird. Yeah, sure. I get it. But I did a specific which is like a
visual audio book. What is it called? And what it does is instead of just one single narrator,
sort of graphic audio, there we go is the sort of like specific group that did this one. rather than just a single narrator reading or like you know two narrators they have like the sound effects
like oh you know so and so was walking across the sand okay i'm doing terrible that's like the old
radio like radio era yes and so they they kind of did audio books for this novel and i listened to
it with my kids and it was sort of like a little bit more immersive for them to kind of did audio books for this novel and i listened to it with my kids and it was sort of
like a little bit more immersive for them to kind of like hear the you know walking across the
desert and the wind is swirling and you know you hear the sound of the wind i some people probably
find it really annoying but also every character has their own voice actor doing it so not just
someone having a slightly different voice but actually like it's a full cast does the whole
thing it's really cool.
And this is the first time I listened to it.
So the book was good, yes.
But also this particular presentation style was pretty legit.
I liked it.
You know, now that you mention it,
there is no generative AI for sounds yet.
Like you can't type in, you know,
feet crunching on the ground and get an MP3.
But if you could get to it man before
the podcast comes out you had to hurry but you i mean imagine if you did that then you could take
old audio books and add sound effects to them what sound effects would get added to our podcast jason
no i'm snoring a podcast it would uh who knows? It would be maybe we put a laugh track in.
Every time we do our like book of the show, you would get some sort of jingle.
Yeah, that's right.
But no, I think for things that are atmospheric, right?
Like books that have world building and stuff that could be really neat.
That'd be cool.
My book of the show is a total bit of foreshadowing here.
It is an interactive fiction book that I wrote.
And so you can go to generativefiction.com
and you can play this interactive fiction game
and we'll talk about it in the actual show.
But I've always wanted to make one of these.
This is how I got into computers.
My very first computer, my parents actually were in the classified ads.
They had this really nerdy kid and they didn't know what to do with him.
And they were in the classified ads and saw this person was giving away, not giving away, but they were selling a computer.
So they contacted this person.
It was this old gentleman.
He said, sure, you know.
And so he actually came over to our house uh like actually drove to our house with a commodore 64 and he set it all up and he showed me all these games that he had bought over the years and
everything and and this one game had a hardcover manual and i thought that was you know really
interesting and so he was explaining how yeah
you got it's actually a book you read you literally read this 50 70 page hardcover book
and then the last chapter of the book like it's not over it just switches to the video game
and uh so that's how i really got into pretty much everything. And so it's true. You read this book,
you get to like chapter,
whatever it is.
And then it's the end of the chapter.
It's like,
okay,
put in the first disc and the game just picks up where the book left off,
except now you can,
you know,
take actions and stuff.
So it was really magical.
And so,
you know,
I thought I've always wanted to do this.
It ended up being easier in some ways,
harder in other ways,
but I was able to pull off a little generative fiction book of my own.
Very cool.
Yeah.
Go ahead and folks can check it out.
Also, check out the show.
We love creating stuff for our audience.
Love doing the book, the show.
If you want to support the show
and all the work that we do,
you can support us on Patreon.
Go to patreon.com slash programmingthrowdown.
And with that, it's time for
Tool of the Show.
My tool of the show is gatsby.js.
If you go to programmingthrowdown.com,
you'll see it looks totally different.
That's because I rewrote it.
And so I used Gatsby for that.
Gatsby is really, really interesting.
I've been wanting to build something with it
for a long time.
And the way it works is
it has a series of data sources.
And so what it will do is it will automatically generate a GraphQL API for your data sources.
But all of this happens at compile time.
So like when you're when you say, you know, Gatsby build, it does a bunch of stuff.
And at the end, you just get some static HTML and JavaScript.
But what it does is it actually, when you say Gatsby build, it starts up a server, a GraphQL server.
It connects that server to all of your data, which could be JSON files in your computer.
It could be a database.
It could be a content management service,
which is something we should talk about in another show. But it connects to all of these things.
And then it says, OK, I'm ready. Ask me questions about your site. And then it starts going through all of your dot HTML and dot JavaScript files and, you know, getting queries out of those files, executing those queries and then putting the data in.
So, for example, you know, I have a JavaScript file, which is like, you know, parentheses, episode, close parentheses.
There's like parentheses, like show dot episode close parentheses dot js
like that's the name of the file and it's kind of a weird name of a file but gatsby uses the file
name to figure out like what should go there and because it has a parentheses you're telling gatsby
there's going to be actually a lot of these so So I want you to run this query, like show.episode.
And if you get back 100 results, I actually want 100 web pages.
And Gatsby will do all of this for you.
And what you end up with at the end is this static site that you can put on GitHub.
You can host it on S3, Amazon Storage.
It doesn't need a server at that point.
It just needs a way to transfer these files to your browser.
So yeah, I was really impressed by it.
It even has a search.
So you can go to programmingthrowdown.com and you can search for C++ or Java or whatever
you want, and you'll get all the episodes where we talk about these things.
And that entire search is running in your browser, like the search engine,
the entire search database is downloaded to your browser when you do a search.
Really amazing technology.
I was really satisfied by it.
And I would recommend if you're building a site like that,
definitely start with Gatsby.
I was really impressed.
I think Next.js is what
I used to build the Fortuna site and that's because that needs to be a lot more client server
so you know Gatsby is not for everything but if you need just a static website I was super
impressed by what it does very cool my tool of the show is a game continuing my longstanding tradition of
wasting everyone's time. And this game is Pagelin. Pagelin is available on PC, Android and iOS.
I think on iOS, which is how I was playing it, it's free to download and get effectively a demo.
And then if you want to like play more levels, then I believe it was like $9,
which is a little expensive for a game,
but I think the normal default price on Steam is like $20.
So the mobile discount, I guess.
And this game is a play on Pachinko and a roguelike,
which is a crazy combination.
Okay, what is Pachinko? You have to explain this.
Pachinko is a Japanese game where the metal marbles fall in the top and
there's various pegs or like spinners uh so kind of like a pinball machine except you can't push
the pinballs back up so they sort of bounce around and fall down through various obstacles
and so you have some uh your your sort of uh ball bearings that go in through the top
you can control sort of the angle
they come in at
there's sort of like an angle selection
and then there's various types which is the rogue-like element
so they have various stats
and then you have enemies coming at you
and so you need to launch into
blocks that are on the screen
which you will bounce around the screen and off of
and eventually off the bottom of the screen
and each kind of block you hit and the kind of ball you're launching the combination gives you
sort of your attack or a healing ability or whatever and as you progress through sort of
like the roguelike card games you can acquire new i don't remember what they call them stones new
things that you launch that have different stats where you can upgrade them to get better stats uh and then the
enemies are coming at you and it's again like a roguelike so eventually if you're not able to
defeat the enemy before it gets to you they'll kill you and then you lose you're going to start
over but each time you start you have like a little bit more of a head start until you can win
yes it's basically the basically the progression
the sort of standard uh formula there but seeing it applied to that style of game was a new one
for me so i've been playing that and enjoying it that looks awesome um i used to love bust a move
which is okay similar idea similar yeah yeah Same kind of vein. Yeah, actually,
that's the one game that
my wife and I will play together.
She's not a gamer
at all, but she loves like Tetris
and Busta Move and these games.
We're pretty evenly matched.
Pretty evenly matched, yeah.
It's interesting because in that game
one of us will get on a roll
and just like the whole night just be like winning almost every single game, but it's interesting because in that game one of us will get on a roll and just like the whole night
just be like like winning every almost every single game but it's it's uh sometimes she's
on a roll sometimes i'm on a roll it uh it just kind of maybe depends on like whether you're in
the zone or not i guess do you keep track of your like elo rating and like see you know
infinity or divide by zero it doesn't work with only two people i guess yeah um all right on to the topic so patrick
you have never played interactive fiction i oh you confessed my dirty secret
i i have i played the first 30 seconds of hitchhiker's guide to the galaxy
interactive fiction or the first five minutes and got immediately confused and sort of, sort of bombed my way out. frustrating like you kind of so there was a lot of uh a lot of bad design patterns in in a lot of
interactive fiction games i think they've gotten better over the years like anything but but they
definitely suffered from that you know one of the biggest anti-patterns in my opinion from
interactive fiction is in a lot of them they they wanted you to kind of it's hard to generate the
content right because you have to write the room descriptions you have to see you have to think about anticipate all the things a
person could do in that room and like write answers for all of those things so let me let
me kind of walk it back so interactive fiction is basically a text-based game.
You write text to kind of advance the story
or have your agent do things.
And in exchange, you get text feedback.
And so for example, you can type look
and you'll get a description of the room. You can type go north or open the door or pick up the torch and your character will kind of do these things.
And so. As you can imagine, this is extremely open ended, right?
I mean, think about Minecraft. In Minecraft, you can go left, you know, forward, backwards, right.
You have an interact key that does all your
interactions and then you have kill right and so that's basically i mean i know it's there's a lot
of emergent behavior there but but on the surface the the action space is relatively small in this
case you can type anything like the the game is supposed to let you type just about anything.
And even though they try to guide you a certain way,
and there's usually a help screen in the beginning
that kind of gives you a list of suggested actions
and a way to structure your inputs,
it's still like extremely wide surface area.
And so because of that, generating content is really time consuming
and hard on disk space and all of that. And because of that, they would often kill your
character and make you start over. And so I don't know, I never played Hitchhiker's Guide,
but in a lot of these games, you you know take some actions you would try something
there was one game called amnesia and you wake up and the first thing you might want to do is
walk out of the room so you type like open door walk out of the door and someone just comes and
kills you that's like okay yeah that didn't work so you start over again so you realize okay
you know i can't just walk out the door.
I have to jump out the window or whatever.
And you might get further along and then someone kills you.
You have to start over.
I think that the starting over just ruined it for a lot of people.
Like that caused a lot of people not to be playing.
Is that what happened to you, Patrick?
Or was it different?
Yeah, I think that's this thing you're saying it's like maybe i should just like read the strategy guide or something a little bit
more but i try not to to not spoil it but then i don't know it's like what are the verbs that i can
use like you know i'm playing some game like talk no you can't talk there's no one to talk to like
you know okay well i don't understand what i'm supposed to do like there's sort of something expected of me but i'm not sure like what is
expected or uh it's sort of like you were describing minecraft like what is the point
like i'm not clear that there's not a like overarching push for me to do a very specific
thing and so i think i just needed to wrap my brain. I was expecting an experience more like,
you know, Donkey Kong Country or Super Mario.
It's like the game is scrolling left to right.
It's very clear, you know, what I need to do.
And here it was not.
It's, you know, three-dimensional time.
So I guess four-dimensional and like,
it's not clear how I'm supposed to proceed
through the world or what order or,
oh, I'm here and I clearly need a key, but I don't know where the key is so I need to go try every room scouring it for a key
I don't know then I always sort of bail when there's like some grinding aspect yeah yep that
makes sense I think you know colossal caves is one example of that where you pretty much can't
you know make progress in that game without
literally drawing your own map or nowadays downloading it from the internet and i just
wasn't ready to like buy grid paper and start you know mapping out the game by hand so it just i
never made it very far in that game but yeah i think the way the way that these games work always really fascinated me.
As a really young child, I actually, you know, I was pretty sure that there wasn't a human, like there wasn't a human on the other end typing these answers.
But I had no idea how it was possible and what i thought was as a child i thought that somebody just you
know thought about everything anyone could say and just put you know hundreds of thousands of
hours into the game um but what i found out later was that you know there's a lot of natural language
processing and like statistical tricks that people can play that kind of guide you in a certain direction where it feels like you're doing anything you
want but you're really not it's kind of just slowly coercing you to do something specific
i think for that one the one that uh i guess like the modern equivalent is you ever play the game
scribble knots. Oh yeah.
The game is great.
So,
so scribble knots,
a game where you're supposed to like get through a level,
but you can just type in words and sort of like summon whatever you're
looking for.
And so at first it's sort of confusing.
Like you can type in a crazy amount of words,
but once you sort of like start pushing the limits out of it,
it turns out like many of the words we have mapped to sort of like some
foundational object so like jason's saying like natural language processing so how many different
kinds of cats can you name you can probably name whatever 20 different kinds of cats but they're
all going to collapse down to a generic looking cat that while not expressing what you said gets
you close enough for a cartoonish game where you're satisfied with it.
So yeah, you may be able to name 10,000 objects,
but in practice, maybe there's only like,
you know, a few hundred
that the sort of programmer needs to account for,
which is still a large number,
but much better because, you know,
a lot of them are variations on a common theme
or have a mapping to each other
or just a size difference right
you can name 10 kinds of whales but i could make one generic whale and then just make it slightly
different sizes and you'll be satisfied yep yeah exactly i mean a couple other things is is one is
um text is extremely tiny like uh um like maybe the whole dictionary can fit in two photos or something i
mean i'm trying to figure out if i got that right in terms of scale right but let's say how many
characters you think a dictionary is maybe that's a good question is let's say a dictionary is like
800 pages or so and so maybe that's like 16 000 characters and so that's like not even a piece
of an image like a tiny piece of an image right um so while patrick looks it up yeah i mean
you can fit an insane amount of text on a floppy disk you know or a cd right even way more text
you'd ever read and so you know especially you know in the 80s and the
90s it just felt like these worlds were absolutely enormous because they were all in text and so the
the way a lot of these things worked is there is a open source thing called wordNet. WordNet is really fascinating. It's a tree of all the words,
all the nouns on the planet, right? So the root of everything in WordNet is entity,
like literally everything is an entity. And then I think at that point, it's either an abstraction
or an artifact, I think, is the next level.
But basically, like you can put in any word you want, narwhal or tiger or couch or anything.
And it will be a node.
If it's a noun, it will be a node in this tree.
And then there's verb net, which is more or less the same thing for verbs.
And so, you know, as Patrick was saying with Scribblenauts, you know, you might in your description in your text adventure, you might say something like, you know, there's a statue of a whale on the table.
And the programmer who programs it, they'll look at word net and they'll say, OK, a whale is this type of like aquatic animal, which is a fish, which is an animal, which is an entity or whatever. And they might say, okay,
I'm just going to pick animal. So if the person says, pick up the animal or pick up the whale,
or even pick up the lion, it'll pick up the statue of the whale because they made it that generic,
right? And so you might,
the game might tell you there's a statue of a narwhal, but if you say pick up the fish,
it'll still pick it up. And so that trickery there is what makes things feel so open-ended and magical. Like you can say, go north or walk north or move north or travel north.
And without a lot of work, the programmer can make all of those
kind of collapse the same concept so the oxford english dictionary is 350 million characters
so that's uh it's like 350 megabytes right yeah so what is that in terms like mega is a megapixel
the same as a mega i don't really know
how to relate that oh dude we're gonna get trouble but it's 350 megabytes it's basically like 100
photos but word net which we're talking about is only 16 megabytes yeah so because you because you
don't need to keep like how much of the oxford english dictionary is redundant though right like
if you were to compress it so like these words aren't defined in word net they're only defined
in the relationship to each other they're just relationally connected yeah so it could actually
be even more compact and that says i mean i don't know it's looked like it started in the 80s and
it's not been updated in a few years about 10 10 years. But yeah, so it's 16 megabytes. So even if you took a small skim off of just some fraction of them,
you could easily fit this in a sort of game a long time ago.
Yeah, exactly.
And you could also, in post-processing,
you could eliminate all the words that didn't actually show up in your game or something.
Oh, that's true. Yeah.
But yeah, so it's you know, it's a combination
of the fact that text is so cheap and, you know, some of these foundational technologies being
around even in the eighties that, that made text adventures just really magical. I mean,
I remember thinking that I could just say anything and, and just mapped it to something that was at
least directionally, you know, kind of in line with what i with what i wanted these characters to reply with and so i remember just really falling
in love with these with these games and playing a ton of them um yeah i mean there was actually a
lot of adult content not like uh triple x content or anything like all these games have like smoking
and drinking or you would get shot or whatever but uh fortunately my parents would
just let me buy just about anything so so uh so yeah it was uh it was uh pretty wild but it was it
was a ton of fun and uh i highly recommend going back if you were to go back and play
sex adventures now definitely check out the ifdb interactive fiction database um they have kind of like a
best games of all time you know most of these games you can play on the internet for free now
i guess if i had to pick one i would suggest folks play photopia which is uh it's an awesome
game it's very linear which is good for beginners right oh for me yeah let's go yeah for
bad yeah any actually i think in the beginning of the description like at the top of the description
in bold it just tells you exactly what you're supposed to be doing you know at a high level
like get off the island or like explore the ship or something um and so you know it's very linear
um it's linear as from a gameplay perspective,
but you're actually moving around in time.
So the story is very interesting.
It's an extremely touching story.
Like it's very, it has an extremely tragic ending
that will bring you to tears.
It's very heart-wrenching story.
You could beat the whole thing in like three hours,
maybe, maybe even less
so there's uh yeah it's not gonna be a huge time sink they have it on the phone and everything it's
it's like the most popular interactive fiction game so it probably has dedicated apps and everything
all right i'm gonna make it homework to uh to go try this one out so i can try out photopia it is deep and so actually another shameless plug
while we're doing shameless plugs i created a website visual-if.com where i took the game
photopia and i ran it against a really old old old version of dolly this is before back when like i was one of very few people who could
use dolly way before they announced it just through connections i had i i rendered a ton of of content
but i'm actually i need to go back and redo it all with the latest dolly because it would be a
million times better um but you can go there and while you're playing the game it's rendering photos
of the game which is uh i think something that we should be uh trying to do with all of these games
so we talked about like reducing the words or using ontologies to kind of like map and understand
what you're attempting to do but i think the other thing that uh from my reading about a lot of these is sure
you jason was talking about like looking up online with the mazes uh and sort of drawing it out but
i mean since i don't even know how long like maze generation has been a form of what i'll call
procedural generation that a lot of these games could use so now if you go to play the game and
you have rules for you know i need one need one way in, one way out,
I want these kinds of rooms to be done,
then you can write a procedure
for generating these on the fly.
And then every time you play,
it's going to end up being a little bit different.
And I think procedural generation is something
like we already referenced sort of Minecraft and others
that continues to be very, very popular today.
And we'll probably have a whole show to talk about various ways of doing
procedural generation.
But it's interesting to me to think like I,
when I think about writing a maze generator,
which I feel like people get introduced to pretty early when they do computer
science,
you always think about it in the sort of visual representation,
but here you could make a maze with no visual representation. And instead, you're literally
text-based sort of attempting to move through the maze. I guess if you wanted to be arbitrarily
brutal with a difficulty setting, you could make a very complicated maze that the person is
attempting to get through via description. Right. And with text, it doesn't even have to be Euclidean.
Like you could have non-Euclidean spaces.
Trust me, I've seen some painful interactive fiction games where...
Is that a thing?
Like portal, like, you know, folded spaces?
No.
Oh, no.
Yeah.
I mean, like there's some of these games and it's not even,
it's kind of just bad design.
Like for example, you might go east
and then go up and then go down.
And you kind of think that if you went west,
you'd be back where you started.
But just the way the game was going down
actually also moved you west.
So there's just all these like weird non-Euclidean things
to a lot of these games.
Yeah, one-way doors and everything.
So it can get pretty gnarly.
And that's where playtesting...
You can't get away from playtesting, especially with text-based games.
But yeah, I think the procedural...
Actually, Amnesia is a good example where eventually you will find a way to leave your hotel without getting
shot you already told us you already spoiled it yeah yeah spoiler you won't get shot in the first
five minutes but it takes you like for an hour to figure it out like you have to uh there's there's
one point in the game where where yeah you walk out you get shot and it's like okay i figured out how to not get
shot oh but i forgot to put clothes on and they didn't tell me until it's too late and so now i
get arrested for being naked and then the game's over of course it was uh you know a mess as far
as game design is concerned but if you could make it out onto the streets and you're in Manhattan, if you could make it out onto the streets of Manhattan safely, you literally had literally all of Manhattan and like all the
most popular buildings were on the right street and you could go to any street and the streets
connected the same way they do in Manhattan. And they'd put the entire city there on a floppy disk,
which was just absolutely remarkable.
And as you said, I think it was almost all the descriptions
were kind of like pieced together on the fly.
Like there wasn't a fixed description of every intersection.
It was all just composed of a bunch of facts
that they joined together on demand.
I feel like there's always a relationship
between interactive fiction
and then I've never done them,
but tabletop RPGs where like,
you know, the dungeon master
sort of has a description of the dungeon
and you're moving through it,
which is cool.
But the thing that has always fascinated me
is some of them,
it becomes like a cooperative storytelling.
Like we are collaboratively deciding
what and you get like you're kind of saying almost do anything you want like i want to get an
airplane and go to hawaii and just take a vacation for a week okay well what does that do to the
world right and rather than a pre-can you got to do it my way it's there's not even necessarily a
clear destination i've never been able to kind of like play a game like that,
but I always thought it would be really cool
to kind of like get into this storytelling mode
where it's not a protagonist antagonist relationship.
It's just sort of like,
I'm choosing to do something
and then you're riffing off of the thing.
And so it's a very improv style.
And I feel like interactive fiction
attempts to kind of get a part of the way there.
And with some of these tools, we've been talking about like procedural generation and ai it feels like you
could ultimately get to this where like the game could just be whatever you want you just one game
and the game is just you know whatever you want it to be whatever play style you're playing and
maybe there's some still game elements to make it a game but it even maybe loses that distinction a bit because you're just fishing off the coast of you know bermuda for reasons and you have a whole career
as a fisherman now and it becomes a fishing simulator and you know someone else is playing
something completely different yeah you know i also never played tabletop but i've heard just
fantastic stories from friends who have played it the one that comes to
mind someone said that they were they were trapped in like a jungle and they were surrounded by
lions or monsters or something and someone had figured out that he could cast his icicle spell
on a tree and instead of trying to like injure someone with the icicle spell which is what you know the
game is designed around instead they just cast it on a tree hit the tree with an icicle and then put
a bucket under the icicle so that they all could drink so that they could survive in the wilderness
it's like that kind of like you know just human ingenuity it's it's uh i think that's why it
requires a human dungeon master but the maybe again with
all this generative ai maybe there's something that people could do there like that programmers
could do there i feel like we're getting into some some description of a metaverse i feel like
there's gonna there's a there's a there's a side rabbit trail here but uh i think we'll just leave
that one aside for now yeah it's so true yeah that's uh it's, but I think we'll just leave that one aside for now. Yeah, it's so true.
Yeah, that's, it's wild.
But I think, you know, definitely, you know,
take some time to check out IFTB and check out Photopia.
If you want to make an interactive fiction,
there's a bunch of tools to help you do it.
You know, in the case of the Fortuna,
the thing that I talked about in the tool of the show,
I wanted to integrate ChatGPT. And so I had to basically write the parser by hand.
That took a lot of time. I mean, I have a background in AI and all of that. So it was
not too bad, but I wouldn't really recommend that to folks. There are a bunch of amazing tools out there for generating text-based games.
And one of the most common is called Inform. So Inform was, I believe it was the tool that
one of these companies that made a ton of these games used Inform. And then eventually Inform
became a tool that you could buy, and then it became a tool that you could buy and then it became a tool
that you could use for free and then now i think it's even open source but inform is really
interesting you actually create the game the source code of your game is english so your
game source code is like, there is a room.
Here's the description of the room.
There's a torch in the room.
You can pick up the torch.
There's a chest in the room.
The chest is openable.
The chest has its own inventory. Like you literally say literally those words.
And then that's the source code to the game.
And so that by itself, I mean, maybe that deserves a whole show on like, it's like prose
source code.
But that's fascinating.
You know, it's worth trying to make a game and inform just because of the whole experience
there.
Wow, this is crazy.
I'm looking at it now.
And so they're giving an example of how you would describe a room.
So I'm just going to read this one from their page.
East of the garden is the gazebo above is the treehouse a billiards table is in the gazebo on it is a trophy cup
a starting pistol is in the cup in the treehouse is a container called a cardboard box that's crazy
that like yeah it's almost like you're writing how you would play an interactive fiction game to make it interactive fiction game.
Yeah, exactly. Yeah, it's totally mind blowing.
It's the kind of thing where, you know, it is kind of restrictive.
Like, it wasn't clear to me how to, like, integrate that with ChadGBT.
You know, it's not like programming.
But it's really interesting.
It's a great way for people to get started
just building anything on the computer.
If you're looking for something that's more traditional,
there's also TADS, Text Adventure Development System.
That's more of like a traditional programming language
where you kind of assign properties to things.
And there's probably like JSON or YAML.
There's some file that describes the different objects and everything.
But, yeah, there's there's a lot of really good content.
You know, and then as far as designing, designing a good interactive fiction game, I want to recommend Emily Short's blog.
She has a fantastic blog on how to design it, how to keep people motivated.
You know,
what's a good way to start a game like that.
So like amnesia is an example of a bad way to start a game because it's
like,
open the door,
you died,
you know?
So it's,
you need to kind of start with something that's very guided where people,
you know,
you kind of give all the right hints for someone to do x
and they do x and you pat them on the head and say good job just to make sure people could do
the basic concepts and then start moving into trying to assemble intuition so that you if
you're following things right and if you're observant, you could go through the whole game without dying.
And when you die, you find out, okay, I actually should have seen that coming.
And so she and other game designers are really good at explaining how to do that properly.
So yeah, a bunch of great resources.
I highly recommend people give it a shot.
It's really fun. And I think this is an area that's ripe for generative AI.
I mean, I took a crack at it with my thing,
but I think in general, having this sort of generative AI
that can sort of weave itself into the story
is something that is going to profoundly change these text-based games.
I think it might even
bring the bring a second life to them but if not at least it's going to be extremely transformative
to them because you know for example you might say oh the bricks are really mossy when you're
writing the description of some cave and you're just you know filling in content you don't really
want the player to care a lot about the bricks you're just you know filling in content you don't really want the player to care a lot
about the bricks you're just you know continuing to build the atmosphere world building yeah world
building that's right but your player doesn't have your brain right and so they might think
oh there's something to that and they might want to look at the bricks and so you know and if you
say something like oh the bricks aren't here or like there's nothing interesting about that, like a generic answer, then it's kind of gets a little frustrating.
And so here you have the potential to like have an AI describe anything.
And it's really going to change this field in a huge, huge way.
Even, you know, adjacent things like we talked about bethesda games like
imagine skyrim but you could just say anything you want to the npcs and they will answer you
know in an atmospheric way i think there's just something incredibly powerful there
well i learned a lot today about interactive fiction as a genre that i've always heard about
but never done so so i've got my homework to go play.
I've got to open up in a tab already.
So apparently I'm going to cry at the end.
So I'm not sure I'm ready for that, but here we're going to go.
Yeah, I mean, I don't consider myself a particularly sentimental person,
but when it comes to movies or games or something where there's something tragic, I guess I'm a sucker for being sad at tragic things or something.
I don't know exactly how to describe that.
But even if they start playing the song, if a main character is going to get injured or die or something, you just get that song that starts playing.
The most nearest example is when Luke Skywalker, you know, old Luke Skywalker.
Well, I might spoil something important.
Anyways, basically, I'll spoil it.
Old Luke Skywalker sacrifices his life in one of the Star Wars movies.
And I started tearing up like I'm just a sucker for that stuff, I guess.
So you might not cry in Photopia.
That's where I'm going with this I have a very low
barrier to entry for for crying happy stuff cool well hey definitely you know uh folks out there
check out interactive fiction it's a ton of fun it's a great way to get started coding
there's a ton of free games that are super high quality, very accessible. You can play on your phone,
you can play on anything. It's just text. We will catch everyone next time. Thanks again for
supporting the show. Thanks, Patrick, for putting up with me. This is my episode that I really
wanted to get out there. So thanks for indulging me in an interactive fiction episode. And we'll
catch y'all later music by eric barn dollar programming throwdown is distributed under a Creative Commons Attribution Sharealike 2.0 license.
You're free to share, copy, distribute, transmit the work, to remix, adapt the work,
but you must provide an attribution to Patrick and I and sharealike in kind.