It’s time for real talk.
We are indeed launching an Early Access version of Clockwork Empires this summer and we want to make sure that people know what they’re going to get if they purchase the game at the first opportunity. The classic pitfall of Early Access games is for a developer to give players unrealistic expectations about what the then-current state of the game is and this is something we absolutely want to avoid doing. So yesterday we spent a couple of hours having a meeting in accordance with Traditions of Gaslamp Games where we discussed various areas of the project, how we’re progressing with them, and how much of this progress is actually visible to a player of the game.
Let’s go over over the categories discussed in detail.
Military & Combat
The amount of work done to bring this system to what we’d determine “ready for version 1.0” is probably half, but it is barely visible in the game from a player’s perspective. Military units defend the player’s settlement, characters tasked with hunting will shoot animals with slightly alarming zeal (even peppering the already dead bodies with an extra bullet or two), and characters who are attacked by invading fishpeople can be wounded and killed, but the lovely system of military control that we painstakingly designed while the project was still quagmired in engine code is not yet implemented. We needed to wait for the characters to be sufficiently complex that they would be affected by military service, for the job system to allow interrupts, and for additional sophistication and UI support for work crews in general. We also needed enemies to be sufficiently complex that military controls felt necessary. The characters are there and able to do everything needed, the scripting of complex, interesting enemies are not quite there (though all the art assets are done). A tester described fishpeople as “the goblins of Clockwork Empires”, which about sums up their state.
Non-Human Characters (animals, monsters, vehicles)
In Clockwork Empires all of the characters (human and otherwise) are based on very similar code. Some work has been done to create specific NHCs (non-human characters), and it works well, but this code hasn’t yet been generalized sufficiently that adding new ones is as trivial as it should be. This isn’t difficult, per se, but it hasn’t been the most important task yet versus our priority on getting human character behaviour feeling really good. It is only natural that the player focus on their own colonists, so that had to be our starting place. Once that’s all been smoothed out, it becomes worthwhile to flesh out all the other animals and creatures in the world.
Likewise for vehicles; these only become interesting features once human characters and colony-building itself works well enough to fit with the additional complexity they introduce. The Steam Knight is our in-development test case for a single-characterland vehicle while the Landing Craft (as featured in our October trailer) is our test case for a multi-character/commodity carrying watercraft.
There is a tremendous pile of art (models, textures, animations, and sounds) that are just waiting for implementation, and the day where this is done is rapidly approaching.
Human Character Behavior
Simulating characters is one of the cornerstones of Clockwork Empires, and as such, it’s one of the systems we’ve spent the most time on. As far as what’s visible to the player, it might appear to be about half as sophisticated as we intend to make it, but there’s a lot of solid back-end code to support much more than what’s been done. Most of the work that remains, now that we have designs for this that we like, involves adding new ‘jobs’ (a job being what our engine calls any unit of a character’s physical action eg. chopping down a tree or rubbing their stomach and making hungry, unhappy sounds), memories, relationships, and physiological responses, and a little code cleanup.
Workshops, Housing, The Building Creator
After a terrible battle, the building creator is now usually not generating buildings menacing with invisible, broken geometry. You can put modules in corners, you can put doors in corners, and things generally don’t explode. Owing to this, our testers have now resorted to creating more and more ridiculous buildings to troll the system. For example they’ve made buildings where every wall is made up entirely of doors and/or ovens, or two buildings entwined in a one-tile wide double spiral of madness in an attempt to get something, anything, to explode horribly, and there have been a few pretty good successes. However, it’s most of the way there now. The last major feature for the building creator is support for different building styles, including gabled houses and more exciting decorations. People also really, really want to be able to create courtyards, so we will have to look into that one.
The other interesting thing with buildings is people building 90×2 carpentry workshops to serve as walled fortifications for their colony. We should probably fix gabion fortifications and expand on the options for players who really want Clockwork Empires to be a tower defense game.
The actual workshop mechanisms are pretty much done, with the exception of interfacing it to higher-level game play such as dynamics and module maintenance costs. The situation for housing is a bit primitive; people can use it, but there is currently no concept of “property ownership”, so people can’t have their bed, their chair, their house, their idol of Quaggaroth. On the other hand, communists are pretty happy with this.
The terrain generator is capable of much more than is currently shown to the player. At various points, as perceptive readers may recall, we have generated desert and swamp biomes, and the art exists to support these and many more biomes. We have it locked on the “Yellowstone” biome right now because we need a stable test case to act as a framework upon which to develop the fundamentals of character behaviour and basic colony functions. As such, very little new work has been done on the high-level biome and terrain generation for the last 9 months, though the generic natural objects which are placed on the terrain have received a lot of attention. What the player sees is therefore a small fraction of what is possible; a large amount of art exists for biomes that can’t yet be seen, and this will probably see more action once we have military controls that mirror those designs.
Biomes will also relate more to the metagame. From the player’s perspective, this will involve the colony site selection process at the start of the game as well as and various events related to that site’s position in the world once the metagame is more developed, which brings us to…
This includes things like the world map, tracking your progress through different settlements, interaction with different factions, and ties to in-game events (though that’s its own category that we’ll get to in a moment). This is one of the least developed systems, but also one of the simplest with the fewest unknown variables. So far there’s little point in having a meta-game without having the core of the colony simulation game itself, so while we had a great time designing all the systems for this and are eager to implement them, it’s not going to get done until it’s the best way to improve the game experience. The system for collecting historical events to seed the creation of other sites in the overworld is done, as it shares a lot of structure with the character memory system, but it needs some filtering.
Nowadays most games use 3rd party engine technology like Unity as their game engine, so this category is not to be underestimated. The game engine is hugely complex and, if everything works correctly, the player should not even notice that it exists. This point needs to be emphasized because it’s such a huge portion of the work done on Clockwork Empires during development but it’s one of the least visible components to players.
It’s all good news though: The game engine is almost completely done. There are a couple of small additions that we’d like to make and that have been on the list for a long time, but changes to the engine are mostly performance tweaks at this point, and adding that final layer of visual polish to lighting and particles. Again, this was one of the largest projects among the categories listed here.
This is also almost completely done. Almost all of the game object definition, and the interaction of these game objects is handled through Lua now. These objects interact with each other by passing messages that are scheduled by the C++ engine code. We need to do a cleanup pass to make sure that all the strings for localization are out of C++ land, and we need to clean up leftover code used for various tests, but this system is largely done and we’re very pleased with it.
We get huge gains in terms of productivity from the Lua scripting system because now even the art team can implement assets they’ve created without the core code team. The payoff here has come only with a very large initial time investment, but our rate of asset implementation has increased tremendously and will only continue like this as everyone in the office becomes more adept at scripting.
Music and SFX
More of this category is done than the player notices at this point, and that’s a strong signal that we need to hook up the rest of it, as it’s a very light task. Music and sound effects feel like a polish task as they’re not strictly necessary to run the game so it’s easy to sideline them before more pressing features, but we’ve got most of the assets done.
The dynamic music system works and is implemented, but not all of the events that should alter the mood of the music slightly are set up to do so. This basically requires a housekeeping pass to go through all relevant events and paste one line of script wherever needed with the appropriate variables. We need to tweak a few of the sound effects, implement support for more ambient and looping sound effects, and we need to do another pass on the character vocalization with more than just Matthew Steele’s voice (who you may recall as the announcer from Dungeons of Dredmor but sounds nothing like that in Clockwork Empires). But in all we’re very happy with the way this came together so quickly and painlessly.
The overall status of the project is, as one would expect, quite far along, and we’ve hit that point where it’s getting very visibly better with each update we push out. That was the most important criterion for us for early access. We’re at the point now where people who are in the super secret closed testing are pleased with our pace, and we’re at the point where people who want to participate will be able to watch the project take shape, submit bugs, help us prioritize features, suggest how to resolve design issues, and play the game largely crash free (as of this post there are no known crash bugs) (if you find a crash bug, please promptly report it to your local Inspector so that it can be Purged).
You cannot yet fuel your settlement on maddening eldritch artifacts (right now you fuel it with wood and immigrants), you cannot yet have cultists summon elder horrors (though that’s actually very close), and you cannot yet connect steam pipes to everything for fun or for profit (but you can cover the walls of your houses with pictures of criminals).
You can create a settlement of characters that need your help to survive, create farms, build kitchens, cots for them to sleep on, make beer for them to drink, and while cults don’t summon elder horrors, they do organize themselves and change the names of buildings to something creepy. You can build guns to protect them or just watch them flee from fishpeople, they get married, they get happy when they eat something if they’re an epicurean, they get sad when they see their loved ones die, and they go slowly mad because it’s not super balanced yet … but they rename buildings and talk about murder, so that’s fine.
Also, by tradition: here are the changelogs from the most recent game revisions in our internal testing system (aka everything we’ve done in three builds we’ve done since last week’s blog post):
- FIXED: module construction was trying to call sfx named “dirt” rather than “Dirt”
- food rebalancing: need ~4 units of raw food per day, 1 unit of cooked food per day, per colonist
- re-activated cooked dodo Kitchen job
- colonists start slightly less hungry
- wield_tool.fsm outputs slightly more informative console spam (still the same amount)
- reverted characterTooltip.xml to something that sucks less
- a cultist will now occasionally rename their workshop to something terrifying
- FIXED: commodities window now correctly decrements when constructing a module
- increased all crops growth time (approx. 2.5 days now)
- lowered production time of most workshop jobs to max of 1/4 of day.
- events: supply airdrop made every two days, will give building materials, food, guns, or nothing
- events: selecting nothing during supply airdrop gives prestige (your frugality is respected)
- events: selecting random immigrants gives prestige, selecting none subtracts prestige
- FIXED: fiddled with tinned corned aurochs beef until it works rather than breaks the game
- events: can now be triggered by alerts on the RHS of the screen
- CLEANUP: table code
- FIXED: characters now use one-click information system as they are supposed to, but this can be turned on/off per character in game
- Removed David’s screaming head from the options menu
- Commodities filters work
- FIXED: modules can now be placed on the corners of buildings, and will work correctly with interiors
- FIXED: two stoves (or other modules) can now be put next to each other
- FIXED: solid containers now intercept tooltip checks.
- UI: Commodities window no longer shows commodities of count 0.
- UI: Commodities window now more readable, spacing fixed.
- added more fishpeople near the edges of the map
- added more aurochs to the highlands
- made tooltip background slightly more opaque
- removed sand from highlands (it looked really weird and glass isn’t used for anything yet anyway)
- FIXED: crash deleting a job that is in both the jobs list and in an assignment when a job item is destroyed or misplaced
- FIXED: objects not having their new positions set correctly when placed in a stockpile, causing Shenanigans
- FIXED: workshop cancellation button now works
- FIXED: If a workshop cannot execute a job and an assignment is suspended due to nobody being able to work on it, the job will bounce to the bottom of the assignment queue and the workshop will attempt to start another assignment.
- FIXED: workshops will now correctly update job counters as jobs are incremented.
- changed (almost) all oreNodes to clusters; ore more plentiful, occurs in groups. Mining is more rewarding.
- FIXED: broken Caviar tinning job
- immigration icon now makes sense
- removed unused interactions from herdAnimal.go and fishperson.go eg. “Attack” which did nothing
- gossip now uses alt. animations & should use proper talk animation when commodity is held (vs. waving around bushels of cabbage while having an animated conversation)
- removed Sabre from weapon drop because it’s totally not actually implemented
- Gibs now rot.
- overseers will drop commodities before doing overseeing (no more encouragingly waving Bushels of Cabbage around)
- FIXED: a workshop that aborts an assignment then recreates it won’t try to reproduce the full amount of stuff in the new assignment, merely the # of things that have yet to be completed
- FIXED: exciting, semi-random stew crash
- Modules that have not yet been assembled now have tooltips showing a) the materials used in their construction, and how many; b) how many materials remain to be dropped off.
- FIXED: various buildings exploding when placing multiple objects along the same wall, or multiple objects next to each other on the same wall (or in a corner)
- WIP FIX: covering an entire wall with modules causes the roof to pave over
- FIXED tinned exotic caviar production
- removed’ make Sabre’ job ’til Sabres work
- added a starvation warning alert & log entry
- FIXED: hungry/tired thoughts/conversation topics now trigger based on new game timescale (were old values from pre-day/night cycle)
- added bushel of exotic caviar icon. whisky icon, jar of beer icon
- FIXED: floating stuff on tables
- FIXED: commodity menu not decreasing when you eat food
- FIXED: Escape key now closes top window, then next top window, etc.
- FIXED: outbreak of bad toupees in the colony (hair & head cleanup, new protocol for adding hairs & heads)
- FIXED: occasional crash closing work party UI
- FIXED: beer & whisky production
- Clay nodes now come in different sizes (and aren’t placeholder art)
- vars. module texture retouches
- FIXED: new immigrants no longer have hidden traits (blame phrenology)
- FIXED: dropping items occasionally causes them to vanish
- Added button for promotion of overseer
- Added button for FRONTIER JUSTICE
- Laudanum is no longer a possible ingredient used to make Laudanum
- FIXED: With whisky working, and other problems sorted, laudanum production should now work
- Currently selected module is now highlighted in the building creator
- removed Maize and Tobacco from farms until they do anything useful (Opium remains in to teach Important Lessons about drugs)
- FIXED: a selection of random crashes in the work party dialog
- FIXED: a selection of random crashes creating interactive tooltips from Lua
- FIXED: spatial dictionary buffer overrun crash
- “arrow.tga” is now a green circle
PS. Want to be the first to know? Sign up for the Gaslamp Games mailing list.