Sonic and Sega Retro Message Board: New Game Maker Studio Sonic Engine - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help
  • 5 Pages +
  • 1
  • 2
  • 3
  • 4
  • Last ►
    Locked
    Locked Forum

New Game Maker Studio Sonic Engine To tide us over until AeSthEte.

#16 User is offline Lapper 

Posted 14 July 2013 - 11:10 AM

  • Freelance Artist
  • Posts: 1204
  • Joined: 15-June 08
  • Gender:Male
  • Location:England
  • Wiki edits:111

View PostAeroGP, on 14 July 2013 - 11:08 AM, said:

This engine was designed so that I would not have to do those things. I will not be changing them.

Ok then. Good stuff.

Gunna have a great look through it, hopefully learn some things!

#17 User is offline .Luke 

Posted 14 July 2013 - 11:37 AM

  • An Overexcited Freedom Planet Fan
  • Posts: 1196
  • Joined: 30-March 12
  • Gender:Male
  • Location:United States
  • Project:Freedom Planet fan art and two sci-fi novels
I can't wait until I'm not broke and can buy a pro copy of GM 8.1, this looks really nice; I'll definitely give the compiled build a play next time I'm not completely glued to Linux. (Probably haven't booted into Windows in a month, or two; oh the updates that'll be waiting for me.)

While it's not something I can exactly use, since my own engine is specialized for external custom characters, externally built stages, and splitscreen co-op, I'm sure I could probably learn some new tricks from this, or add more features to it, when I get the chance to pick it apart. If what Mr Lange says about the physics is true, I'd like to see what makes it feel similar to Sonic 2.

View PostAeroGP, on 14 July 2013 - 11:08 AM, said:

View PostSonica, on 14 July 2013 - 11:06 AM, said:

Heres a couple of things:
  • A scaled-up collision mask makes sonic bump over the enlarged pixels as he goes down, you should calculate this position through maths, not the mask.
  • Sonic's mask should not always be that small. That small size should only be if Sonic is in a ball, or ducking. sonic should otherwise be 40 (?) pixels tall.



This engine was designed so that I would not have to do those things. I will not be changing them.


Is there a particular reason for that? O: I'm curious. Unless Game Maker 8.1's sprite collisions are handled differently from earlier versions, it seems odd not to handle collisions through math; collisions purely with a mask are jagged in behavior and aren't pixel perfect during movement, in my experience.

#18 User is offline AeroGP 

Posted 14 July 2013 - 11:44 AM

  • Posts: 98
  • Joined: 02-November 06
  • Gender:Male
  • Location:Los Angeles, CA
  • Project:Sonic: Time Twisted
  • Wiki edits:8
  • Fundamental design choice to separate this engine from AeSthEte.
  • Accomodates gravity directions other than 0 more easily and is easier to understand.


#19 User is offline Thousand Pancake 

Posted 14 July 2013 - 06:01 PM

  • Being a food you put milk on and then eat in the morning
  • Posts: 332
  • Joined: 13-May 09
Unfortunately, the engine will hang on startup on my computer (Lenovo Thinkpad Edge E420, Windows 7 Professional). This particular machine is quite tempermental with Game Maker's runtime.
This post has been edited by Thousand Pancake: 14 July 2013 - 06:09 PM

#20 User is offline .Luke 

Posted 14 July 2013 - 09:15 PM

  • An Overexcited Freedom Planet Fan
  • Posts: 1196
  • Joined: 30-March 12
  • Gender:Male
  • Location:United States
  • Project:Freedom Planet fan art and two sci-fi novels

View PostAeroGP, on 14 July 2013 - 11:44 AM, said:

1. Fundamental design choice to separate this engine from AeSthEte.


At least you were more successful with an alternative method for physics than I was. I tried a bobsled-esque mask that checked the terrain slightly ahead of the character. It technically worked great at slow speeds, and close to pixel perfect on landing, but the math that held it together, not so much. If you moved too fast, Sonic would fly right through the slope like water and slowly rise back up to the ground above it. (Still considering for enemy physics, however, since they don't move so fast, and it's much simpler than giving them dumbed down player character physics.)

Anyway, I'm glad you didn't bump into the problems I did, although I still worry this method could make Sonic fly right through a wall if moving fast enough. (The super characters in my own engine have a really high speed cap.) I should play the demo before I judge, though.

View PostAeroGP, on 14 July 2013 - 11:44 AM, said:

2. Accomodates gravity directions other than 0 more easily and is easier to understand.


