Hi all, sorry if this has been posted before but my google fu seems to be off.
Right now I’m playing around with a NES Zelda 1-esque prototype for a larger game idea I had. One of the things I’m wanting to add to it is the standard ‘loop the same room’ maze that you see in them. As in, it drops you into a room and you have to follow a set path to get through. The rub is that each room looks the same, so without knowing that path it can be hard to get through it via brute force, if the game even lets you without a flag or something set.
The problem I’m having is figuring out how to do that when i have 1 large map for the entire world. My current map is like in NES Zelda fashion where you only see 1 room at a time without any scrolling, until you hit the edge and it takes you to the next room with a transition. I’m using monogame extended’s tiledmap functionality to display it right now, and going back and forth between contiguous rooms is fine, but I can’t seem to wrap my head around how, if at all, having a room loop on itself while having the same room->room transition scroll would be possible.
I’ve been debating on several methods for implementation.
- Separate all rooms into their own file, rather than 1 large map. The benefit to this is I could tell the system which rooms connect to which and it would just load the same one on the transition. The downside is either editing the overall world is a pain or I have to create a script to chunk it up which I then have to remember to run each time the world changes.
- Have a copy of the world and display a section of it when I’m doing the transition until the transition is done then dump it. This one seems the most messy, especially since I’m not sure the tiled part of monoxtnd would support that. Actually, if it already can and I can just tell it to display the specific room…might be the most beneficial.
- Copy the current room to a rendertarget or texture or something and then display that for looping rooms. Basically the same as #2 but not using monoxtnd for it, though I’m not sure how to display a rendertarget in a different position for the transition.
Though, there’s probably other solutions that might be similar/better, but searching for this situation has been difficult for finding examples. So I’m curious if anyone has advice/implementations they could provide?