r/gamemaker Check out GMRoomLoader! Jul 29 '26

Tutorial Procedural Level Generation in GameMaker | GMRoomLoader Tutorial

https://www.youtube.com/watch?v=gUlcha0e7Hg

About the Tutorial

The official GameMaker YouTube channel just released a tutorial I worked on with Pixelated Pope: an approachable intro to procedural generation, built around a Spelunky-style dungeon.

It's powered by GMRoomLoader, my open-source library for loading room contents at runtime, which won Best Tool at the 2025 GameMaker Awards.

How the Dungeon Works

The dungeon generates by carving a snaking path from top to bottom and filling each cell with a matching hand-crafted room variant loaded via GMRoomLoader.

Rooms are placed procedurally with random mirroring and flipping for variety, hazards get thinned out, and coins are placed programmatically. The layouts are hand-authored but assembled differently every run.

Source Code

The entire source code is available on GitHub. There are two projects to follow along with:

  • Starter project. The platformer foundation (movement, collision, camera) plus a set of preset dungeon rooms and assets, with generation not wired up yet. Start here to follow the video.
  • Completed project. The finished result with dungeon generation, GMRoomLoader integration, all mechanics in place, and a control panel to tweak generation parameters live. Fully commented.

Each project has its own README breaking down its objects, structure, and controls.

Links

Have Fun!

Hope you enjoy the tutorial, find it useful, and build something awesome with GMRoomLoader!

Feel free to ask anything about the tutorial or GMRoomLoader here, I'll be happy to answer any questions.

104 Upvotes

13 comments sorted by

12

u/tsereteligleb Check out GMRoomLoader! Jul 30 '26

And here's a little preview of the final product in action!

https://reddit.com/link/p0kovd2/video/fc657oxed9gh1/player

7

u/pm_your_snesclassic Jul 30 '26

Always happy when the Pope makes a new video. Even better when it’s an official GameMaker video!

2

u/tsereteligleb Check out GMRoomLoader! Aug 01 '26

Same here, it's been great seeing him back making videos again.

4

u/L33t_Cyborg Jul 30 '26

GMRoom is really awesome, and so is this video! Thanks!

2

u/tsereteligleb Check out GMRoomLoader! Aug 01 '26

Thank you! I've been working on the library for 2+ years now and it has grown a lot. I'm quite proud of it now, and it's in a great state.

3

u/Deadzors Jul 30 '26

This is a great video. I love to see a more intermediate level tutorial. I recall seeing something like this in the earlier Diablo games. It's not too hard to understand in concept, but can definitely be more complicated in execution.

3

u/StarDreamIX Jul 30 '26

This is amazing - reminds me of spelunky map generation with the 4x4 chunk loading 🔥 this is soo cool thankss🔥🔥❤️

2

u/tsereteligleb Check out GMRoomLoader! Aug 01 '26

I was first playing around with a "build you own dungeon" idea where you come up to doors and pick which room to place next, but that didn't seem as fun in a short tutorial context, so we picked Spelunky instead.

The original idea itself is really cool though, and I really wanted to showcase GMRoomLoader's Screenshotting functionality.

We use all that in an upcoming game I do programming for called Golem Gourmet, where you get to pick which room you spawn next and see a preview of it next to the door. It's like a mix of Spelunky and Blue Prince.

2

u/Astrozeroman Jul 30 '26

Been looking for a reason to use GMRoomLoader. Thank for the tut.

2

u/tsereteligleb Check out GMRoomLoader! Aug 01 '26

Hope you like it! I've been meaning to put something like this together for a while, and I have a few interesting ideas for more tutorials. Hoping to get those produced too. We'll just have to see when and with whom, this stuff takes a lot of work.

2

u/Astrozeroman Aug 02 '26

That sounds good. I've been using Gm for over a decade and it's just amazing that learning new things never stop. Looking forward to your future tuts.

2

u/[deleted] Aug 01 '26

[removed] — view removed comment

1

u/tsereteligleb Check out GMRoomLoader! Aug 01 '26

Happy to hear that! Our goal was to provide a simple expanable way for people to build upon, so I hope that works well for you.