We made a decision early on to release iterative progress on systems instead of waiting until systems are done for a number of reasons. It gives you reassurance that development hasn’t stalled when, every month, you can load up the game and see new iterative changes that generally improve upon the previous build. It also has the effect of allowing us to get feedback on the direction we’re going because most of our systems are at least somewhat unique, so we need to do some amount of field testing on them as we go.
One of the downsides to this process is that an unfinished system can often seem worse than the lack of the system entirely. I always picture this somewhat like giving people early access to drive a car as it’s being built: Some things feel very much like a car right away, but then you’re driving around without safety features and it can feel like you were better off before the engine was put in. At this point the analogy breaks down a little because we’re not actually putting your health at risk by testing how a car would work without airbags, but you get the idea!
One of the main things we’ve been working on for the last 6 weeks or so has been infrastructure to be able to manage our AI code. The system became sufficiently complex that managing it as flat data was getting really difficult to do without introducing errors, so Nicholas has spent the last while implementing an editing tool to allow us to actually see how the game navigates its decision structure so we can resolve some of those issues. The work there is ongoing: some of the AI has been cleaned up using this system and is playable currently, but there is still a ways to go before the characters are actually behaving the way we intend with all the new features that this infrastructure enables. This system has been a little like the car: we needed an iteration that was playable while we put the right tools in place, so at some points it was easy to think that we’d be better off with mindless robots than what we had, but it’s getting significantly better as we go at this point.
We’re at a pretty interesting part of development; our fundamental systems (building creation and assignment, production of goods, the aforementioned AI etc.) are in and working, with bugs being ironed out over various revisions, and increasingly more content is being added (various forms of murder, for example). One of the last steps is threading them all together in a way that makes the player’s actions feel meaningful.
There are a bunch of little gameplay loops in the game: characters need food so the player needs to set up the means to grow food and cook it; characters are upset about conditions so the player needs to improve them; characters are being attacked so the player needs to defend them, et cetera. In all of these examples we have the fundamentals of the loop implemented, but we intend to do a much better job of making it apparent when these mechanics loops result in problems for the player, as well as doing a better job showing a more obvious indication of progress via positive reinforcement. Granted, Clockwork Empires is a complex machine, and we can’t just slap a progress bar on these and call them done, but we can improve them, and it’s one of the next hurdles we are going to get over. We have a ton of ideas here, some already implemented via UI changes over the last few weeks, but expect to see more focus on this going forward.
Also, kitchens need some love.