Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics

PolyCrunch Games

A member registered Aug 18, 2019 · View creator page →

Recent community posts

Hmmm, it doesn't happen on older projects or inn a new project, even if it's created with the latest GM 2023.4.
Tomorrow I will try to send you a small repro of the project where it happens.


I've noticed the latest build, when finding a reference to some function, it is spawning me 3 tabs. The first 2 tabs are empty.

Also, a nice feature I use very often is to edit code in the search results tab, and then save which automatically patches all the files. But this doesn't work anymore.

These related issues are happening both on Win and Mac builds.



When I'm running server.exe, I'm getting this error:

Called from line 60
Uncaught exception - load.c(237) : Failed to load library : zlib.ndll

I tried searching for zlib.ndll even in the yymps zip file, but couldn't find it.

Ooops... I thought it was a GMEdit issue. Sorry. I updated the builder plugin and it works fine. (I have now added notifications for any change on that github :) )

I downloaded todays build this morning, but still I was seeing -1 in stack traces. Shall I send you a repro project?

(1 edit)

That fixed it thanks


I noticed then when running in GMEdit using the nommin builder from your fork, I'm getting line -1 as line numbers in the stack trace. (But they are proper line numbers when run in GameMaker). Just wanted to let you know.

Hi YAL, sent you a repro project to your email. Hope it helps.

Since I cleared the touched changes from git, I will need to wait for GM to touch the objects. Didn't manage to reproduce yet. Will ping you here when it happens again.

Not sure if the latest update should have fixed the issue, but just in case, I'm still getting errors when searching files touch by GM, e.g.

