I'm going to be making little cheap prototype things in Flash, purely because you can throw something down that shows you whether your idea will work in less than an hour most of the time. It's nice to be able to get a little something working in no time at all and it means I don't spend a lot of time chasing something that's going to turn out shit. In the end the game will be made in either C# with XNA or Java.
In coding the graphical side of it I doubt there will be that many complications. We're looking at a 2D game with animated sprites so there's nothing complicated there. The complicated bit is the physics.
We want the physics to feel quite a lot like sonic but more 'meaty'. You're not a light little hedgehog, you're a fatass dwarf. Fatass dwarves don't get up to speed easily and they don't stop easily either. Sonic works on a system of matching your horizontal coordinate with a corresponding height coordinate. It isolates your coordinates to a tile and then the tile has a 'Height mask' which positions you accordingly. We're intending to use this system since it's simple and shouldn't prove limiting in any significant ways. The differences between our system and Sonic's appear when you look at how the characters move. In Sonic, you accelerate pretty quickly and slow down pretty quick aswell. Now since our philosophy for our game is that you commit to a jump and throw yourself balls first into whatever is in front of you, it wouldn't fit to have your character slow down easily. We also don't want our players to be able to slowly walk up to an edge, decide on an action and then throw themselves off, so we are going to have him accelerating pretty slowly. Basically, you look down a slope, think 'Well shit, here I go.' And bolt down it. This should be easily achievable using the basic idea from before, but fiddling with it to make it more about going forward and less about slowing down. Another point on this is that this isn't going to be the kind of platformer where you go from floating platform to floating platform. We're not having that kind of precision. This is about thinking, planning, and then going for it. This means we won't have to fiddle with some of the problems of little twitchy moving platforms. I'm not saying we definitely won't have moving platforms but they won't be little twitchy things that you can fall off. And you know the little teeter animation Sonic has? Fuck that shit. We intend to make it so you're never at an edge about to fall off. You've either fallen off or you haven't. Now I know that might not sound good, but it will be. It will fit with the speed and weight of the character. You're a dwarf with massive balls. Dwarves. Don't. Teeter.
That's probably the main complicated thing to program. The enemy AI will be pretty simple. In some ways this is almost a puzzler. We don't want enemies running around too much. You plan what you're going to do with them quite carefully so we don't want them slinking out of your way last minute. That's not because it would be 'hard' to play like that, it's because it would be fiddly to play like that, and fiddly is not a good design philosophy, right? The shoes are an extra bit to program but they'll mainly change variables around and I don't foresee many of them needing a huge slab of code to work.
I think that's a reasonable bit of shit for now.
Comment with thoughts.