Hi !
Featured games (91)
games approved by the League of Dukes
Games in Showcase (808)
Games in Android Showcase (239)
games submitted by our members
Games in WIP (872)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
   Home   Help   Search   Login   Register   
  Show Posts
Pages: [1] 2 3 4
1  Games Center / WIP games, tools & toy projects / Re: Airships: Conquer the Skies (the re-topicening) on: 2016-12-16 16:09:19
The next major release of Airships is done! Headline features include monsters like dragons and giant spiders, new music, and player-created combat scenarios.

Watch the Trailer

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!
2  Games Center / WIP games, tools & toy projects / Airships: Conquer the Skies (the re-topicening) on: 2016-12-16 16:08:51
Since the old topic on this got archived, but I'm still working on it, here's Airships: the Thread, v2.

Steam -- -- Website

Airships is a 2D Steampunk vehicle construction and real-time combat game. Ship modules are operated by individual crew members. During combat, players give high-level commands to a small fleet, positioning their ships, ramming and boarding others. Ships and terrain are fully destructible: they can catch fire, explode, break apart, and fall. Players can also compete against one another in Internet and LAN matches.

3  Games Center / Showcase / Re: The Count Lucanor on: 2016-10-25 11:19:10
Cool! I was aware of the game, but didn't know it was implemented in Java. Can you tell us a bit about how you implemented and packaged it? What libraries/frameworks? Did you bundle a JVM, and which one?
4  Games Center / Showcase / You wake up every morning and see the footsteps. on: 2015-10-27 14:27:51
And each day, they dare a little closer to your cabin.

Had a three hour micro-jam at the local Zurich gamedev meetup last night. I put together this tiny limited-palette horror game as an experiment.

Download (4 MB Win/Mac/Linux, requires Java) Source

5  Games Center / WIP games, tools & toy projects / Re: Airships: Conquer the Skies on: 2015-09-22 14:57:18

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, 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.
6  Games Center / WIP games, tools & toy projects / Re: Airships: Conquer the Skies on: 2015-09-18 07:59:46
Now that the weather here in Zurich is no longer boiling-hot, I've started streaming game development again. In the first stream, 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.
7  Games Center / WIP games, tools & toy projects / Re: Airships: Conquer the Skies on: 2015-08-17 15:00:40

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.
8  Games Center / WIP games, tools & toy projects / Re: Airships: Conquer the Skies on: 2015-07-13 18:36:42
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.
9  Games Center / WIP games, tools & toy projects / Re: Airships: Conquer the Skies on: 2015-06-22 11:58:31

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:

