I'm pretty sure the topic is going to give away most of what I'll be talking about in this thread, but I'll say it anyway. I've decided to develop Portal for the Android. Now, seeing as Valve had a team of around 100 people working to develop portal, and I make a team of 1 person working to develop this, I won't be going all out. It'll be more like
Portal: The Flash Version, only I intend to make the engine a better (that one's got quite a few bugs).
The thing is, because I don't have so many people to work with me, I'd like to get off to a good start with my data organization and not have to go back and redo my whole structure because I was stupid and didn't plan it out correctly the first time. That being said,
I am terrible at data organization (or any organization, for that matter), so I'm looking for some advice.
My initial thought is that I'd use a tile-based level design and have each Tile object keep track of any static elements on that tile (Walls, doors, buttons, switches, anything else that doesn't require me to keep track of changing x and y locations). Then I would keep track of the dynamic elements (player, turrets, cubes, portals) separate from the grid.
Even if that sounds like a good way to go, I'm still unsure of the best way to execute that. Any suggestions, tips, things to watch out for, and/or completely different methods all-together would be GREATLY appreciated.
As I said before, data organization is one of my biggest weaknesses when it comes to programming, so thanks a billion in advance!
-Zippy Dee
Edit: Just a reminder that this is in Java, so it's all object-oriented. Just in case anyone wasn't previously aware.
Edit #2:
In fact, let's start simple and talk about just the storing and keeping track of the walls first. Then we'll work our way up to objects.
Edit again:
Thanks to Xeda, I may have figured something out. We'll see!