State of the Programming

Greetings, loyal Subjects of the Empire! As you know, we traditionally give out a programming status update around the start of the month to let you know what we’ve been doing. To make things even more exciting, Mr. Triolo recently found some sort of “GIF-making” tool on the steam-pipe-and-radium-Internet. Therefore, what the heck, let’s show you some animated engine footage… in very, very small quantities.


Work makes us all sad. That’s why we’re in game development, right?

So, without further ado, what’s new this month…?  Conversations! People can now talk with each other about things. Here, two citizens discuss work and how it makes them feel sad. A person’s response to a conversation topic is a function of their mood and traits. People will also broadcast their thoughts. Here is somebody thinking about bed.


Men standing around thinking about bed. This is all perfectly civilized, we assure you.

Valid conversation topics, at present, include work, patriotic duty, upper/middle/lower class structures, the sea, communism, and needing sleep. These are all data-driven so we can add more topics as we see fit. How people react to conversations will affect how they feel about a person. Mr. Whitman left the game running for half an hour, and discovered that everybody was extremely happy except for the one person who was very, very angry about communism.

As part of the work on moods, madness has started to be integrated into the game. A few weeks ago, I started a colony with everybody’s madness maxed out. Half of those present walked into the sea, never to return; the other half immediately grabbed the nearest weapons available and started either shooting each other or bludgeoning each other with axes and shovels. So that’s working rather well.

People can also sleep on beds, instead of just on the floor. (Also, they don’t sleep underwater any more, and we fixed the “incorrectly installed furnaces” bug from last time I did a major post.)


The condo pictured here would go for about a half million in Vancouver. “Cozy. Lots of Character.”

You can see that I fixed the ambient occlusion here, which had been broken for about three weeks and nobody, myself included, noticed it. Oops. Also new is that our skinning is now done on the GPU in a vertex shader, rather than in on the CPU. This saves valuable CPU cycles for rendering more shrubs or something.

We can’t really show it very well, but there is now an internal notion of which areas in the game are “civilized” and which squares are “not.” This is used for military patrolling. We also changed the size of the on-game map from 256×256 to 512×512, and dealt with … issues… arising from this.

Mr. Best has been working, quietly, on a large rewrite of our message-passing system to get it ready for networking and multiplayer. At one point we had multiplayer up and running, but discovered that doing the building creation stuff across the network was… messy. This led to making a list of things that were messy, and deciding to fix them. This has now happened, and we are in the process of integrating a rewrite of the core event handler and message passer back into the game. This has, to say the least, been labor-intensive. Right now it compiles, links, runs, and crashes almost immediately upon creating the first character in the game (appropriately, named Smugly Flypump.) We’re in the process of sorting that out, at which point we will start working on closing the multiplayer ticket. As part of this, we also have the start of the framework for creating events. Events are any scripted thing which isn’t a character doing something, basically, and will no doubt be the subject of their own blogpost once they are in place. A lot of stuff depends on events (everything from “new citizens” to “villainous Stahlmarkian traders” through to “Fishpeople coming through town and giving you the old heave-ho”), so that will be exciting to have a framework for.

Daniel has been rewriting and generally overhauling the biome generators, which he wrote about last week. Ryan has dropped off a large chunk of code for something simply referred to as “Thor”, and this has dragged both Derek and Andrew (systems engineer and build engineer respectively) into the hellish pit of game development. That should be fun once it’s done, and also means that we have a big chunk of PHP running a server now somewhere. Strange.

This month’s agenda: Micah is finishing his integration, doing multiplayer and events, and hopefully starting in on the all-important save game serialization; I am finishing a new building creator, which will support dragging regions for faster building creation as well as the ability to modify buildings post-creation (for the placement of new modules and so forth), as well as building costs and a collection of “oddball tickets” (farming, finishing dynamics lines, burial sites, global world generation, some combat stuff); Chris is doing a huge handful of UI work, starting with new work party screens, and Daniel is working on slotting in more actual content. I also seem to have sprouted about a zillion tickets related to the particle system editor, so I suppose I’d better get on with those…

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

18 Responses to “State of the Programming”

  1. omeg says:

    It moves! What is this heresy!

    { reply }
  2. Rydash says:

    The sleeping animation causing the guy to do an instant 180 looked a little jarring.

    Or I’ve gotten so picky that I’m soon going to start calling the “Questions? Comments?” numbers on the back of pre-packaged foods.

    { reply }
  3. ScrObot says:

    Why is the woman in the first screenshot crying about a sad Dr. Manhattan? 😉

    { reply }
  4. Xyvik says:

    All very intriguing! So, a random Question For Future Work, or really, How To Make Gaslamp’s Lives More Frustrating:

    Do you have plans to be able to save multiplayer games and return to them later, ala Civ? And also, do you envision the separation of a multiplayer “Profile of Glorious Bureaucratic Failures” and a singleplayer one?

    Either way, good work!

    { reply }
  5. zeek says:

    I’m trying to find a good two bedroom apartment for rent in Vancouver. So I care!

    { reply }
  6. Marcin says:

    Hmm! What are you doing with PHP?

    User-submitted mod database? Realtime GoogleMaps display of Clockwork Empire territory across multiplayer? Multiplayer server browser? Pigeon-Horse-Poop UI design?

    { reply }
  7. tentacled-godqueen says:

    Walking into the sea never to return is perfectly sane I don’t know what you’re talking about!

    (cthulhu fhtagn)

    { reply }
  8. Thomas says:

    This ‘madness’ mechanic is really making me curious.
    Just how far are you going to push it?
    I can just picture a proper, tidy, industrious little town by the beach suddenly turning into Innsmouth overnight.
    Fish people and sacrifices and things shambling about.
    Or even further, taking a cue from the Fortress of Dwarves, where someone gets a sudden inspiration and starts dragging people into his shop, making chairs and necklaces out of them.

    ..and then tossing the multiplayer thing into this.. what happens if two different towns filled with crazies suddenly meet?
    Does war break out in the street? Do they band together in a cult? Does E3 suddenly start in the game?

    Anyway. As always, its looking splendid.

    { reply }
  9. Tyler says:

    Really interested about multiplayer. I remember you posting originally that you planned on having a system that mimicked boatmurdered, but the way you describe it now seems more like an actual multiplayer, with 2+ ppl playing at the same time.

    Can i graciously gift my opponents that weird obelisk i fount by that pile of skulls?

    { reply }
  10. Detritus says:

    Wow, I really can’t wait!

    { reply }
  11. Canisa says:

    In the first GIF it looks like the soldier is holding his nose because the woman’s tears smell bad.

    { reply }
  12. Tearston says:

    For the madness part at the starting of the game you should allow the player to choose mm how easy it is for people to get mad that way you could choose if you want a hilarious game or serious game if ya know what I mean

    { reply }
  13. Pingback: Dev Links: Space Madness | The Indie Game Magazine - Indie Game Reviews, Previews, News & Downloads

  14. Pingback: Dev Links: Space Madness « DIYGamer

Leave a Reply

Your email address will not be published. Required fields are marked *