Author Topic: I Wanna Be the Engine KS Edition (For GMStudio)  (Read 56958 times)

klazen108

  • Administrator
  • The Kid
  • Posts: 286
  • your a kid now your a squid now
  • OS:
  • Windows 8.1/Server 2013 Windows 8.1/Server 2013
  • Browser:
  • Chrome 42.0.2311.152 Chrome 42.0.2311.152
    • View Profile
    • Delicious-Fruit
  • Playstyle: Keyboard
I Wanna Be the Engine KS Edition (For GMStudio)
« on: May 18, 2015, 10:23:47 PM »
Hey Guys!

You may have heard that GM8.1 is rip... I think I speak for everyone when I say: :BibleThump: However, this marks the beginning of a new era in fangame development... Sephalos and I have joined forces to bring you a new Fangame Engine, this time for Game Maker Studio!

Game Maker Studio is completely free and quite stable (no more asking around for downloads, or having glitchy GM8 crashes). I took the existing GMS engine on the wiki, and gave it some tender lovin' care. Then, Seph joined forces with me to do some work of his own! Here's a selection of things you'll find:
  • Physics fixes - the infamous Zurai Strats still work, and you can't get stuck in blocks, nor can spikes in blocks kill you.
  • Added an extension to save your save files to the same directory as the game
  • Included a little overlay that displays your deathtime in the game - useful if you have the free edition of GMS and can't update the window caption, and completely optional!
  • If you're used to the Seph engine, you'll be used to this one - We tried to structure it the same way!
  • It comes with a nice main menu, complete with control bindings and other neat features, ready for you to customize!
All of this on top of the new GMS platform, which gives you better performance and neat new features!

However, we'd like to ask you for your help now. We're pretty much ready to release, but we want to get some feedback from developers in the community on the physics and features we've developed for you. If any of you would like to help us make the best engine we can, please try it out and let us know what you think!

Note that we don't recommend you start any big projects with this engine just yet... while everything seems like it works, it could use a bit of testing to confirm that it's 100% stable and correct. Develop at your own risk!

Download the v0.961 Beta version of the KS Engine here!

NOTE: Make sure to use the "zip export" mode when compiling your final game! You need this in order for save files to appear in the same folder as your game. I don't think that's an option with standalone executable mode. If you still want to use a standalone executable, you'll have to standby until I can test and verify a method to put save files back into the AppData folder, right now they're being put in the temp folder where your game is being extracted to!

NOTE 2: This engine was developed and tested in GM Studio version 1.4.1567. I have received confirmation from yoyogames that collision detection behavior is changing for version 1.4.1598. if you use KSv0.9 or earlier in GMSv1.4.1598, no walkoff aligns will work, and spikes in blocks will kill you. Therefore, if you're using version 0.9 or earlier of the KS engine, you must use GM Studio version 1.4.1567. I am working on a fix for 1.4.1598, and I'll maintain both versions until 1.4.1598 is officially released.

Changelog:
Code: [Select]
v0.96:
-New physics engine to better match the standard Yuuutu-type physics without bugs (thanks to YoYoYoDude1!)
-Inability to bunnyhop / getting stuck in screen transitions should be fixed thanks to above
-Fixed misplaced GUI in fullscreen mode and at top of screen in general
-Cleaned up many unnecessary objects/sprites/sounds
-Added more comments in code
-Added vines

v0.9:
-Fixed roomChanger crash when walking between rooms
-Fixed player getting sucked into blocks if a platform is placed next to it

v0.8:
-Fixed walkoff aligns for all spikes
-Fixed deathtime GUI being out of place if the room scrolls
-Fixed bug with platforms that caused the player to get stuck if next to a block

v0.7:
-Added minispikes, miniblocks (note: walk-off align seems bugged for leftward-facing minispikes)
-Menu now reflects the correct keybinds for accept/back
-Added editor-only icons
-Added saveblocker object
-Fixed blood sticking to corners in midair
-Moved blood in front of spikes
-Added ability to enable/disable difficulty select

v0.6:
-Fixed music restart on F2
-Fixed sndCherry, sndBlockChange, sndBossHit missing from engine
-Added savefile indicator in main menu
-Corrected views (should be all 800x600 now)
-Added 'readme's to many objects
-Other minor fixes/alterations

v0.5:
-Intial beta release

                           please helperoni
                                                             we do this shit for you guys
                                             we fixeroni
