Jump to content
A 2021 backup has been restored. Forums are closed and work in progress. Join our Discord server for more updates! ×
SoaH City Message Board

Sonic Construct Worlds


Recommended Posts

I've been working on this for a little while. I decided to mess around in construct and realized that it was tons better than MMF2 in terms of what it can do. Candescence was working on a construct port but I don't like the direction he took it in. With this, I've decided to try and keep it true to being a Worlds port. Its obviously not finished and if I add any more to this current build, I wont be able to continue to release it publicly.

http://dl.dropbox.com/u/54897686/SonicConstruct.rar

If anyone is interested in continuing the work in it, by all means have a go at it.

Right now it contains all of Sonic's basic movements. Rolling, spindashing, jumping, crouching and looking up. Everything works as it should. I've also implemented little things like a camera that zooms in and out dynamically based on your speed. There's also footstep modifiers for every piece of land you step on so that your character will create the appropriate footstep and landing sounds.

Link to comment
Share on other sites

  • Replies 73
  • Created
  • Last Reply

Top Posters In This Topic

Brilliant!

Honestly, this was the original route that my version of SCW was meant to take, but due to my lack of experience with MMF2 (and inability to properly read the event code) and my lack of experience with making static engines, I scrapped it in favor of trying the Custom Movement route. And when I tried that with Construct 2, the way that behaviour works there rendered me unable to recreate that engine, so, yeah. To see someone with much more experience with Sonic Worlds re-take the static engine route and succeed where I failed is a joy to see.

I threw in a few solid slopes, and I can confirm that slopes work perfectly, as well as gravity and all that jazz. This is a fantastic foundation for a proper Sonic engine in Construct. Streak, you win a million internets. What's more, once families are implemented in C2, recreating this engine there will be a non-issue (minus most of the camera and input plugin stuff (no plugins for that, unfortunately), and C2's audio system can't do positioned sounds (yet), but, oh well).

Its obviously not finished and if I add any more to this current build, I wont be able to continue to release it publicly.

May I ask why that would be the case? Doesn't exactly make sense for an open-source project.

Link to comment
Share on other sites

I was porting Mecha Madness to construct because I'm sick of MMF2. If I continue to add stuff I won't be able to release it due to me programming Mecha Madness stuff in.

In complete truth, I'm tired of using programs to be the middle man in my work. I actually wanted to go the route of full 3D but using UDK is... frustrating. Cryengine 3 is still new and still very buggy. So far Dami's Egg Engine which Sonic Fan Remix is using now seems the most appealing to me for my application. Of course, I don't think I'll be able to get my hands on that engine so Construct is the next best thing for me. I refused to go the C2 route because HTML5 is MANDATORY for that. I refuse to make web based games so I can see my work sitting on casually facebook.

Link to comment
Share on other sites

I was porting Mecha Madness to construct because I'm sick of MMF2. If I continue to add stuff I won't be able to release it due to me programming Mecha Madness stuff in.

Ah, I understand. What you've made right now is a very solid foundation anyway, good enough for anyone else to build on it.

In complete truth, I'm tired of using programs to be the middle man in my work. I actually wanted to go the route of full 3D but using UDK is... frustrating. Cryengine 3 is still new and still very buggy.

Well, I can understand how one can feel that.

So far Dami's Egg Engine which Sonic Fan Remix is using now seems the most appealing to me for my application. Of course, I don't think I'll be able to get my hands on that engine so Construct is the next best thing for me.

Why not just ask Dami? He's actually stated on Retro that his Egg Engine isn't really being used by anyone right now, and he outright offered it to the Sonic 3 HD guys.

I refused to go the C2 route because HTML5 is MANDATORY for that. I refuse to make web based games so I can see my work sitting on casually facebook.

Well, to be perfectly frank, HTML5 isn't really mandatory, just the only export option at the moment, as the developers are working on features before they can consider working on an OpenGL executable exporter. HTML5 was chosen as the starting export option mainly because it can be played on a very wide range of platforms (including iOS, which doesn't support Flash), and Javascript is a relatively easy language to learn for plugin developers, which has been more or less optimized to hell and back by browser makers.

And... Correct me if I'm wrong, but you can't simply rip a HTML5 game out of a web page like you can a Flash file. :)

Link to comment
Share on other sites

Actually, from what I hear HTML5 games coded natively can just have their source code pulled from the site and you have basically the full source to the game. There are some tricks though that I think can be applied to make the code less human readable as well as server side control that can be used to make the client less than usable without the server getting involved.

If I'm not mistaken, Construct 2 actually has some options to make reverse engineering harder.

Link to comment
Share on other sites

Actually, from what I hear HTML5 games coded natively can just have their source code pulled from the site and you have basically the full source to the game. There are some tricks though that I think can be applied to make the code less human readable as well as server side control that can be used to make the client less than usable without the server getting involved.

If I'm not mistaken, Construct 2 actually has some options to make reverse engineering harder.

Oh, yeah, it does. One of the main options upon export is 'minifying' the script, which is enabled by default. Basically, it makes the source code as it is virtually unreadable. Plus, the actual assets are stored in folders away from the script and the page itself, so unless you can actually somehow get to those files as well, the source code is virtually worthless.

I'm not too interested in coding for HTML5 though. I didn't like that the game's quality relied on what browser you were using. Sure, it means you can broaden your audience but it also means you have some setbacks associated with the format. Same with everything, tbh.
I agree, I'm not fond of that aspect of HTML5 either.

