Log In  


Cart #advent1976-0 | 2022-12-08 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
12

The original Will Crowther Colossal Cave Adventure game from 1976. FORTRAN source code converted to Lua using custom compiler w/ historically accurate keyboard input/screen display look-and-feel.

See GitHub repo for source code and credits: https://github.com/benstopics/cca-pico8

Changelog

[1.0.1] - 2022-10-12

Fixed

  • Out-of-range index bug reported by @Verb
12


Hi @benstopics.

This is completely epic, to be able to play this classic adventure game in regular Pico-8 !

Gold star for your very hard work and diligence !


Ran into a runtime error going south from the swiss cheese room.


@dw817 Thank you for the support! Also FYI I did credit you for your big integer code in the GitHub, thanks again for sharing that.

@Verb I can't believe someone actually tried to play it all the way through lol. That being said, I'm raising my own standards for this project and working on writing some automated tests to walk through the entire game and patch any issues. Will let you know how it goes.


Hi @benstopics.

Well thank you for that !

For those curious, I wrote a cart sometime back to allow easy access to long integer numbers range (-2147483648 to 2147483647) found HERE:

https://www.lexaloffle.com/bbs/?tid=45549

Once again superb work on your text game. If you're stumped on what to work now there is always Scott Adams adventures. I grew up with those and they are more than charming.

https://en.wikipedia.org/wiki/Scott_Adams_(game_designer)
https://en.wikipedia.org/wiki/Adventureland_(video_game)

https://www.ifiction.org/games/play.php?cat=44&game=51&mode=html
(Click in the white area, not the black to type)


@dw817 That looks interesting! I didn't really play many text adventure games as a kid so I kinda missed all that. I will definitely take a look.

@Verb I haven't been able to reproduce the bug... maybe a big ask but would you be able to provide the exact path you took to get there?


How do you exit this when playing from splore? esc doesn't work anymore


2

Hi @BoxWithAHat:

To force a pause hold down the "P" key until the menu appears.


1

@benstopics
I was just roughly following this strategywiki walkthrough. Here's the commands used to get the error (played through the browser):


hi
no
e
get lamp
light lamp
plugh
s
d
w
d
w
w
s


1

@Verb Thank you, fixed!

Edit: Also, I checked that walkthrough website and it may or may not allow you to complete the game seamlessly... I don't know how far back this version is, but it's the only source code I could find online and it doesn't have all features. For example, plover isn't a command, wave rod doesn't make the crystal bridge appear, etc. Wish I could find the complete 350pt source code...


@benstopics File "adv350-pdp10" in https://ifarchive.org/if-archive/games/source/ should be that source you're looking for, I think.

There's a few FORTRAN files in that directory worth looking into.


1

@ChristopherD wow, there is so much treasure in that link. I do see the original Crowther source which I am using now and I also see the 350pt one which I was incorrect, the 350pt version is the collab with Don Woods. My main concern with that one is that the Fortran source code is quite a bit longer. I’m afraid I might run out of tokens with my compiler since it isn’t very efficient. Only one way to find out…


@benstopics Yes, the primary stumbling block with bringing a full text adventure into a standalone Pico-8 executable is the platform's cartridge limitations. If the token limit doesn't get you, the volume of text (combined with the engine code) pushes many games past the 64K cartridge limit. It's why I had to opt for a "load the data separately" approach for my z-machine implementation "Status Line." We only get 64K for storage, but 2MB for RAM. The original Zork 1 (for example) had 160K for storage and only 32K RAM; kind of the opposite problem. The upcoming Picotron is much more "computer" oriented in its approach, and current limitations are apparently going to be greatly loosened.

I'd like to take a moment to express my appreciation for the FORTRAN-to-Lua compiler you've made. That feels like the real accomplishment of this project and can bring other code of historical significance to the Pico-8.


I would like to offer a suggestion, @benstopics.

You could always create half the game of one that will not fit. Get a password from it. Then auto-run a 2nd Pico-8 cart that asks for the password, continue from there.

We had to do this back in the day.


@ChristopherD I did not know about Picotron, that looks like a very exciting project! And thank you for the acknowledgment of the compiler work, that means a lot since I do think that is what I’m most proud of with this project.

@dw817 That’s an interesting idea I will have to look into how multiple cartridges work, thanks for the idea!


Hi @benstopics. I'm glad you like the idea !

You could have one load another yet it might be simpler just to have the 2nd one, completely separate code, require entry of a typed password from the first.

That's how I would do it.

I know when I played Haunted House back on the TRS-80 once you started to climb the rope from the 1st level to the 2nd level, you had to start the tape up again to load the 2nd part.

When the 2nd part started to run it said, "That was a hard climb. I had to leave behind everything I was carrying."

Showing me that it was indeed a completely separate program that had no idea what you were carrying on your inventory in the first.



[Please log in to post a comment]