Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

Advanced search

1408586 Posts in 68947 Topics- by 62846 Members - Latest Member: AdinaElsa

September 22, 2023, 06:22:33 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsAirships: Conquer the Skies
Pages: 1 2 3 [4]
Author Topic: Airships: Conquer the Skies  (Read 17249 times)
Level 1

Games! Kittens! Wine!

View Profile WWW
« Reply #60 on: June 04, 2015, 02:50:23 AM »

I’ve been trying out a new thing: streaming the development of Airships on twitch.tv[/url]. So far, I’m really enjoying it for a whole bunch of reasons: It’s nice to interact with people. It’s helpful to think out loud. And, uh, I can’t procrastinate while I’m streaming. I can’t exactly check my Twitter account every few minutes in front of everyone watching.

I’m still very much learning the ropes on how to stream stuff - figuring out how to set up things to that I can interact with the twitch chat while working, getting better at pressing the right buttons in the streaming software, and so on. I also haven’t settled on a standard time to stream yet. Probably, the ideal point in time would be evening in the US, but that’s the middle of the night for me - so it’s going to be either US daytime or late night.

Today, I’m going to do a dev stream at 18:00 CET, which is 12:00 EST and 09:00 PST. So if you’re in Europe and want to see some late afternoon streaming, or in the US and see some morning gamedev, do tune in. If you’re lucky, one of the cats will be present as a guest star.

Probably, I will eventually settle on a regular time slot, but it’s still early days. Also, twitch makes it easy to upload the stream recordings to YouTube, which is what I’ve been doing. So even if you can’t see the live broadcast, you can watch the streams later.

Anyway, what’s been going on on these streams dev-wise? Lots of work on legs and leg movement for landships.

We’ve got four-legged ones:

Two-legged ones:

And the gait is starting to look more realistic:

Once all the leg stuff is fully operational, I’ll move on to tracks - which will likely be much easier - and then, better support for troops. So tune in if you like, or follow development on YouTube or through these dev blogs, which will of course continue.

Level 1

Games! Kittens! Wine!

View Profile WWW
« Reply #61 on: June 22, 2015, 03:58:05 AM »

The challenge with landships is that they require a much more detailed interaction between physical objects. Until now, the only interactions that mattered were collisions as well as buildings and grounded ships sitting motionless on the ground. Walking, on the other hand, is a pretty complex interplay of movements and forces, and so it's taken me a few weeks to adjust things properly. A partial list of considerations:

  • Landships need to move their legs, placing their feet in suitable spots that are both well-placed to hold up the ship where it's going.
  • They should only be able to move if their feet are actually touching the ground.
  • They shouldn't be able to balance on a set of feet that's way off-center.
  • They should correctly estimate whether they can safely traverse terrain, and emergency-stop only when needed.
  • Feet should crush foliage and bushes, and in cases of heavy impact, even other ships, buildings and soil.

As I previously mentioned, the fact that landships can't tilt means that they have quite a bit of difficulty navigating slopes. I've generally compensated for this by making their legs and tracks pretty huge, but that in turn has led to some weird behaviour like giant war stompers gracefully tip-toeing across the treetops. Finally, though, it's coming together.

Beyond leg physics, I've also been improving the particle system, allowing particles to stick to ships and other places as decals. Explosions, impacts, mud and blood splatters can now all dirty up your ship. Did I say blood splatters? Oh yes, trampling enemy troops is now a thing that works:

Take that, tiny Air Grenadier!

Another kind of particle I've added is snow, and to make that more complete, there's now snowy landscapes:

So what's next for dev 7? With legs pretty much working now, it's time to pay some attention to tracked vehicles. Finally, I want to instill troops with some basic ideas about navigating the ground. This lets them board buildings by simply dropping to the ground and running in, abandon crashed ships, and reinforce their comrades elsewhere.

If they don't get squashed beforehand, that is.

Level 1

Games! Kittens! Wine!

View Profile WWW
« Reply #62 on: July 13, 2015, 10:36:04 AM »

So I'm just about finished with work on tracked landships. Compared to ones with legs, they're faster, sturdier, but less able to deal with rugged terrain.

