Hello, I'm new to your community, and I'm currently planning a Sonic the Hedgehog RPG. I have some basic plot points, ideas and characters down on paper, but first I wanted to get a working gameplay system going that made the game feel like Sonic.
We all know that Sonic doesn't work with turn based battles, which is why I'm trying to combine Zelda style battling with classic Sonic style platforming.
Overview
Basically, I quickly threw together a Sonic the Hedgehog system for RPG Maker 2003. _It's not running perfectly yet, but it's looking good for about a half hour's work.
X did make some changes to it, however, these changes caused quite severe lag and _made it harder to kill the enemies, so those changes were discarded.
I originally wanted to include the 'ring drop', where Sonic drops his rings if he got hit. _However, after numerous complications and headaches, this was dropped and now enemies simply take a certain amount of rings from you when they hit you.
Features
- Ring Collection with Counter
- Spin Dash
- Jump
Screenshots
Yay! _It's Sonic! _Go get those rings!
You can spindash anywhere
Huzzah for custom made Badniks!
Joust!
And the victor ... Sonic!
Video
Demo
Download Here
Controls
Arrow Keys - Move
Z Key - Jump
X Key - Spin Dash
Known Issues
Things are looking and feeling nicer now, rings sparkle when you collect them, as they used to, when you destroy an enemy you see the classic explosion with the sound effect we all recognise.
However, there are still problems with enemy collisions. As we already know, you can't hit a stationary enemy and attacking only seems to work if they're moving toward you, and jumping can't be used to attack at all as it always results in you getting hurt. Obviously, this is a problem. I tried putting Sonic on Phasing Mode when he dashes, but then he simply passes right through his enemies.
I suppose I could use X and Y co-ordinate tracking, but that's a last resort as I don't want the game to have to check too many variables at once. If I can't find an alternative solution though, I'll try it.
Also, as for acceleration, which was mentioned, I'm not overly sure as to how to go about coding that. There is a function to check how long it takes to press a button, but not one to check how long you hold the same button down for.
I'm guessing that I could use Memorise Position and make that position a variable as soon as a movement key is pressed, then check that position against where you are now and if it's a certain distance, speed Sonic up. But the problem with that theory is turning, as soon as you'd turn, it'd memorise a new position because you'd be pressing a new direction key. Also, there's the issue of making sure he slows down again.
What I'm also trying to implement is the charge dash, I'm trying to make it so you can hold Shift and tap X to spin on the spot before releasing, like in Sonic 2 onwards.
If anyone wants to help out, then please contact me. Credits will be given for all contributions that get used.