Sonic Construct Worlds - collaborative porting project

Post your Construct-made creations!

Post » Fri Dec 11, 2009 11:54 am



Now, for a while, I've kinda been waiting on Damizean to finish the Construct version of his Sonic engine, despite him saying that the only thing that needs to be finished is the actions. It's the base engine for Sonic Worlds. I myself had already made some minor changes to allow a mode for more traditional platforming physics except with rotations.

So, I had a thought. Why not just finish it? Unfortunately, I had realised that I don't use MMF2, and don't intend to, so I was left clueless on how to implement what's needed. So, I came up with another idea, ask for help in the Construct community.

But then I realised that the base engine was nearly finished - why not put a bit more effort and fuctionality into it while we're at it? So, I came up with this idea. Create a Construct version of Sonic Worlds, a showcase of what Construct is capable of in the right hands, and an alternative platform engine that does things that the regular platform behavior simply cannot - this engine doesn't have to be for just Sonic games! :D

SO, I've decided to start up a collaborative project to convert the entire Sonic Worlds engine as-is to Construct, and go beyond it in functionality, whether it be incorporating stuff for Sonic fan-games or other types of platformer games, or even improving what's already there! Whoever wants to pitch in, feel free!

CURRENTLY COMPLETED:

- Movement, rotations, etc, the core stuff.
- Two movement 'modes' - Sonic-style and normal-style. Normal-style is basically emulating the physics of normal platform games, except with rotation and stuff, you know, for characters who aren't Sonic, or at least who don't move nearly as fast.

CURRENT COMPLETION GOALS:

- Fixing directions - DONE
- Basic/Common Actions - DONE
- Sonic Actions
- Tails Actions
- A lot more documentation. Seriously.

After we've finished those, we'll then focus on converting the rest of Sonic Worlds - converting MMF logic to Construct's events.

PEOPLE NEEDED:

- Guys who are awesome with Construct in general
- Guys who also use MMF2, so we can convert this stuff over
- Anyone who can help on the project, in any way they can, whether it be suggestions or testing, or whatever!
- Damizean, if you're reading this, your help would be wonderful.

LINKS:

Sonic Worlds at SFGHQ Forums, with MMF build download links

Current .cap of the Construct version of Damizean's engine

My version of the above cap, with two alternative 'skins' (I'll add Sonic back later) and the addition of normal-mode, switched on by default. (To change modes, just change the "SonicStyle" variable, 1 for Sonic-Style, 0 for normal). -Without Sounds-

Same .cap, with sound files.

Though there's not really much documentation at the moment, if any, but it should be easy to figure things out as they are through variable names and the events.
B
94
S
37
G
11
Posts: 404
Reputation: 11,275

Post » Fri Dec 11, 2009 4:51 pm

It's an interesting idea, for sure. I've thought about making a Zelda kit in the same style, and recruiting people to help build it as a community project. But the time and energy involved in making such a thing has kept me from it :P

Good luck, though :)
Moderator
B
5
S
2
G
6
Posts: 4,348
Reputation: 10,971

Post » Fri Dec 11, 2009 6:49 pm

sweet! I've always wondered what the platforming logic of a sonic game would go like.

Thanks!
B
3
S
2
G
4
Posts: 1,445
Reputation: 4,665

Post » Sat Dec 12, 2009 7:26 am

Alright, I actually bothered to grab MMF2, and let's see-

... Oh, dear God. After working with Construct for so long, MMF2's event system looks absolutely horrendous. This is gonna suck.

Edit: Okay, there's a second view for it? At least it makes it bearable, but, bloody 'ell. Might as well look over the events first.
B
94
S
37
G
11
Posts: 404
Reputation: 11,275

Post » Sat Dec 12, 2009 2:39 pm

Oh, lovely, merely trying to change directions through events is a chore.

http://dl.dropbox.com/u/919275/SCW.cap

On a slope, changing from right to left results in... Upside down. To say the least, this'll be tricky.

