With the 0.7 branch being more or less complete, It’s time to talk about our next 0.8.x branch 🙂
As usual with my “road-map” articles, everything I’m going to write is still in the ‘design’ or ‘early implementation’ phase. The details may vary wildly in practice. I may delay or move some of it, add unrelated things as needed. The point is to give you a general idea, not a detailed picture. Also, this post is going to explain what 0.8x will look like at the very end of its development cycle. The initial 0.8.0 release will just pave the way for those features and will, by definition, be much more limited.
Oh, before we start, just a note regarding 0.7.7. I am aware of some small issues with it, which I promised to fix this week. While I was planning to take a few days off, unexpected family-related issues completely negated those. As such, I have to admit that I couldn’t work on the game at all. Be sure it will be my the first order of business next week. Thank you in advance for your understanding.
Now that we are all on the same page, let’s dive in! 🙂
General goals for 0.8
While 0.7 was focusing on the base building proper, 08 is going to focus on pretty much everything else. Map generation, both at the base and city level will be the biggest and most time consuming chunk. The city map will become way more dynamic, expeditions will be improved and proper scenarios and extensive difficulty settings will be added. This is, of course, a very short summary. So, let’s give all this a proper look!
City Map Generation
While this is the first item in the list (as I need to explain it for context), it’s the one thing for which I don’t have a clear, step by step to-do list yet. Simply put, I am not satisfied with the current city map. Even if we forget how bad it looks graphically, it’s just a very boring map to play with. Despite the fact that there’s a small scale strategy game playing on that map, there’s no actual path-finding: no blocking terrain, no rivers to “cut” the city in half. I also place locations in very unbalanced ways. The list could go on forever.
I’m still experimenting with various changes/features, and I have not settled on a particular one yet. Still, the following statements are, pretty much, sure things:
- Expeditions will use proper path-finding to move toward their destination (instead of traveling like birds)
- Add path-blocking rivers/lakes to the city map
- Depending on difficulty settings, add fog of war, forcing the player to explore the city to reveal locations
There are many other things i’ll be experimenting with, but at this point in time, it’s all I can share.
Local Map Generation
It’s not exactly a secret that the map generation is far from being varied, especially in the city proper. Even if 0.7.6 and 0.7.7 added some variety when selecting locations bordering the city itself with new lakes, rivers and mountain ranges, it’s still quite experimental (and occasionally unreliable). Buildings themselves are okay, but the layout in the city itself is not interesting or varied enough.
The major technical problem is the local map size which can be customized in ways that do not make much sense for my generator. To make better maps, I first need to standardize them. Simply put, the sizes labelled as “standard” and “gigantic” will be kept while “small” and “large” will be phased out (or marked as unsupported). A standard map will occupy one square on the city map, a gigantic map will occupy “2×2” squares. Yes, it means that a gigantic map will contain 4 smaller maps, possibly with different biomes. Additionally, I will also be able to “fill” the large empty/forest/desert space with larger buildings, small paths, parks and such to give a proper city vibe. Another goal is to add rivers (and bridges) crossing the map, of course aligned with the city’s layout.
Community Maps and Buildings
Kudos to Mack for suggesting this one to me a long time ago. In principle, it’s self explanatory: add a map/building editor and allow players to share them (on the steam workshop or elsewhere). The game would automatically integrate them during city and local map generation. Of course, it’s easier said than done. 🙂
Adding the editor itself ain’t really a problem. I mean, ATC is a city builder already. I “just” need to modify the user interface using the already implemented creative mode as a base. On the user/creator side, the only big hurdle is to define under which conditions those buildings/maps should appear. Code-wise, it’s simple enough for buildings. Regarding whole maps, it’s another story, but I think it’s doable.
I’m not satisfied with the main menu and it’s 3 “new game” variants (including the tutorial). Not only that, but the follow-up menu for “full” and “custom” probably haven’t really changed since 0.6 or so. Sure, it superficially looks “power-user”-ish, but in reality, it’s quite messy and unfriendly looking to any newcomer. So, how to fix? If you have played my first commercial game, you already know what I am aiming for, just a tad more streamlined.
As such, I will remove all those options from the main menu, and just keep a “new game” button. This button will lead to a proper “scenario” menu with nice pictures and descriptions for each item. So, what’s a scenario you ask me? Good question, imaginary average user! Simply put, it’s a bunch of preset settings. A valid scenario could be the tutorial itself, it could be what we currently call the “full game” with starting location being player selected. It could force you to start with X specific settlers, or give you free reign. The list could go on. Specific difficulty settings like “Last Stand (30/15 days)” would become scenarios in their own rights.
To the end user, beside the UI being more friendly, it won’t change much in practice. All current options will just be specific default scenarios. However, it will allow modders to add new ones. For example, a modder could force you to start on a specific hand crafted map, with a hand crafted factions, and only use specific game events. They could preload it with customized difficulty settings as well (see below). The idea is to have very detailed files to describe a scenario, allowing as many combinations as possible.
After reading hundreds of feedback mails/posts/reviews, it’s obvious that I have a very diverse user-base, some do find the game way too hard, while others find it way too easy. I don’t have a magic formula to make everyone happy. But, I still can help players to tailor the game in the way they are the most comfortable with. When I started writing ATC, I wanted to emulate what Rimworld was doing with its “story tellers” (which are nothing more than re-branded difficult settings). I ended up with a bastardized system I’m not really liking. Not because it doesn’t work, but because it is very tedious to maintain, quite annoying to mod, and frankly, doesn’t fix the issue in itself.
Instead of selecting between “slow-paced” and “normal” and “hard”, you’ll get settings to set at which rate you want events to popup, set needs grow rate (how often peons need to sleep/eat/drink..), combat damage % modifiers, select if you want the game to balance good/bad events or not, and so on. I already wrote the file which is about 20-30 settings total. Detailing every single item would be pointless, but the goal is to make the game a heck lot more customizable.
Of course, not everyone want to spend 10 minutes editing arcane difficulty settings, especially newcomers. I mean, you get the idea, I will add easy/medium/hard presets, on top of a custom setting. Selecting “custom” will open a very detailed menu for you to mess with. Additionally, scenarios can and will come with their own difficult settings (that you can still edit if you want to).
Dynamic City Map
Now that we went over all the map generation and menu stuff. Let’s get to the actual game content 🙂
Simply put, the world map is boring right now. Sure, it’s kinda dynamic as other factions take over locations and such. But that’s about it. Well, no more! I intend to add moving herds of animals that you might want to intercept with an expedition (more on that below) before they migrate to your base. Similarly bandit camps could appear on the map, threatening your nearby production centers by spawning hostile enemies until you, or another AI faction, takes care of them. Generally speaking, I want both your expeditions and AI expeditions to become actual entities which can move around the map and possibly intercept / interact with each other.
Yeah, I know it sounds a bit vague, and for good reasons, as it’s a feature that will span over both 0.8x and 0.9x development cycles. But, let’s me switch to the next subject to explain this further 🙂
Expedition Overhaul (again)
For those of you who played Frostpunk or the shameless clone from Paradox called “Surviving the Aftermath” (I’m joking, mostly), I’m going to use something quite similar. For those who did not, let me detail my goals more precisely.
So, until now, when doing an expedition, you pick a few of your people, and they go do the expedition, come back, and resume activities. Everything is pretty much automated. No matter how large the base, no matter the tech level, you’d run ONE single expedition at a time. It is very abstract. Sure, it does serve its purpose, but it’s quite dull for such a major part of the game. Assuming I’m going to add a bunch of dynamic elements to the map, single fire & forget expeditions just won’t cut it anymore.
So, instead, I’m planning to put a new system in place. After you discover the exploration tech, you’ll be able to build your first “expedition building” (name pending). You assign a few settlers to this building to serve as the expedition group. When done, they will exit the local map (until they are manually disbanded) and become a “group” you can move freely on the city map. So, instead of setting up a goal and people for a specific mission, you’d just move your group to a location and on arrival, you’d press the button to loot or attack the target.
Let’s pick a simple example. In 0.7, to take over a production center, you’d need 1) to send a first combat expedition to clear it up, 2) send another one to claim it. It’d take at least a few days, and in the meantime, you are not able to interact with the map anymore. With the new system, once the expedition is done clearing the location, they are free to move elsewhere. The liberated location gets a “claim” button so you can send the required workers from your base directly (and independently of the expedition itself).
Additionally, AI factions would proceed in the exact same way. Attacks against locations wouldn’t be instant anymore. They’d send groups, which you can intercept, to attack/secure their targets. Couple that with the optional fog of war mentioned above and things might get quite interesting.
Also, given that expeditions would become proper “agents” on the world map, the next obvious step is to allow the player to have multiple expeditions running at the same time. That can be unlocked through research: Expedition level 1 = 1 group, expedition level 2 = 2 groups, and so on. Also, now that each expedition has it’s own building, it opens the road for more customization. For example, you could find/build/repair a vehicle and add it to the building. The vehicle would expand their range, movement speed and cargo space. There’s a lot of things that could be added to further customize each group.
Anyway, let’s get to what some of you have been waiting since the very first version of the game.
Manual Expedition Combat
So, for the majority of people who aren’t aware of my initial promises: one of them was to allow players to micro manage expedition encounters (optionally, because I am fully aware that most people do not want to do more combat than necessary). While on a purely technical level, it’s something I can perfectly manage, on a more practical level, it gets quite complicated. I would need a map generator for each and every single location on the world map, and unless you want the game to be delayed for the next 2 decades, it’s not a very realistic option.
Heck, modded locations would need a map generator too. One of the most popular mods adds a ton of new locations to the city. Asking the modder to make a specific map for each and every one of those is not viable. Plus, generally speaking, such maps would rarely be “combat friendly”. Of course, I could just use a generic map for the battle, but it’s not a very appealing option either.
So, what to do?
It easy enough for me to design specific small “combat oriented” maps. Imagine them as the entrance of your targeted location. A bunch of walls, sandbags, with optional turrets, and specific spawn locations for the hostiles. I can make such maps (and with the community map feature, modders and players alike might be able to) to offer a proper challenge in a controlled environment, something that a default map definitely cannot provide.
Even in this context there are a few issues to go over like ammo management (we’ll likely pretend it doesn’t need to exist, or use whatever is available in your settlement). Still, all things considered, it seems like a very manageable problem to me.
In practice when your expedition is about to attack a location, you’d be asked if you want manual or automated combat. If you respond “manual”, you’d be “teleported” to a combat map which you’ll need to clear from hostiles. The”automated” option would run roughly the same formula as before, probably with added tweaks and options.
Of course, it’s never going to be XCOM because I’m running a one-man-band budget game not a million dollar franchise. But this way, I can make it interesting while keeping it manageable code and time wise.
Of course, those are the main focus. I will continue to do the usual, adding general content, tweaking the UI, fixing issues, and experimenting with small features. I don’t expect any major problem while writing this branch, this is code I know I can write. It is going to take some time to get done, tho, and at this point in time, I can’t say which of those features will (or will not) be in the initial 0.8.0 release.
That’s all for now, thank you for reading and supporting the game!