Monday, 24 February 2014

Sound Effects and Projectiles Video


Stress Test Video

For the video I created a galaxy with 75 planets and placed 60 ships in each of them (4500 ships in total)

Each of the smaller ships have the most CPU intensive weapons (rapid fire auto-cannons) to fire at the indestructible capital ship all at once. This was to test that the game will handle the large number of objects and sound effects.

There are no simplified calculations in the game for battles that you are not currently viewing (apart from rendering optimizations). All AI, ships, collision detection, projectiles and missiles are always fully simulated.

I expect the ship count could be significantly higher for normal game-play as there wont be battles happening all at exactly the same time like in this video. In a typical game you will most likely have the majority of ships transporting cargo, mining or patrolling. Those kind of tasks don't require much processing power at all.

The frame-rate displayed in the video would normally have been much higher but the recording software was limiting it quite badly. Running the same test scenario without recording I averaged around 50 FPS.

System specs used:

AMD Phenom X4 9950 (2600 MHz, 4 core)
Nvidia Geforce GTX 260
4 GB RAM

Audio Library

I recently switched the audio library that Galaxial uses over to irrKlang as I was having problems with OpenAL drivers and sound crackling. Overall I'm really pleased with irrKlang's performance and ease of use.

In the video there are often over 300 sound effects playing at once! Each individual projectile from the auto-cannon weapons have their own firing and impact sound effect. Ships also have engine rumbling sounds which sound great when there's not much going on.

A lot of the sound effects I'm using at the moment are just placeholders, but I am planning to get professional effects made by a sound designer when the game is almost feature complete.

Cargo Transfer

The drag and drop user interface for manually transferring cargo between docked ships and colonies has been finished. Holding shift while dragging items will let you set the amount to transfer.


The Load/Unload buttons at the bottom will attempt move all items from one cargo hold to the other, so long as there is available space in the ship. Colonies will have unlimited storage space.

Bonus Screenshot

(New Jumpgate graphics)


Tuesday, 10 December 2013

Fleet Leaders

Quick post about the fleet leaders and experience system I have planned which I am currently working on.

 

Command Hierarchy

Each ship can be assigned to a Squadron which can have a maximum of 9 ships in them. They will follow the same orders, work as a group and keep in formation (if you want them to).

Wings are the next level up and can command a maximum of 4 Squadrons (possibly more when researched).
All of the Squadrons assigned to the Wing will follow the same orders, so you can assign orders to a large number of ships all at once.

Fleet is the highest level. It can hold any number of Wings or Squadrons. You probably wont be able to give specific orders at the Fleet level and I haven't decided yet if more than one Fleet will be allowed.

 

Leaders

Each Squadron, Wing and Fleet can be assigned a leader character. This leader will earn experience from battles they are involved in. If any of the ships the leader commands was involved in destroying an enemy ship then they will gain experience towards their skill level.

The leaders skill level will give specific bonuses depending on where they are placed in the Command Hierarchy:

Squadron Commander: 5% bonus to damage per skill level
Wing Commander: 5% bonus to maximum speed per skill level
Fleet Commander: -5% ship upkeep cost per skill level

The only way for leaders to gain experience will be in command of a Squadron. To do this they will need to be in the lead ship. If the ship gets destroyed the leader dies.

You will be free to reassign leaders whenever you like, but only if there are no enemies nearby.

 

Traits

Traits provide bonuses to all ships the leader is in command of. When a new leader is recruited they may have a number of traits, but they cannot be gained in other ways. A few examples:

Mining Specialist - Gives a 20% bonus to mining yield
Shield Specialist - Gives a 10% bonus to shield hit points and recharge
Energy Weapon Specialist - Gives a 10% bonus to energy weapon damage
Engine Specialist - Gives a 10% bonus to ship maximum speed
Transport Specialist - Gives a 10% bonus to cargo capacity

Trait effects will cascade down the command hierarchy and are halved at each level. If you have leaders each with the Mining Specialist trait at the Fleet, Wing and Squadron levels then it will give the bonus of 35% (5 + 10 + 20) to the ships below.

 

