implementation of ROT.JS (Roguelike Toolkit) for C3Runtime
basic usage of the rot.js plugin
test fov functions
detect and iterate islands of tiles
I'm having trouble generating islands for my dungeon. They seem like a great way to add variety to the tiles used in particular rooms, but whenever I try it with the floor, it generates a single island. Even when I remove/change door tiles. When I'm generating with walls it changes them, just can't get the floors working. Thanks for this plugin!
This.... is.... amazing! Thank you so much!
Very useful update. Thank you for this :)
Would it be possible to assign a room index number when generating a Cellular Automata. I'd like to figure out each little group of cells, are together and ideally how many are in that group.
I don't think that's supported by rot.js, but I'll do a bit of research and figure it out should not be 2 hard to implement, you pretty much just want groups of floor cells that are not connected and then you want to assign a room id to them and iterate their cells by roomid and stuff. I'll look into it
Thank you piranha! When using the cellular automata it creats nice little patches like spots on a cheetah. I'd like to be able to group those together into a room index or something so that i can manipulate all of them at once. eg: if player is overlapping roomindex = 1.
It's "rogue". "Rouge" means "red" :)
Its a common mistake. I think everyone should be playing rouge-likes, after all, there is lots of blood, right?
Okay fixed, also in the next release I'll fix the the spelling in some of the descriptions.
Lmao awesome... Man i hope i did not use that typo throughout the whole plugin...
help it does not let it load
Hello piranha305,
In my project, I loop in every cell to check if the ones next to it are corridors, rooms, etc... so I can set the appropriate sprites.
But it wasnt working at all, until I saw errors in the console. The conditions "is in Room" and "is in Corridor" throw an error if the cell isnt in the grid (trying to access to the property of undefined object).
So I fixed it by changing the code (in the example, CellIsRoom) from
return this.map[x + "," + y].type === "room";
to
return this.map[x + "," + y] && this.map[x + "," + y].type === "room" ? true : false;
and then pretty much the same thing for others conditons.
If you're still active, make sure to update it ;)
When using the load / save in the example file, i get the following error in the console and it won't load
Uncaught (in promise) TypeError: Cannot set property 'wallCleared' of undefined
Hey I will take a look at this this morning. Thanks
Hi,I encountered the same problem. Has it been fixed?
You dont use variadic parameters do you?
github.com/Scirra/Construct-3-bugs/issues/2155
No i created separate actions, to account for the multiple overloads that rot.js has, That's why you should see some generation actions with Simple or Advanced, the advance action is the same just with extra params. if there is a particular signature your need let me know and i can add it pretty quickly.
Thanks again for this great plugin, i can't wait for pathfinding and fov, if you still planning on supporting them?
Nice work! How do I save the generated mazes for use in loading a game later? I hope to see this grow, as it will help me in my current project, for sure!
I haven't looked at the plugin, but generally, with randomly-generated maps, you can remember the seed that the map was generated from. If you use the same seed later, you get the same map.
That's on the road map, I will work on this this week. When I have a chance. Would you like to save it the maps as json?
Whatever is the easiest way to implement would be fine with me. Just the random maps thing by itself was giving me fits to do, so hopefully this will do the trick.