Browsed by
Month: October 2019

0.15 is live!

0.15 is live!


Version 0.15 is live and in it, fall has finally arrived to the floating cities of Atmocity!


Aside from the fall theme, this version fixes a bunch of performance issues and bugs, but also adds the final set of buildings planned for the initial stage of the Early access period. On the subject of plans, I am slightly behind on the road map, primarily due to adding QoL-improvements from requests, but also due to certain aspects of planned system additions being slightly trickier than expected. I expect to make up for the delays in december, when the overall work load is lower. All in all, the roadmap for 2019 should be completed along with a bunch of unplanned feature additions.

So what is new and fixed in 0.15?

New major features:
– Second density for medium scale commercial zones added.
– New challenge level added – new challenges will be added in more frequently moving forward.
– Additional tutorial added – basic production.
– Additional policy added – Financial stability. Includes universal basic income, fraud monitoring among others.
– Wealth and financial transactions taxes added.
– Planar movement mode added. This keeps the forward/backwards movement aligned to the height the camera is currently on. This is on by default, so if you are used to the relative movement scheme, this can be changed in the controls options.
– Offers/demands/bribes are now monitored for a while so that a tax or policy can’t be changed directly after accepting them. If tax is raised after accepting a demand to lower it, you will incur a happinesspenalty.

New small features:

– Production buildings can now be turned off.
– Added vizualisation mode to find unconnected, unpowered, unwatered or disabled buildings.
– Number of available trade slots increased.
– Accepting bribes and getting caught now affects citizen happiness (which causes people to move etc.).
– Pollution generated at 100% efficiency now listed under output in info panel for buildings.
– Icons in building and cost info panels sorted.
– Added loading icon in save/load UI.
– Avenues can now be built to directly replace ordinary roads.

– Removed high skilled labour requirement for electronics factory.
– Health otput from clinic and hospital increased.
– Service production of medium scale commercial buildings lowered.
– Residential tax revenue adjusted.
– Effect of labour policy lowered.
– Changed road building to always be allowed on blocks, earlier building roads near the edge of the city could be prevented incorrectly.
– Music ducking removed.
– Adjusted the time it takes for industry to adjust production after a resource is missing or after the economyto takes a hit.
– Removed clamping to allow zero production if all inputs are missing.
– Demand curves for individual resources tweaked.
– Unemployment and labour shortage effect on wages tweaked.

Major bug fixes:
– Flickery values and connection issues should now be almost completely resolved.
– Fix for camera jerkiness during fps-dips.
– Building type view fixed.
– Fix for production sometimes being displayed incorrectly in building info panel.
– Fix for certain production buildings working although there is no labour.

Minor bug fixes:
– Fixed Saving text blocking construction.
– Fix for cars stalling.
– Fix for cars “randomly” throwing null refs.
– Changed consumption priority order for absorbent and lots to prevent deadlocking when water or electricity production is low.
– Fixed hide HUD icon being hidden when enabling HUD with escape button.
– Sell/purchase buttons now locked when reached the max amount of trade contracts.
– Fixed notice on hover text getting stuck halfway.
– Size of colliders for medium scale residential lots adjusted.
– Size of colliders for full scale residential lots adjusted.
– Collider position of density 2 of medium scale residences fixed.
– Collider issue for parks and plaza fixed preventing overlapping placement.
– Fixed issue where rotating buildings would sometimes cause a slight clip in building footprint.
– Fix null ref error occuring when destroying Correctional center.
– Fix for missing texture on medium scale high tech industry building.
– Fix for roads not compiling properly on loading city with only roads.
– Global happiness, happiness penalties and conglomerate embargos are now saved properly.
– Fix for tax revenue “sticking” even if production seizes in goods industry.
– Employment numbers clamped to -100% to 100%.
– Unemployment insurance welfare system can no longer generate income (of course!).

Known issues:
Vehicles sometimes taking shortcuts and spam spawning. Visual glitch only, this will be fixed in the next update along with a bigger traffic optimization.

As can be seen, there’s a heavy focus on addressing issues. Some of the issues fixed arose after optimizing the connection system. There have also been some calculation errors and issues with displaying the correct amount of production under certain circumstances. These should hopefully be a thing of the past now.


Of the new features, the medium scale, second density commercial buildings are one. Another is the addition of new taxes and policies and a bunch of tweaks to tax revenue and policy costs.
Most notably, residential tax revenue has been tweaked a bit (down) to accomodate changes made in how wage levels are calculated (should generally be higher now, meaning more tax revenue). The newly added wealth and financial transactions taxes can also be used to gain additional revenue when finances are tight.


In line with requests, I’ve also added another movement mode refered to as “planar movement”. This moves the camera forward/backward along the horizontal axis, instead of moving it relative to camera rotation. There’s now also a basic production tutorial and a new challenge level.


Production and commercial buildings have now been changed to require labour input. Before, some production of goods and services would still occur even if there was no labour available, but now these buildings must have at least some labour to function properly. Logic being that you wouldn’t get your hair cut with no barber or taxes done with no accountant.


Among the smaller QoL additions in this version, there’s the ability to turn certain production buildings off. There’s also a building status view to check for unconnected, unpowered, unwatered or disabled buildings.
There’s also been quite a few optimizations done to avoid stuttery framerates (which sometimes was an issue when building stuff or when buildings grew).

Road to 0.15

Road to 0.15


This week has seen a mix of optimizations, bug fixes and additional features.

First off, the second density for medium scaled commercial zones is now finished complete:


I’ve continued work on inflation, currency and wages, finishing up on the UI implementation and additional functionality. There’s still some ways to go, but it should be ready for next week’s update to version 0.15.


