1. Cities: Skylines II
  2. News

Cities: Skylines II News

Beach Properties Dev Diary #1

Hello everyone! With Beach Properties out, it’s time for a mini-series of development diaries covering our process and giving you a peek at the new assets. In this first installment, we’ll talk about what an asset pack is and how we approached the development of Beach Properties alongside the development of the game, modding support, and bug fixes.

Asset packs are a new type of official content that opens up the chance to add more building variations to the game and bring you more ways to let your city stand out. Our first pack, Beach Properties, has something new for your peaceful low density residential areas and while nothing forces you to zone these buildings near the waves, these assets might be just the touch your waterfront needs.


Beach Properties includes 60 new buildings across two new low density residential zones, one for North America and one for Europe. The zones contain the familiar 5 levels and using various props and decorations, we have managed to sneak in 24 additional variations for each theme. The pack also includes six glorious Signature Buildings plus a large number of props that will hopefully not only be nice to look at but also very useful when you get your hands on the in-game editor in the not-so-distant future.

Who doesn’t enjoy a waterfront view?

With the Ultimate Edition for Cities: Skylines II we have announced a few different types of DLCs, so let’s take a moment to talk about the two types we’ll bring you. Both asset packs and expansions present a way for us to bring you new content to enhance your cities, but they do so in different ways. Where expansions have a broad concept and bring you new gameplay mechanics to expand the game as a whole, asset packs take a more narrow focus allowing you to pick and choose exactly what fits your playstyle and cities. This allows our amazing art team to create stunning new buildings for you while our programmers have been working diligently on the performance improvements and bug fixes you have received since the game was released.

Before Cities: Skylines II was even announced, we had picked the concept for this pack, though work didn’t properly start on the assets themselves until closer to the release last October. As you may have already spotted from the names of the first DLCs, we have focused our attention on waterfronts and seaside cities. In Cities: Skylines we weren’t able to do much with the waterfronts, so going into Cities: Skylines II, it felt like a natural choice to start expanding the game there.

With the theme selected, our artists found references and started work on the pack. As it includes a new low density residential zone for each of the two themes, we already knew roughly how many buildings we would need. The next step in the process is what’s called “white boxing” where we outline the basic geometric shapes of the buildings, like a 3D draft that allows us to flesh out the scale and make sure it fits within the existing game assets.

Work-in-progress models for the European Waterfront Housing

From there we started to iterate on the details that are iconic for the architectural styles we were inspired by. We’ll explore that in more detail in the next development diary tomorrow as we talk about what inspired the Beach Properties and how we created the assets. Until then, we hope you enjoyed this peek at the creation of an asset pack.

Beach Properties Official Release Trailer

[previewyoutube][/previewyoutube]

Beach Properties​


Bring life to your city’s waterfronts with Beach Properties. Specializing in residential buildings that kiss the water's edge, this Asset Pack brings the tranquility and beauty of coastal living to your city.

https://store.steampowered.com/app/2427740/Cities_Skylines_II__Beach_Properties/

[h3]Waterfront Zone[/h3]
A new residential zoning option dedicated to waterfront buildings allows you to redefine your city's coastline.

[h3]Beach Properties[/h3]
Each theme adds growable residential buildings waiting to populate your new waterfront zone, from luxurious waterfront mansions to charming beachside cottages.

[h3]Signature Waterfront Buildings[/h3]
Tailored to fit into European or North American architectural themes, these signature buildings are crafted to highlight your city’s beachfront.



Beach Properties features 70 new assets, including:
  • 10 North American residential buildings with three levels (30 assets)
  • 10 European residential buildings with three levels (30 assets)
  • Six signature buildings
  • AND Four New trees


Beach Properties is also available as part of the Expansion Pass: Waterfronts, which is included in the Ultimate Edition. As our expansion pass journey has begun a bit later than we set out for during the fall, here is our updated roadmap.

Modding Wavelet - Patch 1.1.0f1