In terms of game physics, they're held up by a set of springs much like legged ships - essentially a suspension. Wheels and tracks are drawn on top of this. The wheels are simple to draw, but the tracks are made up of lots of individual links. They alternate between big links with surfaces that touch the ground and slightly smaller ones. You can see what this looks like in real life on this image of a Japanese tank I used for reference.

Now the Hard Bit was calculating the shape along which the links are drawn. The track needs to run along wheels and between them. It boiled down the track being composed of two strictly alternating types of sections.

Curves following a wheel between two angles.

Straight lines that connect two wheels.

Curved sections can be of length zero, which happens when three wheels in a row are perfectly in line. Finally, there needs to be some special casing for when three wheels in a row form a concave shape, as the tangential lines connecting wheel 1-2 and 2-3 would cross in that case.

Once I'd coded that all up, I tried it out with debug graphics, then spent some time fiddling with things so that the rotation of the wheels gets correctly fed into the offset of the link drawing. Or to put it simply: making the tracks move!

The results look pretty good, I think.

Now as you may know, the heraldry system in the single-player campaign lets you select a heraldic charge (a symbol) for your side's coat of arms (your flag or "logo") that gives you some bonus. For example, the scales give you extra income from cities, while the lion improves your troops' abilities at boarding combat. With such a major new feature, there of course have to be some new bonuses. There are going to be three. I will unveil the first one now, the second in the next blog post - and the third one when v7 comes out.

Boar's Head Erased +20% HP for tracked landships

So what's next? I'm just working on making the crew smarter so they can move across the ground, between ships and floating rocks, enabling them to do things like transfer between ships. Beyond that, there's about two dozen bug fixes and then it's time for dev7.

Level 1

Games! Kittens! Wine!

View Profile WWW
« Reply #63 on: July 21, 2015, 11:54:53 AM »

As the final major change in dev 7, I’ve been working on upgrading sailors’ ability to move around outside ships.

So far, marines and grenadiers could jump or grappling-hook between ships, but if they ended up on the ground or on a floating rock, they were lost. They’d literally just stand in place, vibrating gently, unable to move.

This is fixed now: they can move between various places at will. Code-wise, this involved creating a new abstraction over ships and land formations. The code for them is different, but they are both physical objects organized in a grid. This meant that I was able to improve the code used for moving across ships to also work for bits of land. Crew can now jump from one rock to the next, or walk across the ground to enter a building, and similar things.

But just being able to move from one place to the next wasn’t quite enough. For example, moving from one building to the next means first exiting the original building, walking across the ground, and then entering the new one. Or perhaps boarding an enemy ship requires a fearless leap over to a floating rock followed by a drop onto the enemy ship. Finding paths within grid-objects isn’t enough, they also need to find paths between them.

So now, crew can evaluate grid-objects (ships, buildings floating rocks, thr ground itself) for whether one is reachable from the other, and create complex multi-jump paths.

Explanation: Links taper in the direction of travel. Green links can be done with jumps, yellow links require grappling hooks. The blue path connects the ship at the top left to the ground through a sequence of green links.

What does this mean in practice? You can now tell marines and grenadiers stuck on the ground to go board another ship or building, or rejoin one of your ships. You can tell your crew to abandon ship and reinforce some other craft. You can also select the ground and floating rocks and issue orders to crew members there.

This also lays the foundation for new kinds of enemy in dev8. Giant spiders that come to eat your crew will run using the same code. I’m sure you’re very happy to hear that.

Finally, as promised, here is the second new heraldic charge:

Wolf Passant Half maintenance and greater main map speed for landships under 2000 weight.

What remains to be done? Bug fixes, mostly. Translations. Trying to catch new bugs I introduced. Dev 7 will be out shortly and the final charge will be revealed.

Level 1

Games! Kittens! Wine!

View Profile WWW
« Reply #64 on: August 06, 2015, 07:04:49 AM »

I am very happy to report that Airships early access v7 is finally out!

The major new feature in the game is landships, war machines on tracks and legs that are sturdier and cheaper than airships, but less flexible.

The strategic map has also had a major upgrade, showing state boundaries, roads and sea routes. Fleets containing landships have to follow those routes, and sea routes are only accessible if the destination city is friendly. A detailed blog post on the new map generation will follow soon.

