Monday, January 21, 2008

Talk Back

Fleet Combat Online now has a forum. I don't expect a lot of deep conversation since there isn't much to talk about at this time, but I just set it up so I thought I should mention it. I'll add more categories later, I just wanted to make sure that the software I am using was up to the job.

I am getting pretty far along in making the website that will eventually host the game. It will allow you to create a game and either make it invitation only or public to anyone. Players can join the game and then pick the ships they want in their fleet. Once everyone is ready, the game will start and launch you into the Flash based game client. So far it works pretty well.

Wednesday, January 16, 2008

Small Update

I have started working on the main website for Fleet Combat Online where you will go to sign up and actually play the game. I have all kinds of ideas for player ranking and factions and such things, but I am trying to keep it simple to start with. Also, I am not a graphic designer by any means, so it will be pretty spartan :) When it is ready, this blog will move to a new url and the main website will appear here instead.

I also finished the mechanism for submitting turns in the game and I am pretty happy with how it turned out. In the game interface, you will see the list of players with a "traffic light" icon next to each one. The traffic light indicates that players "readiness" for the next turn. Red indicates that they are not ready and they are not currently online, so it may be a while before they are ready. Yellow means they are not ready, but they are currently online and logged into the game, so it won't be long. Green means they are ready and waiting for the turn to be processed. Clicking on your own traffic light icon will toggle your status between ready and not ready. This is similar to how all XBox Live games work.

As soon as all players have set their status to ready, they will get a 5 second count down and the turn will be processed. When the turn is processed, the game board refreshes and you see all the ships move and all players status is automatically reset to "not ready".

If you are playing in "near real time" mode, then all players status will always be "ready". As soon as a turn is processed, you will see all players traffic lights will still be green and there will be a countdown to the next turn. The length of time between turns in this game mode is configurable. You will still be able to set your status to "not ready" if you need to pause the game.

This brings up an issue that it will be interesting for me to see unfold. Fleet Combat Online can be played "live" with all players logged in and playing at the same time, or it can be played "offline" as in a Play By Email game. PBEM (or PBM) has been around since long before the Internet. The idea is that each player plays their turn when they have time and once all players have submitted their turn the game progresses. VGA Planets is a classic play by email game (one that I still play to this day). If you've ever seen Blade Runner, the scene where J.F. and Roy are debating about his next chess move is a form of PBM game. He and his opponent never get together to play, they just send their moves to each other. (A game mode that Dr. Tyrell should have stuck to...)

During the game, you will be able to switch modes. So you can start the game with all players online and then when someone has to go, you can switch to offline mode where turns are processed by the players whenever they have time to login and play. Email notifications can be set up so that you are told when you need to submit a turn.

Friday, January 11, 2008

Incoming!

I have just implemented decoys as a defensive measure against all types of incoming missiles. Modern day fighter jets use two types of decoys against missiles, "chaff" and flares. Flares are intended to confuse missiles guided by infrared detection and chaff is little foil strips intended to confuse radar guided missiles.

In space combat, the guidance systems probably won't use IR or radar, but rather an EM Signature. The missile will look across the entire electromagnetic spectrum -- ultraviolet, visible, infrared, microwave, radar, etc. Everything that the target is emitting will be recorded and memorized by the missile.

So that means that the decoys will have to be very sophisticated. At the time the decoy is launched, it will itself look at the EM emissions from the ship that launched it. It will then use various emitters to reproduce that emission signature. So the decoy will "look" the same as the ship no matter what band of the EM signature the missile is using at any given moment.

Here is a sequence of screenshots showing the decoys in action. In the first frame, the enemy has launched three missiles at the target. We have responded by deploying a decoy and altering course:

You can see the missiles going toward the target. They have spread out a bit as they each make up their mind between which of the two targets to follow. In the next frame, you can see one missile has clearly "bought" the decoy. The other two are not distracted though:The final frame shows the results. Two missiles impact the target, the other heads uselessly off into space:

Monday, January 7, 2008

Happens to the Best of Us

