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

BasicSonicEngineGM5


LarkSS

Recommended Posts

So being my normal helpful self, I agreed to help someone by designing them a basic Sonic engine. ( For those of you who don't know, it's everything but the 360 movement ) Somewhat close to finishing it, they happened to find someone else to make a 360 engine and nolonger needed what I did. Now I was stuck with something I really didn't need. So I decided to finish it anyway. I added all kinds of cool stuff and the engine was practically perfect. Then I replaced everything that came from the person I was first making it for so I could release it here. Finally after maybe a week or two of work, I'm glad to say it's complete.

It has all the basics. The regular platform movement along with extras. I didn't program rings or spikes and stuff since I didn't want to do everything. ( It's an engine to build off of, not something where everything's done for you ) I did program a spring and a monitor though to show how it would go about being done. The monitor is just a blank monitor that you can replace with something like a ring monitor or something like that. Anyways, here are the features my engine contains:

-Pixel movement

-Up to 67.5 degree slopes

-Slope Affection ( speed wise )

-Slope Detection for rotating the sprite ( not anglly, but like Sonic 3 )

-2 different kinds of edge wobbling ( depends on how close to the edge you are )

-Jump's affected by how long you hold the button

-Pushing against walls

-Death system

-Spring system

-Monitor system

-Checkpoint system

-Advanced camera ( includes looking up and down )

---Edit: 2 cameras now. 1) Speed Camera. Always scrolls based on speed. 2) Sonic CD Camera. Only scrolls when you're running.

-All basic Sonic moves

-Paralax system

-Screencapture system

-Moving platforms ( including death from being squished either vertically or horizontally )

-Almost no coding ( only 3 pieces of code which don't effect the engine in any way )

-Object deactivation when off screen ( to improve fps ( code thanks to Kain ) )

-Everything is commented step by step and somethings are even organized into groups using comments

-Engine's values are extremely easy to customize by simply changing a number

I think that's about it. Of course at this point, some screenshots are in order. Yes, I know Advanced backgrounds mixed with Genesis sprites aren't the best mix, but I prefer the Gens sprites and I've been wanting to make my own Route99 level for awhile.

Pic1-1.pngPic2-1.png

Pic3-1.pngPic4-1.png

Pic5-1.pngPic6-1.png

Pic7-1.pngPic8-1.png

*Note that some of these screenshots were taken when the level was in developement and some objects have been moved around since then.*

Well that's all I got to show. I'm including a download for the EXE and the Source since some people would prefer to just play the engine and give comments than look at the source.

EXE: http://sonicsoft.supersanctuary.com/OtherFiles/BasicSonicEngineGM5EXE.zip

Source: http://sonicsoft.supersanctuary.com/OtherFiles/BasicSonicEngineGM5Source.zip

Comments please. This is my second GM attempt ever and I'd appreciate any comments you have for me.

BTW, if you decide to use this engine in a game or you use something in it that I've done, please give credit to me, LarkSS.

Link to comment
Share on other sites

Ah, yes...but your level design made the whole engine unplayable, so I got frustrated and stopped reviewing it. I kept dying at the whole moving platforms above the abyss part. Here are my notes of things trhat stood out to me:

Pros

+slope detection

+physics

+platforms

+yay monitors and logotypes

=overall, I think it's pretty solid

Cons

+the Sonic CD screen shift (where Sonic is no longer is the focus of the camera due to his speed) is executed prematurely. It will do it as soon as I progress forward, making platforming or well-timed jumps impossible, because the screen begins to shift. I missed platforms numerous times because of this occurence. Also, the camera shaking back and forth so abruptly is kind of annoying. Wait until Sonic reaches full speed to shift the camera, like in Sonic CD.

=a minor annoyance that would improve your engine, in my opinion

Link to comment
Share on other sites

It's interesting that you said that. I actually like it since I can see what's infront of me at low speeds, but then again, it must just be me since I became adjusted to it. I guess I'll look into that. It really shouldn't be hard to do at all thanks to the way I designed the camera.

Thanks for the comments and sorry that the level was hard to progress. ( I thought it was easy since my little brothers had no problem with it )

Link to comment
Share on other sites

The end is really just two monitors at a dead end. I didn't make the end of act system since I felt it shouldn't be too hard for someone to do that themself.

BTW, I made the level so you had to slow down on purpose. It made you have to use timed jumps and stuff instead of just holding down the right key through the level.

Link to comment
Share on other sites

I just uploaded a new version with the selectable Sonic CD camera. ( Preselected, so the EXE uses it ) I personally seem to have a hard time with it, but that's because I was used to the other camera. My eyes automatically look forward as I move. =P

The only complaint is the parralax thing but it didn't really bother me, I'll find a way to fix it.

I stuck in a comment somewhere saying how to fix that. If you put the positioning events into all 4 movement loops, the paralax will be fixed. Just be wary of the possibility of the fps lowering by a frame or 2 and it'll mean doing the same thing for each background.

Glad you guys liked it too. =) Even though it's not a 360 engine, it reminds me of the old days when games were made using static engines and they were actually finished. =O

Link to comment
Share on other sites

Hmm, but you could implement 360 movement though couldn't you? (not you personaly).

You'd have to recreate the entire engine. There's a 360 engine on the SFGHQ main site thanks to Damizean anyway.

Doesn't work well in GM6. The engine works fine but the level doesn't load properly.

Well it is designed for GM5. Did you replace all the sprite events? I believe once you do that, it should work. You can't play it using GM5's old sprite method.

Link to comment
Share on other sites

Ah, the crapiness of that level hurts.

Good engine though. Maybe you should consider slowing down the speed with which the camera moves in front of you at higher speeds. It's a bit annoying when it does that back and forth.

The problem you have with the parallax is that you're positioning it before you position the view. Set the position of the view after you've moved Sonic and then reposition the parallax layers according to it. All this should happen before the drawing events are executed.

Link to comment
Share on other sites

I always use an object called 'parallax' or something at a very high depth. It draws all I want it to, even primitives. It's my slave.

Right, you're better off using something like that anyway, as Damizean said.

Link to comment
Share on other sites

Maybe you should consider slowing down the speed with which the camera moves in front of you at higher speeds. It's a bit annoying when it does that back and forth.

Even more? It was a lot faster before. I can try to slow it down some. I really prefer the other camera though.

LarkSS, in order to fix the Parralax, instead of using the room backgrounds, draw them by yourself at the positions you want, it's as easy as that.

I tried that and it looked horrible. =/ I bet I was doing it wrong though.

I always use an object called 'parallax' or something at a very high depth. It draws all I want it to, even primitives. It's my slave.

Wouldn't using an object for the paralax just slow down the game? I also think it would end up doing the same as what I did. ( positioning wise ) I think I understand about how it moves before the view does. I tried positioning it at the end of the step, but that didn't help. How the heck do I get it to position after the view has moved?

Ah, the crapiness of that level hurts.

Harsh, yet true. Thanks for at least being honest. =P I really wasn't trying to make an awesome level, but rather showing what the engine can do and such. It's also hard to make a good level with the limited amount of objects I could use.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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