Ship crew has also acquired an upgrade. You can now order your crew to abandon ship, or to transfer from one ship to another. Boarders will consider making multiple jumps across floating rocks and ships to reach their destination. If you have units standing on the ground or on a floating rock, you can also select that and tell your troops where to move.

As usual with a big new release full of features, some bugs have probably slipped by. Please let me know if you find any problems, and I'll see that I can fix them quickly. Finally, if you'd like to try out those new landships in a real fight, hit up the multiplayer schedule.

  • Landships! Vehicles with tracks and legs.
  • Enemy crew can be trampled by landships.
  • Better crew AI and controls for moving outside: you can select floating rocks and the ground and give your crew orders.
  • Territories, land and sea routes in the strategic map.
  • Three new music tracks by Curtis Schweitzer.
  • Cannons produce recoil on ships.
  • Boarding distance indicators.
  • Three new heraldic charges with bonuses: Boar's Head Erased, Wolf Passant, Spider.
  • Particles like mud and soot can stick to ships.
  • Nicer ship outlines for targeting, boarding, etc.

  • Ships now better obey targeting orders and no longer get fixated on firing on already-disabled targets.
  • Resources carried by crew are shown again.
  • Can no longer edit your fleet in multiplayer setup after you've clicked "Ready".
  • Fleet costs again visible in multiplayer setup.
  • Ships no longer sometimes move vertically when you add new modules in the editor.
  • Grounding command works again.
  • Removed light halos because they didn't look that good and were a massive performance problem.
  • Filtering out all ships or deleting all ships no longer causes a crash.

Level 1

Games! Kittens! Wine!

View Profile WWW
« Reply #65 on: August 10, 2015, 06:19:06 AM »

Airships v7 has been out for a few days now, and has been received very positively by old hands and new players alike.

As usual, before we move on to the next major release, there are going to be a few minor releases to correct problems and put in minor features that didn't make the cut. The first such release, v7.1, is going to concentrate on fixing bugs players have reported, which are as follows:

  • Fast-moving/light legged landships can "fly".
  • Add ship/landship/building buttons in multiplayer setup lack translations.
  • In-combat multiplayer chat messages are misaligned.
  • Ship grounding is too rapid.
  • Landship legs should be reset more aggressively in the editor and when being placed by the AI.
  • Ship spy actions don't work.
  • AI doesn't know how to use reserve.
  • Landships can't intercept each other.
  • Spider charge is weak.
  • Boarding sometimes doesn't work with simple cases like a straight jump down.
  • Landships' feet sometimes do a lot of collision damage, and sometimes none.

After that, 7.2 is going to include some convenience features, performance gains and cosmetic improvements. In particular, large numbers of ground troops currently make the game grind to a halt because of the cost of calculating individual pathing.

And then, the development of dev 8, the penultimate major feature release, will begin. As you can see from the plan page, the major items are monsters and better modding support. Diesel engines were also planned, but I will probably leave those out because I don't think they would add much to players' options for different ship designs.


Getting added for two major reasons: they're cool, and they add variety. Airships, landships and buildings are constrained in what they can do by a need for symmetry. Anything the enemy can do with them, you can do too. With monsters on the other hand, no such symmetry applies. They can have qualities, abilities, attacks, weaknesses that wouldn't work in a player vs player environment but are fun to contend against.

Implementation-wise, monsters will actually be constructions composed of a single module. A dragon is basically a flamethrower that also has lift and propulsion...


Airships has been getting modded for many months now, initially in an ad-hoc reverse-engineered fashion, then with "official support" in the form of access to the game source code and tutorials. Until version 5.2, the game also had a convenient way to load in mods, but that broke when it started bundling its own Java Virtual Machine for stability purposes.

In dev 8, I want to improve support for modding by reintroducing a mod loading system, restructuring the code to be more modular, and making the game more data-driven, allowing simple mods to be created without changes to the code.

Steam Workshop

This goes hand in hand with Steam Workshop support, allowing you to share your ship designs and mods. The main difficulty here is that the library the game uses for Steam integration doesn't have Workshop support, which means I'll need to switch it out for something else, enhance it myself, or find some work-around.

So that's the plan! Let me know if you have questions, and especially let me know if you've found a bug or balance issue in dev 7 so it can be fixed promptly.

