Okay so over the past 6 months or so I've completely rewritten this engine from the ground up.
Attachment:
File comment: Updated ROM
Main.nes [128.02 KiB]
Downloaded 253 times
Some new features to the new and improved engine are:
- AI
- Status Bar
- Better jumping physics
- Better background collision detection and resolution
- Different background collision properties ( An example of this is in the water area of the demo wher the water makes you fall slower and some of it moves you to the right as if there is a current).
If anyone wants to pop open an emulator hex editor mess around with things like background collision and AI during run time here are some memory locations and info:
$0700-$071A = AI Memory
Each AI is 9 bytes in size: y,x,sprattributes,sprite#,Health,xVel,yVel,Action,Frame
The action byte, for those who are wondering, basically controls which action "script" is jumped too in the global AI action jump table.
(0 = do nothing, 1 = move left and right, 2 = move up and down, 3 = move in a Zig zag wave, 4 = move in a sine wave)
$0600-$06FF = Background Collision table
Setting bit 7 makes a tile solid, setting bit 0 makes the tile water-like (more resistance to movement than air), bit 1 makes the tile move the player to the right, bit 2 to the left.
When you load the ROM the screen will start black, just press start to begin ( it's in the "menu" state and I haven't really implemented a basic menu/title screen yet). Controls are pretty much like any other platformer on the NES d-pad to move left and right and a to jump. Pressing start and select currently modify the action byte of one of the AI's because I was doing some tests. Lastly when you go to the screens right of the starting area, which ultimately go nowhere, you'll notice the graphics are all messed up. That is intentional and not a glitch as I was testing to see if my tileset swapping between different screens functions correctly.
So yeah enjoy I guess!