Dec 8, 2024

What were they thinking with trapdoor placement in CV3?

I didn't delve into CV3u, but I suspect, based on what I see in ReVamp, that it's the same as CV3j. Terrain elements are lumped together in various batches. Each room either points to a batch, or has a value of #00 if no terrain elements are in the room. All terrain elements have an x-coordinate and y-coordinate. 

Oddly, the trapdoors also have positional pointers. That is, in addition to the coordinates telling the program where to spawn them in, there is an array of identical coordinates! So not only does the program place the trapdoor in the room at the coordinates specified in the room data, it repositions it by 0 pixels via the trapdoor's data. 

I would suspect this meant trapdoors were supposed to move at one point in development. However, even teeter-totters have wasted data. Teeter-totters have a similar positional pointer, but instead of specifying the coordinates, it specifies the rotation. There's one array entry for each teeter-totter in the game. The problem is, there are only two positions - #20 or #60. They could have easily limited it to just two values. Here, I suspect at one point they wanted teeter-totters to start mid-rotation, but after they finished coding them, they decided on just tilting to the extreme.

No comments:

Post a Comment

©TheouAegis Productions™. Powered by Blogger.