Text adventure podcast for David Betz
potatohead
Posts: 10,261
http://monsterfeet.com/grue/notes/23
I read something about a text adventure language. Well, I LOVE text adventures, and will play one through from time to time.
Maybe one day it will be possible to author one of these on a P2, augmented with spatial sound, or just sounds. Just a random thought.
This is a great podcast. Very highly recommended for anyone interested in text adventures for any reason. This podcast focuses on INFOCOM games. Every year, there is an Interactive Fiction contest. Result? Tons of pretty great and diverse text adventure games out there, playable on anything running a recent Z machine. Someone, I think it was Eric Ball, wrote one for the Propeller some time back.
I read something about a text adventure language. Well, I LOVE text adventures, and will play one through from time to time.
Maybe one day it will be possible to author one of these on a P2, augmented with spatial sound, or just sounds. Just a random thought.
This is a great podcast. Very highly recommended for anyone interested in text adventures for any reason. This podcast focuses on INFOCOM games. Every year, there is an Interactive Fiction contest. Result? Tons of pretty great and diverse text adventure games out there, playable on anything running a recent Z machine. Someone, I think it was Eric Ball, wrote one for the Propeller some time back.
Comments
The fun thing about that podcast is the spoiler fence. You can listen, and when they are going to compromise the game, they warn you. At that point, you could play the game, then return to the show to compare experiences. Well produced, catchy, and fun.
I read the Wikipedia article on Z-machine and learned that it is a VM that Infocom used for its text-adventure games, to facilitate porting games to new platforms.
This would be useful for running old Infocom games on modern computers. I don't know why it would be useful for writing new games.
I would have assumed that a text-adventure game would be written on a desktop-computer so you would get a keyboard and display. A smart-phone would likely also work. Use a modern programming language.
If it is written on a micro-controller, you would have to connect the board to a desktop-computer with a serial cable. I don't get the point of using a micro-controller rather than just use the desktop-computer itself.
I have in mind to write a text-adventure game. It would be like a Hammurabi game though. The idea is that the player gets some foreign-aid money and is charged with the task of improving a fictional African country.
You can do things like drill wells to irrigate fields (turn desert into farm land!), and buy medicine to cure diseases (prevent children from dying!). There are almost no options offered that harm the people in any way, so it should be easy to succeed.
There are no foreign enemies, so if war develops it would necessarily be internecine. You do have several tribes (to avoid being accused of racism, I will distinguish them by the kind of hat they prefer, rather than skin color).
You win the game if the people prosper. You lose the game if your decisions result in famine, plague and war (the Horsemen of the Apocalypse) --- there is a coup and you get hung upside-down in the city park like Mussolini (a fate worse than being eaten by a Grue).
Are there any games like this nowadays? Is anybody anywhere interested in this kind of thing? If I wrote a game like this, how would I go about finding people who would play it?
I could write a text-adventure game under Windows --- ye olde C64 or Apple-IIc also, but I don't know of any reason why I would do that --- possibly under Linux or the Android smart-phone, but there would be a learning curve for me.
I've never played an Infocom game, but I don't think they are anything like what I have in mind. I think they involve getting lost in a "maze of twisty little passages, all alike." Only once in my life have I played a game like this, and I had to cheat by looking at the source-code (it was line-number BASIC on the Vic-20) --- I didn't know what commands were available, and I got tired of guessing.
At age 18 it didn't take long for my attention-span to wane --- that is true for me now too though, so maybe age isn't the issue.
Also, if it is surrounded by sea then I can explain that people never immigrate in, and nobody can leave.
There are three tribes: those who wear cowboy hats, those who wear fedoras, and those who wear baseball caps --- no mention of race, religion, language, or any other sensitive subject.
In case anybody hasn't figured it out yet, the game is almost impossible to win.
Population grows exponentially.
Food production grows linearly --- every time you drill a well to turn some desert into farm land, the increase in food production is the same --- and, of course, there is a limited amount of flat land on an island continent (you can terrace the hills, but that is expensive, and it just delays the day when you run out of land completely).
Every time that you buy a crate of medicine, the number of children you save from death is the same --- linear again! --- and if those children reach child-bearing age, the population grows exponentially.
Even if you are given a huge foreign-aid allotment, the day will come when you don't have enough money to support the population. Despite all of your good intentions, you will have failed. Everybody will hate you! Also, they will hate the other tribes, whom they believe are more deserving of death than their own tribe which is innocent.
I got this idea from the book: "The Logic of Failure" (Dietrich Dorner). Excellent book! It discusses why people fail, even though they are reasonably intelligent and know their subject reasonably well.
The first chapter is on the Chernobyl disaster. The author asks: if blowing up a nuclear power-plant doesn't count as a failure, what would? You might be surprised at what the book describes as the cause of the disaster --- it is a mistake that a lot of people make, in a lot of varied circumstances --- another example of good intentions causing more harm than good.
I'm interested in them as micro-controllers --- the idea with the cogs is intriguing --- it may be easier to analyze than a program with a lot of IRQs.
I don't know what this has to do with desktop-computers though. The P1 competes against processors such as that C8051 that somebody on this forum recently mentioned, which is also intriguing, but which I also wouldn't consider for a text-adventure game.
It might be possible to build a desktop-computer based on the P2 --- it is a 32-bit processor, so with quite a lot of work you would get something roughly comparable to the Raspberry Pi --- but it seems like you would need a better reason to do this than to run a text-adventure game.
On a related matter, I'm not at all clear on what the Raspberry Pi (and Beagle) are used for --- why would anybody want Linux in a micro-controller? --- I suppose they want to use Python rather than C or Forth, but it seems like a bad idea to me.
Why run a text adventure on P1 or P2?
A few reasons:
One, it fits, if one works for it.
Two, it's fun.
Three, to understand how to use the P1 / P2 better.
Four, there is an appeal to simple systems. No OS. Low complexity.
Five, custom hardware. Look at that spiffy 4 screen game system being discussed here. That's a genuinely cool, and in my opinion, innovative thing. I know I had not considered a table top setup like that. I kind of want to make one, put a P2 in it, and explore some ideas.
Which brings me to six, exploring ideas, learning. On P1 / P2, one can go from first principles and do so in a lean, mean, fairly potent environment. In fact, every single bit of code running can be well understood, and or authored by one person, and that can happen on a time frame that makes great sense.
The overall mindset in this forum is one where people want to build, do things their way, explore ideas, gain knowledge, and have a lot of fun.
It is definitely atypical. Totally agree with you on that point.
But, that's why I am here too. A whole lot of us think highly of the P1 chip. In my own personal experience, it was the absolute fastest to get up and running on, and I had been away from this stuff for some 20 years prior to ordering a P1. (took one look at the data sheet, realized someone had made a concurrent, multiprocessor as micro-controller, and I was IN. No question. Gimme one yesterday.)
One of the things I really like, because I do tend to have to step away from this stuff for periods of time, due to other professional concerns, is the fairly static nature of it all.
Most other devices I've used get a stream of updates. One has to chase a running target, and we see it everywhere. But, the first code I ever wrote on P1 still works, the tools still work, everything, even most of the objects I like to use, still work just as they ever did. So, I can get up and running, and then those skills are good for very long periods of time. I can jump into a project, do it, get the results, and no worries beyond that.
The P1, and the C8051 are very different designs. The C8051 is a single processor, has interrupts, a small amount of read / write memory, and fairly large program and data memory regions. It's 8 bit.
The P1 is a concurrent multi-processor, has 8 cores, is 32 bit, does not really differentiate between data and program memories, other than the COG memory or register space...
One could go on from there. And I am not making a "better than" type argument. Doing that makes no sense, because the use cases determine that.
Re: Desktop computer on P2
Well, a few of us are going to make bench computer type systems with it. Here's the thing on that:
The intent won't be a general purpose "desktop" as it's known today. Think older, simpler type systems, only with more relevant speed, couple that with robust I/O, math, and the ability to present equally robust user interfaces and display to the user, and it's a lot closer.
Some may feature an OS. But, that is likely to be a simple DOS, or maybe something a bit more robust, with a few more features.
As the chip stands right now, it's a little system. Because it is a multi-processor, it's pretty easy to offer a user the basics they need to interact with it, and still have resources left over to do useful things.
All of us will have to stick around to see how it all plays out. And that's the point! It's made differently, and that is deliberate. There has been about a 12 year conversation on that and why.
Easier now though. Soon, Rev A silicon will be out there. Rev B, and ideally the production revision for the longer haul. Rather than trudge through all that, it's going to be just like P1 was.
People will see the datasheet, or something one of us did, and buy one. That's basically how most of us got into the P1, and for the vast majority, doing that paid off nicely. Did for me.
I agree that they have different designs and programming them would have a different feel to it --- there may be some applications that are more suited to one or the other, although I don't know enough about either of them to comment on their strong points or weak points --- I would expect the P1 to be easier to program than the C8051 (with the exception of the 65c02, 8-bit assembly-language is not much fun).
I can see the utility of a laboratory or bench computer. This would have a lot of I/O ports exposed for connecting to things, and would have a simple OS that allows precise timing of events.
I'm dubious though, if this would be better than a typical micro-controller connected to a laptop computer by USB.
It seems expensive to build a computer with a display, keyboard and mass-storage --- especially when laptop computers are only $300 at WalMart.
Another point is that you don't necessarily want to leave a computer in the field 24/7 because that may be a dirty environment, plus there is the issue of it getting stolen --- with a laptop you only have it there when you are there using it, but then you take it away with you.
Another point is that a micro-controller can be battery powered, but a computer can't generally be left running 24/7.
Another point is that if you are collecting data, such as through an ADC, you will presumably have to move it over to a laptop computer eventually anyway. The R or Python languages are useful for analyzing data --- you are not going to have software like this on a P2-based computer.
For the most part, my interest in the P1 or P2 would just be as micro-controller similar to an 8051 board --- presumably more powerful and easier to program --- I wouldn't really think of building a computer as being a good idea though.
BTW: Nobody answered my question:
Oh, I don't know. It's fun for me. I know that chip very well.
Yes!
https://ifcomp.org/
A good start, if you are curious, is to pick a year, then go for the top voted games. There are literally hundreds.
The IF community is small, but passionate.
If you wrote it for the Z machines out there, people definitely will play. Other options, maybe. I intend to find that out at some point myself.
https://www.facebook.com/groups/305246623169583/?ref=br_rs
I see a lot of similarity between the 65c02 and the P1 or P2. The 65c02 had the zero-page which could be used as pseudo-registers --- including pointers to data, using the (zp) or (zp),Y addressing-modes.
The P1 and P2 have pseudo-registers also (512 for the P2), which is very similar. On an FPGA, it is presumably pretty fast as the RAM used for the pseudo-registers will be internal to the chip. On the 65c02 it was somewhat slow as all RAM was external to the chip --- it was still reasonably fast though, as the 1 Mhz. C64 routinely out-performed the 4.77 Mhz. IBM-PC.
I've had the idea for the game in mind for a while, but I thought about it more last night. I was thinking that I would use a modern language --- possibly Rust, which I have been meaning to learn --- or possibly GCC (I already know ANSI-C, but haven't used GCC in particular).
If targeting the Z-Machine would get people interested though, then maybe I should go with that. Does that run on smart-phones?
I suppose if I were to support Android, then Java or Python would be good choices, but I don't have much interest in learning either of those (ugh!).
I think the game would be interesting and fun.
Also, the game would help to get people away from an arrogant idea of how foreign-aid works.
Most people say: "The X people are stupid and lazy, and unable to support themselves, so Americans out of the goodness of our hearts have to provide them with foreign-aid." (replace X with some nationality or race that is generally loathed).
This isn't really true though. Foreign-aid actually ruins a country's economy --- foreign-aid is the problem, not the solution --- this fact will become obvious in the game when the player strongly motivated by good intentions fails anyway.
I'm reminded of this quote from the Valis book: "It had been Fat’s delusion for years that he could help people."
Dig around on the .org I linked. All you need and more can be found there.
This is one of the reasons we really like Propellers. Those statements are not true. The Propeller has 8 concurrent, multi-processing cores. It's capable of a video display, keyboard, mouse, some extras, and the Z machine. One can run a nice environment, with no other hassles.
However...
https://play.google.com/store/apps/details?id=com.boxofrats.zmpp4droid&hl=en_US
There are others. Running on a phone is not a big deal these days.
I played "Adventure" because it was included along with something else that my brother ordered, back in the days of the DOS running PC, that was all of the late 1980s. I also play it because my Linux distribution includes it along with the other expected BSD style things.
Dungeon? I might have come across it when visiting a (sadly now closed) computer store in the White Plains New York area many years ago.
As for Infocomm, oddly enough I've come across a collection of their games that my brother assembled with everything else that family members used for their computer also back in the day.
When did they become a part of our collective past? I ask because I fellow I know who's deeply embedded in the retrocomputting thing has a habit of packing a retelling of Zork into simple things from the same period.
----
And this message is being sponsored by Industrial Automation, making fine droids, and allowing them to make themselves since before the Clone Wars.
For a time, I had Frotz running on one of those HP palmtops running Windows CE. Crappy edition, the kids called it. Was always in the car. They would fire one up, oldest would read and type while the others chimed in with what to do.
My Model 100 is stock, 32K RAM. Maybe 24K. I will have to go look. These games won't fit. Dang!
Why?
___
And this is being sponsored by the Yetis for safe mountains for the Snow Leopards.