« Last Edit: September 03, 2015, 08:23:10 PM by klazen108 »

Sudnep

  • Global Moderator
  • Spike Dodger
  • Posts: 124
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 42.0.2311.152 Chrome 42.0.2311.152
    • View Profile
  • Playstyle: Keyboard
Re: I Wanna Be the Engine KS Edition (For GMStudio)
« Reply #1 on: May 18, 2015, 10:37:08 PM »
  • If you're used to the Seph engine, you'll be used to this one - We tried to structure it the same way!

     :Kreygasm: :Kreygasm: :Kreygasm: :Kreygasm: :Kreygasm: :Kreygasm:
    SEPH ENGINE
     :Kreygasm: :Kreygasm: :Kreygasm: :Kreygasm: :Kreygasm: :Kreygasm:


pieceofcheese87

  • Global Moderator
  • The Kid
  • Posts: 346
  • Personal Text
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 42.0.2311.152 Chrome 42.0.2311.152
    • View Profile
    • Twitch Tv Channel
  • Playstyle: Keyboard
Re: I Wanna Be the Engine KS Edition (For GMStudio)
« Reply #2 on: May 18, 2015, 10:39:56 PM »
thank god
Signature

lawatson

  • The Kid
  • Posts: 331
  • I do things and I make things.
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 42.0.2311.152 Chrome 42.0.2311.152
    • View Profile
  • Playstyle: Keyboard
Re: I Wanna Be the Engine KS Edition (For GMStudio)
« Reply #3 on: May 18, 2015, 11:31:28 PM »
thanks based klazen-jesus
(click to show/hide)

smoke weed everyday

ilvpag

  • Guest
Re: I Wanna Be the Engine KS Edition (For GMStudio)
« Reply #4 on: May 19, 2015, 01:39:06 AM »
Bugs I've found:
  • F2 does not restart the music and just plays another instance of it
  • Saves cannot be loaded from the file select menu, but do work in game
  • There is no indicator of which save you're on in the file select menu
Some suggestions:
  • Replace the maskBlock sprite with one that doesn't have a black border
     to avoid odd scaling on darker tiles like this:
  • Keep settings + views on all pre-made rooms equal to each other (rStage01 has 800x600 view, but rStage02 has 800x608)
  • Reorder the cherries in ROYGBIV order (this is extremely minor)
  • Change the default icon to the red ball that most fangames use (definitely up to you)

This is a very nice engine and has no noticable difference in physics compared to the seph engine for GM8.1 and to test this I recreated one of the rooms from loner
(click to show/hide)

and was able to clear it with no problems :) p.s. I have a feeling this will be the go-to engine once polished for an official release :Kreygasm:

Also little question:

Will you be creating a little quick start guide for using GM:S after coming from GM8.1 to include with the engine? I'm not too familiar with GM:S and kept forgetting that you have to hit the green check mark on an editing window before running the game or no changes would be seen :P so it would be kind of cool if you could put together some small changes that new GM:S users can look out for (especially ones that would affect people who are only familiar with the I wanna engines)

« Last Edit: May 19, 2015, 01:53:31 AM by ilvpag »

Sephalos

  • Spike Dodger
  • Posts: 228
  • OS:
  • Windows Vista/Server 2008 Windows Vista/Server 2008
  • Browser:
  • Chrome 42.0.2311.152 Chrome 42.0.2311.152
    • View Profile
  • Playstyle: Gamepad
Re: I Wanna Be the Engine KS Edition (For GMStudio)
« Reply #5 on: May 19, 2015, 07:16:51 AM »
Saves cannot be loaded from the file select menu, but do work in game
This will work once you create a exe file. For some reason GM:Studio only creates a temp folder for save files while testing. If you need to do more extensive testing I would reccomend you create warps to key locations or use the dev tools during the development phase.

I approve most of the rest of the suggestions, thank you for the extensive testing.

klazen108

  • Administrator
  • The Kid
  • Posts: 286
  • your a kid now your a squid now
  • OS:
  • Windows 8.1/Server 2013 Windows 8.1/Server 2013
  • Browser:
  • Chrome 42.0.2311.152 Chrome 42.0.2311.152
    • View Profile
    • Delicious-Fruit
  • Playstyle: Keyboard
Re: I Wanna Be the Engine KS Edition (For GMStudio)
« Reply #6 on: May 19, 2015, 10:51:53 AM »
Thanks ilvpag for trying it out! Glad to hear you didn't run into any issues. I've implemented all the suggestions/bugfixes you mentioned.

