Browsed by
Month: December 2018

Atmocity devlog #17

Atmocity devlog #17


Given christmas was this week, I’ve only had a few days to work on the game. But the game did you out to a handful of testers on tuesday, and so with the response given, I’ve been able to make some improvements to the game and fix a handful of bugs. So moving forward, each update will include a changelog. This week’s changelog:

New features:
Autosaving implemented. Can be toggled in options.
Resolution scaling implemented into options menu.
Cars optimized to not run when off screen.
Early implementation of offers/demands/bribes from conglomerates. Currently conglomerates will only issue offers. Unlike demands and bribes, these can be declined without any negative effects. Accepting an offer improves the happiness of the conglomerate. Offers will be made if there are more than 3 active conglomerates in the city, if you are short on a specific resource, or if you have an abundance of a specific resource.
Added unemployment insurance and health insurance welfare systems to policy panel.
Added tax for pollution, which affects industrial output for goods, labour requirements and pollution levels.
Note: Save files drastically altered. This means old files are no longer viable. Start a new city!

Changed UI/UX:
Pressing escape closes open windows (as does right clicking). If no window is opened, opens options menu.
Rightclicking when building concrete foundation or roads cancels current build process. If no build process is running, deselects concrete foundation or roads.
Removed the constraint for max amount of concrete foundations that can be built in one go.
Building cost info locked to upper left position. This will be redesigned in the near future.
Conglomerate mappings added to owner display.

Glitches/Bugs fixed:
Cars looping around themselves and going into roads fixed.
Sound for construction is no longer overlapped when building concrete foundation or roads.
Correct text for concrete foundation now set in the cost display window.
Issue where concrete foundations wouldn’t be built if assigning to a large area fixed.
Wood processing plant now has to correct size (was scaled 1.5x for some reason).
Issue where image in the options menu would go full white fixed.
Construction guide for buildings, concrete blocks and roads now closes properly.
Commision rates when buying/selling resources were incorrectly calculated.
Save/Load menu would display all but one cityfile, fixed.

Other Changes:
Wood processing plant moved from category ”other pollutant” to ”other neutral” and can now be placed next to farms, absorbents and forestrys (etc.).
More tree variants added.
Linux version added, possibly unstable/broken.
Daytime post exposure scaled back.
New issues/Known issues (an outtake):
Sun is vaguely visible through concrete foundations.
Possible math bug when calculating happiness level, if you receive massive values all over the place – save the city into a new file and send this over for debug.
Offers are currently not saved.
Density shader still glitched.

Pushed to next update (an outtake):
Additional concrete foundations, fancier concrete foundations.
Demands and bribes (awaiting confirmed function of offers).
Property tax policy implementation.
Demolition indicator.
Fix for density shader glitch.
Fix for sun (currently breaks on build…).

One move toward making conglomerates more visible in the city, is adding their names to the owner display mode:

Of course, once the local economy panel is ready, they will be much more visible, since you’ll be able to check out stats like company value, number of buildings owned along with their moods etc.

Another change this week has been the addition of a message system:

From time to time, conglomerates will make offers, demands or attempt to bribe you. Currently only offers have been implemented. Offers are only made by conglomerates that like you and aim to help you, either by selling you resources you’re lacking to a slight discount, or by offering to buy large amounts of resources from you at a favorable bulk price. Declining an offer comes with no downsides, but accepting them further boosts the conglomerates happiness.
Next up, the demand system will be fully implemented. Demands will generally be made by conglomerates that are unhappy. Demands generally concern unfavorable policies like minimum wages and property taxes. Accepting demands will boost their happiness (and lower the risk of future demands), while declining a demand can come with a limited time stunted production rate or slower growth rate.
Last part of the message system is for bribes. Conglomerates will offer to pay you hefty sums of credits to change a policy. Declining a bribe doesn’t come with any negative setbacks, while accepting one runs you a small risk of capture which will lower citizen happiness for a period of time.

The bug where cars would loop around themselves, get stuck or run into streets has been fixed. Along with this fix I’ve also coded cars to not run when not visible. If they remain outside of the camera frustum för an extended period of time, they will instead respawn at their “home position”. That way the traffic system will be less performance heavy, while still adding some visual flare.


I’ve also done some tweaking to the day night cycle. I’ve lowered the post exposure setting during day time, to make it less bright:

Another issue has been that nights and shaded areas have been too dark, which has made construction and navigation during night time more difficult. This has also been tweaked, and is hopefully more managable now:

Moving forward I will put more effort into finishing the remaining buildings. Upper class residential and commercial tiers are my main focus. On the systems end of things, demands and bribes will be implemented in the upcoming week along with the local economy panel, including an early iteration of the budget panel.

/ Dispersing Minds 

Atmocity weekly update #16

Atmocity weekly update #16

A somewhat shorter week of dev, given christmas is just around the corner (merry christmas to all!), but there has been some progress with the game.