Level 1

Games! Kittens! Wine!

View Profile WWW
« Reply #66 on: August 17, 2015, 07:00:19 AM »

Airships 7.1 is out, bringing various fixes and some enhancements.

The spider symbol for your coat of arms was deemed rather weak, so I've enhanced it. Apart from getting a spider legs module, you now also get Arachnid Soldiers, a type of light infantry equipped with grappling hooks.

The other improvement of note is that there's now a quick search in the ship editor, so you can hit enter and start filtering modules. While in this mode, you can also use the up/down arrows to select from the search results.

There will probably be an Airships 7.2, concentrating on improving crew pathing performance and visuals, and then it's on to version 8!


  • Arachnid Soldiers
  • Module/Armour/Decal/Paint filtering in the editor
  • Land-to-land intercepts
  • The AI is now able to use the reserve.
  • System cursor and window border settings


  • Moving landships in a city without a garrison no longer crashes.
  • Ladder positions for landship modules are now correct.
  • Landships no longer tend to float as much.
  • Various other crashes and display errors.

Level 1

Games! Kittens! Wine!

View Profile WWW
« Reply #67 on: September 17, 2015, 11:58:53 PM »

Now that the weather here in Zurich is no longer boiling-hot, I've started streaming game development again. In the

, I worked on info overlays for the ship editor.

This is an idea that popped into my head a little while ago, actually while watching a video about Star Drive 2's ship editor. Basically, it would be useful to have "heat map" style overlays for evaluating your ship designs.

I ended up with five overlays in the game. If you have suggestions for additional useful ones, do let me know.

Hit Points

This overlay lets you see which parts of your ship are fragile and may need reinforcement. Module hit points depend on adjacency - the more completely surrounded by other modules it is, the more robust. This means it can be useful to reinforce parts of your ship with struts.

In this example, you can see that most of the weapons are pretty fragile, but we can't do that much about that - the turrets need a clear fire arc, so we can't reinforce them. It might however be a good idea to armour them more heavily! The other weak point is the suspendium chamber at the top left, which we could reinforce with some struts.


This overlay shows how long it takes for a crew member to carry water from the nearest fire point to a given module. In this design, everything is nice and green, as there's lots of fire points all over the ship.

Repair Tools

The number of seconds to the nearest source of repair tools. Note that while there's lots of tools, they're all in the front and bottom of the ship, so it might be a good idea to swap out the corridor underneath the Suspendium chamber on the top left with another repair bay.


This overlay only highlights weapons that need ammunition, and shows the distance to the nearest ammo store. In this design, the weapons and ammo are very close to each other.


Finally, in this overlay the modules that require coal are coloured based on their distance to the nearest source of coal. And here you can see a pretty bad flaw in this design! The lower two engines and targeting computer are highlighted in red. Why? Well, if you carefully look at how the ship is connected up, the only way to get from the upper half of the ship, where the coal is, to the lower half, is by going nearly all the way to the front. So to get coal to the lower two engines, the crew has to tour most of the ship!

At least the Suspendium chambers aren't affected by this, but it's definitely something that needs fixing by the inclusion of a set of ladders at the rear of the ship.

So that's overlays. Pretty useful, I think, and coming to a v7.2 near you soon! Right now, I have 8 to-do items left on the list for 7.2, and then I can get crackin' on v8 and monsters:

Doom to those mariners who cross the path of the Aerial Kraken.

Level 1

Games! Kittens! Wine!

View Profile WWW
« Reply #68 on: September 22, 2015, 06:55:11 AM »


Features and Enhancements

Ship multiselect by dragging, double-clicking and shift-clicking.

Repair button for ships in strategic mode that rebuilds ships to their original form.

Ship editor overlays showing HP and water, repair tools, ammo and coal accessibility.

Nicer explosions. (Including slight screen shake that can be turned off in the options.)

Burning wreckage chunks.

Ship naming dialog.

More crew animations: weapons at ready, flinch, death.

