Shadows of Doubt

Shadows of Doubt

Not enough ratings
Advanced City Creation & Editing
By Dønkel Nada
Are you someone who likes making their own cities with the city editor but have been disappointed by its limitations? Are you also willing to spend real hard time navigating the tedium needed to customize your city down the minute detail? Look no further.
   
Award
Favorite
Favorited
Unfavorite
Intro
This guide will teach you the secret ways of advanced city editing in Shadows of Doubt, covering areas such as effective use of the city editor, useful settings, developer mode options, mods that expand your capabilities and even how to actually rename any part of the city you want, including streets, buildings, districts, businesses, even citizens.

Let's first go over some misconceptions:
Understanding How City Generation and Editing Works
Understanding how to use the city editor is the first step in advanced city creation. To start using it is simple enough, just start a new city and check the option for Enable City Editor. However to master and work around its limitations is another thing entirely. Many a player have used the editor assuming that the city is generated at the point you click "Generate". This is blatantly false. The city isn't actually generated until you press "Finalize" and load into the game proper, as you'll notice from the loading screen that follows. What the editor shows is actually just a preview of how the city layout will look according the seed.

And this brings me onto another important point. The city editor will override the seed, even if you make no actual changes to the city. What this means is the seed text string in the city files will be replaced entirely with "CityEditor", making it impossible to share the city seed by the usual means. Cities that have been made using the editor cannot be shared with other people without sharing the actual city files. This also means that after generation, the seed used to generate the initial city prior to editing will not be recoverable unless you write it down. The seed is shown here in the city editor:

If you want to retain the seed for future use I suggest copying it to a text file or taking a screenshot at this point, before you press "Finalize". But again, this seed will only generate the initial city, not the city you have edited.

This also brings me to the very important point which might be the catalyst for me writing this guide at all: Don't waste your time with renaming streets or buildings in the editor. All of your work will be replaced by the proc gen names specified in the seed once you press "Finalize" (And the names shown in the preview are not actually the names the given by the seed either). As of version 41.03, this bug which has been there since the city editor was added to the game has yet to be fixed and may actually never be fixed because of how city generation works.

What you will actually use the editor for instead is deciding on which seed to start from or whether to build it all from scratch. And then you will only be changing the tiles, not the streets. We'll get to that later.
Essential Settings and Developer Mode
But before you even begin the process of creating a new city, there are some important settings you should consider first that will greatly expand your capabilities. The first setting to consider is City Data Compression. For any advanced city editing to be even possible, this setting needs to be off. Otherwise you will not be able to make any changes to the city after it has been generated because the city file will be unreadable in text editors.

Secondly, I highly recommend enabling developer mode for some options that will become very useful later. To enable developer mode, add this string to your Steam launch options:
-uncleeden

The dev options will then be available from the pause menu settings. (Note that these can be turned on or off at any time in game, they are not tied to the save). After you're done in the city editor and load into the game, what you should be doing for advanced editing is not actually playing the game normally, but exploring the city and taking notes of any names you want to change down the line. These dev mode options makes that process a whole lot easier:
- Discover Everywhere
- Keys to the City
- Invisible Player
Free Camera Mode can also be used for exploring the city and taking any screenshots you might want to take if you intend to share your finished city. Enable and disable it as needed. I also recommend going into the gameplay settings and turning the cold status effect off if you will be flying around in free cam, and it's probably also a good idea to disable procedural murders before you do this if you don't want unneeded distractions. Pause AI in the dev options is also an alternative.
Some Useful Mods
Although Steam Workshop is not yet implemented as of this guide's writing, there still exists a modding scene for this game, and there are some mods that gives you more advanced city editing options than you get in vanilla which I should go over before I get into how to actually use the editor. But first, a warning:

Do not use mod.io for any modding and ignore the in-game mod menu!

The mod.io integration was a failed experiment that will eventually be replaced by Steam Workshop, and any mods currently hosted there (many of which are rehosted without permission from the original mod author) will at best not work at all, be a heavily deprecated version or will at worst give you malware. I repeat, do not use mod.io

Instead, you will find your mods at Thunderstore[thunderstore.io]. It is possible to install these mods manually but I highly highly recommend using a mod manager, specifically r2modman[r2modman.com].

All Thunderstore mods require BepInExPack_IL2CPP as a dependency. A fair amount of mods also uses the SODCommon library. r2modman will handle all those dependencies for you so you don't have to think about doing that the manual way. I recommend against using any of Thunderstore's own mod managers as those are bloated with unnecessary advertising.