Well, I did a little digging into the issue of the high speed mass driver rounds missing their targets too often. I found out that it had nothing to do with the speed of the round or the guidance system. Turns out it was a stupid little defect: other missiles that I have tested have proximity fuses while mass driver rounds do not. When a missile gets close to its target (within its proximity fuse range), it watches to see if it is about to fly by the target. If so, then it detonates, figuring that it is as close to the target as it is going to get.

Since mass driver rounds don't have proximity fuses (or any type of warhead at all -- their kinetic energy is plenty of punch), they never detonated because I didn't write any code to detect an actual hit on the hull of the target. So I added code to detect a hit on the hull itself and now the mass drivers are back to being super deadly :) In fact, the way it is now, one hit from a mass driver will kill any of the ships I have set up. I will adjust this of course, its no much fun to die on your first hit (though it may be more realistic!).

Also, I have added a chat window as you can see in the following screenshot. I hope to be able to implement team chat as well as global chat.


Wednesday, January 2, 2008

Lead or Pure?

In en earlier post I promised to post more screenshots of a larger ship battle. I haven't done that yet because playing in that battle brought up some issues that I have been fixing. Mostly just little stuff when you click through each of your ships and giving them orders and then go back and click on one of the ships you already gave orders to, there is no indication that it has orders. So this made it very hard to know if you had already given a ship orders or not. So I made the "new" orders visible when you click on a ship.

Also, it became clear that I need a better guidance system for very fast travelling projectiles. Rail Guns (or Mass Drivers) fire a projectile very very fast. On the order of tens of kilometers per second. While current hypothetical weapon designs for mass drivers would involve a simple slug as the projectile, I think that any star ship worthy weapon is going to have some kind of guidance. After all, 10 km/s is fast, but if your target is 100km away (or even 10 km away), they aren't going to be there by the time the projectile arrives.

Up to now, all projectiles in Fleet Combat Online have been using "pure pursuit". That is, they constantly look at their target and steer toward it. This is the same guidance model as first generation air to air missiles like the AIM-9P Sidewinder. This form of guidance (and its primitive IR sensor) meant that you could only fire that missile in "rear aspect" -- meaning from behind. If the target was moving across the missiles field of view, then the pure pursuit model always puts the missile a little bit behind the target because you are steering directly at it, but it is moving sideways.

I have found the same kind of behavior with the mass drivers in the game. At first I thought "fine, that is a disadvantage to an otherwise very powerful weapon". But upon playing it makes it very hard to hit anything with them. And at least in the "early" eras of star ship combat, a vessel armed with a mass driver is not likely to have much in the way of other weapons because of the power required (and heat generated) by that big rail gun.

Slower rocket powered missiles don't really have that problem as they aren't as likely to whizz by the target before they can alter their course enough to hit it. As they get closer to the target, their course becomes more parallel to the target and they sort of fall in line behind it before catching up and hitting it.

So I need to change the guidance model for the mass driver projectiles to have a "lead pursuit" model. That is where you look at the targets speed and direction and try to predict where the target will be by the time you get there. You can see this different logic if you ever see video of the later AIM-9M missile being fired. The target is directly in front of the plane but moving to the right. When the missile is fired, it immediately takes a hard right turn making you wonder where it is going, but it is just "leading" the target.

Here is an article about the differences at one of my long time favorite sites Sim HQ.

So that's what I am working on now. Hopefully it won't make those mass drivers too deadly -- oh the joys of play balancing...

Here's to Competition

I don't know why I didn't find this before, but for some reason this site just showed up in one of my Google Searches about star ship combat and fleet operations:
www.starshipcombatsimulator.com

It looks to be essentially a modernization and an expansion of the original Begin or Begin2. It even references the original FASA starfleet combat game.

I have not played it yet, but it looks interesting. Unlike Fleet Combat Online, they have chosen to stay inside the "Star Trek" universe, so you can choose from any of the races and ship types from Star Trek canon. Also, it uses a client EXE that you have to download and install, wereas I have chosen to be completely browser based.

I am happy to see that someone else thinks those old games were cool and that there is no current substitute for their level of tactical game play. I am a bit discouraged however to see at the top of the home page that there are only 579 users. I would have thought that in the whole world, there are a lot more than 579 people looking for an online star ship combat game. I hope they just haven't yet actively sought out a user base. Soon (if I get going on development) you will have another choice for this type of game :)