Fangames > Game Design
RNG Rooms possible? - Isaac Style Game
Storm_Lakitu2:
Hello, i just wanted to ask a quick question to see if why imagining is possible in Game Maker.
I once had the idea a while ago to make a "Binding of Isaac" Like Fangame. So there is a pool of rooms, and with pool i mean giant pool, and the rooms always get picked in a random order, after all rooms are done, the fangame is over.
To do it a bit more shaped up, maybe i could do something like "the first 10 rooms are always the same", and to make it even more interesting, i would LOVE to make it possible, that a room can not appear twice troughout a playtrough.
So to sum it up: i want to make fangame where the rooms get picked randomly from a pool, till every room or a certain number of rooms is complete, then you get sent to and ending screen. A room cant appear twice, and the first 10 rooms are always the same.
So: is it possible and is it amazingly fucking shit difficutly and i shouldnt even try it? if it is possible, plz leave me some coding suggestions because i suck at coding. Like, really bad.
:atkHappy:
patrickgh3:
That's a nice idea. I love it when I have an idea and am excited about it, and I enjoy seeing other people feel that way too :)
This is definitely possible to implement in Game Maker, and it shouldn't be that complicated. However, since you say you "suck at coding. Like really bad," this might be too hard a challenge for you right now. But, here's how I might implement this:
At the start of the game, create a ds_list and add to it all the rooms in the pool:
--- Code: ---pool = ds_list_create()
ds_list_insert(pool,0,room1)
ds_list_insert(pool,0,room1)
etc.
--- End code ---
When the player finishes a room, or they just started a new game, pick a random room from the pool, go to that room, and remove it from the pool:
--- Code: ---var chosenindex, chosenroom;
chosenindex = irandom(ds_list_size(pool))
chosenroom = ds_list_find_value(pool, chosenindex)
ds_list_delete(pool, chosenindex)
room_goto(chosenroom)
--- End code ---
And when the player finishes a room, you should also check for the win condition, which could be no more rooms in the pool (ds_list_size(pool) == 0), the player completed X amount of rooms, or whatever other win condition. Also, I think it makes sense for the pool list to be a global variable. So yeah, that's how I might implement this. Good luck with your fangame and Game Maker adventures!
Storm_Lakitu2:
First of, i want to complete my current fan game (completion status: 5%), then im gonna sit on this. but already thank you.
Storm_Lakitu2:
Yesterday Night i thought about it some more and i got to the conclusion, that the game might be a bit boring or maybe even too hard.
So i got up with another bonus idea: How about making it severeal worlds.
So you start in a Tutorial World, where the first 10 rooms are always the same, as said, after the 10 rooms, you get thrown into world 1, where there is a pool of rooms. If you completed enough rooms of the pool (lets say you have to complete 30 rooms and in the pool is something like 300), you get thrown into world 2, where there is a completely new pool, where the other levels of pool 1 cant be in anymore. If you complete enough rooms there, you go on, and so on.
I would love to keep the feature of making it impossible to meet a room twice or even more often in a playtrough.
Would THAT still be possible, and how? ;)
Thanks already, Storm.
:atkHappy:
pieceofcheese87:
I had this idea a while ago but never did anything with it.
edit: https://pastebin.com/TyPamx6D this is something dumb i put together when i was planning it. maybe you can make something out of it.
Navigation
[0] Message Index
[#] Next page
Go to full version