Reverse engineering an Amiga game is an exercise in peeling back layers. For my ongoing project documenting Wicked, my recent goal was to find the main gameplay loop and map out the execution order of its core systems (player movement, spore growth, guardian AI, rendering). What started as a straightforward search for a standard game... Continue Reading →
Sound effects event system
Previously, I thought a way to uncover what was happening in the code in Wicked was to look at the sound effects and tie the sounds to when they were triggered. I was left looking at where the value of D0 was set, and this led me into discovering the event signalling mechanism in Wicked.... Continue Reading →
Manhattan Distance
The way growth spreads in Wicked has always fascinated me. Ever since I read that the four types of growth have different ‘intelligences’ in the player's guides, I’ve wanted to figure out exactly how it works. Now, after digging into the game's code, I’ve tracked down the growth routine, and with some help from Aira... Continue Reading →
Using sound effects to identify routines
My next idea for identifying blocks of code comes from the idea that when an event happens in the game, a sound effect is usually played - for example, when shooting, there is a "shooting" sound effect. If I can figure out the addresses of the sound effects, it might be a clue as to... Continue Reading →
Analysing the Growth Mechanic: Table structures
Back when I was analysing the screen, I was using the STeem Emulator and regularly dumping memory from 0x25500 and 0x260B8, analysing the data in a spreadsheet to learn how the gameboard was represented. Part of the game is to pick up new good spores and drop them on good growth to create a new good... Continue Reading →