New layouts for coats of arms: charge on bend, charge on cross, dimidiated arms.

  • Decals with coats of arms and roundels now use the lighting engine.
  • Option to let the strategic AI use player-created ships.
  • Additional COA layouts for AI opponents only: saltire, barry, paly.
  • Can drag and drop modules in editor.
  • Unarmed ships still able to move now count as "in-combat and dangerous", which means you can build eg otherwise unarmed ramming and boarding ships.
  • Gunners now lead shots at moving targets.
  • Three tactical AI difficulty levels.
  • Three strategic mode difficulty levels.


  • Rebalanced troop strengths.
  • Flak cannon damage reduced by 15%.


  • You can now host multiple LAN multiplayer games without having to restart the game.
  • An air fleet that intercepts a land fleet and captures a landship no longer gets permanently stuck with nowhere to go.
  • Lighting of gun barrels was flipped under certain conditions.

As usual, you can get the newest version via Steam, or through the downloads page if you bought the game from a non-Steam source.

Don't have the game yet? Remedy this by getting it from itch.io, your friendly, easy, DRM-free games store. You get a Steam key with your purchase, and I get a bigger share of the money, too.

Level 1

Games! Kittens! Wine!

View Profile WWW
« Reply #69 on: September 29, 2015, 07:37:32 AM »

[h1]2012: Prologue[/h1]
December 12

I have "a vaguely entertaining idea for a steampunk game" and hash it out with my friend David over chat.

Zarkonnen: Oh, I had a vaguely entertaining idea for a steampunk game.

David: Oh?

Read the full transcript and discover how much of the game was already designed at the point, and what changed radically.

[h1]2013: Prototype[/h1]
September 29

Aggravated by problems with a nonpaying client, I start prototyping this game about building and blowing up airships.

October 25

Ship design and basic combat both work. Oh, the early days of a project, when major features get written in an afternoon.

November 25

Hey, multiplayer works too!

[h1]2014: First Appearances[/h1]
March 25

The very first early access version is available for $5 on itch.io. To my relief, several people buy it the same day.

Having spent several weeks sorting through demo tracks, I sign up Curtis Schweitzer to create music for the game.

July 7

YouTuber Stuff+ makes his first video of Airships. Sales spike! Many more videos follow.

July 26

Airships gets posted on Steam Greenlight. I start boring everyone around me with constant updates on its vote tally.

[h1]2015: Steam, Festivals and Videos[/h1]
January 7

The Steam floodgates creak open. Airships is greenlit along with a few hundred other games.

February 24

Local Zurich newspaper 20 Minuten features me and my game, mentions my flashing eyes.

February 25

The game debuts on Steam Early Access. I have to fill out a document explaining why the game is early access, which boils down to "well, it's not done yet".

<iframe src="http://store.steampowered.com/widget/342560/" width="646" height="190" frameborder="0"></iframe>

April 20

I show the game at AMAZE Berlin and waylay poor Rami Ismail for an opinion. A few months later, Airships 7.2 introduces screen shake. Coincidence? I think not.

May 14

Airships goes to Fantasy Basel! I gently ruin my feet from all the standing and get to watch lots of people play the game.

May 29

I start occasionally streaming the game's development on twitch.tv.

June 16

A persistent heat wave causes me to stop making sense in the middle of a live stream. I pause gamedev streaming for the time being.

August 3

I guest on the Play on Ultra podcast and make an extremely tortured analogy comparing early access games to romantic infatuation.

August 6

After a long gestation period, version 7 introduces landships, making the game title completely incorrect.

September 15

With the weather cooling down, I restart streaming.

September 18

The game reaches 98% positive reviews on Steam. Turns out people sorta like it.

September 29

Two years of Airships: Conquer the Skies! This is mildly dizzying, so I write a retrospective post as a coping mechanism - and create


Level 1

Games! Kittens! Wine!

View Profile WWW
« Reply #70 on: March 03, 2016, 12:42:08 PM »

After several months of development and two weeks of beta testing, Airships dev 8 is out. Its major new features are data-driven modding and Steam workshop integration, as well as new modules and conveniences like selection groups and auto-landscaping.

Most of the game's data now resides in external files, which can be overlaid with mods. You can create new module types, new weapons, and new types of crew members. You can also change the game balance by changing existing values, or change the way the game looks.

If you'd like to get started on modding, have a look here and here, and also feel free to ask questions, including "help, my mod doesn't work, could you have a look at it". There's also a player-made modding guide in progress.

