I was thinking of how to design a game like Wizardry, Eye of the Beholder, etc., for my next learning project. These games have a map where the party controlled by the player moves in a room-by-room manner. You can also see up to a certain number of rooms ahead of you, assuming no line-of-sight blockers (walls, etc) are in the way.
The HUD seems pretty straightforward: have a scene that controls all of that, running on top of the normal scene.
However, I’m not so sure about the main game itself. I thought of two ways to approach this:
-
The first way would be to create a 2 dimensional array, where each map has rooms for each location, and that each index of the arrays would contain an integer referring to JSON data that contains information about the room. For example:
roomLocation[5][3]
would have the value25
.- The rooms would then be created as images per each room, though it will get cluttered. I’ll need an image of each room, per-facing direction, so at least 4 images per room.
- The JSON data for that room would say something like “image025north.png” to display the image of the room.
This method seems bad, and difficult to make work.
-
The second idea I had was to just create a 3D world similar to normal first-person games with “normal” movement, but restrict the movement to predetermined “steps” to recreate that room-by-room navigational method. I haven’t dabbled in anything 3D yet so I’m not sure how that would work, but it’s just an idea.
Does anyone have thoughts on a better way to approach this?