/* Errors:
Failed to modify obj_Player:
TypeError: Cannot read properties of undefined (reading 'name')
Failed to modify obj_Throwable:
TypeError: Cannot read properties of undefined (reading 'name')

If you need me to send you the touched files, let me know.

As a workaround for now, don't let GM touch the yy files. I'm reverting them whenever they are touched by GM.


I have a very rare weird crashing in the game, and I wanted to make sure there wasn't any memory screw ups with data structures. So I converted the project manually with some patience and regex.

But I'm getting a crash on boot up, no code from the very first two objects in the first scene is being executed, as the two objects output a debug log, but nothing is shown besides:

Igor complete.

[Run] Run game

C:\ProgramData/GameMakerStudio2/Cache/runtimes\runtime-2022.6.0.23/windows/Runner.exe  -game "C:/"

Setting scheduler resolution to 1

Attempting to set gamepadcount to 12

DirectX11: Using hardware device

Collision Event time(microsecs)=1762

And then I just get a dialog (I couldn't paste the image apparently), saying:

Micrsoft visual C++ Runtime Library:

Runtime Error!


This application has requested the Runtime to terminate it in an unusual way.

Please contact the application's support team for more info

Any pointers? Does the current package work on GM2022.6? If yes, then I must have done something wrong somewhere.

Thanks the fix worked perfectly.


I finally updated the builder plugin from your github but it's giving me this stacktrace:

Writing Chunk... OPTN size ... 0.00 MB
Writing Chunk... LANG size ... 0.00 MB
Writing Chunk... EXTN size ... 0.00 MB
Unhandled exception. System.Exception: Can't find PE header
   at GMAssetCompiler.Machines.Windows.GetDllMachineType(String dllPath)
   at GMAssetCompiler.Machines.Windows.UnmanagedDllIs64Bit(String dllPath)
   at GMAssetCompiler.Machines.Windows.CheckDllMachineType(String _proxyFilename)
   at GMAssetCompiler.Machines.Windows.IsProxyValid(String _proxyFilename)
   at GMAssetCompiler.WADSaver`1.WriteExtensions(IList`1 _data, Stream _s, IFF _iff)
   at GMAssetCompiler.IFFChunkHandler`1.Save(Stream _stream, IFF _iff)
   at GMAssetCompiler.IFF.WriteChunks(Stream _stream, TextWriter _out)
   at GMAssetCompiler.WADSaver`1.Save(GMAssets _assets, Stream _stream, List`1 _extraFilenames, Dictionary`2 _extraAttributes)
   at GMAssetCompiler.IFFSaver.Save(GMAssets _assets, String _name)
   at GMAssetCompiler.Program.CompileProject(GMAssets _file)
   at GMAssetCompiler.Program.Main(String[] _args)

I'm on 2022.6 if that makes any difference.


I came to conclusion it's impossible to convert a project unless it's small one.

I would have loved to know about this tool before because GameMaker data structures are insanely unsafe. You should really upsell it with your other products e.g. GMLive and GMEdit, when GameMaker uses inevitably encounter your great tools when starting in GameMaker :)

I took some notes about the converter, but do not fix any for me.

1) pre-increment not handled properly as it was in front of a qs_function e.g. if (--qs_.....).

2) pre-increment was not changed too


 list = global.notificationsFramesLeft[playerIndex];
--list[| i];

3) json_decode not changed to qs_json_decode

4) ds_exists not changed to qs_exists

5) when accessing ds_maps from os_get_info() or async_load events should not be changed to qs. You would get errors like this:

trying to index a variable which is not an array
 at gml_Script_qs_debug_dump (line 4) -        var l_meta = argument0[0];
gml_Script_qs_debug_dump (line 4)
gml_Script_qs_impl_map_mismatch (line 2) - show_error("Expected a map, got " + qs_debug_dump(argument0), true);
gml_Script_qs_map_find_value (line 9) - } else qs_impl_map_mismatch(argument0);

6) instance_place_list expects a ds_list so that causes a problem too

Thanks for the update. Converter worked. Will see if I can find the memory leak. Although from what I saw from the profiler yesterday morning, not 100% sure it's a memory leak, because when leaving the room, memory drops back to before entering the room.

It's a pity you don't sell more of this package. I don't think most GameMaker users know how dangerous the ds_* can be, even when you just do a genuine mistake.

Thanks again for everything, especially GMLive and GMEdit which is my daily driver IDE.

Hi, I was trying to find a memory leak and I was surprised there wasn't any native tool to help with this in GM. But for a change, YAL to the rescue and found this tool. However when I tried to drop the yyp project to migrate it, it told me: 

Either this is a 2.3 project or JSON is malformed: Invalid char 125 at position 106
Got an error: System.NullReferenceException: Cannot access field 'resources' of null.
   at haxe.lang.Runtime.slowGetField(Object obj, String field, Boolean throwErrors)
   at haxe.lang.Runtime.getField(Object obj, String field, Int32 fieldHash, Boolean throwErrors)
   at GMCompFix.__hx_ctor__GMCompFix(GMCompFix __hx_this, String path)
   at GMCompFix..ctor(String path)
   at GMCompFix.main()
Called from haxe.lang.Runtime.slowGetField (null line 0)
Called from haxe.lang.Runtime.getField (null line 0)
Called from GMCompFix.__hx_ctor__GMCompFix (null line 0)
Called from GMCompFix..ctor (null line 0)
Called from GMCompFix.main (null line 0)
Press any key to exit.

Yep, the gm live object was removed by GM. Sorry for wasting your time.

I've updated GMLive to the latest one, but the server still says 0 clients, even with live_enabled set to 1

I really found this editor to save a lot of pain from GMS2 editor, especially because their recent shortcuts update has broken it for me (e.g. I have to press Ctrl-T or Ctrl-S 5 times for it to pick it up. Reported it to yoyo but it might take some time to fix. Without this bug I wouldn't have discovered this tool :)).

It's a pity I didn't use it before, as I really love the strictness the editor tries to apply. But besides that it feels much more productive and one cannot point it to just one thing. Anyways... here's some notes I jotted down. It's the least I could do to provide some feedback. I'm not expecting any of this to be fixed or taken any action upon.

Thanks again for this editor!

1. Duplicating of sprites is disabled

2. Cannot import sprites by drag and dropping

3. A cool feature would be to have a symbolic link to a sprite source, so if that source changes, it auto-updates. This is one of the features of GameMaker I really don't like. Coming from Unity where you have images that keep their name, this was quite a shock.

4. Building in GMEdit keeps creating drives (but this is a plugin issue really... I'll report that to plugin author)

5. Even if auto-stop is enabled, running fails (same as above)

6. Adding sprites through the GMEdit UI, will not be part of auto-complete unless you restart app

7. ///@desc Some description isn't picked up

8. Pressing Ctrl-T and then clicking outside of the window should hide it

9. Parameters help (found at the bottom) don't continue when one of the params is an anonymous function across multiple lines

10. Editor doesn't remember window position/size

11. Outline view should have a clearer separator between files. This could be a horizontal line or title of file has a different background color. Current file is underlined, perhaps even that should have a different background color. (Using dark theme)

12. If I hover mouse on scroll bar margin of the Show Aside window, the scrollbar goes to the top

13. Show aside window to Builder Output window doesn't auto scroll as output gets added (probably should report this too to the builder plugin author)

14. Sometimes Object Information doesn't do anything

15. Find in Tree red square outline highlight is not so visible. Should ideally change the background color as the outline is barely visible

16. Selecting an item in tree view and pressing F2 should get into renaming asset mode

17. Selecting an item in tree view and pressing Shift-F1 should find references

18. Option for Search in Files to use the same tab for results

19. You cannot jump to roomCreateCode search result (it was actually automatically  launching the beta GMS editor for some reason)

20. Instance variables which are declared in a method called inside create event, are not considered to be instance variables

21. It seems that the more a line has more warnings, the more the CSS styling is applied on top of each other.

22. When having a multi-row tabs at the top, the end of the file is not visible (when the window needs to scroll)

Thanks for the detailed replies!

Re: 6. I typically want to quickly open some json file which is in the included files, or launch GMlive server executable :)

I've been using it for a week or so, and I only have praises for this tool. But here's some feedback in no particular order that you might be interested in:

  • Ctrl-G would be cool if it auto-completes any events/regions. Even when typing a number it should immediately jump while typing to give immediate feedback
  • Selecting text and then pressing Ctrl-T should not fill the text field, especially if it was several lines of text being selected. At least have the pasted text in the field already selected so it can be easily overwritten by typing something else.
  • Support for multiple return types jsdoc e.g. {(string|real|bool|undefined)}. It was complaining with warnings about not being able to convert (string|real|bool|undefined) to bool.
  • Would be cool to have a view to see all the warnings in all the files (similar to GameMaker editor were it lists all the warnings)
  • Would be cool to be able to split the view horizontally (or vertically) in order to be able to have multiple tabs visible at the same time, e.g. an Output tab below while a game is running.
  • Cannot use Ctrl-T with files in the Included Files folder

Perfect! I changed the factor from 8 to 64 and it's working as expected.

I also added the console logs and this a sample of what I was seeing when scrolling:

ace.js:1513 0 -300 -300

ace.js:1513 0 -1200 -1200

ace.js:1513 0 -1500 -1500

ace.js:1513 0 -600 -600

3ace.js:1513 0 -300 -300

ace.js:1513 0 -2400 -2400

ace.js:1513 0 -300 -300

ace.js:1513 0 -900 -900

3ace.js:1513 0 -300 -300

ace.js:1513 0 -1200 -1200

ace.js:1513 0 -300 -300

ace.js:1513 0 -1200 -1200

2ace.js:1513 0 -900 -900

2ace.js:1513 300 0 300

7ace.js:1513 0 300 300

40ace.js:1513 0 -300 -300

ace.js:1513 300 0 300

15ace.js:1513 0 -300 -300

ace.js:1513 300 0 300

Do you think I should still report the issue in the link you provided?

I tried both web GMEdit, and Ace's demos and both behave the same. They jump by around 9 lines. I thought it was perhaps because of the Magic Mouse, but I tried two other Microsoft common mice, and the behaviour is the same. It just jumps by 9 as soon as I scroll the wheel by one "click". I don't see this behaviour in any other app though. Scrolling behaves normally even in the tree-view of GMEdit.

This tool is awesome, but I couldn't find the setting to tweak the scrolling in the code editor. The scrolling in the Preferences window is perfect, but in any code window it just jumps by 9 lines on minimal scroll, making it uncontrollable to scroll predictably. In Windows OS settings, the mouse scrolling is set to minimum. And as I said, in the Preferences window of the editor it's perfect. Any idea if there's a setting? (I toggled on Animated Scrolling but didn't have an effect).

Pyramid Plunge now supports Twitch Integration where the audience can interact with the streamer’s gameplay through the chat! It can get hilarious pretty fast!

🔑🔑🔑 Streamer? Get Your Steam Key! 🔑🔑🔑

If you’re a Twitch Streamer and would like to try out Pyramid Plunge Twitch Integration, the easiest way is to join the game’s Discord. You can find me there as Nev. Or you can be ping me on Twitter. I’ll send you a Steam key.


This is what a twitch viewer in the chat can do while the streamer is playing Pyramid Plunge:

  • Take control of Felicie (or Giorgio if the streamer is playing as Felicie). They can open the chest for you or even run away into traps if they’d wish to!
  • Vote on Level Modifiers to choose from:  
    •  1) Spooky Level: Darker level makes it more difficult for the player 
    •  2) Cursed Enemies: Each enemy killed removes one quarter 
    •  3) Landmines galore: Each enemy drops a loaded landmine 
    •  4) Just Loot: No items in crates 
    •  5) BloodLust: Health is dropping. Regain by killing. 
    •  6) Flood: Every kill reduces flood timer by 5 sec 
    •  7) Already Raided: No coins in the level
  • Take control of Bosses – this can make it really more challenging
  • Vote on Surprise Questions: Asks a random question to make the streamer’s life easier or harder (e.g. flip controls, turn screen upside down, give streamer a health pack, trigger the flood, surround streamer by enemies, give streamer some crates, etc)
  • Cheering – Small msgs can be sent on game’s screen. They could also give pointers where to go (they could lie!)

🤣🤣🤣 Got Funny Clips? Send them over! 🤣🤣🤣

If you’re going to stream, feel to free to share in the #streams channel of the game’s Discord. If you have some really funny clips, msg me as I will be doing a compilation of the funniest moments.

Pyramid Plunge is a retro 2D action platformer with rogue-like elements that follows an odd cartoony couple in their wacky journey through fantastic pyramids filled with devious traps and evil creatures. page:

We've released a huge update and we're going to be carrying a closed free beta very soon. Sign up by clicking below:

If you want to read more about the cool stuff that was just added to the game, you can read the full devlog here:

We're looking forward to you checking out the game!

1. "Smart" but also "Gms2 style" where I get gml_class_else. Yes it was on the current beta (Editor compiled at May 6, 2020).

2. It just flashes. Find video here:

3. I went to this link, and cmd-up and cmd-down works fine there.

4. understood

5. understood.

Was searching for something like this but couldn't find it. Was this done?


GMEdit community · Created a new topic Minor issues

Hi, I've been using GMEdit and here are some minor issues that I've found. Thought you might be interested:

  1. else[Enter] turns up something else as it was autocompleting some keyword.
  2. Find in Files dialog just flashes if accessed through keyboard shortcut - ok if through right-click context menu
  3. Cmd-Up or Cmd-Down to go to top or bottom of document doesn't work
  4. Doesn't save the dimension and location of the editor, have to rescale it everytime it is launched.
  5. new variables do not form part of the auto-complete until you save the file

There's an improvement but there are still two related problems:

1) It seems the .yy files are still doing Windows line endings, even if you tell it to use Unix line endings

2) The ///@desc are being changed to use Windows line endings too (probably being re-written by the editor?)

I know this because if I open the touched files in sublime, and enforce again to Unix line endings, the differences in sourcetree disappear.


Thanks for the new version. I'll check it soon.

Hi, I'm using GMEdit together with GMLive and it's pretty awesome.

There's a minor thing which creates an annoyance when reviewing code to submit to a code repo. GMEdit seems to be changing the line endings to Windows for every file I open. I was using GMS2 editor before and so the line endings were apparently Unix (since I'm on Mac). I tried finding a setting to change that to  be Unix, but couldn't find it. Is there such a setting?


Thanks :D

Pyramid Plunge is a game where you find yourself stuck in a pyramid with your partner Felicie. The only way is down, and you have to take Felicie with you. Pyramid Plunge is a of quick decisions where you have to balance risk and reward in order to avoid getting drowned in the flood!


  • Help scaredy-cat Felicie through the levels by carrying her, throwing her and pulling her up. (There will be a reversed mode where Felicie throws George around in the near future)
  • Find interesting powerups in crates littering the pyramids from past explorers
  • Infinite procedurally generated levels
  • Pyramid of the Day, to play the same generated levels for 24hours
  • Collect coins and gems to buy items from the bazaar
  • Get Felicie to the treasure chest found in each level, and get random power-ups and coins
  • Balance risk and rewards from pickups, otherwise you'll have to swim through the flood!
  • Compete in online leaderboards, with the Pyramid of the Day resetting every 24hours
  • Enjoy local multiplayer mode where you have to remain alive and collect more coins than your opponent

Download the demo now:

We need your feedback ;)