I was going to wait until later in the week to do this, but there’s enough done to make it worth writing now. Below is a breakdown of each item on my Chart o’ Post-Its and the status so far.
Basic Move and Shoot Controls
Arrow keys for movement and mouse to target and fire are in game and working. DarkBasic makes it extremely easy to assign behavior to keys and to manage camera movement.
The launcher is done and in game. I created it as a 3D object, however I could have just as well used a sprite/2D to create it. I went with 3D for two reasons. First, to actually create and texture a custom 3D object. Most of the objects in the game currently are primitives, which are basic building blocks provided by the 3D engine (cubes, plains, spheres, etc). Second to allow for animation or movement of the launcher if necessary or desired during gameplay.
I haven’t started this yet. Since targeting is done by manually selecting the target, collision detection and trajectory code is pretty much reduced to traveling between two known points. I also haven’t created the ‘bullet’ yet, which is probably something I will work on early this week.
The functionality of the game world is there and not. I can build a waorld, render a world and move in the world. Collision still has yet to be coded and both the artwork and the final layout are works in progress. On paper, half the battle is fought. In reality, there’s a good chunk still to do in coding, art and design.
After the initial two or three days of studying everything I possible could have in that time period, I have steered cleer of any code other than that which the IDE’s help system and the manual provide. So far I can honestly say that this game is 100% original code, which meets the requirements of the challenge and is also something I am rather proud of.
The final goal has been established. There is a finite number of enemies and a clock ticking down. The goal is to zap all enemies before the clock runs out. I’m hoping there is time at the end to establish some reasonable fanfare for completing the goal.
Most of the models in the game are primitives. As mentioned earlier, primitives are pre-existing shapes or ‘building blocks’ that one can use in the 3D environment. Currently the only custom model is that of the launcher.
The story in a nutshell: A virus is inside your machine. You have entered your machine and, with the aid of the Virus Zapper 2010, you zap all infections before they destroy all of your files.
All of the textures currently in-game have been crafted by my wife and myself. One can readily tell who did which as hers rock and mine seem to fall into the -less-than-stellar category.
I have poked around with the music and I have decided that part of the audible awesome for this game will be created using Microsoft Music Producer. I’ve been looking for an excuse to use this damn program for almost 15 years now and now I have found one. Muhahahaha!
A framework for the UI has been created. Several goals were hit with this one as it contains information to gauge progress, instructions how to play and a callout or two to present the ‘story’ or in-character view of what the player is doing.
Gauge of Progress
The number of files remaining and the number of infections left to zap are displayed. As the file count drops, the number changes to yellow at one preset marker and then orange and then red to convey urgency and graphically represent time ticking away without having to glance at the numbers too often. The number of infestions remaining is displayed in a very large font on the Virus Zapper 2010 so that the player can clearly see how many he has left to zap.
WANT TO DO
I’d like to do an introduction or at least a splash screen but I am not sure there will be time to do that as the last few days will be bug fixes, tweaks and playtesting. With everything that I *need* relayed already being shown on the UI, the intro seems less and less important to include.
I wanted to make sure that anyone could understand the goal of the game and just start playing without needing any additional resources. All instructions are now currently presented on the UI.