Runtime room loading for GameMaker 2024.11+ on Windows and Mac
GMRoomLoader is an open source GameMaker library designed to streamline room loading at runtime. It provides methods to process the data returned by room_get_info(), use it to load rooms efficiently during gameplay, and clean up created elements when needed.
- Procedural Generation. Create custom level templates and place them procedurally throughout your levels (e.g. dungeon rooms, NPCs, enemy encounters, or randomized props).
- Chunking. Divide large rooms into smaller sections, loading or unloading them dynamically as the player approaches or moves away.
- UI. If you’re tired of hard-coding menus while waiting for GameMaker's GUI Layers, design your interfaces directly in the Room Editor and load them on the fly in-game.
- Room Thumbnails. Take screenshots of your rooms and use them in your level selection menu.
- Pure GML library with no external tools required.
- Multiple ways to initialize room data: single or multiple, array, prefix, tag.
- Loading rooms at custom coordinates and origins.
- Options to load full rooms including all layers and elements, or only instances using existing layers or depth.
- Element type filtering using bitwise flags.
- Layer filtering using whitelisting/blacklisting.
- Tracking loaded elements to fetch their IDs and/or clean them up later.
- Room screenshotting.
- Created and maintained by Gleb Tsereteli.
- Logos and demo rooms designed by Gleb's wifey - Kate ❣️
- Originally motivated by and made for TabularElf's Cookbook Jam #1.
- Inspired by YellowAfterlife's GMRoomPack.
- Demo art by Kenney.
GMRoomLoader was nominated for Best Tool in the 2024 GameMaker Awards!