So the mods you might want are:

This one I will actually consider an essential mod, but not for its density settings that gives its name. The density settings are designed for customizing procedural city generation but have little use if you are just going to place the buildings yourself in the editor. The main actual reason to use this mod is because it also incorporates AnyCitySize by PiePieOnline, a mod that lets you generate a city of any size of your choosing.

SOD cities are a laid out in square tiles which contain the buildings, while streets run between them, so all buildings have exactly the same footprint and are interchangable for any other tile. The city size is as such decided by the amount of tiles in width and height, i.e: X times Y. In vanilla SOD you can only choose from 5 different pre-determined city sizes, ranging from "Very Small" (3x3) to "Very Large" (5x4). With DensityMod you can input your own number and make much larger cities in any rectangular shape. Or even the absolute minimum size of 4 tiles (2x2 or 1x4, useful for a certain achievement).

Another word of warning though. Unless you use a lower maximum density setting or design the city to have a balanced density: Bigger cities = more citizens = worse performance. It's a good idea to try and limit yourself and not make cities that are too big or have too many highrise buildings to keep the city actually playable. Vanilla cities gets to population sizes of around 700 at most. 800-1300 is a good number to aim for if you want playable cities that are larger than vanilla. Above that and up to 2000 is better reserved only for the highest end PCs or for the absolute masochists out there. City sizes of around 5x5 (25 tiles) to 7x6 (40 tiles) will give you a good balance of area to work with and managable population size for mid range PCs.

ExtraCityEdit[thunderstore.io]
This mod gives you more options within the city editor itself, namely changing street types and individually setting land values for buildings (which affects how the interiors are decorated). I will warn that this mod is a bit janky so I don't recommend it for your first custom city unless you really want a city with no alleys. It does give you an option to disable all of those before the city editor but if you also want to manually change street types in the editor then you should keep that setting to off to avoid city generation conflicts.

If you are using ExtraCityEdit together with DensityMod, then you should also not touch the density and land value settings that are before the editor, because that will also cause conflicts. Leave them at the default minimum (very low) and maximum (very high) values.

RealEstateCruncherApp[thunderstore.io]
This QOL mod might seem out of place for a city editing guide but it actually isn't. One aspect of a city which you cannot change and cannot see until after you've generated it is which apartments will be available for the player to buy. These apartments are decided by the seed, so if the spread of available apartments isn't to your liking then you will have to start over. This mod helps make the process of eliminating bad apartment seeds faster, as you can simply find your way to the city hall, use a cruncher and get a full list of all the apartments for sale without needing to hunt down every payphone notice board to find the individual listings. This mod is also great for gameplay QOL in general unless you personally prefer the vanilla way of finding apartments.
Starting From Scratch in the City Editor
The first thing you should take note of is the angle you're facing when you load up the city editor, this will always be towards North. If you rotate the viewing angle while editing, remember the original angle, because there is otherwise no way to tell North from South.

Street Layout Considerations
If you're not using the ExtraCityEdit mod to change street types manually then you will be stuck with the street layout decided by the seed. You can of course reroll the seed in the editor until you get a layout that's to your liking but keep in mind:

- The final seed you choose should be written down or saved with a screenshot if you want to use it again, so remember this when you are rerolling.
- If you are using DensityMod, you will have to set the city size again for every time you reroll the seed. Otherwise the size will default to 3x3:

For this same reason, any cities made with DensityMod will also show up in the city list as "Very Small"

- Without ExtraCityEdit, the Street Edit mode is useful for one thing and one thing only: analysis. In street edit mode you are viewing the city from a top down perspective with the buildings hidden, and you can hover over individual streets to highlight them and see if they are full length or split into alleys. Full streets should span the full length of a tile or more, while alleys will appear as two short separate streets. As seen below, the left highlight is an alley, the right is a full street:


Setting a Blank Slate

Unfortunately there is only one way to get a fully blank slate like this for placing buildings entirely from scratch: the tedious one. What you have to do is turn all tiles into parks, one by one. The park is found towards the bottom of the building list, so you can work up a rhythmic muscle memory where you in sequence click the tile, then the building drop-down menu, move the scroll bar to the bottom and select the park in a quick motion. Beware of wrist strain. It is also easier to start from the front tiles without changing the camera orientation so you can do this while maintaining the view towards North and the unchanged buildings don't get in the way.

