Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

GMRoomPack

Package GameMaker rooms and load them as you please · By YellowAfterlife

Some questions about the extension

A topic by Geoff Moore created Sep 09, 2019 Views: 360 Replies: 4
Viewing posts 1 to 3
(1 edit)

Hey there! Firstly this asset looks awesome : ) I have a few questions regarding how it works so I know if it would be suited to my current project, which I'd love to include some procedural elements and is at an early enough stage that I can make some changes if needed.

When I'm designing chunks, do they all need to be the same size or can they be any size/shape I want? If the latter, when an area is created from chunks, is there a check to make sure there's enough space to place each chunk or do I need to do that manually?

Can I specify how many chunks to make an area out of? To control area size?

Can I ensure a room uses a specific chunk (this would be a special area), and then prevent that chunk from being used anywhere else in the game?

Are the instances placed in a chunk room also generated along with the chunk? If not how do I deal with placing instances without using the room editor?

Can the player return to a chunk-generated area later and it will still be the same?

Many thanks!

Developer(+1)

I feel like you may have a minor misunderstanding of what this extension does - it is not a rigid system for handling chunk generation, but a flexible, general-purpose system that can you use as a base for your generator.

So, things like controlling chunk position / sizes are not restricted and up to you - e.g. you can poll dimensions from json[?"roomSettings"] before calling room_pack_load_map, or loop over your instance layers if you wanted rooms of truly arbitrary shapes.

Similarly, room selection is a matter of picking the right map to feed to loader function - the helper tool will by default export your chosen rooms into a map-of-room-maps (key being room name), so you can either export special rooms into a separate set or pick them based on name prefix/suffix.

Instances will be generated by default; there's plenty of options for filtering loaded contents.based on type/layer. Variables / creation code are also supported in a flexible way.

Keeping track of what you loaded is also supported.

(1 edit)

Thanks for the advice! It's good to know this allows so much flexibility. I picked up the extension and am setting it up, I thought I'd try to pack rooms to a script. The .exe is looking for a .gml file but my script is .yy, am I doing something wrong?

Also, is there a reason one would choose a script over JSON or vice versa?

Developer(+1)

For each of your scripts you have a GML file and YY file in the same directory (check via Explorer). You point the packer at the GML file (since that's where the code goes).

Using a script can be more convenient as it means that you don't have extra files in game [sub]directories.

This was a head scratcher. Looks like a GML file isn't created for a completely blank script, just the YY. Adding a single character to the script and saving the project created the GML file too.