Hi everyone! As patch 1.1.0f1 is rolling out to everyone, let's take a look at the content included. Besides the paid content coming in Beach Properties and Deluxe Relax Radio Station, we have the Editor, mod support, and of course, a round of performance improvements and bug fixes.

Thank you everyone for the bug reports, and if you come across any new issues, we'd appreciate a bug report here:
https://forum.paradoxplaza.com/forum/forums/cities-skylines-2-bug-reports.1162/





[h3]Asset Pack - Beach Properties (Paid Content)[/h3]
  • New North American Waterfront Zoning
    • 30 New Buildings
    • 24 Additional Variants
  • New European Waterfront Zoning
    • 30 New Buildings
    • 24 Additional Variants
  • 4 New Palm Trees
  • 6 New Signature Buildings


[h3]Deluxe Relax Station (Paid Content)[/h3]
  • 16 New Songs
  • New DJ Content



[h3]Editor & Modding[/h3]
  • Added code modding support
  • Added modding toolchain installation & status (for creating code mods)
  • Added Editor with support for map creation
    • Import/export height map
    • Import resource map
    • Select climate
    • Add/edit water sources
    • Define map details, like name and theme
  • Added Paradox Mods integration for sharing of
    • Code mods
    • Save games
    • Custom maps



[h3]Performance[/h3]
  • Optimized various systems to reduce frame-time spikes and overall simulation performance
  • Optimized frametime while placing buildings
  • Optimized slightly some culling scenarios
  • Optimized UI rendering, especially Widget system for photo mode and options
  • Reduced overhead of rendering curves in UI



[h3]General Fixes & Improvements[/h3]
  • Added extinguishing sound for firefighting helicopters
  • Added automatic random rotation when placing single trees, bushes, and some props
  • Updated Bus stop, Bus shelter, Taxi Stand, Taxi shelter and Tram stop toolbar icons
  • Improved visibility of guidelines on snow
  • Improved default cursor for better visibility on snow
  • Improved Land Value System
    • Service Coverage of Healthcare, Education, Police and Telecom now affects Land Value
    • Reachability of Commercial Services now affects Land Value
    • Stops and Stations of Public Transportation now affect Land Value
    • Noise, Water, Air and Ground Pollution now affect Land Value
    • Shorelines now affects Land Value
    • Added a max limit to Land Value bonus factor
    • Replaced "Building Land Value" Info Mode with "Land Value Source" Info Mode in Land Value Info View
    • "Rent Too High" warning notifications are now highlighted when Land Value Info View is active
    • Added Land Value Tooltip to a cursor which shows the monetary value of the land or building where the building is located when Land Value Info View is active
  • Fixed crash to desktop when building with direct connection to pedestrian path levels up
  • Fixed crash to desktop soon after loading a save if the save was created shortly after the previous load / new game
  • Fixed crash to desktop when running the simulation after placing creatures with “AddObject” menu
  • Fixed crash to desktop when hovering over missing tree asset or clicking missing spawnable building asset.
  • Entire UI disappears permanently after clicking on Line Details of CO Vehicles when CS1 bonus is not available
  • Fixed crash to desktop occuring after performing certain actions and then relocating the building
  • Fixed cargo vehicles sometimes spawning in the middle of the cargo building
  • Fixed cargo vehicles very rarely use more than the first two loading bays in Cargo Terminals
  • Fixed buffer stops appearing on train outside connections (fixed for new connections)
  • Fixed service vehicles sometimes despawn after completing tasks (Potentially affects fire engines, police cars, maintenance vehicles, ambulances, hearses, and taxis)
  • Fixed vehicles stopping/slowing down at the wrong location when multiple vehicles are queuing to turn from a road into a building lot
  • Fixed first-person camera height on Tampere and San Francisco maps (height restriction now has a minimum of 4096 on maps with lower height scale)
  • Fixed pause menu save game notification having a visible string ID after save is complete
  • Fixed dead tree leaf colors to be brown
  • Fixed line color modifications only updating for one part of multi-part vehicles until hovered with the mouse
  • Fixed garbage trucks, road maintenance vehicles, and post vans using bus stop bays for driving through
  • Fixed flickering collision icon when placing/moving transport stop at the border between continuous road segments
  • Added achievement disable warning to the load game detail panel
  • Improved achievement warning banner text in the Load Game panel when Unlimited Money or Unlock All was already selected
  • Fixed several floating trees and props on buildings
  • Fixed UI breaking if there is a chirp with missing brand prefab
  • Fixed endless siren for the Early Disaster Warning System
  • Fixed notifications staying in the original place after relocating a building
  • Fixed water/sewage capacity notifications not working
  • Fixed the tornado event disappearing properly after being dismissed blocking the game from starting another tornado
  • Fixed piles on building lots (certain types of warehouses, coal power plant, recycling center) displaying the wrong resource type and amount currently stored
  • Fixed issues with some states getting stuck with almost all tools if mouse press and release happen during the same frame
  • Fixed intersection node icon to be the correct one
  • Fixed an issue where it was possible to delete keyframes in two curve editors at the same time. Now when clicking outside of an editor, it will defocus keyframes in that editor.
  • Fixed pause button not working in Cinematic Camera
  • Fixed several issues when using a controller
  • Fixed changing either 'Menu Music Volume' or 'Radio Volume' after going back to the Main Menu causes the Radio Music to play
  • Improved cinematic camera smoothing control

Modding Dev Diary #3

Hello, I am Sergey, you probably know me as MacSergey. I am the author of a few popular mods for Cities: Skylines like Intersection Marking Tool, Node Controller Renewal, Network Multitool, and some others. I was hired by Colossal Order 2 years ago and now I am working on modding features in Cities: Skylines II. I am writing today’s development diary to share our approach to code modding with you.


[h3]IMPROVING CODE MODDING[/h3]
Code modding was a big part of Cities: Skylines and we want to bring the same and even more possibilities for modding to Cities: Skylines II. We believe that being able to mod the game is a very cool thing that brings a lot of opportunities with it. If you look at how different players use mods to play Cities: Skylines you will see completely different playstyles, almost like they’re playing different games. Some players like to recreate the real world with every small detail. Some players like to manage traffic and industry production chains. Some players just want to have fun and strike the city with 100 tornadoes.

Everyone has a different view of the “perfect set of features”. With the base game features we have included many popular suggestions from the community, but honestly, it is not possible to implement every wish of every player. This is where mods come in. Everyone can implement something or modify the game as they wish, even if you are the only one in the world who needs this feature.

That’s how it was with me. I found out about Cities: Skylines in 2019 when I saw a post on the internet that one player recreated his home city in the game and it made me want to try the game. I started playing and I liked what the base game allowed me to do, but at one point I started thinking “It would be cool to be able to do this or that.” I then realized that I could mod the game, but unfortunately, I could not find any mods that did what I wanted so I decided to write my own. I did not think that my mods would be popular or that someone else needed the same features, but it turned out that my mods became very popular.

I think it’s so cool that even though Cities: Skylines has been out for almost 9 years I have still seen new mods created for it. Some of these have become essential mods in the eyes of the community. And all just because people had not realized that they needed it until someone decided to make it for themselves and share it with others!


[h3]BRINGING MODS TO CITIES: SKYLINES II[/h3]
Cities: Skylines offered very limited support for modding. Often you would reach a point where the game would not allow you to modify something easily and you would have to spend days to implement it. Other modders would reach the same limitations and make their own implementations which could conflict with each other.

In Cities: Skylines II we want to provide as much support as possible for things that simplify modding so that you don't have to make your own implementation of generic things that are required by almost every mod independent from their functionality. We also implemented some quality-of-life improvements so you don’t have to spend days trying to figure out which version of the external tool you need to install or how to set up a mod project in IDE and add the required game dependencies to compile your mod.

