I've got a pretty good update for you guys tonight, so try and hold in your excitement....
I actually got alot of work done on Axis Shift today, and fixed a couple bugs that were really bothering me.
Annoying Bug #1: Excessive Tab Scrolling
One of my favorite things about AS is the customizable HUD, which allows you to extend or retract the HUD elements, so you can have only relavent information on screen. All was not well with the tabs however, as sometimes when the framerate dropped (while recording movies for example), the tabs would either extend too far, or retract too far, which either cut off the edge of the tab, or left a gap between the tab and the edge of the screen. I looked at the source code for the tab updates, and I found that I had nested a for loop in an if statement, when the for loop should have been outside the if. While this normally didn't matter at all, when the framerate dropped it caused the tabs to not stop their retract/extend cycle until one update after it should have. All in all, a little bug fix for something no one would ever really notice, but it lets me sleep at night at least.....
Annoying Bug #2: Display List Bug
This one is pretty boring. The display list compilation code I wrote was messing up under certain circumstances.... I fixed it.... yeah.
One of the support ships Mark has been working on is a MineLayer/Sweeper, which means I've been working on integrating mines into the game. Unlike most weapons, mines are not actual objects, just a tile attribute that the minelayers can access. The whole system consists of a "mined" boolean, and a damage value for that tile's mine. Whenever a ship is set in motion, the currently occupied tile is checked to see if it is mined, and if so, BOOM. If a minesweeper runs into a mine, the mine is disabled instead of detonating, making that tile "safe". Mark and I aren't quite sure what we want the visibility of mines to be. I'm kinda leaning towards minesweepers/sensorships being the only units that can see mines before they have run over them, but I doubt that will be the final system.
Different Colored Text
This one is kinda boring, but I decided to throw it in here anyway. All this fix did was allow the color of text to be changed mid-string. Not very exciting, but useful.
Critical System Damage
This was an addition that was inspired by Vyper_uk, who commented in my last entry that in most games, a unit with 1HP is just as capable as a unit with no damage. So Mark and I got together (the pizza line at school is a great meeting area), and we went over what we wanted to do about this. We decided (tentatively), that having critical systems on a ship get damaged once ordinance pierces through the 2 outside layers of a ship's health (Shield and Armor), and damages the ship's structure, would be a good idea. The way I coded it today goes a little like this:
-Damage is dealt to the structure
-A "Dice Roll" sees if any critical systems were damaged
-If so, another "Dice Roll" determines which system was damaged
-The damaged system is labeled as damaged, and stats are changed to reflect the damage
The system worked just fine today, but I'm sure Mark will have some problem with it and we'll end up making super complex.... Anyways, the system's we have come up with that can be damaged are labeled below, with their corresponding effects:
Engine Damage -Reduces Movement range
Weapons Damage -Reduced Attack
Reactor Damage -Chance of ship exploding every turn
Shield Generator Damage -Reduced Shield Recharge Rate
Sensor Damage -Reduced Sight Range
Guidance System Damage -Reduced Attack range
That's all we have so far, but I'm sure we'll be adding to the list sooner or later.
The damaged systems on a ship are displayed when you right click on a unit, so you can quickly asess the status of any ship in your fleet. I think that this way works out really well, as you can see in the screeny below:
Zoomed In View
When I was coding the display list code, I accidently made it draw everything twice the size that it should (128x128 sized tiles). This actually looked pretty damn cool, because the ship sprites were being rendered in their native resolutions, and suffered no artifacts. I decided at that point that having a zoomed in view would be pretty cool, so I set out to make it happen. I ran into quite a bit of problems regarding the mouse selection and the GUI elements, but I'm slowly whittling away at the problems, so you guys can expect some cool zoomed in screens soon.
Mark has been working pretty hard to get one class of every ship done for both sides, so we can start balancing things out a bit, but schools a bitch, so not much progress is being made, although he did finish this cool ship. This ship is a relic from a forgotten age, built by an unknown civilization, with many advanced components that no one understands anymore. Anyways, we might put this ship in the game as a special unit in some missions, or perhaps something spectacular for the last mission.....
Well, thats all for now, let us know what you guys think!