staticskizzles
Member
Hello wonderful people!
I've decided I want to try making my 16bit Top Down 2.5D game infinitely open world, to see how possible it is.
I understand there will be complications and world gen will require constant manipulation, but I wanted to see if I can cope with it, and just how possible it is to do in gamemaker.
So I started a new room, and started writing steps for expanding the map and generating when the camera gets near a world border, I realised that sure I can resize the room_width and room_height to the right and down, but how would I go about expanding left and up, like minus coordinates (world spawn being 0, 0). How would I go past the 0 on the x axis, and 0 on the y axis? I know it's possible in minecraft with -x and -y coordiinates being infinite if you accidently pass 0 on either axis.
This is where I started thinking, what if I just forget about resizing rooms for a moment and check what's possible. Let's say my room size will be constantly 0x0 (or 1x1 if that latter is impossible), and I know it's possible to create instances outside of rooms, but how would I go about drawing tiles outside of the room? Will I need to create primitives for this or are there other methods? Should I change the x and y of all instances to always fit inside the room, (i.e moving left generates more land but shifts everything x+16 per tile), and set all tiles to the same thing but x+16? - I just worry how performance taxing this process could be on a large scale map. Not just instances, but looping through the entire map's tiles to shift them.
Also, if you've tried this before, in your opinion, how succesful were you? What tips would you give for a (possibly infinite) open world beginner?
I've decided I want to try making my 16bit Top Down 2.5D game infinitely open world, to see how possible it is.
I understand there will be complications and world gen will require constant manipulation, but I wanted to see if I can cope with it, and just how possible it is to do in gamemaker.
So I started a new room, and started writing steps for expanding the map and generating when the camera gets near a world border, I realised that sure I can resize the room_width and room_height to the right and down, but how would I go about expanding left and up, like minus coordinates (world spawn being 0, 0). How would I go past the 0 on the x axis, and 0 on the y axis? I know it's possible in minecraft with -x and -y coordiinates being infinite if you accidently pass 0 on either axis.
This is where I started thinking, what if I just forget about resizing rooms for a moment and check what's possible. Let's say my room size will be constantly 0x0 (or 1x1 if that latter is impossible), and I know it's possible to create instances outside of rooms, but how would I go about drawing tiles outside of the room? Will I need to create primitives for this or are there other methods? Should I change the x and y of all instances to always fit inside the room, (i.e moving left generates more land but shifts everything x+16 per tile), and set all tiles to the same thing but x+16? - I just worry how performance taxing this process could be on a large scale map. Not just instances, but looping through the entire map's tiles to shift them.
Also, if you've tried this before, in your opinion, how succesful were you? What tips would you give for a (possibly infinite) open world beginner?
Last edited: