I thought I’d just post something that could depict fairly accurately how the development of the game is going so far.
Now, again, I cannot say too much about what the game is, simply because it’s not that finished and is bound to change a whole lot before anyone outside of the development team gets a chance to play it.
I’ve programmed some interesting things that are designed to make the development easier for the part of the team that does not know how to code, I’m talking about editors and such. However, since most of these editors are quick “slap-together”s that are designed to do nothing else but the essentials, I cannot say anything good about them. They’re there, they do what they are supposed to, but are coded very badly and run poorly. This is simply because I cannot take the portion of time that I could use coding the game, to code these editors that a few people in the world will ever see.
Whatever, I’ll go through them anyway.
The first tool I programmed was the level editor or “World Builder” and this is probably the ugliest thing that I’ve ever coded. The code handles a few classes, the ordinary stuff (window creation, GUI), a few global variables and a code loop.
Works fairly well though. I implemented a quick way of having a non-coder person add new models for the editor to use, since it can’t read them automatically. And it has a quick (not quick as in speed, quick as in implementation) Save/Load system that saves and loads data from a text-file.
I’m hoping to soon use binary files for levels and such because text has some very big and obvious flaws. But this is one of those things that get implemented fairly late, simply because text-files are easier for a human to read and therefore debug should anything bad happen. 😉
The second tool I made (and am still making) is the Item Editor. The name is pretty self explanatory but just in case- think of items as RPG items: potion, sword and armor, not desk items such as: stapler, three hole punch or coffee mug.
Great, we’ve come so far. Anyway- The editor is programmed using the drag & drop window editor in Visual C++ so therefore It’s… Pretty bad. The code’s a real assault on the eyes.
But again, like the level editor it does what it’s supposed to so therefore there’s no need for complaints (until they crash, ha ha).
The game itself can currently read the levels saved in the level editor accurately and without any problems. The loaded level is complete with collision and other effects.
A quick run-down on what the editor does, shows that there really is no reason for the editor to be more complex:
First there is a common class for all the things a user can load into the editor, the editor doesn’t care about the object itself and treats every object the same.
The editor however is able to store an identifier, in my case a number ID for every object.
When the objects are “saved” the data in the class is printed out into a text-file. It prints numbers and strings for things like, Position XYZ, Rotation XYZ, Scale, ID, Texture and Mesh, resulting in a block of data in said text-file. It then iterates through all the objects placed and does the same thing.
The game reads this text-file and recreates the ID number that was previously stored for the object. With that ID number the game can create a specific object at the same Position XYZ, bla, bla exactly like it was in the editor! 😀
The item editor does the same, but the game isn’t in the stage yet where items matter.
I am planning on creating a NPC editor for all the friends and foes of the game that would work pretty much like the other two.
*Sigh* This right here is the negative side of being a programmer. You ramble on about things that matter to you knowing that they probably or definitely don’t matter to anyone else!
I said in the last post that I would post a video of the level editor but that will have to wait a little longer. I realized after making the video that the editor had changed a lot and therefore I am remaking it. I’ll also post more screenshots from the game to show what the graphics probably will look like when the first demo is finished.