You can get mods by subscribing to them in the Steam workshop.

Here are some example mods I created:

Imperial Cannon

This impractically large bronze cannon does enough damage to destroy smaller modules in one hit.

No Suspendium

This mod re-balances the game by getting rid of all modules involving Suspendium, the crystal that gives airships lift. Instead, it introduces hydrogen and helium tanks, which are much larger and more fragile.

Steel UI

Changes the appearance of the game's user interface from a wood-and-gold look to a more compact steel one.

Steam workshop integration
If you have a ship design you want to share and show off, you can upload it from the ships list with a single click. It will appear in the workshop for others to subscribe to. If you're not using Steam, you can also just export the ship file and share it with others.

Deck Gun

This medium-sized piece of weaponry has a firing arc that spans from slightly pointing down to almost pointing up. It does a lot of damage for its size and price, but because it's an external module, you can't protect it with armour.

Engine Pod

Another external module. The Engine Pod needs free space both in front and behind, which limits its placement options, but it's far more powerful than a normal propeller.

Spider Bay

A nest of robotic murder-spiders. You can send these machines to board enemy ships. They're very tough and dangerous, but note that they can't take over ships, only wreak havoc.

Selection Groups

A new helpful feature suggested by a player: in combat, you can now hit control and a number key to store your current selection of ships, and just the number key to retrieve it.


Ever since the terrain changed from a perfectly flat plain to an actual landscape, placing buildings has been kind of annoying. You had to manually edit the terrain to produce a stable base to put the building on. I've now automated this process: when you place a building, the game will automatically adjust the terrain to make it properly supported.

Importantly, this even works in multiplayer setup (though note that you have to pay for the landscaping). And it works for the AI in strategic mode, which makes it more capable of building defences.


And yes, the game now has a Russian translation, joining English, German and French as the supported languages. (BTW, you can create new translations as mods too.)

Full Change List

New Features

  • Data-driven modding system: you can add new modules and other content, and change existing information. Mods are compatible with conquest mode and multiplayer.
  • Steam workshop integration: share ship designs and mods.
  • Multiplayer chat overlay that’s available everywhere in-game.
  • Automatic adjustment of landscape when placing buildings.
  • Unit groups: press ctrl and a number to store the currently selected set of units, press the number to select them again.
  • Russian translation

New Modules

  • Robot spiders
  • Engine pods
  • Deck guns


  • Combat now waits until the victory/defeat situation has stabilized before announcing a result.
  • Troops no longer massacred by wheels and feet of nonmoving landships.
  • Cancelling constructions is now correctly priced across the board: 25% of costs already spent, 100% of the rest.
  • Command refresh now scales with time properly.
  • Fixed a bug where starting, exiting and rejoining a multiplayer game would lead to an inability to start the game, or to desyncs.


  • Rifles consume much less ammunition.
  • Rockets are a bit more accurate.
  • Ships break up more epically.
  • Boarders are better at jumping.
  • Adjusted relative speeds of ship movement, construction and income in conquest mode.
  • Increased light armour HP by 50% to make them more competitive.
  • Flamethrower now more powerful, gatling gun less powerful, more expensive but also a bit more accurate.
  • Cleaner look for module and decal list in editor.

Finally, I would like to thank the beta testers for dev 8, who helped get me the game from randomly crashing to actually stable and quite well-polished. Special thanks to Firebird11 and 71, who put in a lot of work figuring out bugs and reporting them.

Level 1

Games! Kittens! Wine!

View Profile WWW
« Reply #71 on: July 27, 2016, 12:32:31 PM »

I’ve written a fair amount about what the monsters in Airships are going to be like, but not much about how they’re going to fit into the game. So today I’m going to tell you about monster nests in conquest mode.

Stocks were down on news of more giant spiders eating the peasantry.

Nests are new locations on the strategic conquest map. Some of them are connected to cities by road, others are only accessible by air. They are locations where monsters, brigands and mad scientists can make their home.

Mama has found dinner for her brood.

