Alright I just spent a day working with this engine. I love it, a lot. In fact, I went a step further than testing it. Since I had once ripped and organized all the BG tiles from Hydrocity Zone and had them lying around, I made a short test stage.
Added:
Changed Right Shift to Z, X, and C keys for jump.
Collectible rings (the program doesn't count them)
Crappy Sonic Generations style depth blur (based on movement speed)
Added BG music and modified sounds and made the spindash sound more proper (increases pitch with charging)
Short stage with improved BG (based on Hydrocity Zone's graphics)
Sonic Construct Hydrocity Test
So its mostly cosmetic stuff, I made no changes to the movement engine itself.
This test stage also easily reveals a lot of common issues, some of which I've noticed I'll mention here:
-Sonic gets stuck in the falling animation most or every time he lands on the ground that way.
-Short jump, that is, variable jump height, is permanently disabled after you do a ground roll.
-While skidding, if you hold the forward direction again, it sustains your speed, and completely disregards friction and gravity from slopes, breaking the gameplay entirely.
-You cannot turn around in midair until you are actually moving in that direction. This is not good, especially if one intends to implement a jump dash or homing attack.
-The engine seems to improperly detect some sharp angles as slopes. In this test stage, you can see this every time Sonic runs down the ramp that cuts off in midair, in which he just runs right under it in a circular sweep. Also, the first quarter pipe ramp, I once saw Sonic run straight down it when running left off of it, even though its a 90 degree angle.
I did not use collision masks for anything, just set the sprite objects themselves to solid. That's one thing I love about Construct, I can give any sprites pixel collision detection, which even ignores transparent pixels. For a Sonic game, this kind of advantage is ideal, but in the case of this engine, it might possibly be more proper to create collision masks for some things, which might defeat some of those bugs/oversights. Best case scenario is that they are fixed in the code.
Now that I've covered some of the obvious bugs, I'd like to suggest a couple things.
-I would have preferred that this engine behave in Genesis style, as Damizean's or MMF2's Worlds engine does. By that I mean, you made this a lot closer to the 2006 Game Maker engine than Sonic Worlds (classic style) in terms of Sonic's visual behaviors. I don't like the spinless hop, or the improper switches between rolling and unrolling when in midair. I could change all this without too much effort, but it still bothers the crap out of me. Although I can't say I disagree with the footsteps sounds system, that's pretty badass.
-None of the movement math in this engine is tied to deltaTime, and is therefore immune to timeScale. Some, including myself, like to make use of this feature. I would love it if you could add this in, or at least provide instructions so I or others can do so. I tried tweaking it to work, but I just made a total mess of the movement.
This post has been edited by Mr Lange: 09 January 2012 - 03:59 PM