With Clockwork Empires becoming significantly more stable over the course of the last few patches, we are seeing a lot of people playing the game for much longer, which means that – in turn – when a bug happens, it’s the sort of thing that gets at you rather than just being something to be ignored. The pain threshold has, shall we say, shifted.
I’m trying to deal with a few long-standing issues this week, which mainly means dealing with small annoyances that detract from the quality of life of a Clockwork Empires player.
For instance, we have now fixed the work crew window slowing the game down when you are faced with > 100 citizens (and Daniel is busy doing Experiments on the work crew window anyway, so who even knows what it will look like after we’re done.) Similarly, the code base now correctly picks a random object from the list of items that can fulfill a job instead of just the last one; this has the nice and useful effect of making it so that citizens randomly distribute themselves in buildings to sleep in at nap time, instead of just choosing the last building chosen. David is in the process of sorting out the problem of citizens getting stuck in an infinite loop of burial, which occurs when a bandit corpse somehow thinks it’s at (0,0) on the game map which is usually stuck in a mountain. There is some work going on to make things more consistent, like ensuring that you can consistently cancel jobs and assignments in consistent places with consistent interfaces, that sort of thing.
And then there is the problem of people dropping meat onto forest meat.
The ticket for “a forest meat appears and people will then interact with it in a bad way” has been open since December 2014, about the time that forest meat came into being. We implemented a concept of player ownership of an item, but we never really hooked it up until now. This has now been fixed. As a consequence slash corollary of this, you can now click-drag over items to forbid them (or, conversely, claim them) Once this happens, the item will be removed from your commodity count, no longer targetable for jobs, and will turn red. This work will require one more round of refinement once we get to multiplayer, because right now item ownership is just assumed to be “the local player” or “not” (i.e. a bandit.) It will eventually need to assign objects their ownership depending on who created them and how, and then deal with interactions between players with various alliances in different ways and so on and so forth.
There will, presumably, be a few rounds of sorting out “who owns what thing? No, wait, that thing didn’t get the thing set by the thing so the bad thing happened. THE THING!”, but it should get shaken out by Revision 42.
As part of this quality-of-life work, we have also added debug tooltips to objects. Now we can mouse over anything in the game and see who owns it and what its tags are. Not something that affects the player, but boy oh boy does it come in handy.
The next big ticket across my desk, which I’ve only just started working on, is making office buildings work. Office buildings are where a skilled individual (a barber, a naturalist, a scientist, a publican, or whoever) has work assigned to them that is not, per se, a workshop job. For instance, a barber’s office may get an assignment to “treat Reginald Fishsnack for ‘grievous lacerations.'” The barber can then pull a job from his office’s TODO list, starting at the top of the priority list and working his way down, and can then administer an appropriate course of treatment. A publican may have a customer come into the pub, wait for beer, and his job will be to “serve beer to the person coming in.” (A person waiting to be served beer may, of course, get irate and leave after a certain amount of time.) Hopefully this will make a lot of the additional buildings a little more useful and a little more logically informed.