Content Creator Pack: Mid-Century Modern by REV0 (Dev-Diary)

  • We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

R3V0_76

Sergeant
34 Badges
Mar 26, 2016
73
134
  • Cities: Skylines - Green Cities
  • Victoria 3 Sign Up
  • Stellaris: Nemesis
  • Stellaris: Necroids
  • Stellaris: Federations
  • Stellaris: Lithoids
  • Cities: Skylines - Campus
  • Surviving Mars: First Colony Edition
  • Stellaris: Megacorp
  • Cities: Skylines Industries
  • Surviving Mars: First Colony Edition
  • Stellaris: Distant Stars
  • Cities: Skylines - Parklife
  • Surviving Mars: Digital Deluxe Edition
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Stellaris Sign-up
  • Cities: Skylines
  • Cities: Skylines - After Dark
  • Cities: Skylines - Snowfall
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Cities: Skylines - Natural Disasters
  • Stellaris - Path to Destruction bundle
  • Cities: Skylines - Mass Transit
  • Surviving Mars
  • Stellaris: Synthetic Dawn
  • Age of Wonders III
  • Stellaris: Ancient Relics
  • Stellaris
  • Cities: Skylines Deluxe Edition
  • Crusader Kings II
banner_2.png




Hello everyone,
In this thread, I’ll be talking about the process of preparation and production of my content creator pack; Mid-Century Modern. As a little introduction; I’m REV0 from Steam Workshop and I am active on content creation side of Cities: Skylines since 2016. While I did make buildings in the past, my main workflow during that time was mostly revolved around vehicles and especially rail infrastructure. Thus, working on a pure building package was a nice change of pace and also brought its own challenges. But since I'm a bit of enjoyer of the latter, working on this pack was quite fun :)


Two of the recent projects I did for Steam Workshop: Railway 2 network pack and Alstom TWINDEXX train.

Two of the recent projects I did for Steam Workshop: Railway 2 rail network pack and Alstom TWINDEXX train.

Content Pack Roster:

The pack contains 147 growables, 1 district style, 32 props and decals, 11 brands, 5 ploppable leisure buildings and 5 car ports.


0.roster1.jpg


Making of: Mid-Century Modern

Origins

I started to gather references for a Mid-Century pack around the same time when I was working on Railway 2 project in early 2021. One of the problems of finding an accurate reference for US rail infrastructure was to go back in time, as it was mostly unmaintained for couple of decades. While looking at references, the Mid-Century architecture became a common theme and I decided to collect materials related to MCM as well.

A while later, I checked those references again and started to look for more sources with an idea of a building pack, which eventually became the base of Mid-Century Modern CCP.

Planning: Technical Preparation

When planning the pack, I set myself certain parameters (or standards if you will) to respect after a bit of ‘marketing research’. Some of these parameters were based on customer feedback of previous CCPs and also my own personal experience in 3D modelling. The original list was more or less this:
  • The growable pack must have a custom district style, so entire collection of the pack can be used in a zone. This was number one criticism made for some CCPs that lack district option, forcing users to use Workshop mods to have a district style.
  • All assets in the pack must be decorated from start for the convenience of vanilla and console players.
  • All assets in the pack must be made in an optimized way, that no post-production work to fix them would be needed, as by that time I’d have little to no time.
  • Thus all assets in the pack would use a ‘standardized’ UV layout to switch components on the fly to differentiate the look of assets if it’s needed.
  • Assets would rely on high texel density for textures and detail, to a degree that I personally find it acceptable, on-par with Workshop content.
  • The pack must offer at least same amount of content as European Suburbia, as I considered Avanya’s work a standard to reach for.
  • No unique building template for ploppable buildings, so players would have maximum versatility to use assets they pay for.
With technical parameters done, I focused my attention to complete my search of growable references to wrap that side of the pre-production preparation. At the same time, I started to look for references for decoration of the growables.

References including building detailing, props, garages and so on. Color Refs ended up not being used, as I had later acquired digital color codes for Mid-Century era.

References including building detailing, props, garages and so on. Color Refs ended up not being used, as I had later acquired digital color codes for Mid-Century era.

Once I was comfortable enough with residential references, I started to separate and filter all the collected references during the process. This stage was a process of elimination; growables that don’t fit into the style, too large, or not possible to make due to game limitations were removed.

