With the 0.6 branch nearly complete, I think it’s a great time to talk about our next 0.7 branch 🙂
As usual with those road-map type posts, everything I write here is to be taken with a grain of salt. The general goal will stay the same, but the implementation details may vary. I may delay some of it, I might add completely unrelated things, and so on. Also, do not forget that the following post explains what 0.7.x will look like at the end of that cycle, 0.7.0 itself will just pave the way for those features to be included. And as usual, I’m skipping the usual “raw content” (more stuff to build), UI improvements and bug fixes.
With that out of the way, let’s dive in! 🙂
Quick 0.6 Recap
So, the goal in 0.6 was to fully integrate the world map, add factions, the ability to loot locations, take control of production centers and have said factions fight for control of the city. Most of that has been achieved. The next update, available in a couple weeks, should complete that cycle. Sure, the strategic layer is super limited right now, but all the elements are there. While it took much longer than planned to develop, 0.6 improved the UI and stability tenfold. That’s less time I would have otherwise been spent in 0.9. I know I’m partial, but I really think that the 0.6 branch is where ATC moved away from being a very “niche” and rough game to a proper base builder with it’s own identity.
Global 0.7 Goals
While 0.6 was mostly about the macro elements, 0.7 is going to focus on your settlers themselves. The general idea is to add a more detailed medical/health system, make the settlers interact with each other, add trainable animals, make moods less binary, add procedurally generated illnesses, and so on. In a way, 0.6 added more raw content, more or less in a linear way. 0.7 will try to widen your options and give you something to do when waiting for a tech or a mission to get done.
Settler to Settler interactions
So far, settlers have mostly been automatons who aren’t really interacting with each other. My engine is missing a framework allowing 2 or more settlers to exchange information or “run code” on each other. Sure, we have the hospital zone where a doctor can indeed interact with a patient, but it’s made in a way that is really impractical and can’t really be ported to do something else. Well, one of the main goal in 0.7 is to address just that.
It will start small, with settlers stopping a few seconds to discuss with each other (giving mood +/- modifiers) and adding a network of friendships in the process. But, the principle goes far beyond that simple example. Many of the planned features rely in a way or another on that system.
Improved Mood System
In the current system, settlers are prone to violent mood swings. Remove a bed too many and it’s the apocalypse, give them a decent meal, and they are in heaven. And, as much as I hate to use the word “realistic” when it comes to describe game systems, in this particular case, we need something a tad more realistic. The main issue here is that changes are immediate: eat good food, poof, +20 mood for 10 minutes.
Instead, I think it would be more interesting to make the changes gradual. Our example food would still have the same stats but, instead of immediately making the settler’s mood gauge go up by 20 points, it would make the mood increase gradually until it reaches that value. This way, assuming someone is very happy for various reasons, no matter what horror might come next, it’ll take some time for them to really get depressed. And ofc, the opposite is true too.
It has interesting implications. Firstly, the “happy” and “depressed” traits would no longer be running for a fixed duration. Instead they would just stay active while someone’s mood is above or below given thresholds. I could even start implementing specific behaviors whenever happiness gets critical for too long. Secondly, the speed at which mood improves or get worse can be decoupled and vary on an individual basis. An “iron willed” settler could have their mood worsen at a very slow rate, while positive changes would be applied faster.
On average, the happiness system should become less “random”. Settlers will also get their own personalities instead of being carbon copies. Lastly, with violent mood swings eradicated, I can toy with that system a lot more without being at a constant risk of making the game impossible to play.
Pets and Animal Taming
Dogs and tamed spiders ftw! Basically.
Well, there’s a bit more to it, of course. And it’s part of the interaction system discussed above (works for animals). You’ll be able to acquire dogs (and later, other animals) through the usual means, which, in turn, your settlers can breed and adopt (or, well, eat, if you’re that kind of person). Pets will follow their owners around, provide some bonus happiness, and depending on their data, will try to defend them against attackers.
Additionally, some wild creatures might also become tamable. While i’m not entirely set on the “how”exactly, the general idea to give the ability to tag an animal with a “tame” job. An animal handler will then try to approach it with some food. If everything goes well, they’ll go back home together and the animal will be put in a specific pasture for further training. If anything goes badly, the animal will go back to a feral state and attack whoever is nearby. Assuming everything works, it’ll be treated as a pet which can be adopted the same way dogs can.
Better Medical System
I’m not very interested in adding a detailed system to handle localized damages and all that organ transplant stuff. Rimworld already does it better than I can hope for. However, I’m very interested in adding proper illnesses, procedurally generated ones to be precise. It’s not that difficult on a technical level. Pick a transmission method, a list of traits/modifiers for each stage of the disease, a few additional variables to determine its spread rate, lethality, resistance to antibiotics and so on. Add a random name generator on top of it and you get your disease. Well, of course, it has to be implemented in code, but it’s not really a far fetched principle.
Of course, while some illnesses might go away on their own, others might not. And you’d need a way to find a cure. Here again, it would be created dynamically, more or less the same way you conduct research. Infected patients go to the hospital, doctors take samples for analysis until they can find a cure, which can be produced assuming you have the necessary components.
Non Lethal Combat and Prisoners
Well, it’s self explanatory. Still, out of everything listed, this feature is going to be the most difficult to implement.
It should be possible, especially with melee and pipe weapons, to have combatants falling unconscious instead of straight up dying. With that in mind, they could be made prisoners and healed by a doctor. Once back on their feet, prisoners could either be freed/sold for reputation/money or used as a cheap labor force, under the supervision of guards. This addition should give the player opportunities to play the game in different ways (standard colony, raiders, prison).
It would also be interesting if raiders were using the same methods, and were able to capture some of your settlers for a ransom. That, it’s going to be a tad more difficult to implement, but it’s an idea worth exploring.
Of course, I might experiment with other, unrelated systems. I’d like to overhaul tree growth, especially as fire handling is planned down the line. Adding the much requested roofs would be nice as well, so we can start working on that radiation stuff. Of course, I’ll need to update some parts of the UI to deal with prisoners and animals. I also need to do something about this bad looking rain and fog at some point. And, as usual, I will take your suggestions and input into consideration.
Anyway, I do not expect any major roadblock. With 0.6, I was pretty much adding a game within the game. Also, a lot of issues, inherited from previous versions, had to be fixed. Here, the feature set is mostly expanding on existing content. As such, I expect 0.7.x to be done in a much shorter time-frame.
That’s all for now. 0.6.12 should be available in a couple weeks. After that we’ll start discussing those individual features in more details.
Thanks to all those who’ve been supporting the game so far!