don't click here

New Game Maker Studio Sonic Engine

Discussion in 'Fangaming Discussion' started by AeroGP, Jul 14, 2013.

  1. Overbound

    Overbound

    Member
    607
    21
    18
    Iowa
    Sonic Time Twisted Creator
    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.
     
  2. AeroGP

    AeroGP

    Member
    130
    1
    18
    Los Angeles, CA
    Sonic for GameMaker: Studio
    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)
     
  3. Lilly

    Lilly

    Member
    2,462
    269
    63
    United States
    Shang Mu Architect
    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*)
     
  4. RetroKoH

    RetroKoH

    Member
    1,735
    118
    43
    S1Fixed: A successor to ReadySonic
    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>
     
  5. AeroGP

    AeroGP

    Member
    130
    1
    18
    Los Angeles, CA
    Sonic for GameMaker: Studio
    ... You both do realize this is for Game Maker Studio, right?
     
  6. 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:
     
  7. Lilly

    Lilly

    Member
    2,462
    269
    63
    United States
    Shang Mu Architect
    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.

    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.
     
  8. Covarr

    Covarr

    Sentient Cash Register Member
    4,233
    3
    18
    Trapped in my own thoughts.
    Two stageplays, a screenplay, and an album
    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.
     
  9. Overbound

    Overbound

    Member
    607
    21
    18
    Iowa
    Sonic Time Twisted Creator
    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.
     
  10. Lilly

    Lilly

    Member
    2,462
    269
    63
    United States
    Shang Mu Architect
    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.)
     
  11. Tiller

    Tiller

    Member
    836
    0
    16
    HDK & World Runner
    I managed to slip through a wall and into the animal capsule point once while jumping after hitting warp speed on the circle. I can't replicate it again. The engine is holding up against all stuff I'm trying to break it with. Again very impressive.

    Forgive my ignorance but how easy would it be to go 16:9 or widescreen with gamemaker? I still don't have much experience with it.
     
  12. Lilly

    Lilly

    Member
    2,462
    269
    63
    United States
    Shang Mu Architect
    Very easy, actually. Views can be expanded slightly beyond the basic 320x240, for more in-game pixels visible on camera, so that it stretches properly on a 16:9 screen, and GML give you a lot of flexibility too. If you're up to giving the end user lots of options in the GUI, you could support most resolutions under the sun, and provide custom options too.

    Edit for better clarity, oops.
     
  13. Question. I see it looks as if there's support for the partner following (I.e Sonic & Tails together), but I get this error every time:

    Code (Text):
    1. ############################################################################################
    2. FATAL ERROR in
    3. action number 1
    4. of  Step Event0
    5. for object objPlayer:
    6.  
    7. Push :: Execution Error - Variable Get -1.state_release(100005, -1)
    8.  at gml_Script_input_check_released (line 1) - with objProgram.controller[argument0] return state_release&argument1;
    9. ############################################################################################
    10. --------------------------------------------------------------------------------------------
    11. stack frame is
    12. gml_Script_input_check_released (line 0)
    13. called from - gml_Script_player_state_fall (line 14) - return false;
    Maybe the system isn't complete yet? Or maybe I'm forgetting to set another variable?
     
  14. Overbound

    Overbound

    Member
    607
    21
    18
    Iowa
    Sonic Time Twisted Creator
    Partner follow is not finished. I'm not sure if AeroGP is planning on finishing it or not.

    My version of the engine already has widescreen.
    [​IMG]

    AeroGP changed it not me. But it's my understanding that you can just change the view size from the creation event for objScreen. I haven't actually tried it myself though.
     
  15. Lilly

    Lilly

    Member
    2,462
    269
    63
    United States
    Shang Mu Architect
    It shouldn't be hard to finish, and if I had Game Maker Studio right now, I'd probably play around with it myself. I had an easy enough time making a partner follower on my engine. It was mostly spawning a second copy of the player object, storing object IDs of both in variables, telling it upon creation, using its ID number, that it was Player 2, (So it would ignore the controls code, which I handled entirely in the step event.) defining which character skin it was going to use, and giving it its own code for following Player 1 in the step event, and this could only be triggered if the player object knows it's defined as Player 2.

    The only annoying side effect, after implementing it, was having to make sure the rest of the engine was exclusively calling for Player 1's actual object ID, instead of obj_player directly, and when Player 1 needed help from 2, calling it by its actual ID; otherwise both players would be called and screw with the simplest of gimmicks, like swingable vines or Tails' ability to grab Sonic.

    So yeah, not much to do, really. I didn't even need a second variant object for Player 2. Just spawning a slightly gimped player object, guided by my poor excuse for AI logic (Tails will think to jump if Sonic is ahead of him, and short wall is in his way; mostly simple stuff like that.) and input delays from Player 1. Although it's still something you always have to consider when writing code for any object that interacts with the player, (Like monitors and enemies.) so store their IDs in a way that's convenient for most objects to obtain whenever the players are alive, otherwise it will get very annoying to make even something simple as a pulley or door cooperate.

    Outside of all that, you'd also have to worry about the follower flying out of view, and outside the instance deactivation range, as well, but with flying characters, writing a way for them to respawn is pretty easy. Although you can have non-flying characters drop in from above with falling animations as well.
     
  16. AeroGP

    AeroGP

    Member
    130
    1
    18
    Los Angeles, CA
    Sonic for GameMaker: Studio
    @... well basically everyone: Adjusting the screen size is as simple as changing objScreen's width and height variables in the create event.

    EDIT:

    @MalcolmX: Scratch what I wrote before.

    Code (Text):
    1. // add controllers
    2. controller[0] = instance_create(0, 0, objInput);
    3. controller[1] = -1;
    Game Start of objProgram. Change -1 to noone.

    Or instance_create(0, 0, objInputDummy).
     
  17. Mr Lange

    Mr Lange

    A wise guy eh. I know how to DEAL with wise guys. Member
    1,286
    12
    18
    The Land of Waldos
    Sonic Utopia, Sonic Overture
    It's apparently in some weird "HTML5" format, .gmz, and refuses to import in Game Maker Studio.
    Can you export this to a normal Game Maker project?
     
  18. RetroKoH

    RetroKoH

    Member
    1,735
    118
    43
    S1Fixed: A successor to ReadySonic
    ...Yes. Again, I cant get it to port under Studio... I get the same result each time.
     
  19. AeroGP

    AeroGP

    Member
    130
    1
    18
    Los Angeles, CA
    Sonic for GameMaker: Studio
    Does it give an error code, or is it simply not showing up in the dialog box?

    I don't know what to tell you. I haven't encountered this problem before.
     
  20. Mr Lange

    Mr Lange

    A wise guy eh. I know how to DEAL with wise guys. Member
    1,286
    12
    18
    The Land of Waldos
    Sonic Utopia, Sonic Overture
    Edit: Solved via PM, thanks Overbound.