Once the selection is made, they’re all categorized and I started to analyse how many variants in terms of building levels houses can support, and their approximative lot size. This part involved some excel sheet calculation, as I sorted the excel sheet to give me the count of total number of growables, growables per level and growables per slot size to balance things out as much as it’s possible. Some lot sizes are ignored as they were rare or redundant.

2.excel.jpg


Planning: Artistic Preparation

Once the selection is made, I started to check details of these houses. The first issue was the decoration. Most of the houses had gardenwork done and featured decorations on gardens. Since Cities: Skylines is a modern city building game in terms of artistic style, I decided that custom props and decals will be a necessity to deliver the Mid-Century feeling I was looking for. For this purpose, custom decals for surfaces, table sets and planters was planned to be made for the pack. At this stage, I also thought about panels that can be used on houses. These panels would be ‘procedural’ in nature, and change visual variants with each spawn, even with same house.

3.panelling.jpg

References of original panelling and some of the props

With that done, I added three more extras to my ‘parameters list’ such that:
  • Custom props with Mid-Century artistic style
  • Swimming pools must be part of assets, whose fates to be decided on prototyping
  • Wall panels would be used to differentiate the look, to be decided on prototyping

Prototyping

The features I had planned to implement was new and required prototyping on my end to make sure I would deliver what I had promised. For this purpose multiple prototypes were made before the production phase.

First prototype was to ensure terrain clipping is working on growable assets. A simple test of using vanilla asset with clipping terrain proved that the feature is operational on growables.

4.clipping test.jpg

First prototype to test terrain clipping on growables.

Second prototype was with terrain clipping and an addition of submesh on growables. For that purpose and before making any final asset, I used a train mesh in my import folder with removed color map. This test too seemed to pass, and thus submesh with color variable as well as terrain clipping feature was working as intended on growables.

5.second prototype.jpg

Second prototype testing submesh on growable, color variance and void.

At this point, I ditched the idea of using ‘procedural’ wall panel idea as color variation of props wasn’t something I had control over, and I didn’t like the idea of making non-color variable props that would cover a portion of the façade, which would eventually unify the look of growables. Instead panelling, I decided to color vary all growables whenever it’s possible, to increase possible variations close to 600, over the base of 147 growables.

Swimming Pools

Third prototype was to test swimming pool and terrain manipulation. As I had already started to work on growable houses, I used an existing mesh of a Mid-Century house, and created a basic mesh and textures for swimming pool.

6.pooltest.jpg


After first series of tests, terrain clipping issue proved to be a problem. There were two problems to solve:

1. Terrain brush being not perfect square (something I was already aware of)
2. Terrain clip area being changed on terrain elevation changes (aka terrain clipping through the pool).

7.clippingproblems.jpg

Top left: Terrain void going above pool mesh, top right: cornering problem with terrain clip on 1x1 surface. Bottom: Inconsistent terrain clipping on 1x1, 1x2 lot pools.

Terrain clip cornering problem was solved by enlarging the surface around the swimming pool. After various tests, an ‘acceptable’ size was found and swimming pools sizes were reworked. As for the elevation problem, it was solved by a series of solutions and checks to ensure they behave in the game as intended with no user interaction.
  • Growables got ‘flatten terrain’ option to make sure terrain doesn’t elevate on slopes, to a degree. This was still not enough therefore a second check was added:
  • Swimming pools received a retaining wall. Retaining wall mesh would follow the terrain and conform to it accordingly to ensure no terrain clips are visible for players. End result turned out very well with these issues solved, rest of the production would continue without any problems.


8.swimmingpoolsfinal1.jpg

8.swimmingpoolsfinal2.jpg

Final look of swimming pools with retaining wall applied.


Production
Growables

Production consisted the creation of 200+ assets, including the creation of textures, meshes, importing and decorations.

Props that were to be used on growables were the first sets of assets created, as they were dependencies on growables. This included items such as mailboxes, furnitures on gardens and pebble stone decals. A separate set of grass decal was added later to the set, as well as a second and third set of fence props.


10.growable props.jpg

Screenshot with focus on growable props, like benches, umbrellas, fences, decals and so on. On the left, out of focus: brand packs, which I will explain later down the thread.

Once garden props were done, I started to work on growables. As said previously, the UVmap of growables respected a degree of modularity, such that uvspace for rooftop, walls and garages were always on same coordinates, for ease the workflow and simplify the uvmapping process.


11.uvmap.jpg

