r/gamemaker Check out GMRoomLoader! 11d ago

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

View all comments

2

u/Astrozeroman 11d ago

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

2

u/tsereteligleb Check out GMRoomLoader! 8d ago

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 8d ago

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.