As an aside, if you want your savefiles accessible during development, there is a hack available to you:
(click to show/hide)
You can change the EXECUTABLE_DIRECTORY macro to whatever folder you want, and it will save the files there. But be careful, make sure you put it back to working_directory before you release your game! I may add a warning message to objDEBUG if EXECUTABLE_DIRECTORY != working_directory, just as a reminder.

Edit: Oh! And about that "switching over" guide... Sadly I'm now 100% used to GMS and so I've kinda forgotten some of the differences :P However, I do know a few big things, like the creation event order between GM8.0 and GMS, the inability to make variables default to 0, the need to specify single executable when compiling your final game... and if there's anything anyone else remembers giving them a hard time, please let me know! I'd be happy to write an update guide, especially since I plan to rewrite my "getting into fangame development" guide to use this engine as its base.

patrickgh3

  • Spike Dodger
  • Posts: 169
  • stay optimistic! :D
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 42.0.2311.152 Chrome 42.0.2311.152
    • View Profile
    • Github
  • Playstyle: Keyboard
Re: I Wanna Be the Engine KS Edition (For GMStudio)
« Reply #7 on: May 19, 2015, 06:29:58 PM »
Like everyone else, I'm happy this is a thing, and I'm excited to use GM:S for making fangames! Great job on the engine! Here's a list of a bunch of my suggested changes / ideas, most of which are minor.

  • I think it would be nice to include the block mask sprite from Lemon(?)'s engine, which I much prefer than the X, as an option to use instead of the X. While we're at it, we may as well include bordered and borderless versions of both the X and square sprite, since I think I would prefer to use the bordered one and just not stretch any blocks. https://imgur.com/a/kQ71c
  • Thanks Seph for adding some editor-only icons like I asked. I have some new ones here, you don't have to use them https://imgur.com/a/XytHG
  • For editor-only sprites like above, I like to put them in a folder called "editor," especially if there are a lot of them. It's better than having them scattered about.
  • In the menu (great job with that) where it says [Z] back and [Shift] accept, these texts don't change if you change your controls for jump or shoot.
  • I think it would be nice to include the classic "red orb" game icon, just packaged along with the engine, in case people want to use it; the gm:s icon could still be default. (ilvpag suggested this as well)
  • Have a short help file (ideally translated in multiple languages) explaining how to create a standalone executable instead of an installer, since we don't want no installers on the wiki. It might also be nice to have a short list of tips to help people transition from from GM8 fangame engines to the GMS engine. (ilvpag suggested this as well)
  • Not sure about this, but what about miniblocks and minispikes being there? I vaguely remember there being an issue with spikes and miniblocks by default, and including them with the fix in the engine might be nice.
  • Would be nice to have a saveblocker object by default. Here's an icon: https://imgur.com/Tze8Q4X
  • Here's a fix for the blood getting stuck midair on block corners (like this https://prntscr.com/775f3a): https://prntscr.com/775e6m
  • I think it might look nicer if the blood was in front of the spikes. This is the way most fangames do it iirc.
Bigger ideas

  • I wonder if it would be better to only have one difficulty by default, but with an option to enable the difficulty select menu. I personally think the trend of having only one difficulty is a good one, and having new fangame makers start with that by default would be nice. Thoughts?
  • I wonder if there could be a pause menu system just like now most normal non-fangames have, instead of the game closing when pressing escape. I think having this in by default might be nice. However, this would be inconsistent with how all other fangames have worked, which would be confusing. Thoughts?
  • A localization system might be really great! Scripts for localizing both text and sprites would make it easy for people to localize their games. Here's a script I made for the piecewise collab compilation game: https://prntscr.com/774wlf A script for strings would be the same format (cause GM:S supports unicode!! yay!). Note you could swap the order of the switch statements, i.e. the first one is sprite and the nested one is language. One ordering makes it easy to add new languages, one makes it easier to add new sprites (probably better for a base engine like this one). There could be an option in the options menu to switch languages. I think this is a good idea; thoughts?

EDITS:

  • It would be nice to have an auto-spike-rotate script, like Nikaple's engine has, along with a sample sprite and objects to show how it works. https://pastebin.com/H507Vdwr ----- https://prntscr.com/777l1c
  • Maybe it would be nice to include good scrolling camera that follows the player?
« Last Edit: May 20, 2015, 07:09:39 PM by patrickgh »