Also, who wants to have a stab at simplifying the events? Doppel reckons it could.
B
94
S
37
G
11
Posts: 404
Reputation: 11,275

Post » Sat Dec 12, 2009 4:56 pm

[quote="Candescence":1fba6uz9]Oh, lovely, merely trying to change directions through events is a chore.[/quote:1fba6uz9]

You just gotta get your angles right :P

Anyway, with a player sprite that can turn 360 degrees, perhaps a different approach is needed?

Some of you may remember Vert, the game I was working on where you could turn the screen and the player any which way. Here's how I did the player sprite so as to make things a LOT easier when it comes to calculating angles: linky

Instead of making both 0 and 180 degree animations under a "Run" animation, I made ALL of the sprite frames face 0 degrees and split animations up based on Left or Right. Here you can see I just flipped it for the runLeft animation: linky

He can face Left or Right at any angle, not just 0 and 180. Having only one angle in your animation means that you can spin it freely rather easily. And to change "directions" from left to right, you gather input in a pv and do like so:

[code:1fba6uz9]
+ Control "Move Right" is down
-> Set Player.Value('facing') to "Right"

+ Control "Move Left" is down
-> Set Player.Value('facing') to "Left"

+ Player is moving
-> Player.Sprite: Set animation to "run" & Player.Value('facing')
[/code:1fba6uz9]

It was also a lot easier calculating angles in my events because I could do it all from 0, I didn't have to add or subtract 90 degrees to compensate for the player sprite's default angle. Something to think about, anyway.

And yeah I do plan on finishing this game some day, but it broke like crazy a few builds ago and I pretty much have to redo the whole thing from scratch so I might as well just wait for 1.0.
Moderator
B
5
S
2
G
6
Posts: 4,348
Reputation: 10,971

Post » Sat Dec 12, 2009 8:50 pm

i just set width to a negative or positive to mirror my sprite., something like when its facing left set width to abs(.width)*-1 and when its facing right to abs(.width). you dont have to waste any extra memory either!!!
B
52
S
7
G
6
Posts: 1,945
Reputation: 7,610

Post » Sat Dec 12, 2009 9:50 pm

Ok, I like this idea.
Ive been working with MMF for... years now.
I found out about construct from SFGHQ actually, some years back.

I am/was good with MMF but I haven't had it installed on my machine for roughly six months.

If I can, I would love to contribute to this project though. as I've been wanting a sonic engine since the day I switched to construct.
I worked on one myself (Not 360, but a classic "Static" engine) but didn't get very far due to an annoying collision bug. (It was colliding with the slopes bounding box, not the ground itself.)

So yeah, if I have the time i'll see what I can do. Best of luck guys!
B
4
S
1
G
5
Posts: 98
Reputation: 1,648

Post » Sun Dec 13, 2009 1:16 am

Deadeye, Quazi, have I mentioned how much I love you both? Both solutions work perfectly. Though, I'm gonna go with Quazi's, since it does the same thing as Deadeye's and also requires the same sort of work needed for stuff like shooting and stuff, though hot-spots are automatically flipped from what I can see, so that'll be simple anyway. Thank you!
B
94
S
37
G
11
Posts: 404
Reputation: 11,275

Post » Sun Dec 13, 2009 2:57 am

[quote="QuaziGNRLnose":48603oot]i just set width to a negative or positive to mirror my sprite., something like when its facing left set width to abs(.width)*-1 and when its facing right to abs(.width). you dont have to waste any extra memory either!!![/quote:48603oot]

That's a pretty clever solution, it would save me half my animations :). Though in conjunction with the Angle 0 method I suppose it would have to be height instead of width.

And a little off-topic, but I ran one of my Vert caps earlier and it ran fine :shock:. I guess whatever broke it got fixed while I wasn't looking.
Moderator
B
5
S
2
G
6
Posts: 4,348
Reputation: 10,971

Next

Return to Your Creations

Who is online

Users browsing this forum: No registered users and 2 guests