A real-time strategy game where you design airships and then fight with them. The aim is to have pretty chaotic explodey fights and interesting ship design choices.
ForumsTwitterSite


Purchase includes future versions up to 1.0!


At its core, the game is about designing airships and fighting with them. Ships are put together out of modules, and the layout of modules matters a great deal: everything on board is done by individual airsailors who need to run around, ferrying coal, ammunition, water and repair tools - and sometimes their fallen comrades.

You can command fleets of airships both against the computer and against other players across the Internet.

In addition, there is a single-player strategic mode, where you use your fleet to conquer city after city, unlocking new modules and bonuses with each of them.

The game has an authentic-ish system of heraldry where you can create your own coat of arms, and register it with the game forums as unique to you.

  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
Post article RSS Articles

Cleverer Boarders

News 2 comments

The next version of Airships will focus on improvements to troops. In this post, I'm going to write about the performance and pathfinding problems that large numbers of boarding troops face, and how they have been resolved for the next version.

When I originally wrote the code for air marines and grenadiers to find their way from one ship to another, I had in mind that there would be maybe a dozen or so boarding troops in a given combat. But of course, there was actually nothing stopping players from using hundreds, and this made for some big performance problems, with the game freezing for several seconds at a time as it tried to figure out the pathing for all those troops at once.

Why was the performance on this so bad? After all, plenty of games have units pathing from one place to another, and they don't have your computer freeze up trying to figure things out. Airships is a bit of a special case, though. In most games, the shape of the environment is more or less static, and so a navigation mesh can be pre-calculated for each level. In Airships, everything is constantly changing: ships and floating rocks are in motion against each other and the ground, and parts break off and new holes get shot into ships.

What is one of those little air marines actually trying to do? It's just exited from the hatch of its own ship, and it wants to get inside of its target ship. To do this, it has to execute a series of leaps and drops between ships, rocks, and the ground. In a simple case, it just has to walk over to the target building. But in a more complex case, it has to jump between multiple things before it reaches its target. Within each of those ships or rocks, it then has to move to find a spot from which it can jump to the next place.

So there are two levels of pathing, a coarse one between things, and fine one within them. The coarse pathing already works pretty well, since there aren't that many different entities to consider. But the hard bit is the precise planning of where to go to be able to jump to another ship.

To figure out the jump, the marine has to consider a number of different places to jump from, and for each of them, a number of different places to jump to. And this information can go out of date very rapidly as ships move. So if there are hundreds of marines, and dozens of tiles to potentially jump from, and dozens of tiles to potentially land on, that's a hundred thousand or more jumps to consider. That's where the computer freezes up, while trying to process all this information in a single frame.

I was able to optimise some of the code, but this wasn't really enough. The real fix is what I ended up calling the "conch of cleverness". Instead of all troops doing these calculations simultaneously, there is now exactly one unit each frame which gets to do jumping calculations and other CPU-intensive tasks. Because the problem was less with the total amount of calculation needed, and more with how it was all happening at once. With the "conch of cleverness" passing between troops, the performance cost of doing these pathing and jumping calculations gets evened out.

This does mean that large numbers of troops now take slightly longer to figure out where they're going, but this is fine, and even kind of realistic: a crack team of four air grenadiers can move faster than a squadron of a hundred marines. And we're still talking one full calculation per frame, so at 60 FPS, a group of sixty units takes no more than a second to get organised.

It turns out that it even makes the movements of very large numbers of troops look quite nice: groups of troops will move together to a location and then wait there until it's their turn to figure out the next leg of their journey. So they automatically divide themselves into what looks like squads commanded by a leader.

Apart from performance, the other nagging problem boarding troops had was that they sometimes got stuck, unable to find their way to the entry hatch of a ship they wanted to board. The reason for this was that they simply tried to move towards their target in a straight line. As anyone who's ever moved in the physical world knows, this is not guaranteed to get you where you want to go.

In particular, it was this type of scenario, where the only way to the destination is to first go further away from it, that defeated them utterly.

And so as much as I'd tried to avoid it, it was time to put in some pathfinding for troops on the outside of ships and rocks. (I'm going to talk about ships from now on, but the same applies to floating rocks.)

But pathfinding is, again, really computationally expensive if you can't pre-calculate a nice navigation mesh. So I had to come up with a way to quickly (re-)calculate an... acceptable navigation mesh. I realised that we needed a set of tiles from which all tiles on a ship were directly visible in a straight line. That way, the pathfinding could find its way to a tile from which its destination was visible.

These tiles are the concave points of the shape of the ship, and conveniently, they're very easy to calculate. This means it's OK to do it every time a tile is destroyed or added.

Together, they form a network of tiles from which every corner of the ship is visible, but there are far fewer of them than total tiles on the ship. In fact, a rectangular ship has zero of them, as any tile can be reached in a straight line from any other tile.

With this network in place, I wrote a first version of the pathing code, a simple depth-first search of the concave tiles. I created a weird labyrinth of a building and let some marines find their way through it. And indeed, it worked! But it took an eighth of a second for a marine to find a path through the labyrinth, which was way too much.

So I sat down, opened Wikipedia, and with a few hours of cursing and head-scratching implemented A* search - the standard, traditional pathfinding algorithm. The time to solve the labyrinth went down to one millisecond. And indeed, now it was quite possible to have hundreds of marines all navigating this labyrinth with the game running smoothly.

Problem solved.

Next up, I'll be writing about introducing flying troops - Suspendium Bees, Aerial Hussars, and other delights.

The new module search

The new module search

News 1 comment

In Airships 9.1, I've improved the search system, allowing you to get the exact module you want with very few keystrokes.