First off, the bond and trade system has been fully implemented and now works with saving and loading. The bond system allows players to lend money, that after 100 time units, needs to be repaid with interest. The interest rate is calculated from the global economy and the economic status of the city.


The options menu has been expanded to feature more settings. Aside from splitting things up into different categories, depth of field now has a focus distance setting. The camera rigidity settings has been implemented into the options. This setting allows players to set whether the camera is rigid or floaty.


I’ve added a demolish building Icon, to move demolition from the right mouse button. This makes much more sense given the controls in general. There needs to be a marker added to show what is going to get demolished though. But that will be done next week.


I’ve started refactoring and optimizing some code, namely the UI related code and the car code. The car code is almost refactored, but in doing so I reintroduced a bug where the cars loop around, so this will need to be adressed soon.


Overall, the game runs fairly well on my main rig now. It will be interesting to see how it runs on other rigs, and how other people experience the game, now that the early beta test is just around the corner!


/ Dispersing Minds

Atmocity devlog weekly update number 15

Atmocity devlog weekly update number 15


Another week of mostly systems work, but there should be some eye candy too. :)

I’ve focused quite a bit on performance this week. One of the main issues I’ve had has been global fog and sunshafts being fairly bad in terms of performance. So I decided to phase these out in favor of newer assets that hopefully are more performant. To replace the old global fog I decided to shift from version one of the post processing stack to the new version which includes global fog. This meant redoing some of the post processing effects. I consider this work worth the time though.


I also implemented Aura for better looking lighting. I think it gives the game a softer look, which works fairly well. Replacing the post processing also meant I gave the effects another look and did some tweaking to get performance where I want it.


I’ve also started working on separate profiles for the normal view and the efficiency/owner/density views. I want the latter ones to be rather clean and simple looking and give the city a sort of “model of a city”-type look.

Since I’ve updated to Unity 2018.3, I’ve also started looking into the jobs system to add more improvements in terms of performance. I spent a great deal of time trying to implement traffic onto its own thread but had no luck with this sadly. I will probably revisit this idea after the initial EA release since traffic performance is fairly ok as is anyway. I did, however, move traffic raycasting over to the raycastcommand feature, and this seems to have improve things a fair deal. :)


I’ve continued to work on the local economy system. There’s now a system in place to allow conglomerates to buy/sell property from eachother. This means the conglomerates that establish themselves in your city early on, won’t be clustered there over time. I’ve also started working on the conglomerate demand/offer/bribe system. Conglomerates will demand you change policy from time to time if they are unhappy. If you decline their demands they will half production, slow growth in buildings or not construct new ones. Conglomerates will also make offers for you to buy resources that you might need off-market, or offer to buy resources you have a lot of. Lastly, they might attempt to bribe you into making a policy change and in return give you money or resources. There’s a chance you will be discovered doing this, in which case citizens will become unhappy and maybe move away.

The last bit of systems work I’ve done this week was to start implementation of the trade system. Aside from buying/Selling resources directly on the market you can place long term purchse/sale orders. This means you’ll have a slow but consistent import/export of resources, which doesn’t affect pricing as much. This will allow players to make steady sales when they have a lot of goods stored, or if they are running low, start a steady import stream without affecting the price too much.


A maximum of 5 sale orders and 5 purchase orders can be held at the same time. Each time unit buys/sells 100 units of a good, so at most, users can ensure imports or exports of 500 units per time tick. This will allow players to make up for big surpluses or when they are running dangerously low on something in high demand.

Next week, I will be finishing up the trades system and also add the bonds system (a loan system essentially). Aside from that, the local economy will get more work as well as starting work on the budget panel.

/ Dispersing minds  

Join the Atmocity Discord server!

Join the Atmocity Discord server!

For those willing to get some inside news on the development on the game, wanting to contribute with feedback or just talk games, the Atmocity channel has been open for a while.[insert the name of the game here]

Stop on by!

Atmocity progress report #14

Atmocity progress report #14

It’s been a productive week. Mostly under the hood stuff and mostly optimizations and bug fixes.

I’ve redone the control scheme slightly, moving the demolish action from the right mouse button to a separate button in the UI. Right mouse click now anchors the camera to a structure so that players can more easily get the camera around corners or rotate around buildings. Rotating the camera has been moved from left click to scroll wheel click. I’ve also tweaked the “floatiness” factor a bit more and this will be implemented into the options menu in the upcoming week, allowing players to adjust how rigid or floaty they want the controls to be.


I’ve added better lighting to the “shady side of the world”. This has been an issue for a while, that certain areas will always be worse lit. I’ve tried to compensate this by adding a dimmed light that is always opposite the sun. It will need further tweaking, but should end up solving the issue. This also works as an additional “night light”, making building easier during night time, if players insist on keeping the day/night cycle on at all times.


