Saturday, December 22, 2007

More Ships, More Chaos

I have been working on that larger battle I mentioned in my last post. I have also been working on the user interface a little bit. The more I actually try to run a battle, the more I find things that are missing or are not right about the UI. Which is good, that is the whole point of testing. In my last post I mentioned that I was going to post pictures of a battle between more starships -- here you go...

Below is a screenshot from a battle between two cruisers and three frigates. As I mentioned in an earlier post, play balancing is a bit of an issue at this point. This screenshot is from early in the battle, but you can see that the three frigates (in red) are going to clean up against the two cruisers (in green and blue) even though the cruisers are more powerful on paper. You can see missiles in flight in this screenshot -- three fired by one frigate and three fired by another. In the upper right is a high speed kinetic projectile fired from the rail gun of one of the cruisers. Unfortunately, it has missed its target and will fly off uselessly into deep space.

You can also see the explosions left over from missile impacts on each of the cruisers. The faster reload rate of the frigate's missile launchers is giving the cruisers fits. In terms of the user interface, you can see the new helm control UI on the right. This is more intuitive than entering a course and speed manually. Instead, you can just click on the circle to give your helm orders.

On the right, below the (temporary) zoom control is a simple spinner control that has the number "20" in it. This is because this screenshot is from turn 20 of the game. You can use this control to go back and look at previous turns. In the future, this control will be a little more sophisticated, so you can "play back" the previous turns, or an entire game to review what happened.

(click the image to see a larger version)

Monday, December 17, 2007

Wiki Wiki

I have created a wiki for Fleet Combat Online. It will be the home for the game encyclopedia. It will have definitions for the ships and weapons and all the other game objects. It is also another nice distraction to keep me from actually finishing the game :)

Friday, December 14, 2007

Coming Along

I have actually been making a lot of progress lately, which is why there have not been a lot of posts. Well, that and the fact that Galactic Fleets is taking up a lot of my time (click that to sign up and I get points! W00t!). I am the type that easily gets addicted to games. I used to play MUDs a long time ago -- I would stay up all night long (after all, that was the only time you could tie up the phone line for hours on end without getting in trouble) level grinding to get the next bit of loot. (Yes, we had spawn camping back then which generally consisted of hitting the "." key every second or so to "do nothing"). That is why I have never touched World of Warcraft. It would be like poison to me.

Anyway, back to the point. I actually created and played through an entire game of Fleet Combat Online from start to finish the other day. Of course I have played a few turns at a stretch to test various new bits of code all the time. But this was the first where I started a game and didn't stop all the way through it. Of course, I was playing both sides since the AI isn't coded yet and I don't want to release the current version of the game.

It went very well. I didn't find any major defects and all the features worked as they should. It needs a little play balancing. I played with one Destroyer armed with a massive rail gun against a frigate with a guided missile launcher and a torpedo launcher. I thought for sure the destroyer would win because of the almost un-dodge able rail gun shots. But it totally went the other way. Even though I was playing against myself, the destroyer could not keep its distance from the frigate because it had to constantly maneuver to dodge incoming missiles. The rail gun on the destroyer only fires forward, so it was useless when the ship had to turn its beam to the incoming fire. So the destroyer went up in flames after inflicting only about 15% damage to the frigate.

Next I will test a larger number of ships, maybe four on two or something. Also, I have implemented damage control since the previous test game, so that may affect the outcome. I will post screenshots of the battle next week.

Monday, December 10, 2007

Progress Report

Now that I have several different kinds of star ships and weapons setup, I need a way to get them into a game. Up to now, I have been creating test games by manually editing the XML files that make up a game and going from there. But now I need a web page where a user can create a game, add his or her fleet to the game and allow other gamers to sign up for it. Basically, I need an easy way for players to start their own games.

So that is what I am working on now. I am thinking of using the concept of "command points" which all players will have. Think of this as cred with your superiors -- it allows you to requisition more ships or larger ships for a particular battle. If you keep losing battles (especially when the odds were in your favor), your ability to convince your superiors to send you more ships goes down.

When you create or join a game, you can add ships to the battle by requisitioning them from HQ. As other players join, they too can add whatever ships they can scrape up. When all players are ready, the battle begins.

This concept is something that can be built on a lot in the future to give players some motivation to win battles rather than just giving up or retreating.

Friday, December 7, 2007

Its all about the content

Up to now, I have been running my little test games with just one type of star ship and one type of weapon to make sure that the game engine is working the way I want it to. But now I am ready to start creating an assortment of ships and weapons and defensive systems, etc. This is what I think of as the "content" of the game. The engine that processes the turns (ships moving, weapons firing, things exploding) doesn't care at all about what the objects are that it is working with. It simply reads xml files that define what weapons and engines a given ship type has, and from that it can figure out how fast it can move and when it can fire its weapons, etc.

So I am writing a bunch of little xml files like this to define a ship:

<ShipType>
<TypeID>1000</TypeID>
<Name>Columbia class Destroyer</Name>
<Abbreviation>CCD</Abbreviation>
<Mass>110000</Mass> <!--mass in kg-->
<Length>42</Length> <!--length in meters-->
<HitPoints>250</HitPoints> <!--hitpoints of hull-->
<SubSystems>
<Reactor ReactorTypeID="1000"/>
<Engine EngineTypeID="1000"/>
<Weapon WeaponTypeID="1000"/><Weapon WeaponTypeID="1001"/>
<Sensors SensorTypeID="1000"/><LifeSupport LifeSupportID="1000"/>
</SubSystems>

<!--drawing instructions: MoveTo(x,y):LineTo(x,y)-->
<Geometry>M,0,-10:L,5,5:L,0,0:L,-5,5:L,0,-10</Geometry>
</ShipType>

You can see that this small ship has one engine and two weapons. The specifications of the engines and weapons are defined in other XML files. This way, it should be easy to make new ship types or tweak existing ones for balance.

The "geometry" section is drawing instructions for the client. This is so each ship class will look a little different so you can tell them apart visually. Right now, I am just going to use simple line drawing graphics, but maybe in the future I will add some actual artwork. (I am no artist!)

Thursday, December 6, 2007

Do you OGame?

While doing more research via Google to see what is out there in terms of browser based space combat games, I stumbled across OGame. OGame is a massively multi player online 4X (eXplore, eXpand, eXploit and eXterminate) game that runs completely inside the browser. So I joined a game to see what it is about.

I am not sure that I "get it". The game play (at least in the beginning) is very very slow, and there isn't much to do except click on a link to start building something and then wait for the timer to tick down. But I could see that later in the game having a lot more going on as you end up with hundreds of planets and huge fleets and alliances and all that. So I'll keep playing it and see how it turns out.

One thing is for sure, they have TONS of people playing it. I hope that is a good omen for Fleet Combat Online...

Tuesday, December 4, 2007

Your Orders?

Here is a closer view of the tactical panel on the left side of the screen. This is what I am currently working on. Helm Control allows you to steer the currently selected ship as well as see its current heading and speed as well as its desired heading and speed.

Fire Control (shown) is where your weapons show up. You can load them with various types of missiles and target weapons individually to different targets.

Defenses is where you would control shields (if they exist in your "era"), point defense weapons, armor, etc.

Damage Control will show the status of all the parts of the ship and allow you to assign repair resources to each sub system.

At the bottom you can see the sensor output. This is showing information about the current target of your ships sensors. Its distance and bearing as well as a predicted intercept course that is calculated based on the speed and heading of both ships.

I am currently working on fleshing this section of the UI out some more to show more information and allow for loading and configuring of various weapon types.

Monday, December 3, 2007

First Screenshot

Here is a very early screenshot of Fleet Combat Online.


