I was able to score a few hours today to do some more goodiness on this project, hooray!
Pretty much I spent the entire time redoing the entire movement system from scratch. It took a couple hours, but I now have the movement system in a much better form than before – not 100% what I’d like but maybe 90%. I think maybe over time I’ll get a better feel for how I like it, or maybe it’s just a case of needing to get used to it.
Even so, if you’re reading this and you want to give some input on it, the current build is downloadable below.
The main sticking issue I have right now is that the auto-sliding thing is a little too tight when trying to walk horizontally around an obstacle. I can’t really do much about that though, due to integer math. It’s either make it a little tight like it is now or make it really loose, to the point that you can’t reliably push horizontally against an obstacle or a block.
I recorded a lot of my tests in the video above, it should show the basic evolution of the system. Since I’m packing this in with the base GameEntity object, enemies should be able to use this system too. I know Zelda 1 doesn’t really do that, but I want to give it a look-see before deciding whether to make it a player-only thing or not.
XNA is nice in that it’s easy to rotate and zoom stuff without much trouble at all. I used it to try out my movement stuff in a stress test sort of way, as seen in the video above. It makes me wonder if I could use those things for some other effects though. The first thing that comes to mind is something akin to mushroomization in EarthBound. I dunno, though. I promised myself I wouldn’t go too overboard with non-NES-like effects.
I’ll probably get back to reorganizing the code tomorrow, starting with the enemies. Now that I can base a lot of their stuff off of the GameEntity class, it should simplify a lot of stuff. I still need to figure out a good way to implement enemy action scripting or something, though.