A Story: The HMS Sojourner

A Story: The HMS Sojourner

News 1 comment

The HMS Sojourner was an experimental airship from some years back. A huge Suspendium crystal had been found in a deep mine, and the kingdom’s best...

The Mystery of HMS Longcat

The Mystery of HMS Longcat

News 1 comment

Ships beyond a certain length did not reload their guns - but why? A tale of logging and weird bugs.

GUI Scaling

GUI Scaling

News

I'm working towards a variable-size user interface.

Add file RSS Related Files
PsyPsyche Designs v2.00

PsyPsyche Designs v2.00

PsyPsyche Designs Full Version

PsyPsyche Designs Version 2.00 | Airships 1472 (+20) | Landships 264 (+21) | Buildings 275 (+133) | Missions: Arena Levels 01-05 | ConstructionAffinities...

The Free Kit v1.04

The Free Kit v1.04

The Free Kit Full Version

The Free Kit v1.04 | A:CTS v9.0.3 | Free Modules | Free Armour | Bonus Modules | No Maintenance Costs | No Bonus Restrictions | v1.04 General update...

Conquer The Future v0.03 Pre-Alpha

Conquer The Future v0.03 Pre-Alpha

Conquer The Future Demo

Conquer The Future v0.03 Pre-Alpha doesn't add much, well, other than; Balanced Audio, Laser Cannon, Auto Cannon, Plasma Cannon, Satellite Communications...

Conquer The Future v0.01 Pre-Alpha [OLD]

Conquer The Future v0.01 Pre-Alpha [OLD]

Conquer The Future Demo

The future has finally arrived. Conquer The Future v0.01 Pre-Alpha doesn't provide much, but enough to take a look; including Audio, Visual, Photoshopual...

PsyPsyche Designs v1.99 [OLD]

PsyPsyche Designs v1.99 [OLD]

PsyPsyche Designs Full Version

PsyPsyche Designs Version 1.99 | Airships 290 | Landships 43 | Buildings 204

The Module Kit v005 Alpha | 1x1 - 1x3

The Module Kit v005 Alpha | 1x1 - 1x3

The Module Kit Demo

The Module Kit for Airships: Conquer The Skies. | Alpha Demo contains 1x1 through 3x1 module iterations. || v005 - Updated Categories, removed ConstructionAffinity...

Comments  (0 - 10 of 62)
Guest
Guest

This comment is currently awaiting admin approval, join now to view.

Guest
Guest

This comment is currently awaiting admin approval, join now to view.

Guest
Guest

Great game

Reply Good karma Bad karma+3 votes
martyra2j
martyra2j

I did a Let's Play/First impressions on this game! Come check it out if ya like!
Big thanks to the developer for this great game!
Hope you enjoy.

Reply Good karma Bad karma+3 votes
SkyBreack
SkyBreack

Wow! what a nice and original idea. Looks very fun! follow! =D

Reply Good karma Bad karma+2 votes
Zillvr
Zillvr

Looks like a whole lot of fun...and chaos. Definitely tracking this!

Reply Good karma Bad karma+2 votes
TheManWhoFlewAway

Great idea - keeping an eye on this :)

Reply Good karma Bad karma+2 votes
DonleyTimeFoundation
DonleyTimeFoundation

I love this game soooo much! HAHAHAH!

-Tim

Reply Good karma Bad karma+4 votes
Propagandawar
Propagandawar

Are you planning on adding a map for Multiplayer? I have friends getting the game. Although it looks like they are waiting for another option besides paypal to pay with. .

Reply Good karma Bad karma+2 votes
Zarkonnen Creator
Zarkonnen

The issue with making a MP map is that combats and strategy work at different timescales, so you'd spend a lot of time waiting for other peoples' fights. Not sure how to fix that.

Re: PayPal - what kind of payment method would they like? I totally understand that it's not exactly everyone's first choice. Am up for anything, including stuffing money into an envelope. :P

Reply Good karma+5 votes
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Follow Report Profile
Icon
Airships: Conquer the Skies
Platforms
Windows, Mac, Linux
Creator
Zarkonnen
Engine
Custom
Contact
Send Message
Homepage
Zarkonnen.com
Release date
Game watch
Follow
Share
Community Rating

Average

8.5

22 votes submitted.

You Say

-

Ratings closed.

Highest Rated (2 agree) 10/10

Great game. I've been playing since Dev2 and it gets better each time. It's a steal for only $5. Reminds me of the Total War games with it's campaign map.

Apr 24 2014 by CanofSodaGames

Style
Twitter

Latest tweets from @zarkonnen_com

RT @SinclairReid: One for all the devs out there #Coding #gamedev #indiedev T.co

16hours ago

RT @AlmostBearded: Protip: Game development is 100% more intense if you add particles and screenshake to your code editor. #gamedevT.co

May 24 2017

Anyone have a recommendation for a #Zurich-based US tax accountant? Need to file forms 1040NR and W-7 for 2015/2016.

May 24 2017

RT @ajplus: Taiwan has become the first country in Asia to rule that same-sex couples have the right to marry.

May 24 2017

Embed Buttons
Link to Airships: Conquer the Skies by selecting a button and using the embed code provided more...
Airships: Conquer the Skies
Statistics
Last Update
Watchers
368 members
Mods
4
Files
12
Articles
114
Reviews
9
You may also like
Flawed Ones: Puppeteer
Flawed Ones: Puppeteer Real Time Strategy
Towns
Towns Real Time Strategy
War for the Overworld
War for the Overworld Real Time Strategy
No King No Kingdom
No King No Kingdom Real Time Strategy