Codename: ShackRPG — Status: In Progress
Since I took a small break from codename ShackRPG project, I have turned my attention to learn some more programming techniques and various 3D aspects of game programming. Confident in the knowledge I’ve gained since then (mind you, it has only been a month or two) I am now re-visiting the ShackRPG project to push out an official demo.
As of right now, I re-built it from the ground up. So far, I have written several core systems such as the Screen Manager to handle the update and drawing logic of all game screens, re-built the tile engine to be more efficient and much less confusing, built in a fully customizable Console system where if you hit the tilde key, you now have access to several commands such as “fps_show” and “map_tilesize” “map_NewName <map name>” and so on. I have also taken EVERY aspect that needs to be customized and pulled it from the code and inserted it into the content pipeline. What does this mean? It means everything can be changed, modified, edited, re-built, and fed into the game without changing ANY of the games programming.
Think of it this way. Lets say I have a map designer come in and create my world for me. All he would have to do is open the game, hit Tilde to open the console, type “map_editor 1” to turn on the map editor, and start editing the current map. “map_saveMap” saves his current data, “map_newMap” creates a new map, and he can continue on until he’s created the entire world. Great thing about this, is not once has he opened up Visual Studio to look at the programming!
I know its not that exciting unless you’re a tech guy like me, but think of it this way. With the system I’m making, my hope is instead of just making a simple “demo,” someone could take the tools that have been developed and create their own game. Real Time Strategy? No problem! Secret of mana style RPG? No problem! Final Fantasy style RPG? No Problem! This way I can create a wide variety of games when I get bored of learning 3D code (or when I need a break from the long hours of school / work that I’ve been accumulating.)
So, what I will end up doing is as a new system is built, I’ll lend some information on what the system does and how it works posting code snips along the way. As far as I can figure, there will be several major systems and a few minor systems needing to be put into place, including:
Tile Engine – Majority of the work, completed
Map Editor – Skeleton in place, user interface needs to be started
Console System – Working perfectly. Needs polish
Helper Systems – works great, add them as i need them
Screen manager – Works great, albeit a bit confusing (taken from XNA website)
and many more…