Click to Play

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.
10  Games Center / WIP games, tools & toy projects / Re: Airships: Conquer the Skies on: 2015-06-04 10:49:48
I’ve been trying out a new thing: streaming the development of Airships on[/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:

Click to Play

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.
11  Games Center / WIP games, tools & toy projects / Re: Airships: Conquer the Skies on: 2015-05-24 17:56:22
I used to devour "Making Magic", the game design column written by Mark Rosewater, then lead designer of Magic: The Gathering. I never got into playing Magic itself, but I found the inside view of game design and balancing interesting nevertheless. Probably the most famous column is Timmy, Johnny and Spike, where he introduces three archetypal player profiles that the game caters to.

Airships isn't much like M:tG in its details, but there are certain similarities: it's a 1v1 game that is played in two distinct stages of preparation and combat. In Magic, the preparation is the deck building, whereas in Airships it's the ship design. Victory is secured by some combination of good preparation and being able to use your assets effectively. With that in mind, I think that Timmy, Johnny and Spike are applicable to my game. I'm going to first explain what each of these player types is about, and then how I'm working to accommodate the interests of each of them.

Player profiles form a loose categorization system for different motivations and styles of play. Not everyone falls neatly into one category, and beyond the Timmy/Johnny/Spike system, there's a whole bunch of other categorizations that draw the lines in different places or are applicable to different kinds of game. TVTropes has a decent overview.


This player likes things big, and dramatic. Sure, winning is nice, but spectacular wins are so much more satisfying than subtle ones. This is the guy who wants to take you out with the really dramatic finishing move, or crush you with the giant battleship.


To Johnny, playing the game is a form of self-expression. What matters is cleverness and innovation. Sure, winning is nice, but winning in a clever way is so much more satisfying than doing it in an obvious fashion. He will try out the obtuse combos and weird tactics that take you by surprise.


Spike wants to win. He doesn't care how he does it. Tactics don't have to be clever, or exciting, they just have to work. He's the one who will happily kill you by using a perfectly executed punch 57 times in a row.

(Note of course that these archetypes apply to all genders - their names are male, and so I'm using "he" throughout for grammar reasons.)

What does Airships currently do to cater to each of those archetypes, and what future improvements can I make?

Big airships, big weapons, flamethrowers. Ramming! The most recent update, 6.4, was very much one for Timmy, adding more visual spectacle and visceral destruction. There's still a bunch of things I want to try out for increased spectacle:

  • Temporarily panning the camera for particularly large explosions.
  • Adding crew portraits to the shouts so you can see their faces, lit up by fire, screaming dramatically.
  • Better and more varied audio for all things smashy and explodey.

The ship editor is Johnny's domain, of course. What makes a game like Airships work long-term is a wide variety of viable strategies: high-altitude snipers, rammers, boarders, swarms of grenade ships, etc. What matters for Johnny is adding new options that expand the space of interesting things to do.

This is trickier than it sounds, because each added option needs to be *situationally* dominant rather than *globally* dominant or inferior. If I add a new gun that's better in all situations than two existing weapons, I've actually shrunk the space of interesting designs. And if I add an option that's just not very good, well, it just clutters up the game's design.

So what's definitely planned for Johnny, apart from a continual search for interesting new weapon concepts?

  • Landships: Not as flexible as airships, but cheaper and a bit more durable.
  • Most likely, small auxillary craft. This is a concept that's been worked out in some detail by people on the forum, and I think it's a good one.
  • Diesel engines: More powerful, easier to operate, but more flammable and expensive.

Winning is what matters to Spike, and especially winning against other people. Airships has had online multiplayer for a long time now, but we haven't reached a critical mass of players where you can play a match when you want to. The multiplayer calendar sees the occasional flicker of activity, but it's kind of cumbersome. This may get better over time as more people discover the game, and old players revisit it at the time of major releases, but it's clear that Spike needs some love, in the form of:

  • Tournaments! Players are self-organizing one at the moment, but it's something I want to build support into the game for.
  • Relatedly, a ranking system where players can compete for the top spot by winning multiplayer fights.
  • Practical improvements to the multiplayer calendar like being told further in advance that you have an upcoming match, and the ability to opt in to being told that there's an unmatched slot available in the near future.

All of these improvements are going to come in over time in the next three versions of the game or so. As you can see, I have a vast quantity of things I want to do with the game to make it more fun for players, as well as finishing up the list of large game features. So stay tuned, let me know your feedback and ideas, and fight me in multiplayer some time!
12  Games Center / WIP games, tools & toy projects / Re: Airships: Conquer the Skies on: 2015-05-10 11:06:20

No, I’m not adding a paintball mode to the game.

One of the major bits of feedback I got from showing my game at AMAZE Berlin last month was that there’s a lot of potential for more spectacle in the game: more satisfying crashes and explosions and things whizzing past. We like large amounts of kinetic energy, don’t we?

So Airships 6.4 concentrates on making that happen. Airships now crumble majestically instead of evaporating in a single flash. Bullets and cannon balls leave trails in the air, which both looks cool and helps communicate what’s going on.

With these updates, it became clear that there’s one major missing piece to the spectacles: module destruction looks really boring. The module just winks out of existence and leaves behind a small number of boring brown particles. This needs fixing. Modules should break apart into parts and shrapnel, spinning and arcing away. To make this work properly, I’ve created a new layer in the sprite sheet that splits each module sprite into the regions it should break up into.

This information is then going to be fed to a program that combines the original sprite sheet and this layer into a new sheet of shrapnel and a bunch of data that ties the shrapnel to each module appearance. Then, when a module is destroyed, the module still winks out of existence, but at the same time, the shrapnel bits are placed in their starting positions and given a velocity and spin, which should give the appearance of the module breaking up dramatically...

Click to Play

In other news, if you’re in Switzerland or Germany: I’ll be exhibiting Airships at Fantasy Basel on May 14 - 16. More details. (Airships isn’t listed there yet, but it will be present!)
13  Games Center / Showcase / Re: You can't fight here, this is the War Room! on: 2015-04-30 15:27:41
Interesting to know running as admin works. Could I possibly as you to try this version which will just plain produce some alerts with the debug info? Basically, I'm trying to figure out whether, when you're running it in non-admin mode, it gets confused about paths or about permissions. (Obviously the latter is much more likely.)

To be clear, this isn't really about War Room, the tiny joke game. It's about Airships, the rather large game that gets launched by Steam where the run-as-admin workaround wouldn't work.
14  Games Center / Showcase / Re: You can't fight here, this is the War Room! on: 2015-04-30 13:02:26
Interesting. I would be supremely grateful if you could run this debug version which will print a few lines of debug stuff right at the start. This lwjgl path problem is also present in Airships, and has been sorta the bane of my existence.
15  Games Center / Showcase / Re: You can't fight here, this is the War Room! on: 2015-04-30 10:49:02
OK, as I suspected it Works On My Machine. Are you running Windows 8 by any chance?
16  Games Center / Showcase / Re: You can't fight here, this is the War Room! on: 2015-04-30 10:06:08
what in the world is making this 40mb+ ? :V


The embedded JVM is making it 40 MB. The crash is... unfortunate. Lemme see if I can fix it.
17  Games Center / Showcase / You can't fight here, this is the War Room! on: 2015-04-30 09:28:51 page with free download and source

Total nuclear war has broken out. If humanity is annihilated, you, Doctor Strangelove, can retreat to your underground bunker full of beautiful women to create a new, better humanity. Unfortunately, everyone else in the War Room doesn't see it that way and is trying to get to the Red Telephone to stop the bombers.

Use the arrow keys to drive into people. Your semi-autonomous hand will grab them automatically, letting you drag them off-screen and dispose of them. Just make sure none of them get enough time on the phone to convince bomber command to stop the war...

18  Games Center / WIP games, tools & toy projects / Re: Airships: Conquer the Skies on: 2015-04-30 09:21:09
Airships 6.3 adds lots of new decals to apply to your ships. The decal system's been around for a long time, but after the initial set of options for putting your coat of arms onto your ships, it got neglected for a while. As part of the push for increased prettyness, I added a whole bunch more, mostly inspired by real-life aerial decorations.

Eyes and teeth: These were in fashion for decorating fighter planes in WW2 and ancient Greek triremes.

Gold leaf, because sometimes you want your airships to look fancy. None of the decals cost any money, which is a bit weird in the case of gold leaf, but roll with it.

Roundels, which turn out to be a fascinating side-branch of heraldry / vexillology (the study of flags). Much as with flags, there are a number of classic styles of roundels, which many countries follow, some variant styles that are popular, and some truly weird stuff where the designers clearly didn't get the memo of "maybe make your war plane unambiguously identifiable".

In flags, the most classic layout is probably the tricolor, a field evenly divided into three, horizontally or vertically. It's a design associated with European nations. The roundel equivalent is a roundel made of three concentric circles of a solid color - pretty much the tricolor in polar coordinates!


European roundels: France, UK, Germany. All insignia images are public domain and sourced from Wikipedia.

Not that there's a perfect match: the UK uses a classic tricolor roundel design but doesn't have a tricolor flag, whereas Germany uses a kind of worrying throwback design instead of their tricolor.


Variations: Bangladesh, Equatorial Guinea, Switzerland

Fairly popular variations include different numbers of concentric circles. Bangladesh has two, Equatorial Guinea has four. Another popular option is putting a symbol into the center of the roundel. Switzerland's got it pretty easy there.


Bad ideas: Belize, Syria, Yemen

And then there's Belize, who just use their overcomplicated flag, and Syria, who picked a design near-indistinguishable from Yemen's. Good job!

In Airships, I've stuck to two basic designs: a bi/tricolor roundel with colours extracted from your coat of arms, and one containing your main heraldic charge.

So, what's next? I spent much of last week at A MAZE Berlin, showing around my game, and returned with my head full of ideas for improving the way it feels. Thing is, I may be a decent programmer and creator of game mechanics, but I have to observe people playing the game to notice all the rough edges in what I make. And other developers are way better at figuring out what makes a game feel fun. So now I have a long list of small things I can do to make the game subtly feel better, and it's a list I urgently want to get to.

This means that rather than going straight to version 7 with its landships, there's going to be a v6.4 and 6.5 incorporating these improvements. I know you're all looking forward to your war stompers and spider mechs, but smoother UI and more satisfying screams and explosions are going to be a pretty nice thing to tide you over until they arrive.
19  Games Center / WIP games, tools & toy projects / Re: Airships: Conquer the Skies on: 2015-04-03 16:25:08
I'm still working on Airships 6.3, and it's shaping up to be a *very pretty* update. Most recently, I've made particles and explosions look much better and am now replacing the simple low-res backgrounds with more detailed ones. Also, Airships has an official wiki now!

Up until now, particles in Airships have been very simple: they were all coloured squares of various sizes, which works well for small things like sparks, but is a bit bland for smoke and explosions. In particular, I really wanted the smoke to be lit up dramatically by the flashes and fire of battle.

Getting particles hooked up to the lighting engine wasn't that hard - all the shaders were already in place - but it took me a while to find a good look for the smoke. I first tried using a smooth look for the particles, and while it looked quite nice, it didn't fit the look of the rest of the game.

Eventually, I ended up with square-ish particles with square-ish lighting maps, which I do think is an improvement:

Then I came across an article about how explosions are handled in Vlambeer's Nuclear Throne, including a very nice-looking explosion animation:

Nuclear Throne explosion by Paul Veer. Reproduced with permission.

Looking at it in detail, you can see that after the initial flash, the explosion consists of a number of particles that don't move all that much but steadily shrink and darken. I produced a similar effect in Airships by spawning a central light-emitting flash particle and a number of smoke particles surrounding it:

Click to Play

And the same effect but on a smaller scale for cannon blasts:

Click to Play

Having settled on a style for this kind of thing, I also re-added clouds, again using the lighting system for them:

As I wrote previously, the point of 6.3 is to really get the game looking pretty in a bid for mainstream success. This left one major sore point: the low-res and rather uninspired forest and mountain backgrounds. At this point, they were pretty much the only thing not using the new colour palette or lighting system, so obviously they had to go. This is what they're getting replaced with:

A much larger set of modular backgrounds: hills, forests, towns, towers, windmills, and so on. This is a lot of pixeling, and it's kept me pretty busy over the last few days, as each image needs to be first drawn and then given a bump map for the lighting to work. But the end result should be really quite good.

That's all for now, except for this wiki thing: There's now an official Airships wiki hosted on Gamepedia. Right now, content is still pretty sparse, but I've put in a bunch of entries. Head over there and contribute, and one day it should be an excellent resource for the game.

And join me next time, when I'll be writing about the new modules getting added in 6.3.
20  Games Center / WIP games, tools & toy projects / Re: Airships: Conquer the Skies on: 2015-04-03 16:24:41
Hey, you are getting famous Cheesy

I've found very small article about your game in todays 20min (a local free 'news paper'):

Sorry, but I could not make any better picture with my phone.

Cheesy Good stuff! You live in Zurich too, then? I wonder if we know each other...
21  Games Center / WIP games, tools & toy projects / Re: Airships: Conquer the Skies on: 2015-03-18 11:03:18
Having covered the kind of stompy war machines I want to make in the last blog post, let's get into how to implement them.

Mostly, landships and airships can be treated the same. Buildings are technically a kind of immobile airship, so landships aren't much of a stretch. The difference is that a landship is held up and propelled by tracks or legs, rather than through Suspendium and propellers.

The question is how the ship navigates changing terrain. What happens when there's an upwards step? A real vehicle tilts when it drives up or down a slope, but the game engine can't support rotation of ships without massive complication.

On a slope, I want to keep the body of the ship level, but raise it up gradually so it can adjust to the new terrain height. To do this, I add a suspension, a set of springs that raises the landship off the ground. The ship won't bump against minor changes in terrain, and its vertical position gets smoothly adjusted. The springs aren't real physical objects, so they won't bump against the side of a hill. The tracks or legs the ship uses will get drawn on top.

This is what happens when the ship encounters a step upwards: As the springs move across the ground, the first one encounters the new height. It becomes more compressed and the additional force starts shifting the body of the landship upwards. As more springs move over the new area, the ship keeps on rising. Of course, if the hill is too steep, or the ship too heavy for the springs to push it up much, it will get stuck. But that's fine, that's realistic.

It also works when going down, though again the ship can get stuck if it doesn't have enough clearance.

So let's start implementing these springs, which will be attached to new tracks/legs modules. I start by creating a Spring class and putting in code so it can find the closest bit of ground. That gives me the length of the spring, and from that the upwards force the spring exerts, which can be easily plugged into the physics engine. Create a test module and put it on a building - and it sproings up!

Click to Play

Great! The next step is to actually introduce landships as a type of construction, beyond ships and buildings. Turns out that lots of things key off "is it a ship or a building", which is too specific. What matters is "can it move" and "does it fly", which nicely separates airships, landships and buildings in how they need to be treated.

Next time: Creating some basic landship modules that are able to both hold up and propel the ships.
22  Java Game APIs & Engines / OpenGL Development / Re: Using Slick2D's Image.getGraphics crashes on some machines on: 2015-03-09 20:39:55
Actually that looks like a driver bug to me.

Cas Smiley

Yeah, driver bug is probably more precise. Smiley I've patched Slick to not check for pbuffers, and now it's fixed.
23  Java Game APIs & Engines / OpenGL Development / Re: Using Slick2D's Image.getGraphics crashes on some machines on: 2015-03-05 16:10:06
OK, this turns out to be caused by a lwjgl bug.
24  Java Game APIs & Engines / OpenGL Development / Re: Using Slick2D's Image.getGraphics crashes on some machines on: 2015-03-05 07:21:12
I'm afraid none of this matters, because it's the call to getGraphics that makes things crash!
25  Java Game APIs & Engines / OpenGL Development / Re: Using Slick2D's Image.getGraphics crashes on some machines on: 2015-03-03 06:44:39
In your real code, are you doing this:
Graphics g = img.getGraphics()
and use the graphics object or are you calling it the same way you are in your sample code?

In the real code, I create the Image once only, and I do use the Graphics, of course. But having minimized the reproduction, the thing that causes the crash is getGraphics() alone. Note that it doesn't crash at getGraphics. It crashes later, at the end of the frame, during nSwapBuffers.
26  Java Game APIs & Engines / OpenGL Development / Re: Using Slick2D's Image.getGraphics crashes on some machines on: 2015-03-02 20:09:29
It's a native crash Pointing There won't be an Exception.

Anyway, as you are creating an image every frame, you might run out of vRAM, making the texture allocation fail, after which Slick2D might be sending its pixels to a null pointer.

This happens on the very first frame. Sorry if the example is misleading. In-game, I don't recreate the image each time.
27  Java Game APIs & Engines / OpenGL Development / Using Slick2D's Image.getGraphics crashes on some machines on: 2015-03-02 14:14:52
On some machines, creating a new Image and calling getGraphics() on it causes lwjgl to enter into some kind of faulty state that crashes when swapping buffers. Any idea what causes this and how to make Slick clean up after itself properly?

Reproduction code:

    package crashrepro;

    import org.newdawn.slick.*;

    public class CrashRepro extends BasicGame {
        public static void main(String[] args) throws Exception {
            CrashRepro cr = new CrashRepro("CrashRepro");
            // Crash only happens in fullscreen mode.
            AppGameContainer agc = new AppGameContainer(cr, 800, 600, true);

        public CrashRepro(String title) { super(title); }

        public void init(GameContainer gc) throws SlickException {}

        public void update(GameContainer gc, int i) throws SlickException {}

        public void render(GameContainer gc, Graphics grphcs) throws SlickException {
            Image img = new Image(128, 128);
            img.getGraphics(); // This crashes the game.

Stack trace:

    Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    j  org.lwjgl.opengl.WindowsContextImplementation.nSwapBuffers(Ljava/nio/ByteBuffer;)V+0
    j  org.lwjgl.opengl.WindowsContextImplementation.swapBuffers()V+35
    j  org.lwjgl.opengl.ContextGL.swapBuffers()V+3
    j  org.lwjgl.opengl.DrawableGL.swapBuffers()V+0
    j  org.lwjgl.opengl.Display.swapBuffers()V+39
    j  org.lwjgl.opengl.Display.update(Z)V+44
    j  org.lwjgl.opengl.Display.update()V+1
    j  org.newdawn.slick.AppGameContainer.gameLoop()V+78
    j  org.newdawn.slick.AppGameContainer.start()V+17
    j  crashrepro.CrashRepro.main([Ljava/lang/String;)V+27
    v  ~StubRoutines::call_stub
28  Games Center / WIP games, tools & toy projects / Re: Airships: Conquer the Skies on: 2015-02-25 16:42:22
It's out! Airships version six, bringing new lighting, new heraldry, new guns, and weather!

It's out on Steam too, which means this finely crafted link now brings you to the Steam store page.

So what's next?

First and foremost, with new players coming in, there's sure to be new bugs discovered. So my first priority is likely going to be putting out some bugfix patches. After that, I want to spend some time on game performance. The new fancy graphics take their toll on the graphics card, and while you can switch them off, it would be much nicer if everyone could enjoy them.

Improving performance means restructuring how airships are drawn from the ground up, which is why I didn't want to risk it in the week going up to version 6. The core problem is that graphics card really hate it when you do lots of small draw calls, and currently that's exactly what's happening. You might think that a 2D game shouldn't tax the GPU that much, but when you have hundreds of airsailors on-screen and make a separate draw call for each of their limbs - it's quite bad.

The solution is to organize drawing into layers. Instead of drawing one ship, one crewmember, after the other, the game will draw all the back walls, then all the modules, then all the gun barrel, then all the crew limbs, and so on. Each of these layers can be a single draw call, collapsing hundreds of them into one.

OK, so that's the immediate plan, but what about new features? What's coming between now and the final release? Well, the development plan I laid out months ago is still more or less correct, though which feature comes in which version is subject to change. There are five major additions I have in mind:

Better troops

The boarding stuff is cool and works really well, but it took such a long time that I stopped working on it as soon as I had something to show. Which means that there's some... odd missing bits: Crew stranded on the ground just stand there and are unable to move anywhere. Fixing that would pave the way for having ground troops fighting amongst one another and attacking buildings and ships. Most importantly, they can then be trod on by...


Okay, yes, the name of the game is "Airships". But landships, war stompers, steam mechs: totally cool, right? And they're basically the same as a ship or a building, they just have a different method of propulsion. The slightly hard bit here is getting their limbs and tracks to interact properly with the ground.

A more detailed strategic game

As it stands, the strategic mode is really very simple. It could be a lot more interesting. I'm still working on figuring how best to do this. There's a lot I could add, but it's important to pick additions that make the gameplay deeper rather than just more complicated. More detail on this in a later post.



I used to insist that Airships was totally a "Steam/Dieselpunk" game. This will finally become sort of true when diesel engines are introduced. These will be much more powerful and lightweight, and won't require manual supply of fuel, but they'll also be expensive and quite prone to catching fire in a bad way. The reference time period for Airships is about 1860 to 1940, so we'll see a bunch of slightly more modern things cropping up.


Last but not least, the game needs monsters. There's actually dragons in the game now, but only ever seen in the distance, flying past at high speed. Dragons, Turtledoves, Air Krakens, Sentient Floatweed, Giant Spiders, Mechanical Ducks! Some of them you must fight, others might be useful to your own side.

Stay tuned.
29  Games Center / WIP games, tools & toy projects / Re: Airships: Conquer the Skies on: 2015-02-06 13:43:18
I've been hard at work on Airships dev 6, and have now fixed upon a release date for it, and for Airships on Steam: February 25. So unless anything goes majorly wrong in the next two weeks, that's when you get the fancy new version of the game.

There's still a fair list of things I want to improve before the release, mostly on the visual side. Right now, I'm working on making the strategic map screen nicer. The idea with that screen has always been to make it look like a desk you're looking at, plotting your empire's path. To make it look less bare, there's going to be some pieces of paper at angles half-beneath the map, and probably some coffee stains.

Of course, the pieces of paper are an irresistible opportunity to do some worldbuilding:

Can you decipher the scrawled handwriting to discover the terrible secret of dragon-rearing?

An important part of any imperial presence is maintaining positive relations with the natives.

To be fair, airsailors will eat pretty much anything that's not even more hardtack.
30  Games Center / WIP games, tools & toy projects / Re: Airships: Conquer the Skies on: 2015-01-04 12:37:30
Thank you both for your greenlight votes! The game's now entered the top 100 and is currently listed at #92, so we'll see...

Dev blog update:

One of the nifty features of Airships is that you can create your own coat of arms. You can do this for your single-player empires, selecting a symbol (a charge) to give you a particular bonus. And you can design and register a coat of arms for your unique use in multiplayer. The system hasn't really changed since the initial release with the exception of a few added charges, but with dev 6 - the update of prettiness - I want to improve on what's there.

Currently, a coat of arms is defined by selecting a layout, a charge, and two or three colours. This leaves some coats of arms looking rather bare, though. In a quartered coat, only the top left quarter contains anything, whereas it would be much nicer and more realistic if all quarters could contain charges.

In the new system, each layout has between one and four slots that can be filled with different charges. I'm also adding a whole bunch of minor charges such as stars and wings that don't have a bonus effect in the single-player game and can be added freely. You will be able to combine multiple major charges (say a scales and a lion) on your arms, too. In single-player, the most prominent major charge (the one closest to the top left) will be the one that provides the bonus.

This opens up a whole lot of options for much nicer-looking arms:



Your already-registered arms will stay unaffected by this change, of course, though you might want to look into upgrading them.
Pages: [1] 2 3 4
mercenarius (14 views)
2020-06-04 19:26:01

mercenarius (24 views)
2020-06-04 19:13:43

Riven (866 views)
2019-09-04 15:33:17

hadezbladez (5848 views)
2018-11-16 13:46:03

hadezbladez (2657 views)
2018-11-16 13:41:33

hadezbladez (6273 views)
2018-11-16 13:35:35

hadezbladez (1518 views)
2018-11-16 13:32:03

EgonOlsen (4749 views)
2018-06-10 19:43:48

EgonOlsen (5804 views)
2018-06-10 19:43:44

EgonOlsen (3298 views)
2018-06-10 19:43:20
A NON-ideal modular configuration for Eclipse with JavaFX
by philfrei
2019-12-19 19:35:12

Java Gaming Resources
by philfrei
2019-05-14 16:15:13

Deployment and Packaging
by philfrei
2019-05-08 15:15:36

Deployment and Packaging
by philfrei
2019-05-08 15:13:34

Deployment and Packaging
by philfrei
2019-02-17 20:25:53

Deployment and Packaging
by mudlee
2018-08-22 18:09:50

Java Gaming Resources
by gouessej
2018-08-22 08:19:41

Deployment and Packaging
by gouessej
2018-08-22 08:04:08 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!