Actually, that is MUCH less of an issue now that Construct 2 HTML5 games uses WebGL by default, making performance uniform across all browsers that support it, and much better than if the browsers were doing it by themselves. The only browser that doesn't support WebGL right now is IE, naturally, because Microsoft don't want to touch OpenGL with a ten-foot-pole. The easiest solution in that case is to advise users to get a better browser.

Link to comment
Share on other sites

It's not really OpenGL that Microsoft is against, it's WebGL and it was over alleged security concerns. I'm not really in a position to say how valid those concerns were. In any event, not everyone can just get a better web browser. I don't believe that statement about IE being the only browser where problems are expected either. I tried it myself with SeaMonkey and the performance there was pretty bad compared to Chrome. I also had issues with an older version of Midori (might be fixed now?). If by 'only browser' what you really mean is, among the browsers that typical people use on Windows, sure, I can buy that.

Link to comment
Share on other sites

Yeah, I was talking about browsers such as Chrome, Firefox, Safari, Opera, etc. I haven't even heard of Seamonkey and Midori.

Also, I know about the alledged security concerns, but I believe that's mostly Firefox-related stuff that I think has been fixed by now. On a slightly more unrelated tangent, Microsoft have been trying to bury OpenGL for years while trying to promote DirectX as superior (which isn't really true).

Link to comment
Share on other sites

Well, I've got more of it working better, but now I honestly feel like I've hit a brick wall. Here's what I've done:

- Added 'Player' variables to a few objects and families

- Added an 'Input' family to store multiple InputPlayer objects, and changed every condition outside of the Input Management group so they adhere to that, not just the original InputPlayer object.

- Re-worked the inputs for the Input Management events to work with multiple inputs

- Used a 'pick by comparison' event for Family_Player to ensure that every set of sensors sticks to the right Player object

- Used similar 'pick by comparison' events so each Player and Input object pair should do its own thing, in theory. This has been less than successful, as explained below.

- Managed to get animations working separately.

- Got sounds working separately as well, to a degree.

Problems so far:

- Player 1 only runs and jumps with P1's controls.

- Player 2 does absolutely nothing, except jump... When Player 1 jumps.

- Sound weirdness when both Sonics are idle.

Here's the cap. If Streak or anyone else has any idea on how to make this work, go ahead. It's better than before, where both Players more or less did absolutely nothing no matter what input was given, but...

I know not everyone wants to have multiplayer in their games, but I still think it's neat to implement that kind of functionality early so it can be easily implemented if the developer wants to, and it could be used for other things such as a Tails follower (or other characters), AI (to whatever degree the developer wants, if they're capable), etc.

Link to comment
Share on other sites

I definitely plan on having multiplayer but you're going about it all wrong. You need to check other events before you try and implement your own. As you can see above the input management, you need to always set player 2's controls to 0. There's also a bunch of stuff hat won't work the way you tried. I suggest just spending more time with the engine and seeing how it works. This was your problem before when you tried to port it the first time. It wasn't the engine's fault, you just didn't know how to make it do what you want. That's completely fine. Just put in the necessary time to know the engine and you will be golden.

Link to comment
Share on other sites

Well, I understand what you're getting at. Though, for the input management thing, resetting all values to zero was pretty much what I did, on a family-wide scale - saves on actions, really. Unless I'm overlooking something.

From what I can tell, the part that I'm doing wrong is the controls (the "Family_Player" picking bit is fine, from what I can tell). The input management setup should be solid - in theory, anyway. The problem is how to make each Player respond to the separate inputs properly, so I think the Control Management area is where I'm gonna have to look at more... Unless there's something in the Motion Management/Movement area that I've overlooked. :squestion:

Link to comment
Share on other sites

Version 0.4

http://dl.dropbox.com/u/54897686/SonicConstruct.rar

Added

Unlimited player objects. You can have an unlimited amount of player play with you. So far only player 1 and 2 are programmed in control-wise. I'm going to be adding in follower AI soon. Pathfinding too.

Bugs

Animation setting for characters is a little bugged right now. I have no idea why.

Link to comment
Share on other sites

I have seen and now I'm a believer. I don't think it's a huge big deal, at least for Windows 7 (probably Vista too since it uses the same Graphics Driver resetting thing) users, but it would be nice if WebGL at bare minimum required confirmation before running apps. It would suck for instance if people just started providing troll links to lock people's desktops.

Link to comment
Share on other sites

I have seen and now I'm a believer. I don't think it's a huge big deal, at least for Windows 7 (probably Vista too since it uses the same Graphics Driver resetting thing) users, but it would be nice if WebGL at bare minimum required confirmation before running apps. It would suck for instance if people just started providing troll links to lock people's desktops.

This problem wouldn't exist if driver vendors actually provided some security against this sort of thing in their drivers. Granted, the actual need for it hadn't appeared until stuff like WebGL appeared, but still... I think Khronos and browser makers will address these problems at some point, they've already stated that they will.

Better than goddamn Flash, though, as far as performance goes. Seriously, whose idea was it to give UE3 and Unity (which has its own web applet, no less) the capability to run games through Flash? Flash is pure shit. If Flash's video streaming can bring multicore, multigigahertz computers to their knees in order to jerkily fail playing h.264 video that would run silky smooth on Pentium IIs or G3s as unwrapped files, I cannot fathom how it could run modern games at a reasonable speed even when using the GPU.

Java should have filled the niche of web-based games that Flash mostly owns.. except that early versions of Java were so slow and so unnatural looking that Flash actually looked good in comparison. By the time they fixed it, Flash had become the de-facto standard for this kind of thing, much to the chagrin of just about everyone except Adobe.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...