When a nest is occupied, its tenants begin to spread their baneful influence: if the nest is within the territory of a city, that city’s income is reduced, and some kinds of nests also actively attack nearby cities. Dragons come to raid for food and shiny things, and pirates for slaves and loot. While those raids can’t conquer or destroy cities, they can cause significant damage, and successful raids also hasten the growth of the nests.

Mama is upset at your intrusion.

To root out such menaces you can deploy your fleet to attack a nest. If successful, you may also gain a reward, such as gold, reputation, or new technology. For example, clearing out a dragon nest may grant you the ability to build dragon riders, a special aerial unit.

Dracarys o’clock

Other monsters will not stick to nests, but rather attack opportunistically, like the Sky Kraken.

This kraken has found a rather large snack.

Yet others are men, mostly. Mad scientists creating death machines, brigands and pirates:

Ask not for whom the bell tolls, it tolls for thee, by means of this cutlass.

(More soon on the very specific heraldry of historical pirates.)

For now, I leave you to continue preparing for gamescom, where I’ll be showing off an early build of this all.

Level 1

Games! Kittens! Wine!

View Profile WWW
« Reply #72 on: December 16, 2016, 08:02:10 AM »

The next major release of Airships is done! Headline features include monsters like dragons and giant spiders, new music, and player-created combat scenarios.

Monsters and Monster Nests

Apart from cities, the strategic map now contains monster nests, remote locations within city territories where a variety of menaces can take hold. Occupied nests reduce the income of the city, and some of them also conduct periodic raids, damaging the city and carrying away loot that lets them grow faster.

When your city is being raided, a bar appears at the top of the screen during combat indicating how badly the city has been looted. The sooner you can get the raiders to retreat, the better. Ideally, you wipe out the raiders entirely so they can't carry home the loot.

Monster nests grow over time, and the only permanent solution is to send a fleet to wipe them out. You will have to do so to strengthen your empire.

And what are those monsters like? To answer this question, I have prepared a bestiary entry for each of them, scattered throughout this post.

Bestiary: Pirates


As conquests proceed and empires begin to dominate, weaker states will now band together into alliances, seeking to match the strength of their opponents. This means that getting a head start on conquest is no longer enough to win, as the remaining cities will unify against you, keeping the outcome of the game in the balance for longer.

When two empires merge, the new alliance has a coat of arms that incorporates the arms of its constituents, according to proper heraldic rules.

Bestiary: Fleshcrackers


Players can now create and share custom challenges. Each mission is a combat scenario against some opponents, using either a fixed fleet, a budget to put together your own, or a mixture of the two. You can edit every aspect of the scenario, including the weather, terrain, heraldry and the intelligence of the opponent. Monsters can be placed into missions, and the entire thing is compatible with mods: you can create missions that use mods, and you can put missions into your mods to showcase your additions.

Missions can be shared via Steam workshop or exported as files, and unlike modding, no external tools are needed to create them. So you can create missions as simple as "I made a ship, can you beat it within this budget", or as complex as a finely tuned and landscaped battle making extensive use of mods.

Bestiary: Dragons


This update adds five new tracks by Curtis Schweitzer, played to accompany particular monsters.

Additional Improvements

The lighting system has been updated to use ambient light, giving the graphics a more unified look.

Damage to external parts such as sails and chimney is now more visible.

The ship editor now supports undo/redo and has a new overlay indicating the paths crew can take. In general, the GUI's been refined based on player feedback.

The game loads a lot faster, by about a factor of five. This is done by using uncompressed graphics, which also means the install size is somewhat larger, but still pretty moderate.

Boarder pathing and leg placement have been improved, and airships no longer timidly brake to avoid harmless collisions.

Your crew will now occasionally pop up in the bottom left corner during combat to express their feelings.

Bestiary: Giant Spiders

Next Steps

With this major release out, what's next? There's a bunch of monsters that didn't make the cut which I'll be adding over the next weeks and months, creating bestiary entries as they appear. I also want to improve support for small monsters like the spiderlings.

Bestiary: Addenda

After that comes the final major development cycle before release, dev 10, where I'll be concentrating on further detail and balance for conquest as well as rounding out some other features. As always, the GUI, tutorial, and balance will be undergoing refinements. And then, version one point zero!

Level 1

Games! Kittens! Wine!

View Profile WWW
« Reply #73 on: December 09, 2017, 08:41:50 AM »