Starz0r

  • Owner
  • The Kid
  • Administrator
  • Posts: 343
  • Hall Of Fame
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 44.0.2403.4 Chrome 44.0.2403.4
    • View Profile
  • Playstyle: Keyboard
Re: I Wanna Be the Engine KS Edition (For GMStudio)
« Reply #8 on: May 19, 2015, 10:44:23 PM »
This would also be a great time to implement my algorithm for 60fps+ fangames. I might see if I can figure out delta time so the game's fps is determined by the computer hardware itself.

Mr Wonderful

  • Wannabe
  • Posts: 25
  • OS:
  • Windows 8.1/Server 2013 Windows 8.1/Server 2013
  • Browser:
  • Chrome 43.0.2357.65 Chrome 43.0.2357.65
    • View Profile
  • Playstyle: Keyboard
Re: I Wanna Be the Engine KS Edition (For GMStudio)
« Reply #9 on: May 20, 2015, 11:52:55 AM »
600 instead of 608? DansGame

Sudnep

  • Global Moderator
  • Spike Dodger
  • Posts: 124
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 42.0.2311.152 Chrome 42.0.2311.152
    • View Profile
  • Playstyle: Keyboard
Re: I Wanna Be the Engine KS Edition (For GMStudio)
« Reply #10 on: May 20, 2015, 01:15:04 PM »
1024x768 or riot

klazen108

  • Administrator
  • The Kid
  • Posts: 286
  • your a kid now your a squid now
  • OS:
  • Windows 8.1/Server 2013 Windows 8.1/Server 2013
  • Browser:
  • Chrome 42.0.2311.152 Chrome 42.0.2311.152
    • View Profile
    • Delicious-Fruit
  • Playstyle: Keyboard
Re: I Wanna Be the Engine KS Edition (For GMStudio)
« Reply #11 on: May 20, 2015, 09:29:01 PM »
I'd love to go to a larger resolution too, but I feel like we're already up against enough pressure just switching to GMStudio :P maybe we could make an experimental engine with some new stuff to release alongside the basic version!

Sudnep

  • Global Moderator
  • Spike Dodger
  • Posts: 124
  • OS:
  • Windows 8.1/Server 2013 Windows 8.1/Server 2013
  • Browser:
  • Firefox 38.0 Firefox 38.0
    • View Profile
  • Playstyle: Keyboard
Re: I Wanna Be the Engine KS Edition (For GMStudio)
« Reply #12 on: May 21, 2015, 02:53:40 AM »
Can I suggest adding something similar to the SetGlobalOption in yuutu? It's nice having globally changed things toggle able on and off from a single spot.

klazen108

  • Administrator
  • The Kid
  • Posts: 286
  • your a kid now your a squid now
  • OS:
  • Windows 8.1/Server 2013 Windows 8.1/Server 2013
  • Browser:
  • Chrome 42.0.2311.152 Chrome 42.0.2311.152
    • View Profile
    • Delicious-Fruit
  • Playstyle: Keyboard
Re: I Wanna Be the Engine KS Edition (For GMStudio)
« Reply #13 on: May 21, 2015, 08:45:37 AM »
Can I suggest adding something similar to the SetGlobalOption in yuutu? It's nice having globally changed things toggle able on and off from a single spot.

The first room/room caption is set in initSetGlobals, and the controls/in game settings defaults are set in load_globals. If there are any specific items you'd like to add to initSetGlobals, let me know and I'll put them there! I agree that having big things accessible separately from the rest of the game is incredibly helpful, especially when it's your first time in a new engine.

Sudnep

  • Global Moderator
  • Spike Dodger
  • Posts: 124
  • OS:
  • Windows 8.1/Server 2013 Windows 8.1/Server 2013
  • Browser:
  • Firefox 38.0 Firefox 38.0
    • View Profile
  • Playstyle: Keyboard
Re: I Wanna Be the Engine KS Edition (For GMStudio)
« Reply #14 on: May 23, 2015, 03:17:02 AM »
Dev Tools [toggle / keybind toggle]
(click to show/hide)
Starting Room
Version Number [toggle]
Save File Location
Config File Location
External Music Folder Location(?)
Game Name

I can't think of anything else at the moment that is relatively useful to have in a global config script. The last thing I could think of is being able to change what the default keybinds are but that's pretty whatever and almost nobody ever does that.
« Last Edit: May 23, 2015, 03:23:49 AM by Sudnep »