don't click here

Sonic Construct Worlds

Discussion in 'Fangaming Discussion' started by Candescence, Oct 25, 2010.

  1. Candescence

    Candescence

    Member
    2,020
    21
    18
    Sydney, Australia
    3D Indie Stuff
    Construct, for those who are unaware, is a lesser-known, open-source game creator that provides a free alternative for those who don't want to fork out the cash for MMF2 and GM. In many ways, it's like the former, but its event system makes MMF2's look utterly archaic by comparison.

    Though it's not very well known, and it can be somewhat buggy due to its 'beta' status, I love it to bits. I've seen some absolutely incredible things come out from its community, and, well, I tried to port Sonic Worlds over, using Damizean's original attempt at a port as a foundation.

    Then I realised that a straight port was not worth it, and started from scratch using Construct's 'Custom Movement Behaviour', trying to replicate the classic Sonic physics in a different manner. I'm no expert on engine creation, though, so you know how well that went. After a ton of hard knocks, some help from one of Construct's devs who even helpfully incorporated a feature into the behaviour to make things a lot easier, and some work, well... I managed to come up with this.

    [​IMG][​IMG][​IMG][​IMG][​IMG][​IMG][​IMG][​IMG]

    As shown at SAGE 2010, Sonic Construct Worlds is now effectively its own beast, no longer a straight port of the MMF version. And it comes with two levels - the basic test level (which is highly incomplete), and the Clock Tower, a Castlevania-based level that has Sonic run in, and run out, while dodging enemies and Death along the way. The 'custom edition' has gone through multiple iterations, with this being the best so far.

    However, it doesn't really need to be said that this engine needs a LOT of improvement before it can be anywhere near as good as its MMF cousin. Seriously. The physics need serious improvements, for starters. In its current state, it's kinda shite, to be honest. Even Sonic 4's physics are probably better than this.

    Current Features:

    * On Step movement, and automatic velocity angle change. I couldn't have done it without Davo's additions!
    * Sonic 2-level movement functionality (though the physics need serious work)
    * Loops and stuff!
    * Platforms!
    * Rings!
    * Some monitors!
    * Shields! (which don't have any special abilities yet)
    * Multiple skins, including Tails, Knuckles, two versions of Sonic...
    * A multiplayer prototype, allowing for literally up to ten players. Four is more realistic, though.
    * And did I mention it's open source?

    To be done:

    * Rolling momentum, skidding, etc. Basically, momentum in general needs serious work.
    * The current way of handling falling off slopes and stuff isn't very good, that needs to be fixed as well.
    * Currently, the player doesn't move along with moving platforms. This needs to be rectified as well.
    * The rest of the test level needs to be filled in.
    * Need to fix up the additional skins, and add special abilities.
    * The last five monitors.
    * Super Forms.
    * Some gimmicks.
    * Unfortunately, the multiplayer prototype has made a nasty problem rear its head - the current method of utilising 'loop layers' is more or less useless with more than one player.
    * It's also caused the shields to not destroy themselves when replaced or the user is damaged.

    Basically, the whole engine is open for people to get into and improve. I intend to iron out all the bugs, fix up the momentum stuff, and all that jazz, over time.

    Sonic Construct Worlds Alpha 5!
     
  2. Namo

    Namo

    take a screenshot of your heart Member
    2,912
    0
    0
    I like what I see here, mostly. The loops need a bit of tweaking in terms of the speed required to complete it, I think. Also, they shouldn't fall half way.

    If I bust a shield monitor while I already have another shield, the old one just stays in place. Is this normal?

    Also, if you bust a monitor from the corner, you kind of bounce off to the side - while this feature has potential and I personally like it, I'm sure not many people will agree.

    Otherwise, I have no quips with anything. Pretty good work.

    Also, in regards to the death sound:
    [​IMG]
     
  3. Candescence

    Candescence

    Member
    2,020
    21
    18
    Sydney, Australia
    3D Indie Stuff
    Well, as I said, the physics need serious work.

    Known bug, already listed in the above "to do" stuff.

    This is mainly because I just had it go "if jumped on, bounce", and the Custom Movement's "bounce" event is just "bounce in the opposite direction". I might have the event do "reverse vertical speed" instead, that might work better. Either way is pretty easy, really.

    Edit: Actually, I might try that for bouncing off ground-based enemies that don't die in one hit - the sword dude in the Clock Tower sends you straight through the floor and to your death if you jump while within his hit box.

    FINALLY, SOMEONE NOTICES. :v:
     
  4. Lapper

    Lapper

    Lappering Tech Member
    1,762
    950
    93
    England
    Sonic Studio, Sonic Physics Guide, Kyle & Lucy, Freedom Planet 2
    Hey, this is great! Since I prefer Construct to MMF, and it's free.
    Oh, one nitpick: Do Sonic's feet HAVE to be 2px into the ground? That just makes it look less solid to me.
     
  5. Candescence

    Candescence

    Member
    2,020
    21
    18
    Sydney, Australia
    3D Indie Stuff
    Weeeeeeeeeelll that's how the sprites came out. The positioning of the S3 sprites are royally screwed up, I know, and I'll fix that later, but the S1 Sonic sprites were originally positioned like that. Blame Damizean.
     
  6. Candescence

    Candescence

    Member
    2,020
    21
    18
    Sydney, Australia
    3D Indie Stuff
    A4 has been updated yet again.

    The updates aren't really remarkable, so it doesn't require a totally new version to go with it.

    Changes:
    * Added an intro and character select screen
    * Added a "variable jumping" function, so holding the button allows the player to minimise their jump with just a tap of the jump key.
    * Sonic will stop in his tracks properly when he hits a wall, you can't accelerate while against a wall.

    While two niggling issues I've wanted to fix are more or less fixed, there are still major physics issues...

    * Lack of slope acceleration/deceleration
    * Issues with slopes and what to actually do when Sonic doesn't have enough speed


    I think there's others, but they don't come to mind right now. If anyone has an ideas how how I can implement solutions for these, I'd be grateful. Problem is, though, the Physics Guide doesn't quite mesh well with the Construct way of doing things, well, not in this instance, anyway.
     
  7. Candescence

    Candescence

    Member
    2,020
    21
    18
    Sydney, Australia
    3D Indie Stuff
    Okay, NOW a new version is warranted, because... Basically, slope acceleration and deceleration is done! Mostly thanks to the help of the awesome dudes over at the Construct forums. :)

    Sonic Construct Worlds Alpha 5!

    Changes:

    + Major physics breakthrough. Sonic now properly accelerates and decelerates on slopes, and as well, proper rolling momentum has been implemented.
    + Also, finally updated the GeneralPlayer top documentation.

    Some things to do that come to mind right now:
    - Implement skidding
    - Implement Tails and Knuckles's special abilities
    - Implement proper movement with platforms
    - Fix side Springs

    I feel really, really good about this update now. While the slope acceleration and deceleration is not perfect (that can be fixed with a bit of careful tweaking), it's there, and it works just as intended.
     
  8. Azu

    Azu

    I must be stupid. Member
    Didn't know you were making Sonic 4.
    [​IMG]
     
  9. Candescence

    Candescence

    Member
    2,020
    21
    18
    Sydney, Australia
    3D Indie Stuff
    Ah, crap, I forgot that occasionally happens. I really need to fix that, that's downright embarrasing. :(

    Edit: So far I can't replicate that no matter how much I try, so such a bug is hopefully uncommon at worst, but in doing so I discovered another disturbing bug that allowed the player to basically run up a wall while accelerating very slowly. I think I've fixed it now, and I think I might have killed that wall-standing bug as well at the same time. Not sure, though.

    Edit: AH-HA. FOUND IT. Turns out I didn't squash the wall-standing bug initially, but I managed to finally replicate it (though the circumstances are quite specific), and I broke its kneecaps. With a wrench. Specifically this wrench. *Holds up a wrench*

    No more wall-standing in this engine, folks. As a side-effect, though, Sonic no longer accelerates while on a wall or ceiling. Not the most ideal solution, methinks, though I imagine it might only be a problem if one was working with extended wall-running or ceiling-running.
     
  10. Shadow Hog

    Shadow Hog

    "I'm a superdog!" Member
    I dunno, I'd have him accelerate when gravity is going with him, and decelerate when it's against him. Dunno how to handle ceiling.

    This wrench?
     
  11. ..maybe you could re-add the glitch as a 'feature' three sequels from now? </Iizuka>

    This is seriously cool though, not had any glitches with it thus far.
     
  12. Namo

    Namo

    take a screenshot of your heart Member
    2,912
    0
    0
    God Dammit Nappa...?

    Glad you got that bug squashed. Pretty humorous that it was a wall-walking bug too.
     
  13. Aerosol

    Aerosol

    Not here. Moderator
    11,162
    572
    93
    Not where I want to be.
    Sonic (?): Coming summer of 2055...?
    I don't think you want Sonic accelerating on a wall, but the genesis games featured areas where you could run on the ceiling indefinitely. Dunno if that's something you're going to want to eventually address.
     
  14. Candescence

    Candescence

    Member
    2,020
    21
    18
    Sydney, Australia
    3D Indie Stuff
    Shouldn't be hard to do, actually. I think. We'll see.
     
  15. Azu

    Azu

    I must be stupid. Member
    Sonic jumps like he's on the moon.
     
  16. Candescence

    Candescence

    Member
    2,020
    21
    18
    Sydney, Australia
    3D Indie Stuff
    The jumping acceleration and gravity needs to be adjusted, of course. Hell, a lot of things probably need to be adjusted so they're 'just right'.

    Alright, the jump should be very similar to the MMF version, now. My main focus currently is skidding and running speed, for the latter, I have a feeling Sonic takes a bit long to get going, though I don't want him accelerating too fast...
     
  17. Lapper

    Lapper

    Lappering Tech Member
    1,762
    950
    93
    England
    Sonic Studio, Sonic Physics Guide, Kyle & Lucy, Freedom Planet 2
  18. Shade Vortex

    Shade Vortex

    The Black Vortex Member
    562
    39
    28
    USA, WA.
    Twitch Streams
    Pretty awesome work thus far. I actually didn't know Construct existed before reading this thread. Good luck with fixing all the issues!

    I actually decided to try and learn Construct, and it seems very confusing. I don't know how you managed to do so much. All I've been able to do is make a very basic, single screen where an inanimate sprite can move without animations and jump way too high. But considering this isn't a general Construct thread, I won't ask for help in here.

    Construct itself seems pretty buggy, so I have no clue how much that will hinder your progress. I know having to learn the fine details of the program certainly is making my experiment very hard to do (I'm simply trying to replicate the Megaman Zero gameplay, but that's irrelevant to the topic at hand).

    I must give you props. It would take me ages to get anything working as well as this. I can't even figure out how to do a scrolling camera. Perhaps I'm not meant to make fangames. lol Again, good luck! Great work so far.

    I really hope you figure out how to fix the moving platforms though, I hate being pushed off it. I have to fight against it to stay on it.
     
  19. Candescence

    Candescence

    Member
    2,020
    21
    18
    Sydney, Australia
    3D Indie Stuff
    I have been using it where appropriate, of course, but the numerous variables in the Guide don't at all mesh with how Construct's Custom Movement Behaviour works. So working out the right values for variables is gonna be trial and error, I'm afraid.
    There should be a whole bunch of tutorials and demonstrations on the forums, there's even a list topic now. I would direct you to DeadEye's "Platform School", but it's kinda borked at the moment due to newer versions of Construct, though it's just a matter of going through the control events and fixing them up so it corresponds to the right player number.
    Well, it's gotten a LOT less buggy as of late, and the devs are, to my knowledge, already working on Construct 2 with a new and superior codebase, complete with OpenGL.
    A scrolling camera is just a matter of ticking the "Center View on Me" attribute on an object, though in this engine it's done with a quick event since there's multiple player objects.
    Yeah, I know, it's kinda puzzling to me too, I'll try and figure out how to make Sonic move along with the platforms.
     
  20. Azu

    Azu

    I must be stupid. Member
    You shouldn't use the Custom Movement. Should have did as a static engine.