I really have problems making a topic that isn't some kind of checklist, I'm afraid, so you'll have to just bear with me and catch on as you go.
Homing Attack usable everywhere - even on the ground
The most important thing to get out of the way first is to determine the basic rules of how the HA is to work. Now, I get that there are some exceptions to the rule here and there, but I've always firmly maintained the belief that Sonic should really need only two buttons at any given time - one for jumping, and one for kicking ass. If you were to take that completely to heart, what you'd essentially have to do is to turn the HA into a proverbial swiss-army knife, and integrate a large amount of functionality into the move until you're roughly at the same level of versatility as the original rolling/spindashing mechanics. While I'll get into the specifics a bit later, this essentially means making it an all-purpose move that can in some way fulfill many of the same purposes as the Boost, rolling and sliding, light dash. wall jumping and depending on the level design, even cornering and stomping. It need not steal that much functionality if there's still some appeal in using some of those moves seperately though, because if anything it might end up making Sonic too dependant on the level design to move about - something that most of the HA chains we have today are pretty symptomatic of.
A Homing Attack need not be a straight line
Most of the common complaints about the HA in some way revolve loosely around the trajectories he takes - namely his tendency to ascend straight up into the air afterwards and float there for no good reason, creating a forced stop-go pacing that never feels as fast or fluid as simply jumping on things (this much is extremely evident in S4ep1, where it's actually faster to do so in the offchance that you're not uncurled). One way to fix this would simply be to create a trajectory effect with the HA in place of the omnipotent and generic "shoot towards things directly at high velocity and never ever miss" way of doing things. A less verbose way of putting that would simply be to say that a HA would be more or less a mechanic that guides the arcs of your standard jumps to your HA target for you - maybe with some kind of velocity boost, if necessary. This makes a bit more sense if you've played Prototype 2 and seen how the Claws work when leaping long distance.
Obviously once you've accomplished that, then you simply make Sonic's exit velocity a product of the speed and direction he attacked with, to allow fluid bouncing (with some exceptions, which again I'll cover later). This even helps create a balancing factor to the HA in that it's mostly dependant on the velocity you had prior to executing it - which means attacking skyward enemies won't be an option until you can get above or level with them, as one example of a potential drawback to the player.
Everything is a Homing Attack target. EVERYTHING.
Well okay, not quite everything. But all the same, the HA as it works right now only works on a select group of objects - namely enemies and springs of whatever definition. But it needs to be more than that. Before I go any further with this, let's just put a little context out first.
Don't lie now - every single fucking one of you has, at some point, wished "gee wiz, I I wish I could play "Sonic CD's FMV's - the game"... that would be fucking awesome!", and the thing is, you could actually do that in a Sonic game simply by tying it into the HA. By turning a bunch of otherwise innocent-looking terrain features into HA targets and completely changing the way Sonic behaves around them on impact, you're essentially making the HA double as a parkour button. Shoot towards one object, vault across it, shoot towards another, repeat as necessary. Honestly, the closest comparison I can make is how walljumping worked in SA1/06, but even then it'd be pretty different based on the fact that you can choose exactly which point you want to vault over to next, and the animations would vary depending on what you're HAing to rather than a generic walljump between two flat surfaces. Imagine every point-to-point jump as a HA from the 0:30 mark onwards in the above video and you'll kinda get the picture. Incidentally, this is a part of my next point as well.
Exit velocity can be influenced by your target
So class, quick pop quiz! What did we learn from every game from Heroes to '06 in regards to how enemies handled the HA?
"That attacking the same enemy over and over with one attack is boring and repetitive as hell and that enemies with healthbars just aren't worth it in a game with only one viable attack most of the time?"
Yup, pretty much that! Gold stars all around! That said, it's not difficult to see why health bars only existed at nighttime come Unleashed, and simply disappeared outright after that. Unfortunately, it has the subtle side effect of making all the enemies feel exactly the same, because the tactics for dealing with them couldn't be changed as a result beyond giving them projectiles. They can't be changed, really, because with the way Sonic typically works in 3D he moves too fast and erractically for most kinds of attack or AI to even register, let alone work. While I'm willing to let you guys debate among yourselves how to make the enemies themselves threatening, there is at least one thing I want to put out there that can at least make them feel different in the passing moments that you encounter them, and that is simply to change the way they effect Sonic after he's already hit them.
Many of you have already brought up the "enemies = Spagonia balloons" comparison before, and yes, that's a fucking good idea because it actually preserves his current momentom in addition to adding to it briefely, which is really how a HA target should work... for the most part. If you want to go further than that, you can have resulting momentum and angle deflection based on a "weight" value of the target, with the Spagonia balloons being the baseline. Sonic would actually pass straight through a lighter target when attacked, which when placed strategically - as much as I don't like the concept of enemies functioning as stepping stones, but you can always use environmental props in place of them if nothing else - allows them to act as a cornering boost by HAing a light object/enemy on a curve, or to get back to the ground quickly when there's solid ground to land on (similarly to the stomp, only this would allow you to land on an angle and preserve your momentum in the form of running speed). Heavier or indestructible enemies and objects, on the other hand, would cause Sonic's momentum to go elsewhere in upwards of 90 degree direction changes - like say, bouncing upward when attacking from the ground, or lengthways when descending from above. This creates an innate difficulty to confronting larger targets in that you have to be absolutely sure your exit velocity is safe, even if it results in a one hit kill like everything else.
This can be played with, too, if you want a few enemies that carry a little momentum-based surprise. Say, as a random example, bring back Crawl and his bumpers to invert Sonic's momentum if he attacks them wrong, or another shielded enemy that around destroys all of Sonic's momentum outright if he's blocked. Again, too, this need not apply just to enemies, as long as the learning curve allows the player to discern over time what kinds of HA-shapes will do what when hit.
Well, I think that was all the major points I wanted to put out there. Now let's see where this leads.
EDIT: OMFG ANIMATIONS TOO
Edited by The Cheese, 30 May 2012 - 02:48 AM.