More or less the final uv layout that was used on growables. Horizontal tiling was essential during the texturing process.

In addition to this, modular wall pieces were made that is already uvmapped. During the creation process these wall components were re-shaped, rescaled and retextured where they were needed. Components such as raingutters were also made as a pack to be re-cut for houses that needed them.

Efficient UV mapping also allowed the texture share for some growables. While I avoided to reuse same texture for multiple different growables, for certain cases textures were shared across different class of growables, as certain texturemaps contained 2 variants of walls, or roof texture, allowing to share one map for 2 completely different house. For assets that had enamel roofing, I also included dirt texture that overlays on roof, this was achieved by using rotor shader on dirts, another application that was inherited through workshop workflow.


12.textureshare.jpg

Example use of texture share.


As I had about 2 months for entire project, I paid attention to start one house set and finish it in the same day as minimum. Thus the daily workflow for a growable set was:
  • Texture arrangement
  • Modeling of all growables in said set with all levels
  • LOD mesh making
  • LOD baking for one type, then reuvmap to share same textures for LOD
  • Import
  • Decorating all growables
  • Final saving to be tested and delivered to PDX
Once all growables were finished, I started to work on ploppable assets.


Ploppables

Similar techniques for texture-share and modelling was used on ploppables, with a slightly larger texture canvas (from 512x2048 on growables to 1024x2048). Ploppables were also decorated with era-specific branding style, and with fictional brands.

From the start, ploppables were planned to feature random branding, which would change per placement. For this purpose I created all brands at one go, then created set of brand props which include ‘sub-brands’ with an equally distributed spawn rate. Thanks to my previous tests, signboards were imported as subbuilding (and not submesh) to allow color change on boards.


13.branding.jpg

Brand change, combined with color change on sign towers the end result was acceptable to achieve good amount of variation. With basic math, users receive 4 color variants for the structure and 5 brands giving 20 possible permutations of branding. This specific board is used on Roadside Diner.

As a last minute decision, I also added ‘Mothership’ the space-age themed restaurant, inspired by Theme Building in Los Angeles. It wasn’t in original pitch of my pack, but I wanted to have something that can represent unique looking Googie/Mid-Century asset. PDX was gracious to accept the last minute change and the building was included into the pack before the final delivery. Same as Roadside Diner, ‘Mothership’ also use random branding system, and is a ploppable (and not unique building).


14.theme.jpg



Carports

Car ports were the last ploppables made for Mid-Century pack. Parking lots have always been one of the requested feature of vanilla and console users. Since some of my references had separate carport structures, I decided to use my pack to address this request by using available base-game mechanics, as CCPs cannot add any new mechanics.


16.carports2.jpg


Carports in Mid-Century Modern pack are using 'park' template that is available in the game, with additional entertainment and attraction value. This allows them to be visited by citizens and so they park their vehicles inside carports and designated parking lot markers, or these slots are used by nearby buildings.


Import

During the import process, all assets are tagged with keyword "Mid-Century" for ease of convenience for users, via their description section. As a final work, custom thumbnails were made for assets that are ploppables, props and decals. Growables didn't require any thumbnail work, as they are auto-generated.


17.thumbnail.png

Some of the thumbnails/tooltips, used on assets.


During the production, a total of 3016 raw files have been created (this includes textures, main and LOD models, thumbnails). The final size of the delivered asset pack is about 680MB, however since texture share is intensely used on growables, final load on RAM use is expected to be less than 1/3 of the pack size.

I'm closing the dev-diary with additional screenshots from the pack. I hope you find this pack useful, and enjoy being creative with the content,

Thank you for reading,
REV0



3.jpg

5.jpg

23.jpg

13.jpg

6.jpg

24.jpg


20.jpg

22.jpg
15.jpg


7.jpg

2.jpg

1.jpg
 
Last edited:
  • 13Like
  • 6Love
  • 1
Reactions:
Thank you so much, can't wait to buy this! So glad we're getting another CCP of this type with the standard quality of Avanya's European Suburbia! ❤
 
  • 3Like
  • 1
Reactions:
Great...thought the schedule said these details were a way off!

Reading about the car ports it seems they use the same functionality you can get making a 'park' in the asset editor - do they have high ratings as parks to ensure they're used as it feels a bit cheat-y if they're practically tourist attractions.

Can those fences be placed as fences or are they just for creating assets in the editor?
 