Buildings and Minimum Requirements
The absolute minimum requirements for a city is a city hall, diner and at least 2 residential buildings including one that can spawn offices. For the lattermost requirement, this would mean either a commercial tower or the first of the two types of apartment towers (which has an office on the ground floor). If you are making a city for the purpose of fullfilling that one achievement then a 2x2 with a city hall, diner, fathoms and first type of apartment tower will give you the lowest possible population while meeting the minimum rec. However, it's hopefully more likely you are reading this guide because you want to be creative and make an actual city of your own, so this section covers important things to note about the buildings.

There are two types of townhouses and two types of apartment towers in the building list, but they are named the same. So differentiate between them easily, you will have to memorize their placement in the list.

The two types of townhouses are mostly the same except for the ground floor. To the left is a townhouse with ground floor apartments, this is found towards the top of the list. While the townhouse with ground floor businesses on the right is found at the bottom of the list:

The two types of apartment towers are a lot more different. But these are placed together in the list, and to the left you see type 1 or the "skinny tower" which is the upper option. To the right you see type 2 or the "fat tower", the lower option
As previously mentioned, the "skinny tower" will have a single office on the ground floor. Upper floors gets increasingly more narrow and towards the top there are typically only 1 echelon apartment per floor. The "skinny tower" can also have a big neon sign on the exterior as you can see. The sign is chosen at random and you can reroll for signs by changing the tile to a different building and then back. The "fat tower" mostly keeps the same floor size all the way to the top and has more apartments overall (4 apartments per floor below echelon levels, up to 3 echelon apartments above that). Both types of towers will also have retail or service businesses on the ground floor.

A few more things to note about the buildings:
- The townhouses do not generate security rooms despite having cameras, as such the CCTV footage will be inaccessible. Townhouses also have two entrances on either side and some apartments are only accessible from one side or the other.
- The mixed industrial buildings have separate entrances for the industrial and residential parts. it generates security rooms but no telephone routers (and also no basements), so you can't trace calls received in that building. However it can generate illegal businesses which can occupy any apartment in the residential section across all 3 floors. Kidnapper dens can also be generated in the vacant addresses here. Mixed industrial will also always have one service business (bar or restaurant) on the ground floor
- Homeless people will populate the alleys and the outdoors basement levels of fathoms buildings. If you have an area of the city with a lot of alleys, then this might be an ideal place for slummier buildings like the fathoms, mixed industrial, chemical plant and townhouses.
- If your city has too many workplaces and not enough residences, it is possible that you might run into empty security rooms (because there are no citizens to work there). It's recommended that you use a balanced spread of all building types. Don't place down too many chemical plants, for example, as those only provide jobs and no housing. Commercial towers also tend to have more jobs than residences and should be used sparingly.
- You can have more than one city hall if you are so inclined, but only one of the city halls will be considered by the game as the "real" city hall and have the amenities: the case tray and equipment lockers. Extra city halls will only mean more enforcer offices and clinics.
Exploring the City for Further Editing
This section will cover the prep work for the final steps of advanced city editing. If you are happy with the city and the proc gen names at this point, then you can stop reading this guide right here. From here on out it's all about how to effectively rename things.

As previously mentioned, once you've generated the city with its finished layout and loaded into it, you're only really part of the way done. Too add a true personal touch to the city you need to change some names, and since you can't do that in the editor, this has to be done the manual and tedious way. But it's quite rewarding when you're done.

So don't bother playing normally. This is the point where you should turn on the previously mentioned developer settings, especially Discover Everywhere. You can now go straight into your case board and open the map and it will show you everything without having to actually move the player over there. And you can hover over any business, building or street to get its names. I suggest starting at the top left of the city and taking note of every name you want to change.

What you can also do here is extend the map to the max size by dragging the edge all the way to the right and start taking screenshots of every section of the city. Later on you can splice those screenshots together into a full map for an easier reference.

Otherwise I recommend putting all the street names into a spreadsheet roughly corresponding to their locations on the map, and do the same with building names. For districts, since there are only up to 5 of them or so, you can just note down the names with abbreviations for their locations like:
  • NW (north west)
  • NC (north center)
  • NE (north east)
  • WC (west center)
  • CC/TC (true center)
  • EC (east center)
  • SW (south west)
  • SC (south center)
  • SE (south east)
For business names, just simply write them down or incorporate them into the spreadsheet with their parented buildings. It can also be a good idea to check out any retail and service businesses in game to get a feel for their vibes and see where their signs are placed, because guess what, when you rename a business it will also change the sign as long as you do it right!

