Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags
(2 edits)

Wow... so I got my TI-99/4A when I was 7. Your analysis of SuperChase on the TI was almost identical to my own thoughts -- C.Regena produced such awesomely unique mazes that were perfect for this game... sometimes large connected areas joined only by a few threads, and just enough dead ends to keep things challenging. And while I had no idea the original used a in-memory queue, C.Regena's method for monster AI was phenomenal -- not only smelling your scent when you can use to trick it, but also that the monster leaves its own invisible scent to help avoid it from repeating the same paths it already travelling. So funny you mention spaghetti code, since if I recall correctly (I literally have a BASIC file of this stripped apart with analysis), the flag for when the monster is "mad" (FL) and leaving is own trails behind is so messed up that I couldn't determine the precise meaning of the variables (FL can be incremented from 0 to 1, but no further - thus there is code that is never run). This FL flag leaves a trail to avoid the monster from rerouting through parts it already visited, blocking its only exit from a dead-end. To fix, you need to acquire what was the original intent, and essentially re-write the code to fit the intent. I figured the intent was the monster leaves its own scent to avoid travelling a path it was already at, but not to be 100% restrictive, and also disallow repeated 180 degree turns. In any case, such cool, simple AI -- producing amazingly emergent behaviour -- which is how most complex systems arrive (complexity from simple rules). Love it!! p.s. I also noticed the LV level variable never increases!

Cheryl Regena Whitelaw (that should be her full name, check this out!) did do some interesting things with mazes, yeah! In other games she wrote or converted, she used some peculiar pre-made strings that were randomly selected, one for each line of the screen. What came up could be hardly called a maze, but still, they were interesting maps for chasing games!

It's been many months since I last saw the TI-99 listing, but yeah, I still remember that darned FL variable! Yeah, she never allowed FL to have any other value beyond 1, so there was some piece of code that never executed! I made sure of it after I did the "almost 1:1" conversion to XC=BASIC, so that I could add some debug code just to see and understand!
And yes, the whole thing is really messed up; once the Monster starts marking its steps and goes into a dead end, it can't escape... And yeah, the LV variable never increased... MEESSS! :D

Like you said, I tried to catch the original intent, and it seemed to me that she tried to have some "multi-layer" invisible marking of the maze (using the FL variable for that), so that the Monster would try to choose some lesser-walked path first. I tried to do that my way and... it all got messed up as well :)
What I ended up doing (after A LOT of trial and error) was something simple so that the Monster would just mark the whole dead end (while going back on its steps), while all the other passages can be walked on again and again.

Oh, regarding the 180° turns: yep, I remembered this video on Pacman and in particular, the fact that the ghosts never turn around (well, mostly never)! So I really focussed on that, and it paid off!

The Atari version used different graphics for the Player steps according to the direction they went, and I was initially using them. So I could have made the Monster smarter by also reading the direction the Player went, not just the trail per se, but I don't know how much more difficult the game would become.

So, to sum it up: I did what you suggested, I tried to see the original intent and then implementing it my way. It was hard for me, but in the end... it works well enough :)