Why, oh why, did I work on this?


No, it wasn't because of the Roberta Williams' 3D/VR remake 😝

I stumbled upon the Original (I'll be calling "Original" the program I did the porting from) a little more than a year ago, precisely on the 13th of June, 2022. The "spark" that made me want to mark that as my next project (after Superchase Remix) was its large use of 2D arrays that virtually mimicked User-Defined Types, which a lot of languages use (including XC=BASIC 3). "This will be a nice way to test them", I said to myself.

Then a lot of time has passed: first, I had to finish Superchase. Then I tried to join a Racing Car Game Jam but then I quit the project (I wasn't going anywhere with that). Then the 3D remake came out, and that turned my motivation off for a couple of months. Finally, I started working on it; I thought about quitting so many times, but then my mind was trapped in it so I had to finish just for my mental sanity.

Tons of things could be said about the development of this program. What I'll do is fire up the game and "improvise" about what to write down here as I play it.

The Corridor/Passageway Frame

The Original kept a "frame" around the random map: all around the rooms there was this corridor which you could walk freely (also with no objects to be found).
Since that took up a significant amount of RAM, I wanted to see if the game could still be played and solved if I removed the frame, having a "wrap-around" map instead.

I didn't have the automap feature done yet, the game at the time looked like this:


 so to do that I resorted to the old-fashioned way: drawing a map on paper.

reMarkable Map

(Actually, I used my reMarkable, so that it was easy to cleanly update the map as I went along).

The Lamp vs the Live Map

In the Original, the object you would always find at the Entrance Chamber was the Lamp. If you wanted to play the game, you had to pick it up and keep it at all times. If you didn't pick it up, or if you dropped it later, you couldn't go anywhere: "It is pitch dark, you are likely to fall into a pit" (just like the Crowther & Woods' game). So, in the end, you had to sacrifice one Inventory slot just to play. Something I was not excited about.
On the other hand, the Original offered an "auto-drawn map", which you could look at, anytime you wanted, by saying "MAP". You always had that with you, and took no Inventory space. That I was excited about.

What the Original kept me reminding of was an old LucasArts game almost forgotten today: Indiana Jones and his Desktop Adventures. So during my "motivation off" months I played with it.
In that game, you can use a self-updating Map, which you don't have at the beginning, though. You always end up finding it one location adjacent to the one you start the game in.

So I ended up "borrowing" that aspect. And, in the process, I "switched" around the two objects: the Lamp, you always have with you (outside the Inventory). The "Live Map" (I hoped that was proper English, as I had the replace the L-Object with it!) you find and pick up after a few moves while wandering around the Cave.
And you can choose to play without it, having one more free slot in your Inventory! Voilà.

The Confused Bear (and its sex-change phenomenon)

When you first encounter the Bear, it's described as being "ferocious", quite angry at you. But, if you tried (in the Original) to Give the Bear something not edible, the game would respond with "The bear is confused; she only wants to be your friend". Huh? Talk about confusion, all right.

That always bothered me, during my tests. So I ended up spending some time to improve my "data compiler" so that the Bear at first "growls at you", and when you manage to make her become "rather sweet", only then it's the time that "she only wants to be your friend".

Speaking of "she": the Bear in the Crowther & Woods' game was definitely male. Somehow, in the Original, the Bear became a "she" in the "confused bear" message. So I also spent some time to make that consistent in my version.
I had to make one exception, though: if you try to Fight the Bear, the answer in the Original was "With what? Your bare hands? Against his bear hands??". I wanted it to become "her bear hands" but it doesn't sound good when you say it out loud. So I went to the neutral pronoun "its".

Restored Content

I pride myself on having "resurrected" two pieces of content that the Original had but didn't show.

The first is a sort of an "easter egg" that you see if you try to go west once in the "Dead end crawl" location. If you can't go that way, my version will answer "Don't go west, young man. Don't go west."
That seems to be a mix of "Don't go west", the hint the C&W game gave you when you were in Witt's End, and "Go west, young man", an old phrase regarding the American expansion.
The Original doesn't do that because it ignores any "custom" messages when it comes to movement actions.

The second concerns the Golden Eggs. There was a specific message when you pick them up, "The nest that was holding the golden eggs vanishes". That was commented out. I restored that.
My guess on why it was commented out is because the Original would print that every time you picked up the Eggs. So the quickest solution was to remove the message. I'm happy it was still there (of course I made it so you only see the message once).

Inaccessible Rooms

You make choices and you live with them. I wanted random maps? I also got inaccessible rooms, of course.


I've actually spent some time simulating that on "paper" (again, my reMarkable):

So, if you arrive at 1, and the room you pick happens to have the North direction blocked, then you arrive at 3, and the room you're in just so happens to have the West direction blocked, then you arrive at 5, and - look at that! - you can't go South, then you arrive at 7 and - ooh là là! - the East direction is not passable, you've managed to cut off a room!

I wanted to really make sure: I "hacked" the Original so that it would immediately reveal the whole Map right from the start, to see if it would do the same, and it actually does.

Now, a few of those "red-framed" rooms you'll be able to enter, at some point. But it can happen that one or two of those rooms will be actually impenetrable.

believe to have worked around that by making the last 4 rooms to be visited to always be "flat empty cavern" rooms with no objects in them. That way, you should never end up with an unsolvable adventure. But, I'm open to surprises...

By the way: in the Original, the objects are always placed on the left side on the map, always lined up like that (the exception being the Lamp, which is always moved to the Entrance Chamber); the only thing that changes is the vertical order. That's a limitation of that program, as it doesn't use a separate "deck of cards" for the objects, like I do in my version.

The Water Bottle That Refills Itself

This is a joke I inadvertently ended up putting into the game.

The problem I had with the Water Bottle is that - in the Original - you can "Use Water Bottle" anywhere, which will make you take a sip of water. Then, the "full water bottle" will become an "almost full water bottle". After that, once you "Use Water Bottle" specifically on the Plant, you'll have an "empty water bottle".
Ok.

But. What if you do all that in reverse?
The Water Bottle doesn't disappear once you've used it on the Plant. What if you go in another room and "Use Water Bottle" after you've grown the Plant? You'll be able to take a sip from an empty bottle, and not only that: the Bottle will be "almost full" then!

The way I solved that "conundrum" is this: I made it so if you Use the Bottle outside of the Plant room, you'll have an "half-empty" Bottle. If you Use it in the Plant room, then you'll have an "half-full" Bottle. And you can keep going back and forth with that, depending on where you use the Bottle again and again.

Maybe you won't find that funny. I did laugh when I tested it, so there :)

Files

advent101.prg 38 kB
Jun 24, 2023

Get Advent 101

Leave a comment

Log in with itch.io to leave a comment.