You can see the basics of the UI and two ships on the battlefield. The blue one is under control of the current player and the red one is the enemy. The dark grey lines show the position history of each ship. The lighter grey lines show its direction of travel and speed.

The grid is in 1 kilometer squares. You can zoom in and out and this grid will still show 1km squares.
The tabs on the left are the main command UI. It has sections for: Helm Control, Fire Control, Defenses and Damage Control. Details about your current sensor target (not currently show) appear in the lower left corner. The lower middle section is for messages about what has happened in the most recent turn.

Tuesday, November 27, 2007

Game Features

Well, now that I have written a bit about the foundations for the game, how about a little about the game itself. It is of course, still under development, but here are the features it will have when it launches:
  • Support for any number of players in a game. There may be a practical limit, but there is no real reason that you won't be able to have 50 people in a game if you want to.
  • Players can control one ship each or entire fleets each. So you could have two teams of 4 players. Each player is a "captain" of one ship. Or you could have two players each commanding 10 ships.
  • Turn based, or "near" real time. The game is turn based, but it will operate in two modes. The default mode is what you are all familiar with from Begin or the Civilization series. Each player gives orders and then clicks on a "commit" button to process the turn, etc.

    The other mode is where the server automatically processes the next turn every X number of seconds. This way, there is no waiting for the other player to make up their mind. You just submit orders as you like and every so often the screen refreshes and your ships move. This will give it an RTS feel and will make for faster paced game play. This turn mode can be switched at any time. So you can start in near real time, and then when one player has to leave, you can switch to traditional turn based and process turns once per day or whatever as players see fit.
  • All players don't have to be online at the same time. Being turn based, you can submit your turn even if your opponent is not online. You will get an email or text message when the next turn is ready. In this manner, it operates as a PBEM game.
  • The game runs in Adobe Flash so any modern browser should be supported (FireFox, IE, Opera, Safari, etc).
  • Online chat. You will be able to text chat with all players or just your teammates.
  • Online scoreboards. What is the point of beating the heck out of someone if there isn't an online scoreboard to brag about?
  • The game has the concept of "Eras". I want to use "realistic" technologies, but it is also fun to use more fanciful technologies like Star Trek. So I came up with the idea of having combat in multiple eras. So far I have thought of the following eras: Interplanetary -- slow ships in close combat with projectile weapons like missiles and bullets. No shields and only light armor. Interstellar -- faster ships with limited faster than light ability and some use of energy weapons and limited shielding. Galactic -- sky's the limit for technology, all the fancy stuff you see from the movies. At launch, probably only the interplanetary era will be available.
  • Multiple ship types. Destroyers, battleships, carriers, mine layers, etc. Carriers play an important role in today's naval combat, so they probably will in future combat as well. So there will also be multiple types of short range craft like fighters, interceptors and bombers.
  • AI. If there is no one to play with, there will be computer controlled players that you can play against for practice. Maybe the computer controlled players will even show up on the scoreboard, so there is that motivation to get your name above the name of a bot!
  • Energy management. Transferring power between weapons and engines, etc. Maybe even heat management will make it into the initial release. Heat is a big enemy in space, so not overheating your drives or your weapons may be a big factor

That is it for the first release. Obviously, there are a ton of features I would like to implement, but I want to get the game out as soon as possible and see if people like it. I will post more later on some of the "future" features.

Wednesday, November 21, 2007

Tactical Analysis

Since I just registered the domain name fleetcombat.net, I was searching around to see other uses of the phrase and came across this series of blog entries from someone doing a thought exercise on the practical issues of space fleet combat.

They are pretty interesting, and the same sort of things that I have been thinking about since I decided to develop this simulation. Basically, given what we know about physics today, what is likely to happen in space combat (guided missiles, conventional guns, long ranges) and what is not (transporters, shields, beam weapons, etc.).

