Room Dog allows you to paste rooms inside of other rooms. The possibilities are endless!
Have a character run to the right and paste random rooms in front of them. Endless runner!
Make a bunch of rooms with doors on each side and randomly paste them in a grid. Now you have a roguelike! Better yet, use the pattern from a maze generator and paste in rooms for each cell!
Layer rooms on top of other rooms.... think about it..!!
Has support for tiles and object attributes such as scale and rotation (not creation events)
Included in the asset are two example rooms showing how you might utilize room dog to create normal or randomized levels by combining rooms. The basic steps are these:
. At the start of the game, create the RoomChunkManager object.
. In the Create event for RoomChunkManager, plug in the rooms that you want to copy for later pasting.
roomChunks = ds_queue_create();
ds_queue_enqueue(roomChunks,[YOUR ROOM HERE]);
ds_queue_enqueue(roomChunks,[ETC ETC AS MANY AS YOU WANT]);
. When you want to paste a room, use the function roomdog_paste_room()
arg0 is either the room index (the resource name) or the filename stored in the ds_list RoomChunkManager.fileChunks
arg 1 is the x position of the left side of the copied room
arg 2 is the y is the y position of the top side of the copied room
optional arg 3 is the xscale (-1 or 1 works best)
optional arg 4 is the yscale (-1 or 1 works best)
. If you need to know the width or height of a copied room when you are not inside of it, use the function roomdog_get_room_width() or roomdog_get_room_height()