My question is about how best to set up / code an area map for a first-person-view point-and-click adventure game (think Myst). I am working in python, but python-specific answers are not necessary - it's more about the general game/code design.
A bit of background first:
I am not a programmer, nor a game developer, and only a casual gamer. And yet...somehow I've gotten into a bit of coding with Python. It started simply, as a way to help automate GIS tasks for work. But the book I read to learn Python involved learning by making simple "games" (like hangman, blackjack, and such). Somehow, while watching my hubby play his RPG games, or playing myself, I found myself constantly thinking about how it was implemented in the background, and thought: wouldn't it be cool to do something like that.
Now obviously I'm aware of the fact that such a task would be WAYYY beyond me, but I thought it might be good to at least learn better OOP skills by making a (much more simplistic) game. Something more than just a card game.
I started out thinking that I would do an IF-like text-adventure game, but soon decided to try out pygame and make it more graphic. At the moment, my intent is for a (simple and small) point-and-click adventure like I remember playing as a kid. Because I don't think I'm ready yet for animating character sprites moving across a screen, I hope to do a first-person-view game like Myst and Riven (minus the animation). Thus, a given "room" or "location" would be a single image, and the user would navigate to a new "room" or "location" (and thus see a new image) by clicking on a right or left or forward arrow, etc.
I've got the basic GUI set up, and tested navigating from one room object to another successfully. But now I'm realizing that I'm not quite sure how to code in the full "map" of the area, with information about which "room" objects are adjacent to which (and in which direction). Ideally, I wouldn't have it hard-coded in.
At first I was thinking that I could use a simple array somehow the way one might make a tile map, and that I could organize the map in an external file like a csv, with each cell referencing a "location" object, then load it in to a "map" object. But I'm a bit stumped with the implementation. Is this actually the correct approach? How would I deal with "rooms" above or below another room? Is it better for adjacent room information to be coded in with each room, or to look for the reference to the room object in the map object, then use the map object to check for adjacency? Am I overly complicating things?
Any and all help is welcome, and I'm sorry if this is a "stupid" question with an "obvious" answer - I tried some searching first but was mostly finding tile-map stuff.