By that do you mean different angles of gravity, (Like reverse gravity in Sonic & Knuckles' Death Egg Zone) or simple changes of direction while running along slopes? Sorry if that confused me, I'm not sure if you meant either of those.

#21 User is offline Overbound 

Posted 14 July 2013 - 09:27 PM

  • Posts: 547
  • Joined: 09-July 08
  • Gender:Male
  • Location:Iowa
  • Project:Sonic Time Twisted Graphics/Level Design
  • Wiki edits:236
You won't fly through the wall in this engine. I'm not sure if you can do it in the EXE version of this engine. But with the version I'm using hitting z,x set the xspeed to 128 and collision detection still works correctly.

#22 User is offline AeroGP 

Posted 14 July 2013 - 11:30 PM

  • Posts: 98
  • Joined: 02-November 06
  • Gender:Male
  • Location:Los Angeles, CA
  • Project:Sonic: Time Twisted
  • Wiki edits:8

View Post.Luke, on 14 July 2013 - 09:15 PM, said:

View PostAeroGP, on 14 July 2013 - 11:44 AM, said:

2. Accomodates gravity directions other than 0 more easily and is easier to understand.


By that do you mean different angles of gravity, (Like reverse gravity in Sonic & Knuckles' Death Egg Zone) or simple changes of direction while running along slopes?


The former. (It's not limited to just upside-down, either)

Also, what Overbound said.

Actually, I was able to reintroduce instance deactivation whereas originally I had it disabled due to the way Studio now executes it. In previous Game Maker versions, it was instant; now it doesn't update until the next step, so I couldn't check immediately after moving if the player was outside the deactivation range and extend it. To solve this, I took another page from DASH (this engine borrows a lot, you see) and had the deactivation range extended at the same time instances would normally be deactivated, so it will at least try to catch the player outside the view before he actually moves out.

It obviously doesn't work if the increase in movement speed is both huge and instant, so when you import the engine and start fooling around in debug mode, you can still end up falling to your death offscreen after hitting one of the debug test keys. (The build Overbound had still has deactivation disabled, so the issue simply doesn't occur) In practice, you shouldn't be letting the player reach a high speed that quickly anyways. Also, there are failsafes. You can specify that scene objects such as solids be ignored by the deactivation system individually, and therefore trade the memory overhead for better security if you really need it. You can also just limit how fast the player is allowed to move in the first place. (By default, it's already limited by the very generous amount of 128 pixels)
This post has been edited by AeroGP: 14 July 2013 - 11:33 PM

#23 User is offline .Luke 

Posted 15 July 2013 - 12:02 AM

  • An Overexcited Freedom Planet Fan
  • Posts: 1196
  • Joined: 30-March 12
  • Gender:Male
  • Location:United States
  • Project:Freedom Planet fan art and two sci-fi novels
Okay. ^^ Thanks for clearing that up. I'm having a time getting reverse gravity by itself to cooperate in my case, but I know it's possible.

And I'm glad you were able to work around that oddity with instance activation/deactivation. I didn't know that was an issue, so I need to be prepared for that when I get the chance to upgrade to Game Maker 8.1, especially for split-screen modes. (There's a way to use instance deactivation so that separate player objects only activate/deactivate the scenery around them, so co-op runs much smoother than in my last fan game.) Although it makes sense that the behavior remains the same as with old versions, while using your workaround.

In my last fan game built on Game Maker 7, I didn't have a speed cap for Super characters, so on certain zones, they were capable of flying well past the screen, into an empty area with no scenery objects, and die; so this was a problem in older Game Maker versions as well. That's partly why I didn't disable the speed cap on super characters in my new engine, and I think my speed cap is actually lower than your's for Super Sonic and Burning Blaze. (40, versus your 128; which I agree is generous. I couldn't even control speeds beyond 60 in play tests. *insert ludicrous speed GIF here*)

#24 User is offline KingofHarts 

Posted 15 July 2013 - 03:38 AM

  • Call me back when people stop shitting in the punch bowl...
  • Posts: 1480
  • Joined: 07-August 10
  • Gender:Male
  • Wiki edits:1
No luck with getting the gmz imported. It's saying there is an exception with the sound file... ??? Then all that loads up is a single sound folder stating <undefined>

#25 User is offline AeroGP 

Posted 15 July 2013 - 10:20 AM

  • Posts: 98
  • Joined: 02-November 06
  • Gender:Male
  • Location:Los Angeles, CA
  • Project:Sonic: Time Twisted
  • Wiki edits:8
... You both do realize this is for Game Maker Studio, right?

#26 User is offline MalcomX 

Posted 15 July 2013 - 01:37 PM

  • Posts: 20
  • Joined: 11-July 11
  • Gender:Male
This is the best engine out to date, and I'm so glad it's for Game Maker Studio, as I've been messing around in it for some time trying to get use to the changes from the 8.1 version. I didn't really notice anything off to me about it. Looking forward to the help documentation though, as I'm looking through the code and some of it is like alien language to me, with all the work-arounds from previous versions and all. :v:

#27 User is offline .Luke 

Posted 15 July 2013 - 01:42 PM

  • An Overexcited Freedom Planet Fan
  • Posts: 1196
  • Joined: 30-March 12
  • Gender:Male
  • Location:United States
  • Project:Freedom Planet fan art and two sci-fi novels
There's a difference? O: No way! *bricked*

I honestly find it really odd that Studio is not a re-branded 8.1 or above. I'm guessing there's probably no way to import older Game Maker source files into that too, (Or really painful to port over an existing source file, and fix all the little nuances in syntax differences between versions of Game Maker.) so I can see why you created an engine specifically for Studio. If I can avoid going through flaming hoops to activate a copy of 8.1, and exporters to other platforms, I might skip that version of Game Maker if it has Steam DRM attached. I don't have enough RAM on this laptop to leave Steam running in the background all the time while working on projects, since it's a bigger memory hog than Skype, so yeah.

View PostThousand Pancake, on 14 July 2013 - 06:01 PM, said:

Unfortunately, the engine will hang on startup on my computer (Lenovo Thinkpad Edge E420, Windows 7 Professional). This particular machine is quite tempermental with Game Maker's runtime.


This might be an obvious question, but do you have Visual C++ libraries installed? (There are 64-bit and 32-bit editions of it. That's why I can run Dolphin on Linux, but not Windows 7 past the emulator's startup, because I installed the wrong version of that library for my architecture, 64-bit.) Pretty sure you do if you play lots of games on it, but I felt the need to toss that one out there, since Game Maker is written in C++ now instead of Delphi. So I wouldn't be surprised if it was dependent on Visual Studio libraries, or something else entirely, for the Windows version.

#28 User is offline Covarr 

Posted 15 July 2013 - 02:06 PM

  • Sentient Cash Register
  • Posts: 3253
  • Joined: 05-February 07
  • Gender:Male
  • Location:The desert of nowhere, USA
  • Wiki edits:1
Studio is essentially GM9... but they changed enough under the hood that they didn't want to just use the old name. It also doesn't require Steam unless you buy it on Steam. If you buy it directly from YoYo games, you can bypass Steam entirely.

#29 User is offline Overbound 

Posted 15 July 2013 - 02:13 PM

  • Posts: 547
  • Joined: 09-July 08
  • Gender:Male
  • Location:Iowa
  • Project:Sonic Time Twisted Graphics/Level Design
  • Wiki edits:236
I've never had issues importing projects from GM8 into GM:Studio. Studio can even import from Game Maker 6, but don't expect those files to work without modification. Oh and game maker studio doesn't yet work with extensions.
This post has been edited by Overbound: 15 July 2013 - 02:14 PM

#30 User is offline .Luke 

Posted 15 July 2013 - 03:08 PM

  • An Overexcited Freedom Planet Fan
  • Posts: 1196
  • Joined: 30-March 12
  • Gender:Male
  • Location:United States
  • Project:Freedom Planet fan art and two sci-fi novels
That's good to know, guys. ^^ That explains why importing a Studio source file into Game Maker 8 doesn't work; I had no idea where Studio was standing in version numbers. Yet another reason it's good to see a Studio engine for Sonic fan games. Porting engines around between different versions of Game Maker can be a real pain, especially back-porting, (Yeah, I actually back-ported my fan game engine from v7 to 5.3a for various reasons, and that was a two week nightmare just getting it to boot, ouch.) and that would be kinda scary for a lot of newbies.

Didn't mean to derail the topic a bit over there, but I'd probably buy it direct from YoYo Games website, if I was stuck between a choice of GM 8.1 or Studio. Either doesn't sound too bad right now, besides the lack of extensions for the latter, but I've never needed them so far anyway. (Although if 8.1's extensions give me lots of options, that would be pretty tempting.)

  • 5 Pages +
  • 1
  • 2
  • 3
  • 4
  • Last ►
    Locked
    Locked Forum

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users