Now that the Jewel release of Total Eclipse II has been published on CSDB I can comment on a few interesting things that I’ve come across during the work I did on this title.
First thing first, the Freescape is very much a nicely designed game engine/framework and Total Eclipse II uses most of its features, especially for animating the environment. It provides a script interpreter that processes bytecode attached to objects, areas, and those that apply globally. For my work on trainers I actually had to modify a few of these :)
One of the nice touches I worked at was a patch for the area named “THEBES-D C12″. Normally when the player stumbles across a step on the floor, some water drops from the jar, as advised by the message “WATER SPILT” in the game dashboard. When that happens, a stain appears on the floor (dark red) that represents the water. I liked this touch of the coders so much that when I wrote my trainer for unlimited water I decided to disable both the display of the “WATER SPILT” message on the dashboard and the generation of the stain on the floor, among the other things. I like to go the extra mile with a trainer :)
Another nice touch was to decode the area with invisible walls, “THEBES-B C12″, and add a trainer to show the invisible walls as it can be quite frustrating to navigate through an invisible maze in a 3D world where you have to crawl at one point and carefully step up a number of times without falling before you can get across. Not only that, I also produced a few renderings of such area, so that if players don’t want to spoil the challenge, they can at least peek at the renderings for a little bit of help:
THEBES-B rendering 1
THEBES-B rendering 2
THEBES-B rendering 3
The ones in blue are the entrance/exit and the one in yellow is the gold bar, provided for orientation.
As you can certainly appreciate in the last rendering, when entering the maze from the door at the opposite side of where the gold bar is (i.e. during the journey back through the maze), it is enough to just go all the way left from the door and take advantage of the blocks stacked in the shape of a staircase. The game itself gives us a hint about this: the message “GO LEFT THEBES-B” is displayed whenever the player crosses the maze for the first time and steps into “THEBES-A C12″. Nice touch, eh?
Overall I had great fun reverse engineering the 3D engine and the bytecode interpreter at $6429. Here’s a few snippets from the interpreter itself:
B6477 LDA T6422
CMP #$01 ; Opcode 1: Add 3-byte value to score/money
B64D2 CMP #$02 ; Opcode 2: Add signed byte value to water level
And so on and so forth!
I guess it’s enough for this update :)