I’ve also put more work into the demand functions of individual resources to add more variation between resources within the same group.


With the complete implementation of wages, currency and wages, there will now be a few extra policies added. Among them universal basic income and fraud monitoring. I have also added two new taxes – wealth tax and financial transfers tax. Since these two taxes will add additional routes for the player to add to the city revenues, residential tax revenue will be adjusted down a bit, specifically for middle and upper class residents.


I’ve continued working on camera movement, and have now added a planar movement option. This means that pushing forward/backward will move the camera over the current plane instead of relative to the camera rotation. This means that the camera remains stable in height. To lower and raise the camera, the player can either pan using the mouse or use keyboard inputs. Overall I find this new movement mode works very well.


Lastly, there have been a bunch of building connection fixes and bugs squished. There full extent of these fixes will be posted next weekend, as the new update is up!

Bug and performance patch!

Bug and performance patch!


The new build will be up soon! Like the previous two weeks, I have focused most of the time this week on fixing recurring issues with performance and also bugs, but I have also managed to get the second density of mid scale residentials in:


This is the maximum density for the mid scale residential zones. They generally demand less utilities and aren’t as demanding when it comes to nearby buildings like parks, schools and clinics, so they can be a good way to fill out narrow arreas with little room for anything else.


The above image shows the low, lower mid and mid tiers mixed in with some full scale buildings.

On the performance side of things, I’ve finally managed to resolve the bug that caused major slowdown when buildings grow and in particular when many buildings are destroyed at once. One of the issues was checking for nearby buildings. Way back, all buildings were on the same layer, so buildings were fetched and then the type was tested. If a residential building was next to an industrial building, it would get an efficiency penalty (fewer residents). Over time, buildings have been separated to several layers, but all layers have still been checked. However, residential and commercial buildings (for example), never need to check for other residential or commercial buildings. So depending on the type of building performing the vicinity check, layers are adapted so only relevant buildings are checked. This speeds things up dramatically, as fewer colliders need to be checked.
Also, this is all now performed with NonAlloc, to speed things up further.


Another improvement using NonAlloc, is when buildings have either been placed, or grown. When checking for a nearby road tile to “attach” to, buildings now use NonAlloc, preventing FPS-hickups further.
There’s also been a recurring issue with buildings registering a nearby “bad” building, despite there not being one. This should now have been fixed completely.


I’ve also tweaked economy and found a few areas of optimization. In doing so I also found an issue where, specifically industry, could get efficiency levels that were too low and also too high (in the range of 6 to 300%). This has now been fixed and industry will rarely go below 60% unless an input (water, power or labour) is missing. Further tweaks to economy will be done in the upcoming version.

I’ve also fixed a bug where loading cities was bugged out on Mac, and while doing so also found a null ref that was fixed on Mac as well.


As for overall progress, I am slightly behind on inflation, currency and wages, due to a heavy focus on bug hunting and optimization. I do think, however, that I will be all but caught up come next update!

Performance and bug fix patch

Performance and bug fix patch


This week marks one year of posting (near) weekly devlogs in this kind of five image + text format! So lots of progress has been made I feel. By this time last year I was working my way towards getting a stable enough build for Dreamhack Winter. I had just cut the block size and started adding roads, the carbon pressurization plant and police station buildings had made it into the game and I was also working on merging blocks to create a shadow casting volume to keep down the amount of shadow casters.
Although there’s still a lot to be done in the game, it’s nice to see that it has come as far as it has.
The devlog can be seen here for those interested in a blast from the past:

To update on current matters though. This week has been almost solely focused on squashing bugs and optimizing the game. With the amount of new things added over the past few months, it’s been high time to take a step back on feature additions and trying to fix some old and annoying bugs.

Change log:

– City hall building added.
– Halloween prop added. More time specific props will be added over time.
– New vactrack icons.

– Fixed bug where sometimes loading a city from the main menu would stall.
– Fix for bug where roadtiles on bridges would not connect to road network on loaded cities.
– Fix for bug where destructed bridges would leave surrounding road tiles unaffected.
– Fix for bug where buildings would sometimes not connect to roads when loading cities. This might still occur in rare situations.
– Bug where notices would not move out smoothly fixed.
– Fix for building props not being removed correctly when demolishing.
– Further optimization when demolishing several buildings at the same time.
– Minor slowdown from sound stopping when demolishing a building playing an ambient sound fixed.
– Performance when deregistering cars when owner building has been demolished improved.
Known issues: Traffic is being optimized and a few bugs are being ironed out, so there’s unexpected behaviour at times.

One issue has been with bridges not registering road tiles properly and messing up buildings registering to a road network. There’s still an issue that sometimes buildings will still not connect to a proper road network, but it should be all but fixed now.

Here’s an image of my test build, fittingly featuring lots of bridges:


The city hall building has been added. Currently it doesn’t do anything except swallow some mid skilled workers, but it will be given a proper function fairly soon. As can be seen in the following images, I’ve also added a bit of a halloween theme (temporary of course):


Another bug that has been fairly tricky to find a solution to was that sometimes cities would not load, instead the game would freeze on the loading screen. This has finally been fixed. I’ve also found some sources of performance issues, among them fading out sounds when buildings are demolished and deregistering cars that belong to demolished buildings. These issues are now fully fixed, which cuts down lag when destroying buildings, especially when destroying many at a time. I’ve also managed to fix the multi destruct bug that was particularly noticable when destroying many mini zones.


Traffic still shows off some odd behaviour, which will be given some time next week. Hopefully I can improve performance further too, although it is pretty performant as is. Next week I will also go back to working on inflation, currency and wages, getting a proper implementation in. This will be a stepping stone towards adding some new policy options and adding more economic management options. Until next time!