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

Open Source Sonic 3 Game Maker Engine


Recommended Posts

Hi guys,

I just wanted to release this engine since I haven't really done much with it. I had lost it last summer due to an HD crash and luckily Rael helped me recover it.

It doesn't have as many gimmicks as worlds or anything, but has all of the bare essentials that you might need in terms of the physics, shields, rings, being crushed, pushing objects, etc and it is at least much better/complete than my last MMF engine. I started a boss battle system as well but had been working on the destruction sequence when it became corrupted *pun intended :P*.

After learning C++/Java I kind of got a little frustrated with the speed issues and GM's limited level editor; it does require a pretty fast processor as MMF/GM games do, especially with Sonic & Tails and water enabled.

There are a few optimizations that can be made but I kind of lost touch/my desire to work on this... I might pick it up again and maybe port it to Android if I find a reliable library but for now it doesn't really perk my interests.

Of course I have to mention this: if you use it, please be considerate and give due credit :D Would love to hear if this helps anyone out.

http://www.mediafire.com/file/22jqk734wj92v1m/sonicplatformreleasev10.gmk

Link to comment
Share on other sites

Well, engine is very good. Except ring scatter physics. Where and why you take it?

I recommend you use this for ring scatter

{
var angle, n, sp, t;
angle = 101.25
n = -1
sp = 4
t = 0

while t<[number of rings]
{
i=instance_create([x],[у],[ring object])
i.vspeed=-sin(degtorad(angle))*sp
i.hspeed=cos(degtorad(angle))*sp
if n=true
{
i.hspeed=i.hspeed*-1
angle+=22.5
}
n = -n
t+=1
if t=16
{
sp=2
angle = 101.25
}
}
}[/CODE]

and for physics something like in Damezian ring-loss example

Link to comment
Share on other sites

  • 2 weeks later...

1001: The reason I decided to do the ring loss this way was because it seemed more accurate to S3&K and played a bit better with the gameplay... Me and Damizean have worked together before(MMF 360 engine) so I actually took what I remembered from that one and tried to make one that played a bit better. I actually had talked about it on the blogspot for the engine www.corruptedchaos.blogspot.com (sorry if this seems like an ad, its not completely meant to be).

But thanks for the criticism anyway, if people aren't paying attention to these thigns we wouldn't have gotten this far with fangaming(well mainly I'm thinking back to the days when I used to bitch at Diablo for calling the 8 dir engine as static haha those were funny times) :D Also thanks for the comments guys. Btw: UltimateChaos: THANKS SO MUCH MAN! It made me really happy to see that. I actually always wanted to make a youtube video of the engine but didn't know how. Rael helped me get the intro that Cinos made for the project back in highschool so I may put it up as well. Really really appreciate that!!! **posts on FB lol** I may pick this up again too. The reason I stopped working on it was the level editor, so I started to program a new one in Java that interacts with GameMaker somehow... the thing is I need to start prepping my resume since I'll graduate in a year and a half so I've been focusing on Android but maybe I can do something with that? bah who knows.

Link to comment
Share on other sites

I'd definitely would love to see you continue this. Despite me being a MMF2 user. I still would like to see how accurate this could get. That said, I wonder if you could do this in MMF2. Since, I prefer your physics to most engines. Did you make the 360 engine yourself by the way?

Link to comment
Share on other sites

Unlimited: yeah, I did. The base engine should be completely portable to MMF2 aside from certain things like multiple character support. MMF2 is also quite a bit slower. The difference between this and the one I made in 2004ish is that I paid a lot more attention to the specifics; for example, I'd put it side by side with an emulator. My math is a little bit better than it was in HS since I never paid attention then in class lol... I also did the rolling speed algorithm quite a bit differently. Don't really remember the details tho .__. The blog might be able to speak a bit more than I can on any of these things but I started the base engine 3 years ago or so and picked it up from there again this summer... maybe that's why this one is more accurate(was a little bit more enthusiastic since I didn't start from scratch the second time around). Also Gopherbound: It isn't documented but I did go through quite a bit to make sure it was more organized... well then stuff I usually do lol. I also started to document out some extra stuff in a script separate from the code.

Link to comment
Share on other sites

Awesome, I'd love to see a port. Would make a change from SonicWorlds I must be honest.

Er sorry man I kinda completely quit MMF a long time ago(really hated all of the variable boxes and the event system). Tbh I don't even really want to work in Game Maker because of speed/portability issues, although its the closest type of flexibility I can get to C++/Java without hard coding everything. If anyone else wants to port to MMF2 feel free as long as they give credit of course... was just explaining that it is possible :)

Link to comment
Share on other sites

Pretty cool engine. Gamemaker never ceases to confuse me though. I was messing around with another engine that I'm not going to name right now, and it would stagger on this computer in spite of it being a friggen power house. Meanwhile this runs about twice as fast as it should be. In both cases the games seem to be causing hardcore thrashing with an average of 30,000 page faults per second, but only on my main computer. On my laptop, there is an occasional blip of about a thousand or so page faults with any game maker game, but other than that it's generally very very low.

At first I thought it might be related to directsound, but thinking about it that made less than a lot of sense because that would most likely be causing a uniform performance degradation across all games, so that leaves me thinking it's gotta be something else.

Link to comment
Share on other sites

I agree w Winnie. My old laptop that I started the project on(1.6ghz maybe?) blasted through this engine. My newer(yr and a half old now) dual core 2.2ghz has a hard time with it with Tails enabled. I really think it has something to do with graphics acceleration though. Its really weird. I know that whatever is slowing it down is REALLY slowing it down because on certain computers it runs 5x as fast as something made in MMF. Of course, this is just another reason why I kinda abandoned both. It really sucks to have no idea how your game will run on one computer with the same OS vs another. Probably worse than my current problem of trying to figure out how to work with mobile phones' 1000s of variations w hardware even -_-

Link to comment
Share on other sites

Only part that caused any slow down for me was the Water Ripple on my other computer. When I removed the image, it was completely fine. You would think these days though for what technology is. That shit would run more efficiently and faster right? I mean, most companies are behind. Take Clickteam for example. We was supposed to see Multimedia Fusion 3 in 2009... I guess we got what we got though.

Link to comment
Share on other sites

I would've assumed RC looked at the Physics Guide.

Thanks man but I actually didn't look at that lol xD Actually I had gotten all of the base movement values like acceleration, decelleration, etc from sonic retro and then adjusted certain things like max speed because I figured it could be more fun w minor changes. Also, contrary to popular belief the dis-assembly for certain things are not 100% accurate because they don't take into account changes in deccel/accel under all circumstances and angles... that is probably the main difference in this engine(there are some exceptions in S3&K to standard accel/deccel formulas depending on whether you're between 0-22 or 22-45, and then whether rolling, going backwards, etc.)

After working on the base engine for so long I was kind of antsy to get other features rolling in(spikes, pushing objects, etc) so I stopped looking at the guide and just loaded an emulator since I found that more interesting to program based on perception than to have everything just laid out like that.

The ringloss... All I knew was I tried to make it like the genesis version and then it really sucked for areas that were really enclosed by bounds. Soo I figured what the hell and just programmed it in a way that made it work best for collection of rings when you lose them to make it fair. It would have helped to look at the ring loss link you gave me but I found most fun in learning on my own.

Of course, this is open source! If you would like to update and change it, please do and re-release a newer version... if we agree on it then we can just use that from now on. I am all for that!!! : )

Link to comment
Share on other sites

  • Recently Browsing   0 members

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