Last edited:
Great...thought the schedule said these details were a way off!

Reading about the car ports it seems they use the same functionality you can get making a 'park' in the asset editor - do they have high ratings as parks to ensure they're used as it feels a bit cheat-y if they're practically tourist attractions.

Can those fences be placed as fences or are they just for creating assets in the editor?

All props of the MCM pack are also placable in game by users. I let them available so that people can use them outside growables; there is one beach shot for example, containing MCM sunbed and umbrellas placed in-game.
 
  • 3Like
Reactions:
That sounds good.

Last question, your space age restaurant has a square base in the photo above but 10 seconds into the video it's placed inside a roundabout. Guessing that's modded because it's not possible in the vanilla game and the base is a different shape.
 
  • 1Like
Reactions:
I am really happy this CCP is coming in game. Really excited for the props that will be coming, the decision of not making the hotels and restaurants unquie buildings to have multiple of them and finally PARKING LOTS in vanilla. I know it will act like a park but I am happy with it. One question, so the growables that have the swimming pools will be needing a flat surface? and if yes so will the retaining wall be added if the building is on a cliff?
 
I am really happy this CCP is coming in game. Really excited for the props that will be coming, the decision of not making the hotels and restaurants unquie buildings to have multiple of them and finally PARKING LOTS in vanilla. I know it will act like a park but I am happy with it. One question, so the growables that have the swimming pools will be needing a flat surface? and if yes so will the retaining wall be added if the building is on a cliff?

All growables will flatten terrain when they spawn; that's already built-in option for asset editor. (It doesn't work like Airports district area, to avoid any confusion). Retaining wall is terrain conforming mesh wrapped around the pool surface. For some growables it's positioned slightly above the pool, giving it a layered look (some screens have that), some pools it's situated under the pool floor. If growable is located next to a cliff, retaining wall should follow the terrain and sink with it. If terrain is going above the pool (seen in prototype screens), it will bypass the pool while going up, following the terrain.
 
  • 1Love
Reactions:
Are those restaurants and hotels functioning as Tourism or Leisure specialization (basically using After Dark DLC)? Or are they just parks or something else?

Beside that - I love this post and a bit of reveal of behind the scene creative processes. :)
 
Last edited:
This looks so so so cool.

There is so much content here.

I am sure that I am not the only one especially amongst vanilla and console players who is extremely grateful for the car ports. Finally we have some sort of ploppable parking that we can place in our games. A truly massive thank you.

Also loving the fact that you have included all of the little prop details as actual props that we will be able to freely use in the game again another massive thing that not only vanilla and console players but also all players I'm sure will find massively useful.
 
  • 4Like
Reactions:
Can I ask what "procedural" mean here? I never quite understood that word and whenever i see any definition of it, it doesn't quite match whatever meaning it is used here (and things such as Procedural Objects are quite meaningless to me). So when it says here "These panels would be ‘procedural’ in nature" i'm a bit... well... thinking "good luck with it".
 
Are those restaurants and hotels functioning as Tourism or Leisure specialization (basically using After Dark DLC)? Or are they just parks or something else?

Beside that - I love this post and a bit of reveal of behind the scene creative processes. :)

They are ploppables, so they dont require any dlc or any customization. Imagine like Botanic Garden asset from base game which provides local happiness and leisure value.

Can I ask what "procedural" mean here? I never quite understood that word and whenever i see any definition of it, it doesn't quite match whatever meaning it is used here (and things such as Procedural Objects are quite meaningless to me). So when it says here "These panels would be ‘procedural’ in nature" i'm a bit... well... thinking "good luck with it".

It means that game would have randomized props on placement/spawn, by picking different props from a set array/collection of assets. Simply saying it procedural made sense to me in the context of things.
 
Are the fences able to be placed like the vanilla fences or do they have to be manually placed section by section?

You mean the industries and park life fences?

Unfortunately not, the fences are single ploppable units that show up in the props menu.

On a more positive note, the car ports are really good at the entrance to your pedestrian zone and fill up with residents' cars.
 
  • 1Like
Reactions:
It's unfortunate, but not surprising.
There are already several other fence pieces like that in the game that I wish they would make available to place like the Industries and Park Life fences. Hedges would also be nice.
 
  • 1
Reactions:
Some examples of fences in the game content that you can't use with the fence tool:

fences and hedges.png
 
  • 1Like
Reactions: