Jump to content
  • Advertisement
Sign in to follow this  
  • entries
  • comments
  • views


Sign in to follow this  
Sir Sapo


Hey everyone!

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!
Sign in to follow this  


Recommended Comments

Great work. I'm particularly glad that you've decided to add in a Zoom-in function, since so much of Mark's awesome ships were being lost in the scale-down. :)

Will AS offer online play as well? (Sorry if this was mentioned already -- I'm a forgetful beast) I'm looking forward to playing you. :P

Share this comment

Link to comment
Yes, the game will be multiplayer, in fact that's going to be implemented before AI, so we can balance it by playing each other before throwing a computer into the mess. Also, it'll make making a playable demo way closer in the future thatn otherwise.

There's probably some other stuff that Sapo'll tell you, I'm sure

-Mark the Artist

Share this comment

Link to comment
Yeah, it was a pleasant suprise when I saw how cool my "mistake" looked :)

The whole game is based on a client-server system with the game itself acting as a server for single-player and hot-seat type games, so yeah, internet play is pretty much guarenteed at this point. Mark and I have had some LAN battles, but due to my complete lack of understanding regarding firewalls and routers, we have been unable to get a game running over the actual internet, but if you have any tips on that kind of stuff, feel free to let us know!

Share this comment

Link to comment
Wow didn't think you'd get it implemented that fast! I wasn't expecting subsystems, thats pretty complex. Now you can do stuff like allow some units to target specific subsystems as a special action (I think bombers would be ideal here), or even have it so that depending on where the attack comes from, certain subsystems are more likely to be damaged than others (like sneaking round back to destroy the engines etc). Very good stuff

As for the networky stuff, if both players are behind firewalls the easiest way for them to connect is just to have them both forward the appropriate ports. Otherwise you need an intermediate server to 'introduce' them. Theres a good article about it somewhere, I think its linked from the network programming forum faq

Share this comment

Link to comment
Man, I wish I was an artist....

Keep up the awesome journal, when's the next video coming [wink].

Share this comment

Link to comment
Next video.... tonight perhaps? Depends if I have time to throw it through Windows Movie Maker and record a narration, but I would count on tonight!

Share this comment

Link to comment
Man, I wish I was an artist...

Yeah, we have that mean "Artist's Wrist" from drawing so much that drives the ladies wild.

Share this comment

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!