Proficiencies

As leaders gain experience they also get better at commanding certain types of ship. For example if the leader only has Cruisers in their Squadron, experience will also be added to their Cruiser Leader skill which provides bonuses only for Cruisers.

If there are more than one class of ship in the Squadron, experience will be distributed evenly to the relevant proficiencies.

 

Medals

Leaders will also be able to earn medals when they achieve certain goals (total ships destroyed, ore mined, cargo transported etc..) Some medal examples:

Long Service Medal (Awarded for time spent as an active leader)  - Gives a 10% reduction to ship upkeep costs
Bronze War Medal (Awarded for total ships destroyed) - Gives a 5% bonus to shield and armor hit points

 

Potential Problems

The whole leader system is designed to be completely passive. You wont need to manually spend skill points. They can just be left alone and they will automatically gain new skills, proficiencies and medals as they do stuff. So it shouldn't require much micro-management at all. Of course you still might want to check on them occasionally to ensure you are making the best of their abilities in their current position.

As the player can take manual control of any of their own ships in the game, there is the problem of what happens when taking control of a Squadron leaders ship. Should that leader continue to get experience for ships you destroy?

I don't really want to add a special type of leader character that represents the player as I would like the player to be able to take control of another ship once it gets destroyed.


Much of this is not fully implemented yet, so would very much like to hear your feedback and suggestions!

Friday, 6 December 2013

Galaxy Map

The past month I have mainly been working on the galaxy map screen to make it more informative but still trying to keep it very minimal.

(150 planets, 1 player, 3 AI)

The sector icons are now colored to show the different planet types. Surrounding each planet there are small circular icons to show if there are any ships in that sector. (green = player, red = enemy, blue = allied, white = neutral) 

It hasn't been implemented yet, but you will be able to hover the mouse over the ship icons to display the number and class of ships at the planet. Hovering over the planet icons will also show more information about them.

(25 planets, 1 player, 3 AI)

The jump-gate links and borders are colored based on the owning factions relations to you.

There may be more than one enemy/ally that will show the same colored border and jump-gate links. So to distinguish each faction, the smaller circle at the center of each planet icon will be used to show its unique "faction color".

However this is not shown in the screenshots as the faction and relation colors are currently identical for testing.

Empire Sphere of Influence

(Very rough sphere of influence style empire maps)

I have also experimented with rendering some "sphere of influence" style empire borders, but ran into performance issues with the really large maps. I think it maybe covers up too much of the screen, hiding all the stars in the background which look nice as you move around the map. (the stars use 3D positions)

I have abandoned this approach for now, in favor of the smaller overlapping borders you can see in the first two screenshots.

Planet Colors


Colors used for each of the different planet types have been tweaked slightly. Volcanic was difficult as the planet graphics are limited to just one color and no detail. (lava or rock?) 

Each of the types (Temperate, Desert etc.) have a few variations so they won't all seem identical.

Miscellaneous

  • Galaxy generation code completely rewritten (now cleaner and more efficient)
  • Probability distribution working properly for planet types, bonuses and trade goods
  • Detailed galaxy log created during generation with lots of statistics (using for balancing)
  • Started on the high level AI for factions (aware of all the objects and territory they control)
  • Initial design work done for the different government types 

 

Bonus Screenshot

(The leftovers from a large cruiser battle)

Sunday, 3 November 2013

Ship Graphics

