Archive for January, 2008

Gotta have my GUI

Tuesday, January 29th, 2008

Demo 005

I knew that clickable units would brighten the spirits of my anxious audience, so I made that my next goal. However, as a programmer, I knew that implementing the unit selection system could be much easier if I had a visual representation of which unit(s) were selected. To represent this status I would need a graphic user interface (GUI), which meant that before I could add units, I needed to design and implement a GUI. The actual GUI layout was one of the many details that me and my designer argues over for quite some time. To settle this debate I decided that I would write the GUI using a my scripting engine, which would allow any user to customize the GUI any way that the user would see fit, the better way of course would then just be the default version. During initial talks, this process sounded pretty strait forward, and it it seemed like just a matter of time before it was done. Once I started work on this feature, I soon ran into several issues. (more…)

Maps make the world more fun

Saturday, January 26th, 2008

Having noticed the many tasks that I still needed to implement, I quickly established a short term game plan for getting through these next set of obstacles. I knew that map map creation would need to be done at some point, and I also knew that it would help stimulate my artist to start cranking out some useful tiles. Hoping this would be a relatively simple process, I came up with a list of necessary variables for each tile, and started by creating a small script file that could be read into the game using a small scripting engine I wrote a while back. This is the same scripting engine I use to save and load game variables and the picture file. Using this very small script file, I talked my designer into creating a map without the aid of a fancy designer, making all changes to the raw data. While he came up with a small map, I created a Tile class and wrote a function to read in the tile data out of the newly created map file. The file loaded in beautifully, allowing me to see the tiles that he had arranged. After a few preliminary modifications to the Tile class that will later help with the path finding, I added a few script variables to the game file to auto load the default map file and called this task completed.

What next?

Friday, January 25th, 2008

After completing the scroll engine, and implementing a working pause system, I found myself at a decent stopping point to take a break and collect my thoughts. However, I found that I was very pleased with the progress so far, and after a brief break, I jumped back in by working up a list of tasks, that still need to be done. I knew that there was still a lot to do, but apparently it may still be a while before official version 1 is released. I knew that eventually I would have to to do some serious optimizations to the graphics engine, but decided to put that off for a while longer to see how long I could live with the simple version. The actual task list proved to be more that even I remembered. (more…)

A little inspiration can go a long way

Thursday, January 24th, 2008

Maybe it’s my new duel 24″ monitors, or maybe it’s my recent day off work for jury duty. Whatever it is, it has seriously got me motivated to make some progress on this RTS. I just put some finishing touches on my scroll engine, including an ability to scroll by holding the right-mouse button. That feature is very cool, and the development went very smoothly. I also added a scroll limiter to prevent scrolling off the screen. While a scroll limiter does prevent the cool no clipping effect, it is necessary to keep the player from scrolling way off the map. (more…)

New scrolling engine

Wednesday, January 23rd, 2008

Demo 004

Despite many initial bugs, and almost a month of procrastination, I finally sat down and devoted myself to fixing numerous mouse related bugs, and writing the majority of the mouse scrolling system. After several bugs were identified and corrected, the rest of the scroll engine went rather smoothly. While I was able to somewhat lock the cursor within the window, the execution was done in such a was that left me (and other testers) dissatisfied. To improve this environment I decided to try a slightly different approach. (more…)

Converted to a database

Wednesday, January 23rd, 2008

After finishing the first admin panel I was ready to start creating a database for my RTS. Using the picture table editor, I created a small picture listing and saved it out in text file form for lookup by the actual game. Next I simply copied the code from the admin panel to load the text and build the picture database in the RTS. After loading the database, the RTS now uses a name reference to look up any and all pictures in the database for painting. Once again, having all of the pictures in one database ahead of time allows me to pre-load and pre-render each image, which should hopefully help to reduce the initial stress of loading the game and its engine.

One project completed, one bug to fix

Friday, January 18th, 2008

The first admin control application, the picture table editor, is done and in use. I made the final mods, adding functionality to the buttons, adding a menu system to save out and reload the entire pictures file, and adding some save-guards to prevent accidental data corruption. After finishing the final set of mods, and compiling them into a runnable format, I quickly came across a mild bug. Apparently the valid clause of the path field if not properly handling one of the new variables I added. This will be a very minor fix, and all in all I’m pretty pleased with how the first admin screen turned out. Of course I spent extra time planning and coding extra features to easily expand the admin panel as soon as it becomes necessary. In the end the entire admin control set will all be contained in one runnable application, allowing me to setup scripted instance and user variables that can be shared across all admin controls, and maybe even with the RTS it’s self, but for now I am satisfied with just the one screen.