I got the save/load menu fully implemented too. The UI still needs work, but in terms of function it’s all there, thumbnail of the city and all included. I also managed to clean up some lousy placeholder code because of this too as well as removing what used to be a “loaded city”-scene and a “new city”-scene. This is now just one gameplay-scene, if it’s loaded with no city loaded, all the new city stats and resources will be loaded as well as a solitary building block placed in the center.


As an additional visual feature, I will implement several different skyboxes and day/night gradients. Exactly what types there will be, I haven’t yet decided, but there should be quite a few to add more variation.


Having done quite a bit of code optimization (some scripts were lagging behind in terms of optimization), next week I will get into refactoring some of the newer code, like drag and drop for building blocks etc. This code is rather messy atm and requires a good cleaning. I’ve also done quite a bit of UI-optimization, splitting up large canvases and also getting rid of some graphic raycasters on canvases where there are no clickable objects.


Local economy should also be finished enough to get it into proper testing next weekend, after which I will be able to set up conglomerate and citizen demand systems. Overall, I am behind schedule, but should have time to catch up after christmas. The game is not quite as finished as I would like for late alpha/early beta, but it’s good enough I reckon.

/ Dispersing Minds

Atmocity weekly devlog entry 13

Atmocity weekly devlog entry 13


Dreamhack came and Dreamhack went. I’d like to start out thanking those that dropped by and checked out the game. It’s always nice hearing that the game looks good or looks cool, but a completely different thing seeing people actually try it out and responding to things. Many people seemed very intrigued with the main concept of the game, being able to build really inventive cities while also managing complex economic systems.


Of course, I also noticed some things that need fixing and also received some very good feedback. I will detail some of the fixes I’ve made, feedback received and some other fixes I’ve done since the event and also what will go into the game as I move forward to the early beta build.

Unlike most city builders, Atmocity requires a fairly complex camera system so that players can navigate around the city. Most builders fare well enough with just a top down camera, that can move east/west/north/south. In Atmocity, players need to navigate within a volume in full 3D. With this comes a bunch of difficulties that need to be overcome. Most of the people who tried the game out did ok with the camera, but I did get some good pointers on how to improve it further. So in the upcoming few days, the options menu will be fleshed out with a Controls-panel. Here, there will be a sensitivity slider, since some players wanted the controls to be more rigid, while others felt they could be softer and floatier.

Aside from that, there will also be a type of sideways rotation or “lean” feature implemented, so that players will be able to easily setup the camera on level with the overall area they’re viewing. Currently this requires a bit of a specific click and drag movement to do. Zooming will be implemented on the scroll wheel, and clicking the scroll wheel will initiate the camera drag movement. Currently the drag movement is assigned to left click, but this will be used solely for building selection.

At the moment, demolishing buildings is weirly assigned to the right mouse button click. This will, as has been planned for a while, be moved to a hot key and button in the building panel. Instead, the right mouse button click will be used to “attach” the camera to buildings, so that it can rotate around them easier.

These changes should be implemented in the upcoming few days. Navigating mazes like this should become easier:


I discovered a handful of minor bugs, among them a null ref due to cars not despawning correctly when buildings were demolished. This has been fixed, as has the efficiency display shader not displaying correctly on skyscrapers.

I’ve also continued optimizing the game during the week. The reflection probe now uses time slicing so that it isn’t quite as performance heavy as before. I’ve managed to cut some shadow casters, removed hidden faces and made some other minor (per object) optimizations that make a rather sizeable difference in bigger cities. I’ve also managed to cut down on the tri count from shadows by cutting shadow casting distance a bit. This scene maxed out at 1.5 million tris and 1000 shadow casters before, I’ve now gotten it down to 900k tris and 300-400 shadow casters (depending on the number of cars in the scene):


Further improvements will be made making far LODs even more low poly, since they are hidden in fog and blur anyway.

An idea that came up at Dreamhack, to make building weird cities more of a functional choice as well as visual, was to make pollution not spread through blocks. This will be implemented in an early version too. This means that unlike now, when building factories within a specific radius from Residences will cause a penalty, you will be able to plan cities so that factories can be built on one side of a block and residences on the opposite side. There will probably be some sort of balancing issue with this, and I will need to implement it well for it to work well and not make city planning too easy.


My initial plan for the upcoming beta was to have everything more or less implemented. Sadly, some systems are still a bit too underdeveloped to be used properly, so some will be left out during the early stages of the beta. But I am hoping to get them done early to mid january so that they can be properly tested in good time before EA release too. Local economy system is still proving quite difficult, but should get there fairly soon.

The remainder of the week will be spent optimizing traffic further and adding the connection testing that buildings will do to ensure connectivity with key buildings like power plants and water absorbents. On top of that, the save and load manager will be started so that more than one city can be saved and loaded.


There will be Another update on Sunday. For those interested in trying out the beta, beta signup information is available on the Steam page for the game (

If you want to more closely follow the development of the game, you can also join Discord,

(Also vote for the game on IndieDB:
/ Dispersing Minds