I'm embarking on an attempt to make multiplayer strategic conquest work in Airships.

First off, to be clear, this may well not work. I wrote the strategic conquest code without thought to making it multiplayer, which means I now need to try and refit it for this purpose. It's entirely possible that I can't get it to work consistently, or that performance or UX problems make the experience a terrible one.

Still, lots and lots of people insisted they really wanted this feature, especially cooperative strategic multiplayer, so I'm giving it a try. If, after a few weeks of work, things are still a complete mess, I will shelve the attempt.

I started working on this about three days ago, having formulated an approximate plan:

Airships uses a lockstep multiplayer system. You make sure that each player has the same starting state, and the same seed for the random generator. Then you make sure to apply player commands at the same time and in the same order for all players. This way, the game state on each player's machine progresses in the same way, in "lockstep".

Lockstep has the advantage that it's fairly simple and that it requires little bandwidth. The disadvantages are high latency (which for a strategy game we don't really care about) and a kind of "butterfly effect" thing. If there's ever the slightest discrepancy between the states on different players' machines, the states will diverge more and more over time, and cannot be easily reconciliated. So it's quite nice and simple if you get it perfectly right.

The combat mode got multiplayer early on and so has grown up along with it. There have still been plenty of problems, but it generally works now and doesn't diverge. The strategic conquest mode, on the other hand, is almost as old, and written on the assumption that it's singleplayer only.

Still, technically, all it has to do to be lockstep multiplayer is two things:

  • Be predictable. Use the right random source across the board, and don't do stuff that relies on details of the player's computer, like the frame rate or details of memory allocation.
  • Instead of directly manipulating the world, send command objects to the server, receive them back, and execute them at the right time.


The bigger problem is that I baked a whole bunch of assumptions into the code, such as:

  • There is exactly one human player.
  • That player is always the first empire on the map.
  • Fights between all other empires can be quick-resolved.
  • The game can be paused whenever it needs user input.
  • Battles where commands are received through the multiplayer connection have exactly two human participants.
  • Battles where commands are received through the multiplayer connection are not part of a bigger process. When they end, the "game" ends.

Well, you might say that making these assumptions was a bad thing for me to do, but it actually wasn't. Making the assumptions meant I could write simpler code and be more productive.  Writing everything in the most abstract, generic, flexible way is a bad idea. You almost never need the abstractions, and when you do, you tend to find out that they are the wrong ones.

In these three days so far, I have set things up to use the right random sources, rewritten a bunch of code in strategic mode that assumed there was one human player, set up some code to go into multiplayer battles and back into strategic mode, moved all instances of the player directly manipulating the game state into command objects, set up code for sending and receiving commands, and created a basic lobby screen for MP conquest.

Two views of the world map, in sync.

And it... actually kinda works! You can set up a game between two players, and the generated world is the same. You can send a fleet to another city and it moves in sync. The fights appear to stay in sync.

Still, there probably are divergence issues, and there's a lot of things incidental to multiplayer that need to be made to work. Saving and loading, desync detection, dealing with disconnects. And the user experience is pretty rough right now: when a fight starts, players are simply yanked out of the map screen, straight into the fight.

The player on the right is fighting giant spiders while the one on the left is spectating.

So this is an encouraging stage to be at, but I always knew that the hard part was going to be getting all the details right. Onwards!

Level 1

Games! Kittens! Wine!

View Profile WWW
« Reply #74 on: August 17, 2018, 10:47:47 AM »

Oh wow, my game is actually done!

It's available on Steam, GOG, and itch.io, 20% off for the launch week.

Here's a bunch of the cool stuff the game now contains:

Massive explosive aerial battles.

Free-form ship design where you're not limited to some fixed layout.

Giant sky squid that eat your crew, dragons, murder robots, and other monsters.

Multiplayer map conquest. (A long-requested feature.)

A tech tree.

Grappling hooks.

And so on. Smiley As you can see, DF has definitely been one of the influences, along with Cortex Command and FTL: Faster than Light.

So if you've been following the game since it's early days, thanks for sticking around! I will also post a dev postmortem at some point soon.

Pages: 1 2 3 [4]
Jump to:  

Theme orange-lt created by panic