Sorry for it being such a long time since the last Galaxial development log. The game is still very much in development and will be released. (but please don't ask when!) :)

The last few months I have been working hard on creating new ship graphics content for the game and just generally tidying up the engine, fixing bugs, optimization and polish so that its ready for the next stage of development. (AI)

Ship Screenshots

I have a few screenshots to share so you can see the new graphic style for ships. Very pleased with how much improved they now look compared to the older ships. Have had a lot of practice using Adobe Illustrator since then!

I'm not sure on the exact numbers yet, but the plan is to have roughly 4-5 ship designs per class (Frigate/Cruiser/Battleship etc.) More will likely be added over time once the game is released. There is a huge amount to make, so I'm having to spend a lot less time coding while being in artist mode.

(Dreadnaught. The largest class of ship that will be in the game )

(Battlecruiser showing one of my favorite color customization combinations)

 (Few of the smaller cruiser sized ships with darker hull and green trails!)

(Transport ships near some wreckage!)

Customization

The color customization options for ships are now slightly different than before because of the new way they are created.

Ship hulls can only be various shades of black/grey/white. There are no limitations for the colored panels which will use your faction/team color of choice.

The turret lights which become more visible as you zoom out, use faction relation colors. So enemy ships will show red turret lights, blue for allies, white for neutral and green for the player. Colorblind settings are also available.

Turrets

You might have also noticed the new turret graphics, although only one type is shown in the screenshots. There will be unique graphics for all the weapon types (Artillery/Railgun/Laser/Missile Launcher etc.) and they come in 3 sizes (Small, Medium, Large)

Each ship can only fit a certain size of weapon and it should be clear the amount of firepower enemy ships have just from looking at them.


You can also follow me on Twitter for more regular updates about the progress of the game.

Tuesday, 2 July 2013

Population Graphics and Fog of War

A few of the latest features I have been working on since the last development log.

Planet Population Graphics

Finished creating some additional colony graphics to show roughly how large the planet populations are. The graphics change based on the current colony population in relation to the maximum it can support.

It starts off with just the colony infrastructure visible where the facilities are built in the center. Then at 20%, 40%, 60% and 80% of the maximum population it will grow outwards an extra zone.


The textures are very large (uses a lot of GPU memory) so I dont think it will be possible to make seperate versions for each faction with the same color customization system that is used for ships.

You can see a giant screenshot version here which shows how smooth everything looks in-game. (4096x4096 size image, 10MB)
 
Population Growth

There are many factors that affect the colony population growth rate including:
  • Colony happiness
  • Tax rate
  • Food surplus/shortage
  • Luxury resources
  • Researched technologies
I'm not sure yet whether you will be able to use passenger ships to move migrants between colonies, but am aiming to have the colonies take quite some time (in-game) to reach their maximum size through normal growth.

Fog of War

Did some experimenting with fog of war by making each ship have a limited view distance. (similar to most RTS games) I didnt think it looked quite right for Galaxial and was rather annoying not being able to see the whole battles taking place.

So I have decided to use a system where you only need a single ship in a sector to reveal the entire area, rather than revealing smaller areas around each individual ship.

(Previously explored sector now hidden by shroud)

Once you no longer have any ships or a colony in the sector, then it will become hidden again and covered by shroud. Asteroids, jumpgates, wreckage and the colony will remain partly visible based on what was there the last time it was visited. If you return after some time you may find it has changed or some things have disappeared.

I will most likely add a new specialized ship type that can be used for scouting and exploration. They will get a cloaking module bonus to help them remain hidden. Destroyer class ships will get bonuses to detecting the cloaked ships. 

At the start of a game all sectors will be hidden on the galaxy map until they are explored.

(Explored sectors visible on galaxy map)

For the moment I have left all the background stars and glowing areas visible on the galaxy map from the start. It looks nice but think it will make it a lot easier to predict where everything is in relation to your starting position. So may have to hide more of the background stuff until the nearby sectors get explored...

Ship Modifiers

Made a few changes to some of the ship modifiers for balancing reasons and added some extra ones.
  • Energy Leech (Drains energy from target ship and adds to its own)
  • Energy Leech Resistance (Reduces effectiveness of energy leech modules)
  • Decelerator Resistance (Reduces effectiveness of decelerator modules which slow the ship)
There is now just one generic damage type rather than being seperated into explosive, electromagnetic, chemical types etc.. This is to make it simpler when designing ships and reduce the need to equip so many modules that add protection from individual damage types.

Added a stacking penalty for when you equip modules that affect the same attribute. This is to make it impossible to get really overpowered ship stats or becoming immune to damage.

Thursday, 9 May 2013

Ship Fitting

In this post I will be explaining the ship fitting window which I have been working on recently.

Module Slots

Every ship has a number of slots to fit modules. There are Targeted, Active and Passive slot types, the number a ship has of each varies.

Targeted Modules: Requires a selected target. Examples: Weapons, Electronic Warfare, Mining, Salvager, Remote Repair and Fleet Support/Logistics

Active Modules: Costs energy while active and just affects own ship. Examples: Afterburner, Shield Booster, Hull Repair, Shield/Hull Reinforcing, ECCM, Cloaking and Weapon Upgrades

Passive Modules: Doesnt have an energy cost and are always active. Examples: Energy Recharger, Energy Battery, Armor Plating, Reactor and Cargo/Mobility Upgrades

This module system should seem familiar if you have ever played EVE Online before as its quite similar.

I have only included a small selection of module types so far, but there will be a lot more when the game is finished. If you have any suggestions let me know and I might be able to add them!

Fitting Window

In the screenshot below you can see the fitting window is split into 3 sections. On the left is the ship and module browser, the ship fitting slots are in the center and the ship stats are to the right.

(Click image for fullsize)

You use the browser to drag modules into an available slot in the main fitting area. The fitting area will display the maximum range (for targeted modules), energy usage when active (per/second) and power requirements for each fitted module.

Hovering over any module will show its complete stats and build cost/time. Hovering over the stats on the right will also display a tooltip explaining each value.

Power

Different ship hulls have varying amounts of power which is used by the fitted modules. This limits which modules can be fitted but some module types can increase the available power.

The more advanced and powerful modules will have higher power demands. This is so the basic modules will remain useful (and not become obsolete) when creating setups on a tight power budget.

(Click image for fullsize)
Miscellaneous

In the screenshot above you can see the new ice asteroid graphics in the planetary ring. They are less rounded than the metal ore asteroids. I still dont have a use for them yet but dont really want them to become some kind of fuel resource that you require a constant supply of.

The module buttons along the bottom of the screen now have some finished icons. Decided on using simple colored shapes rather than more detailed icons as I think they fit the abstract visual style quite well.

Sunday, 14 April 2013

Improved Colony Interface

Over the past month I have been mostly working on lots of smaller tasks and bugfixing which wouldnt have been particulary interesting to blog about, although I have made some nice improvements to the colony user interface which I can now show.

Improved Colony Interface

This is the same screen that was shown in the earlier blog post about colony development but now looks a lot more interesting and compacted.
(Colony information interface screen)

The planet view box at the top will eventually be used to display any special bonuses that the colony may have. They can also be viewed by hovering the mouse over a planet.
(Planet stats and bonus tooltips)

Below is the updated interface for building facilities and expanding the colony. You can see the older window design with some more information about facilities here.
(Colony facilities interface screen)

Shipyard

Next is the interface screen for building ships. It still needs some more work but the layout should stay mostly the same. Hovering over each design on the list to the right will show stats, build cost/time and details for the ship.

Designs are added to the build queue by dragging them from the list or by double clicking them. The build queue can also be rearranged by dragging items around with the mouse.

Adding some extra columns to the designs list showing the build cost and time would be useful, but I dont think there will be enough space for so many columns. Unless I take away space from the left half of the window. The "Resources Required" box also needs some slight changes as its not really clear what the values mean. Example: "4192 / 12000" (resources required / available)
 (Shipyard interface screen)

Each of the default ship designs currently have 5 variants (basic, standard, enhanced, advanced and prototype) This is determined by the quality of the modules that are fitted to the design. At the moment you can still build the obsolete designs after researching more advanced modules (more advanced modules cost more and take longer to build) So its a quantity vs quality / cheap vs expensive tradeoff when deciding what to build.

This may possibly change to something simpler as I'm worried its too confusing and increases the number of designs you need to create and keep track of. I had thought about having single designs which are updated to use the latest modules as you research them, but then the costs and build time would probably have to stay the same and the ships using the design would be instantly upgraded.

The other pages I didnt show (defence, refinery, research) still need some more work before thay are finished but are a lot more simple as they dont require much interaction.

Thats all for now.
Let me know if you have any good suggestions!