For example, my city Zodiac City has this aptly named cafe:

Disclaimer: this a joke/meme and I don't intend to accuse Mr. Cruz of being the actual real Zodiac Killer, although he is an actual real piece of s h i t :)

Once it is time to start renaming, you can copy the spreadsheet with the original names and paste it on a different collumn or row, preferably so you can see both the original and the new names at the same time. And then you just go through and rename them one by one. Now is the time to bring out your creativity and come up with some unique names. If you struggle with that then you might satisfy yourself with only changing a few select names rather than all of them. But feel free to take inspiration or names wholesale from any source that suits you, whether that is from real cities, fictional cities, people's names, dictionaries, wiki rabbit holes, cleverly translated words that look like place names, etc.

Once you're satisfied with the new names on the spreadsheet, this will now be your reference and copy-pasting source for the final step of this process
Renaming in Notepad
To start putting your new names into the city, first you have to find the city file. This will be located in
AppData/Locallow/ColePowered Games/Shadows of Doubt/Cities
AppData is a hidden folder, so use Windows Search to find it and make a shortcut to the Cities folder for later

The city file should bear the name you gave it and the main data file should have the extension .CIT
If it has the extension .CITB then that means you forgot to turn off city data compression and there's nothing more you can do, you would have to start again from scratch.

Before you make any changes, you should always make a back-up of the city file

Once you open the .CIT file in Notepad you will probably notice that it is completely unformatted, all the data is basically on one line. But fear not because the best way to rename things anyway is to use the Find and Replace function (Ctrl-H), specifically Replace All.

I suggest starting with the district names, since they are few and only appear once each in the file so you can use the normal Ctrl-F to find and input the new name. Street names also only appear once, unless there is a sync clinic on it which will always be named after the street it's on. So I'd still suggest using Replace All for street naming just to be on the sure side. Buildings and businesses should always be renamed with Replace All because there will be multiple rooms bearing their names. Businesses also have a long name and a short name, and it is the short name that will be displayed on the sign so keep that in mind.

Renaming in Notepad also works for individual citizens. But of course you have to know the original names of the citizens you want to rename. And if knowing all the businesses isn't enough of a spoiler already, knowing all the citizens is for sure. So it might be better to use something like CitizenImporter[thunderstore.io] if you want to customize your citizens' names without knowing exactly who they are. But if you only intend on renaming a few people, such as the landlord for example, then you can do that easily in Notepad. In fact you can figure out who the landlord is simply by Ctrl-F'ing for "landlord", because one of the results will have the landlord's name next to it. And from there you just take that name and Replace All like usual. Similarily, if you want custom named CEOs you can Ctrl-F for "company director" to find them. This goes for any job title really. But the less of them there are to rename then obviously the less tedious it is.

Once you have renamed all you want to rename, save the city file to the Cities folder and now you are ready to play. Launch the game, disable the dev and gameplay settings that you used for its creation. Now start a new game and select your city from the drop-down menu. If you can successfully load in and open the map and see your new district names then you have succeeded.

Or if not, you can still edit the city file to make further changes as needed. But again, always back up the city file before editing. And there is no point in making a save on an unfinished city, because if you do, that save will be bricked after making the new edits, and you might also brick the city file too if you try to load it anyway. After every edit, you have to start a new game
Renaming Using External Tools
Or how about something way easier and faster than the Notepad way? This little tool by SuperNug provides a handy GUI for renaming districts, streets or the city itself:

https://www.nexusmods.com/shadowsofdoubt/mods/25


However as of now it doesn't do building, business or citizen renaming, so that will still have to be done manually. It also does not provide any indication to the location of the districts or streets, so you will still have to take note of that in some way, whether by spreadsheet, a stitched together map or just with location abbreviations.

It also still requires uncompressed .CIT files and will not work with compressed .CITB files.

Also note that it takes a while to save your changes to the city. The program may appear to freeze while you are saving, put you should not quit or interrupt the process, wait for the "Done" dialog box.
End
Thank you for reading and enjoy your newfound city-making abilities! Feel free to share this guide with anyone interested.

And if you make a city you really like, why not share it with the world too? Just put both city files (the .CIT and the .TXT) into a zip archive and upload it where you want it. NexusMods[www.nexusmods.com] is a great option and where I prefer to upload my own cities. It's especially good if you also managed to take some nice looking screenshots of the city. If you're really dedicated you can even take new map screenshots with your updated names and splice together a new full-size map. Trust me, you could put hours into this stuff :)