The first step to achieving our goals was the creation of the modding toolchain and its deployment. By pressing one button it will install all necessary dependencies and external tools like Unity engine, Burst compiler, and ECS that are required to make mods. If any dependencies are updated or requirements are changed, the modding toolchain will notify you about it as soon as you launch the game and offer updates so your developing setup is always up to date.

The UI tracks the installation progress for the tools you need to mod the game

Next, we created the mod project template which uses the new .Net templates mechanism and will be available in the list of projects while creating a new project in Visual Studio or Rider. All the required dependencies, paths, and post-build actions are set so that you can press the “build” button, and the mod will be compiled, post-processed, and placed in the correct folder so that you can launch the game and see it is there.

The mod project template in Visual Studio creates a new project dialog

When your mod is done, it can be published on Paradox Mods right from Visual Studio or Rider using the default IDE’s publish option. There is an empty publish configuration file in the project template which should be filled, after which you click on your project and select the “publish” option. Then your mod will be published on Paradox Mods and will be available for other players to subscribe to and use.

Publish option in Rider


[h3]OPTIMIZING MODS[/h3]
The game uses some new technologies of Unity engine like Entity Component System or Burst compilation to benefit from multithreading and low-level optimization which can increase the speed of some calculations up to 30-40 times. But these technologies require additional knowledge to achieve those benefits, otherwise, performance can be worse than without using them altogether. The approach to modding that people are used to from Cities: Skylines would not allow you to get the best results you can achieve in Cities: Skylines II.

Using tools like Harmony, which is common for Cities: Skylines modding, is still possible, but it is a bit more limited now. Harmony can patch only managed code, but part of the game code becomes unmanaged for optimization purposes after Burst compilation. Harmony cannot patch such code, but it is not an issue since all information about all the game entities and components are accessible from mods’ systems and can be changed or added without modifications to the existing game code.

To help optimize your mods we also provide a Mod Post Processor which makes burst compilation and low-level optimizations used in the game to allow mods to use the same possibilities of the engine that the game uses without additional struggles to figure out how to do that yourself. Our goal with this tool is to direct you to use the right approach and reduce the most common mistakes so you don’t spend a lot of time trying to figure out what is wrong. It also allows you to achieve the same performance and optimizations the game will have after the team has all of the optimizations in place.

The optimizations are not required as some code does not benefit from such it, so it really depends on what exactly your code does. In many cases, it should be used since Unity API uses source code generation that replaces some of the code with their real implementation during the post-processing stage. If your code uses such API calls and you don’t use the setup we created for you in the generated mod project template and mod post processor, your code won’t work and will throw a “NotImplemented” exception.


[h3]MOD COMPATIBILITY[/h3]
If you have modded Cities: Skylines, you know how game updates can affect mod functionalities, and that is something we want to try and improve upon in Cities: Skylines II. While it isn’t possible to completely prevent mods from having issues as the game code they modify could be changed, we are trying to make it less likely that mods break when the game is updated.

If you are familiar with modding, you probably know why mods break, but if not, I will try to briefly explain why it happens: When mods modify the game code, they are looking for specific parts of the code using some “signatures” (class names, method parameters, fields, etc). When any updates or bug fixes were made, the base game code was changed, and the “signatures” that mods were looking for did not exist anymore or the place of code that they modify worked a little bit differently after the update. We can't know what part of the code every one of the thousands of mods modifies and even then we needed to change it to fix issues and add new features to the game. The only possible way to not break mods would be to not update the game at all, which we of course needed to do. One of the fun moments I had when I worked on one of the last few expansions for Cities: Skylines was when after the release I realized that one of my mods was broken and the reason was the base game code changes made by me to fix a bug or add the new feature.

In Cities: Skylines II this should be much less of a problem when mods introduce their features the same way the game does. To make a completely new feature you don't have to find different places in the game code and modify all of them to include your mod functionality and worry about the fact that one of those places of the base game will be changed in one of the future game updates. The only thing you need to do is create your own system and register it in the updating loop. From that moment on the game will treat it the same way it treats any base game system. Another example is the game settings. We made a simple but flexible automatic system that takes properties you mark by special attributes from your mod and fills them to game settings. Again, you can register your settings by calling one method and don’t need to worry about how to build a settings page for your mod.

The game settings system makes adding settings to your mod much easier

We have also improved how the game processes mods and their dependencies. It could be complicated when one mod is integrated into another mod, gets data from a third mod, and changes something in a fourth mod. This was an issue in Cities: Skylines where the game struggled to manage such complicated relations between mods and the game. You probably faced a situation in Cities: Skylines where one mod could break another mod because they used different versions of the same dependency. Cities: Skylines II tries to catch most of such complicated relations and resolves dependency conflicts between mods. Additionally, there is no such thing as a mod loading order where one mod must be loaded before another mod to work. You do not have to worry about that in Cities: Skylines II.


[h3]A MODDER PERSPECTIVE[/h3]
Before working at Colossal Order I was a programmer, but I never worked in a game studio until now. Coming from the modding community, I was aware that some things may not seem as important when you are looking at them from a game developer perspective. During development, you use special engine tools and have access to the entire source code, but when seen from a modder perspective you have none of that. Sometimes the difference can be so huge that you can make something with a few clicks in developer tools, but it takes hours or even days without them. There were many times after I started working at Colossal Order when I thought “Oh, really, it is so easy to do in the engine editor, but I and other modders struggled with that. It explains why it was not improved in the game.” With my modding experience, I notice these differences and I can highlight them so we can implement improvements that will make it significantly easier and faster to make mods.

We don’t just rely on my experience of modding as we have a modding beta that includes many authors of popular mods for Cities: Skylines. They were given early access to Cities: Skylines II and the modding toolchain, so they could start exploring the game and its modding possibilities. In this time they even made some simple mods, some of which you might already have tried, while we were still working on the modding support. We are listening to their feedback on what they would like to see in the modding API or which part of the game code they would like to have easier access to. We want to enable them to bring their ideas to life, taking the game in many different and interesting directions.

It has been very inspiring for me to work on features that can be useful for other modders and I am already proud to see how the modders with early access use the tools that I implemented to the game to make their amazing new mods for Cities: Skylines II. I can’t wait to see what the wider community comes up with once we add code modding support to the game, and we will continue to improve it based on the feedback we receive.

Modding Dev Diary #2

Hi everyone and welcome back to our Development Diaries! This time we will go over map creation in the Editor in Cities: Skylines II, how it works, and what you can do in the first iteration of it.

When we set out to create the Map Editor we wanted it to be similar to the one in Cities: Skylines but we also wanted to expose more properties, giving more power and freedom to you so you can express your vision. The basic principle of the Editor is that it should be both easy to use and flexible so that we can expand upon it in the future. This is the same tool we developers have used to create the maps for the base game.

One of the cool features of the Editor's map creation is the scale of the map and that you can fine-tune just about anything in the map. We have already seen some amazing maps created with the hidden and unfinished version of the Map Editor, so we can’t wait to see what kind of incredible creations you create with the finished version.


[h3]SHAPING THE EARTH[/h3]
Map-making wouldn’t be anything without the tools to adjust, modify, and shape the terrain. You can import and export heightmaps just like in the previous game, and you can also use the familiar terrain tools to bend the terrain to your imagination. These important tools can be found in the main tool areas at the bottom of the screen, imaginatively shown with the shovel icon. From this menu, you can make all the necessary adjustments to the terrain.

Let the fun begin!

Heightmaps exported from the Editor are placed in C:/Users/%username%/AppData/LocalLow/Colossal Order/Cities Skylines II/Heightmaps/ and that’s also where you place any heightmaps you wish to import to the Editor. Heightmaps should have a resolution of 4096x4096 pixels, be grayscale, and 16-bit color channel depth images of .png or .tiff format.