I really want the game to have a realistic feel of what space combat would be like, and the author of these articles reaches a lot of the same conclusions that I have. Beam weapons, while possible using today's technology are really not very practical for long ranges or against hardened targets. They take incredible amounts of energy to fire. Creating that much energy creates an enormous amount of heat -- possibly creating more heat on board your ship than would be applied to the target when the beam hits them.

So I have been developing Fleet Combat mostly around projectile weapons with the idea of using beam weapons for "point defense" against incoming missiles. This puts a premium on maneuvering, spoofing, and countering rather than who has the stronger shields and more phaser banks.

Tuesday, November 20, 2007

Welcome!

Fleet Combat Online is (or I should say, will be) an online multi-player turn based strategy game of star ship combat. For now, this site will be a developers blog of the work in progress. I will describe the features that it will have and post screenshots and answer any questions. Hopefully, I only have a couple more months of work to get it live and playable. I set up this site now to put some thoughts down on paper and to see if anyone is actually interested in playing the game. The greater response I get, the more motivated I will be to finish it!

First off, what is it? I have always been a fan of strategy games as they make you think and plan out how you play the game rather than just clicking and reacting quickly to what you see on screen. I am a bit sad that this genre seems to be dying out. I can understand that a strategy game is never going to sell millions of copies like Halo, so publishers and developers are not interested. But I think there is a place for them in the world of online browser based games. So that is what I am developing.

The game is inspired a great deal by the old DOS classic that I grew up playing called "Begin". Begin was a DOS based star ship combat game based in the Star Trek universe. There was also a sequel called "Begin2", (which I never played until just a few months ago when I started this project and searched on the Internet to see what ever happened to Begin). The original didn't even use any graphics, it used only ASCII character drawing. You issued orders to your crew and other ships by typing commands. I loved it and played it all the time on my original IBM PC/XT in the early 80s. Begin still has a pretty active community of people that sill enjoy its solid strategy game play, but it is definitely showing its age. I have never seen anything like it since then, which got me interested in developing something new.

Fleet Combat will be different from Begin in many ways, but it will have a similar game play flavor. First, it won't be based in the Star Trek universe. Partly because that wouldn't be legal, but mostly because I don't want to be restricted to Star Trek "canon". I want to be able to use different types of ships and weapons than the standard photon torpedoes and phasers. When you think about it, Star Trek combat is pretty limited.

Second, it obviously won't take commands by typing in orders. That had a certain fun to it in the sense of being "the captain" and barking orders to people. But it also meant you spent a lot of time making mistakes or trying to get the command parser to understand what you wanted to do. Instead it will have a tactical console style of point and click interface.

I don't mean to compare it to Begin so much, I am not trying to develop a sequel to that. It will actually be quite different in many ways. I just wanted to point out the starting inspiration. I would love it if other fans of that game became interested in Fleet Combat, but I don't want them to be upset when it doesn't turn out to feel like "Begin3" -- that is not the goal. I would be really happy if the original author would write a sequel for us all to enjoy.

Other games that I have been inspired by:
The excellent VGA Planets. Tim Wisseman was a hero of mine when I was a kid because of that game. It spoke to me. I played versions 3 and 3.5. I looked at version 4 a couple of years ago, but it seemed so complicated to get into, so I have never played it.

Master of Orion. Actually, I have never even played the original or the sequel. For some reason those passed me by (probably because I was a starving student and couldn't afford a computer in the early 90s so I still had that 10 year old PC/XT). But I did become aware of it during the development of MOO III. I was on the forums during its development and looking forward to it like crazy. I understand most people were disappointed in it after MOO II, but not me. I guess not having played the originals, I didn't have anything to compare it to, so I was happy with it. Maybe I should go back and play MOO II to see how much better it was.

Anyway, that is where I am coming from, and I hope other fans of those games will find this site. I also hope that I can develop something that is even close to the involving experience of those games. I will post more details about the game itself later, there will be plenty of time as I procrastinate on actually writing the thing...