Category Archives: Clockwork Empires

And in the darkness bind them: The Event Director

The scripting capacity of Clockwork Empires is a funny thing. It gives us immense power, the ability to do amazing things. But it’s very easy to get lost in a mess of complexity. So, yes, we can script an event that essentially holds in itself an entire Twine-like narrative dialog sequence that pushes commands to the game world simulation, waits, then reads states from the game world simulation and thereby lets you interact with the world in abounding narrative scintillation.


But be warned: you may lose yourself in this power, and give in, and be plagued forever by spectral script errors.

So, back that up: We’ve got events. Some are pretty complex. They can be very complex. To get a handle on this — and to give players a handle on understanding what the heck is going on during the course of complex event chains — we’ve been working on a feature called the Event Director. This has two parts: a back-end that runs an arc of events, and the front-end that displays what’s going on in an arc of events to the player. Let’s see it in action using a mundane event chain which has been revised to operate in this new system:

Foreign Invasion

So you’re being invaded. This is important! And now you get to make some choices along the way.

(Note: All details of this event arc are open to change and this implementation of the UI is absolutely functional. In other words, it’s not perfect, but it works, and we’ll polish it up later.)

First, we are informed of the invasion. Then we make a choice.

Guns or friends?

Here’s how we start: we’re informed of the invasion, are presented with a choice (which will execute a default option if you stall long enough), and you may notice a new persistent event arc header over in the alerts notification area on the right.


Having made a selection, a stub-style alert has been added to the widget. It’s got a tooltip with whatever additional information we think is important to convey to the player.


Here we’ve advanced in time a bit. You can see that our Novorusian allies have arrived (though their alert should properly be in the Foreign Invasion box – we specify a parent widget, if any is desired). My mouse cursor is hovering over the “Foreign Invasion” header which gives an expanded mini-history of what’s going on in the event arc. The newest entry in this log appears at the bottom and is highlighted.


In this event arc, you get a second choice as well. Here you can see that I’ve asked for a squad of temporary Redcoats as reinforcements.


The enemy is spotted, the Redcoats arrive. And they’ve already killed one of my Novorusian allies.


Yeah, this isn’t going well. You can see all the alerts piling up there, and fading while they time out.


Bloody Stahlmarkians right? You can see that I have a “Defeat!” stub-alert under Foreign Invasion there. So I am notified of the results of my failure, and life goes on. Well, for the few survivors.

This may have gone better had I actually had any troops. Or made more friends with various factions. Or requested different options during the course of the event arc. But that’s all the fun of it!

Now, this won’t just be limited to the much-beloved Foreign Invasion event arc. Our primary goal for using event arcs is to power ongoing Eldritch happenings. But if I told you anything about those, that’d be ruining the Fun, wouldn’t it?


Okay, here’s a peek. You may notice here that options may open up depending on the facilities you have available in your colony. This will become much more important for providing Special Options to deal with the Various Troubles that may arise.

More on that – much more – will be made available to explore in forthcoming updates.

Posted in Clockwork Empires | Tagged , , , , ,

Alerts and When to Mystery

Whew, I haven’t written one of these in a while! I’ve been doing some weird back-end programming for a bit, but a few things that I’ve been working on is finally ready for an experiment, so let’s talk about them.

Alert framework

We’re rolling out a new, more robust alert framework.

"To the heliograph! Alert the Ministry that the cogs have whizzled too far this time!"

“To the heliograph! We must alert the Ministry that the cogs have whizzled too far this time!”

The old alerts were good for a few things, but not great for most. They began their life out of a need for a system for opt-in decision making, since we didn’t want to be pushing major choices to the middle of the main screen every time a player needed to make a choice (e.g. what to do about bandits), but the initial implementation of icons down the left side of the screen caused problems: icons alone aren’t enough to get across specific information, and there was still important information in the “ticker” (aka dialogue) box at the top of the screen because of this. Some news like “you got some planks” just didn’t make sense in a dismissable icon with the same weight as “pick your bandit foreign policy”.

{ read this article }

Posted in Clockwork Empires | Tagged , , , , , ,