The heightmaps only apply to the playable area, but you can also optionally import an extended world map, which contains both the playable area and the surrounding unplayable world. The World Map should have the same resolution and format as the base heightmap, with the center 1024x1024 area matching the base heightmap.

Mold the terrain to fit your vision


[h3]WORKING THE SPACE[/h3]
The workspace is the landing page for the Editor. From here you can start working on making your vision come to life. The “Map” item contains the basic items for the map, such as the Map Name, Map Description, and Theme - among many other settings. You'll also notice that it has the same workspace functions as the environment for editing assets in the game, more on that in a future development diary. You can easily see how the map will look during different times of the day, month, or weather by using the sliders at the bottom. A few specific info views can be enabled at the top-right of the screen to provide an easy overview of for example the resources on the map.

The editor has pre-made Climate settings that govern how the weather simulation works on the map. You can select any of the Climates used for the base game maps and apply it to your newly created map. We’re also working on exposing custom Climate settings in future updates to the Editor so that you can design the Climate of the map freely - more on that in the future.

Water is a very important cornerstone when it comes to creating maps, and we have set out to improve the Water sources greatly from the first game. In the Water Settings, you can find different Water Source types. You can freely add and modify these as you please, to fit your vision.

Let’s go briefly over them and how they function:
  • Constant Rate Water Sources generate a constant amount of water, and they are good for the start of rivers or streams that start inside the playable area.
  • Constant Level Water Sources generate water to specific heights. They are excellent when creating lakes.
  • Border River Water Sources need to be located on the edge of the playable area; this water source generates a flow of water that will flow off the map, or from outside the playable area.
  • Border Sea Water Sources need to be located on the edge of the playable area and create a water source that generates a flow of water that will flow off the map, or from outside the playable area on a much larger scale than Border River Water Source.


To see the results of the Water Simulation you can adjust the Water Simulation Speed separately from the time simulation, but please note that a higher simulation speed will affect the performance! It’s also a good idea for the water simulation to run for a while before saving the map, so there are no surprises.

Grab the top or bottom edges of the water source to raise or lower it, or the sides to scale it up or down

The last of the Workspace items is the Resources, which works very similar to how you added recourse in Cities: Skylines, except that this time you can create your own Underground Water Deposits in addition to areas rich in oil, ore, and fertile land. To keep the experience consistent all of them can be created with the same Brush tools, and as you would expect, these are the resources that can then be extracted in-game. But if you don’t enjoy painting directly on the map, you can also add resources by importing a greyscale 256x256 map. Use white to add the specific resource and black where you want none of it.


[h3]CREATING CONNECTIONS[/h3]
Once you have shaped the land to your liking it’s time to create the infrastructure and outside connections, so future cities can grow in the environment you created. These work a bit differently compared to the original Cities: Skylines because we have one unified editor for everything.

To create roads or other decorations on the map you have to access the “Add Object” menu which is located next to the Terrain tools. From here you can search for any asset located in the game or browse through the different categories. Placing the selected asset works the same way as it does in-game. For example, if you have selected a highway you can use the robust road building tools to create the highway network just the way you want. Once the asset is placed it will appear in the Workspace, where it can be even further adjusted and modified to your liking. Make sure you have a highway that reaches all the way to the edge of the map and into your starting tile, so citizens can arrive in the city. You can find a handy checklist of items that ensure your map will work at the bottom of the map settings on the right.

“Add Object” also allows you to place decorative objects like trees, rocks, and old barns or houses to give your map a more alive and personal touch. Additionally, you can add all objects available in the game, however, they are not all suited for maps, so always consider how an item functions before adding it to your creation to avoid any issues. As an example, we have used a variety of props, decorations, and gravel roads to mimic rural areas on the map.

This is all for today’s Development Diary, we hope it gives you a good sense of how map creation works in Cities: Skylines II, and can’t wait to see what you are able to create with the Editor!

A final look at a finished map