Skilled player (1738)
Joined: 9/17/2009
Posts: 4980
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
This game has 13 stages; 1 Intro stage + 4 Worlds each with 3 stages. While it has a percent counter, along with items to collect, for some reason, said counter counts towards stage completion rather than items collected. Lua code for positions and other things:
Language: lua

memory.usememorydomain("Combined WRAM") --EWRAM local player_ptr = 0x047E18 local speed_ptr = 0x047E20 --u32_le local speedx = 0x040B7C --u32_le local speedy = 0x040B80 --u32_le local crush_timer = 0x040800 --Addresses; all IWRAM local player_id = 0x0BB6 --Transform local atoms = 0x1BA6 --Number of atoms collected local health = 0x0BAC function update(address) local pointer = memory.read_u32_le(address) if pointer > 0x2000000 and pointer < 0x3000000 then return pointer-0x2000000 --Minus (0x2000000) since BizHawk memory domains end return nil end --For display things relevant everywhere else function display_position_info(last_valid_address) local l_playerx = 0 local l_playery = 0 local l_atoms = memory.readbyte(atoms,"IWRAM") local l_player_id = memory.readbyte(player_id,"IWRAM") local l_player_hp = memory.readbyte(health,"IWRAM") local l_speedx = memory.read_s32_le(speedx) local l_speedy = memory.read_s32_le(speedy) local ptr = update(player_ptr) if ptr ~= nill then l_playerx = memory.read_u32_le(ptr+0x78) l_playery = memory.read_u32_le(ptr+0x7C) gui.drawText(0,30,"X"..string.format('%.6f',l_playerx/65536.0).." Y"..string.format('%.6f',l_playery/65536.0).."("..l_player_id..")",null,null,10,null,null) end gui.drawText(0,40,"Speedx: "..l_speedx.." Y:"..l_speedy,null,null,10,null,null) gui.drawText(0,50,"Items"..l_atoms,null,null,10,null,null) gui.drawText(0,60,"HP"..l_player_hp,null,null,10,null,null) end local last_ptr = nil --Since transitioning areas glitch ptr address for some reason while true do display_position_info() emu.frameadvance() end
Tricks include: * Immediately stop: Transforming sets both your vertical and horizontal speed to 0. So if a spring makes you overjump, sometimes, it's faster to transform to another character * Quick turning: There are multiple ways to quickly turn outside transforming. ** Landing: Right before you land, release the direction input. Upon landing, this makes you do the "land" animation while also setting speed to 0. You cannot enter doors during that animation however. ** Letting go: Outside icy floors, letting go of both left/right directions makes your speed drop by 1/2. The initial movement makes your speed +/- 256. So taking this account, let go for 2 frames, then move the opposite direction for 2 frames. Your speed would go like: 2048, 1024, 512, 256, 0. Bumping into walls/objects: Bumping into certain things such as crates, doors, or walls instantly drops your speed to 0. Transform: There are 5 different transformations, with the human and mice being unlocked initially. You unlock the ability to become a fish, gorilla, and fly after beating worlds 1,2,3 respectively. Some buttons can only be pushed by certain forms. The button with a hand symbol is human only; a square button with a dot in the middle is mouse only; underwater red buttons are fish only; the fly cannot attack, so it has no buttons. Max Speeds: 2048 for Human, mouse, fly. 1536 for fish 1034 for gorilla The only form which can attack while moving and in mid air is the human. It also has the lowest cooldown time, with the ability to rapid fire attacks by holding B for 2 frames, then let go for 2 frames. The gorilla and mouse can attack once per ~28 frames. Fish attacks once per 36 frames. The fly cannot attack. The fish can move after the 36th frame if you pressed left/right, but not if you hold down; hence you should move diagonally for 1 frame at least. For breaking the blue crates, it's better to shoot the creature as soon as possible, so as you can turn earlier.
Skilled player (1738)
Joined: 9/17/2009
Posts: 4980
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Before I completely forget: On Aqeum stage 1 This blue box must destroyed, with it's contents obtained in the order of the run due to the platform enclosed in red border being slow as hell to move. Doing it in a different order makes the blue crate unreachable for couple hundred frames+. This brown thing has no use; none of the blue crates are reachable in time, and the blue switch thing below this needs a different brown thing from earlier to reach this platform. On Aqeum, stage 2 Edit: WIP http://tasvideos.org/userfiles/info/53229993813143093 Notes: * It is faster to delay the "celebration" animation of Aqeum, stage 3, due to how slow it is using the fish compared to human. * You cannot immediately move down after attacking as the fish; you must move horizontally for at least 1 frame after the 36 frame long attack animation is over to move vertically. * The 2nd boss seems to follow a timer for its attacks. It will only attack if you're in range, or very far away, so if you were say, near the floor it won't attack. * Uh...this: * You cannot swim with Mouse nor Gorilla. You are not able to even touch the water as a Horsefly. This means if you were said fly, you have to fly over the water, transform into a human, then transform into a Fish to swim. You can transform into a Fish directly as a Mouse or Gorilla, but you must be a bit further away from shore (ie. walking to water directly as Mouse or Gorilla will forbid you from turning into a Fish). * As a Fish, you need to turn to a Human, then to a Horsefly if you want to fly. * Climbing out of the water is so slow such that it's 21 frames faster to go to the water surface, transform into a Human, transform into a Horsefly, then move a bit to the shore and immediately transform back into a Human than it is to climb out of the water "normally". * While turning after 2 frames of no input is faster for Human, Gorilla, and Mice, For Fish and Horsefly, it's faster to have no input for 5 frames before turning. * The boss doesn't spawn unless you gained the minimum amount of objects for the level