They’re Called Conduits Now: A Tale of the Pneumatic Conveyance Snoot

Now that the biomes are live in Clockwork Empires, I’ve switched gears to finishing another major feature: conduits. Formerly called “dynamics”, we are now calling them “conduits” because it’s a much better name. And these things have been nothing short of a blasted nightmare of complex proposals of various forms from the start.

So now what do we do?


Ceci n’est pas un pipe.

{ read this article }

Posted in Clockwork Empires | Tagged , , , , , ,


 At the bottom of a strange glowing crater we discovered that –


This update will go live to every Clockwork Empires player via Steam!

We have also updated our Clockwork Empires: Development Progress Report! It contains the voluminous annotated changelog.

(Don’t own the game? Clockwork Empires can be purchased on via Humble or from Steam.)

Want to hear about all sorts of updates via email plus receive silly images from development? Sign up for the newsletter here.

Major Changes

  • We added a variety of new biomes! Select your embarkation point on the map at the start of the game, then discover what challenges and Fun awaits you in your new settlement.
  • Enemies will now destroy your precious buildings. Protect them well!
  • Various UI improvements have been improved, and will improve more.

Full Changelog for Alpha 50

{ read this article }

Posted in Clockwork Empires | Tagged , , , ,

Thatched Roof Cottages

Back in the day I used to play Warcraft 2 over Kali. A popular strategy was developed called the “wall-in”. Perhaps you’ve heard of it, perhaps in a more recent game? To execute a wall in, you’d build farms to close the gap between your town – and it’s precious, vulnerable line of gold-mining peasants – and the outside world so that if some punk tried to pull a grunt-rush, you’d be safe and they’d have wasted their time. When you were ready, you just had a peasant chop a tree next to your farm to open it back up to access the outside world to expand.

A partially executed wall-in.

A partially executed wall-in.

A similar move has existed in Clockwork Empires for quite some time now. It is possible to build absurdly long, skinny buildings at very low cost due. And enemy AI treated them as untouchable, impassible barriers. So you see the problem here: cheap, invincible walls. At least back in Warcraft 2 the walls were legitimate buildings that would be attacked automatically.

{ read this article }

Posted in Clockwork Empires | Tagged , , ,

Technical Debt Payment Plans

Technical Debt is a handy metaphor that has been used in the programming community for awhile now. I sort of think it’s one of those things that probably got coined by somebody in the Lean Startup community, or the Agile community, or something like that. The idea of the metaphor is simple: you incur technical debt at the start of a project for a variety of reasons – getting your software started or out the door, for instance; or meeting a release target. At some point, however, the debt collector comes calling. This week, I seem to be paying my debts off: in the case of Clockwork Empires, we incurred a lot of technical debt getting the game into Early Access, with the knowledge that at some point during the process we would have to pay it off in order to get out of Early Access. Well, the point of paying it off seems to be this week.


{ read this article }

Posted in Clockwork Empires | Tagged ,

The Arctic Dodo and the Desert Fox

In new climates, there are new opportunities and new challenges. And these involve a heck of a lot of little things that need to be attached properly to other similarly little things, or (at the very least) given slight variation between varied biomes. The Arctic Dodo for instance:


Look at ‘im go!

Take farming, for another example. What can you grow where? Wait no – it’s not that simple. Wrong question. As a developer, I’m not playing the game, I’m making the game. Try again: How do we control the unlocking of the crop field placement buttons and what feedback do we give if they are locked due to some condition? Then we must handle the same question for cooking recipes which are also locked or unlocked per-biome. Turns out the latter is essentially done and required only minor data entry while the former required a slight expansion to how we define field locking/unlocking.

{ read this article }

Posted in Clockwork Empires | Tagged , , , , , ,

What’s That Red Stuff?

Do you see it, right there? That’s the problem. Herein it shall be explained why and then how it is solved.


So we’ve had some talk about the overworld lately and the old post about world map generation still stands. Now we’re dealing with the details of living in it, of filling each biome with appropriate textures and objects. This is proceeding rapidly.

{ read this article }

Posted in Clockwork Empires | Tagged , , , , ,