Since I haven’t actually shared much details about what I’m planning to make, I thought I might as well do a quick post on it to show people.
As you can tell from the last post, I have been working with 2D terrain generation, which the game will obviously be built around. Apart from that being one of the main features that I’m doing, other things include making pretty much nothing hard-coded. Currently my project’s name in Eclipse is “Dynamic”, due to my lack of imagination mostly, and to help remind myself to not take shortcuts. The problem is that I often forget that wee part, and have to go back over something I’ve just coded, and re-do it so stuff isn’t hard coded, which can sometimes be a pain. Other times it is quite helpful, because it allows me to go back over something I’ve just got running, and rewrite it so it will work in any way imaginable, often leading me to make the code a bit better and/or faster.
When I say nothing is hard-coded, I really mean it. I plan on having everything load dynamically, so everything can be changed each load. Want to re-skin the GUI? Go ahead. Change the tile-set? Sweet. Change the window size, the FPS, how the window is layed out, where the viewport is. Everything. The examples I have just given is pretty much the stuff I’ve done so far, so I expect I’ll have a lot more variable things to add in as I go. Ultimately I want this game to be different for every person who plays it, and being able to change everything about how the game is built fairly easily just compliments the randomly generated map. Doing it like this also allows for easy modifications (although I don’t plan to add in a plugin/mod api this early).
What I’m working on at the moment is a completely customizable GUI, which you can see the beginning stages of above (the white box ;)). I’m building it so you can have whatever GUI element you want, anywhere in the window. At the moment the only fully functional part is the Viewport, which handles the area of the map which is shown, how big the tiles are, and where in the window it is. This mean you can move the viewport anywhere in the window, change the size to anything, and make the tiles bigger/smaller. For the above image, I have it set to the whole window size, and the image below I quickly changed it so it draws it as a 400×400 area at 200x, 200y. There are still some tweaks I have to make to get it working perfectly, and to allow multiple viewports per map, but I should have it running perfectly soon(tm).
Now for the actual game idea. I haven’t fully fleshed this out yet, because to be honest it is a bit daunting, and I’d rather get the engine finished and polished before I start building stuff around gameplay, but basically it will be an RPG-Strategy game, with a huge as hell map, generated NPCs, quests, areas, dungeons, whatever else to flesh out gameplay, with the combat play similar to one of my all time favourite games, Shining Force 2 (which I briefly talked about in this post).
I do expect this will take me a long while to complete, which is why I am not working on it full time, which would likely result in me burning out and getting bored of it, coming back in 6 months and starting again. I really want to finish this one, but don’t want to burn out, so am trying to take precautions. I even brought a new sketch book to write down ideas and plans for when I get stuck on what to do next. So far it has helped…so we’ll see.
Anyway, watch this space.
EDIT: Here is a newer pic demonstrating the multiple viewports I talked about.