Browsed by
Author: Dispersing Minds

Closing in on version 0.17

Closing in on version 0.17


This entry will be rather short, as I’m battling the cold of the decade.

Next weekend, the 0.17 version of the game will go live. This version mixes optimization, bug fixes and new features. Primarily it features a finalization of the base set of policies (more will be added later on, but there are now enough for continued development). This means, there is now a foundation on which to build the implementation of edge cases that I have advertised earlier. When policy has been pushed far enough in one direction, it will allow players to enable specific political ideologies that come with some bonuses and penalties and will offer up new playing styles.

The newly added policy features a bunch of family life and social policies:


To illustrate where a political ideology can be adopted, here is where enough progressive policy has been enacted to (once it’s implemented) enable socialism:


Implementing the ideologies will take quite a lot of time, since they affect base systems quite a bit and will require specific balancing, but I’m hoping at least one or two (ie, communism and laissez faire capitalism) will make it in this year.

This version will also feature a lot of tweaking of production, costs and consumtion. Resource demand has been tweaked, and goods ticket costs are now much lower, making them more viable to gain rewards. The customs house now also enables not only long term trade items, but also increases the maximum amount of concurrent trades (currently set to 30, but will be 10 without customs house and 100 with).


There have been some sporadic issues with buildings not properly registering/deregistering when a nearby good/bad building has been demolished. This is now fixed. Also fixed is building roads under bridges. Vehicle behaviour is now less erratic when demolishing roads and vehicles properly reset to home position when they are out of view.


Challenges are being added in as well. In this version, there will be 10 challenges. This also marks the last challenges added for quite a while. I will hold off on adding more until policies have been expanded further, to allow for challenges that make use of these features.


Next week, if I’m well enough that is, I’m hoping to add the coffee, cocoa, tea and processed beverages buildings. If they are added, new resources will added to the building resource demands. These drinks will be required to grow buildings from density 2 to 3 and up. Another education building will also make it in hopefully, the preschool.
There will also be a need to build additional atmoports once the city is large enough and has resources moving in and out of the city, as Atmoports will be given a max capacity.

What’s coming in 0.17

What’s coming in 0.17


Work on 0.17 continues. This version will be quite heavy on optimization and bug fixes, as well as additions to the policy side of the game. First off, there will be additional policies to choose from generally. I’m also working towards getting the “extreme” policies in as well. Once a player has moved their position towards to corners of the gal-tan map, this will enable a set of additional policies. If the player moves far enough along a left and authoritarian direction, they will unlock communism and related policies. Right and authoritarian unlocks fascism. Liberal left unlocks social libertarian and liberal right unlock laissez faire capitalism. Implementing these will be gradual since they have rather significant effects on some of the core systems in the game.

In the move towards these new additions I’ve started clarifying the role of different policies in the econopedia further:


As new policy is added, the info in the econopedia will grow as well. Similarly, the policy selection UI has been updated. To make it easier to navigate I’ve added a menu structure, so that items that are of no interest can be hidden away. I’ve also added the policy’s political direction to help guide the player how the policy affects the position on the political map. Along with a slew of new tutorials being added in the upcoming few updates, policy and policy implications will be a theme for a tutorial as well.


I’ve continued working on traffic, fixing both performance and glitching. I’ve all but fixed the issue of cars shortcutting to off locations when roads are demolished. Cars resetting now also fetch their locations via a thread, further improving traffic performance.


I’ve also managed to get health and education policies incorporated into the building information display, so that the effects of establishing a specific policy is more apparent. I’ve also increased the effects of these policies quite a bit and made additional adjustments to costs.


In the upcoming version, I hope to catch up on adding challenge levels. Hopefully I can have a solid 10 challenges in the game. The last two additions are quite difficult, which should offset the simpler challenge levels added earlier on.


The next version should be live december 15th, which is a bit later than I had hoped. This is due to the heavy work load recently, but given solid dev time in the upcoming two weeks there should be a solid version ready.

Current and upcoming work

Current and upcoming work


Another slightly delayed devlog, due to running out of time to do a write-up yesterday.

The past week, progress has been slow as I’m finishing up some remaining work at my day job. After this week, I will return to my previous position, which means more normal working hours and a more normal work load which will mean more dev time.

I’ve primarily fixed minor bugs and performance issues and continued working on the political map and policies. I’ve also added another challenge level, seen below.


I’m in the process of adding information on what policy affects what into the econopedia. Here you will also be able to see how each policy affects your position on the political map.


I’ve been polishing traffic further, and am working on a shortcut for when a building registers a road tile as it’s road connection tile. This is needed to speed this process up when a city has many registered road tiles (ie, in a big city). The performance hit currently isn’t huge, but a fix is still required to be able to increase the maximum atmosphere size.


I’ve also continued work to fix traffic from glitching out. There is currently an issue where if a road is destroyed, traffic will still spawn from that point and shortcut to a specific road tile. Hopefully I have a fix for this going now.


In the upcoming version 0.17, I’m hoping to have added some additional policies and also added locking conditions for some of them, so that some can only be enabled once certain buildings have been placed. After that, I will start adding policies that are only enabled once a player reaches edge cases, such as communism and laissez faire capitalism.


More information on what will go into 0.17 and the prospective release date will follow later this week

Version 0.16 is live!

Version 0.16 is live!


Version 0.16 will be live fairly soon. The changes compared to 0.15 are:

Changelog V0.15 -> V0.16

Halloween has come and gone! The pumpkin props have now been put back into storage.

Major features:
– New challenge added.
– Political position map added. This will be expanded upon over time as new policies are added.
– Cocoa, coffee, tea and processed drinks resources added. These cannot currently be grown/manufactured, this will be added in upcoming versions along with adding these into the citizen demands.
– Inflation now implemented. When there is no national bank, inflation will fluctuate more and affect wages more. Once the national bank is built, an inflation targeting mode is automatically applied (other modes will be added in the future) allowing players to set rates to combat inflation and get stable wages. The system will be tweaked over time as more things are added.
– Canals removed from transportation menu. This has not been active since the early alpha. Once the water blocks are implemented, the canals would be out of date anyway.

Minor features:
– Added challenge difficulty indicators in the main menu.
– Input/output chapter of econopedia finished.
– Particle effects turn off when a building is turned off.
– Autorate mode added in bonds and currency panel. This will automatically target 2% inflation. It allows players to not have to micromanage inflation levels.

– Carbon added as starting resource in free roam.
– Carbon added as starting resource in all campaign levels. This was necessary since carbon was made a vital resource for the carbon power plant (otherwise it forces an import of carbon before the city can start growing).
– Financial transactions tax was based on services available AFTER consumption, making it zero if all services were consumed. Now it’s based on total services produced.
– Financial transactions tax revenue increased.
– Waste calculation adjusted.
– Tax revenues (res, com, ind) adjusted.
– Wage formation adjusted (this affects residential tax revenue as well).
– Trade yields increased. This is a response to move revenue creation from taxes and promote more trade. Trade commisions also increased.
– Cost of a large set of policies adjusted down. Effects have also been adjusted.

Major bug fixes:
– Fix for research effects not being incorporated in building info.
– Fix for cars behaving oddly.
– Fixed vactrains not showing up when loading a city.
– Added fix for buildings sometimes spamming new connections to roads although they already have one. This improves performance when buildings grow in large cities. There will be more of a performance improvement added to this in the next update.
– Cars now get removed properly when home building is destroyed.
– Fix for trade sometimes not registering.
– Fixed issue with completed challenge levels sometimes writing to number of finished campaign levels.

Minor bug fixes:
– Fixed issues with challenge/campaign trade objectives.
– Fixed challenge/campaign trade value being summed up incorrectly.
– Fixed incorrect on click sound for forestry.
– Fix for research progress bar bugging out when high skilled labour is completely missing.
– Fix for bug where bridges could be built under water.
– Avenues now can’t be built over already existing avenues.
– Added destruct holograms for downward/upward vactrack bends.
– Fixed roads not getting street lights when built next to residences etc.
– Fix for roads not displaying street lights on load.
– Fix for double foundations being placed at start.
– Tool tips in trade panel fixed.
– Currency value and inflation value now saved properly.

– Resource requirement calculation optimized (this runs on a thread so it doesn’t make performance better, but prevents issues of values not being calculated in time when the city is large).
– Resource calculation thread made safer. Should now be more stable and not register flickery values.
– SSAA and atmospheric scattering updated. This should improve performance.
– Updated Unity to version 2019.2.

As can be seen, yet again, a lot of time has been spent fixing bugs, improving peformance and adjusting balancing- This is mostly by choice, but also due to a very high work load at the moment. Meaning it has been difficult to find time to properly implement new features. Luckily my current day time job contract is coming to an end, after which my work load will be more normal and I will be able to catch up on items that have been delayed. I still project that I will catch up on the delayed feature additions in december and that the new road map will be live mid to late december.

As for what is in this version specifically:
We see the addition of a food more food resources – cocoa, coffee, tea and processed drinks. These will complement the current cereal, legume, fruit and processed food resources. These will come into play o get buildings to grow to the third or fourth density. Currently the resources are tradable, but not actually used by residents and they cannot be produced. Production facilities will come in the upcoming few versions. Once production facilities are in, the demand trees will be modified so that residents will start demanding the resources.


I’ve also started adding the political position map. This shows players where they are positioned on a gal-tan map according to the policy currently implemented in the city. This takes into account tax levels and policies selected in the policy panel. This will be built upon further and lead up to the implementation of “edge” political cases such as communism and laissez faire capitalism.


This version features a tonne of adjustments of tax revenue etc. First of all, revenue from residents has been lowered slightly and is now fully relative to wage levels. Wages are affected by inflation, so if you run a city with high inflation, wages will drop in real value, meaning tax revenue drops too. Currently there is no hyper inflation or similar. Instead inflation is clamped to max 15%. Commercial and industrial taxes have been tweaked as well but are not affected by wage levels (except industry and commerce will run at lower efficiency when wages are very high).


Costs and effects of policy have also been changed. Mainly health and education policies have been changed, lowering costs and increasing their effects.
Financial tax and wealth tax revenue has been increased a bit and trade yields and commision have been increased (by quite a lot). This way trade becomes a more viable method to combat deficits.


To simplify the early game, carbon has been added as a starting resource on every campaign level and free roam level.
There have also been a fair amount of bug fixes, some major fixes and some minor. A bigger fix is that “flickering” values should now be a thing of the past, since the entire calculation thread has been made more solid. I’ve also managed to speed this thread up significantly which prevents value update ticks from being stalled when they wait for the thread to complete, which was the case in my current large test city.

Coming up in 0.16

Coming up in 0.16


Missed yesterday’s planned devlog because I was on the road. Upcoming devlogs should be posted on sundays as usual.

Work on systems continues, so like before, images this week are a bit random.

For the update due live on sunday, the game will have been moved to the latest version of Unity to allow an upgrade of SSAA and atmospheric scattering. This means there are some performance benefits in the upcoming version.


I’ve also worked on some other optimizations, among them when vehicles get the position of the next road node. There’s still more work required to get this up and running fully, but it’s getting closer to being finished. I’ve also attempted to fix an issue with buildings checking their connections when the city is loaded. Doing so when the city is large bogs down the game quite a lot but briefly. I’m trying out a fix for this, but the drawback is that it takes longer for connections to get set up. Hopefully I will find a good balance for this for the update.


I’ve also worked on the connectivity and calculation threads. I discovered that the calculation thread specifically was getting very slow on my current large scale build. A city of 150k citizens was clocking in at 300 ms, which gets too close to the calculation cycle time when the game is running at 8x speed. Luckily I have found fixes for these issues and now the same calculation cycle runs in 20 ms. I’ve also improved how the results of the connectivity and calculation threads are handled. There has been an issue where values have flickered at times, this was due to some values being modified in a thread, while also being used outside. This has now been properly adressed, and there should not be issues with this anymore.


I’ve continued work on inflation, and for starters only two simulation modes will be added. One is the default “no monetary policy” setting that the city will run with if there is no national bank. When a national bank is built, this will switch to inflation targeting. I’m still working on the ability to auto set rates to compensate for inflation and to keep inflation stable. This will be important because inflation now properly affects wages negatively, which means you get lower tax revenue from citizens. There’s still work left to do, but it should be ready for the update and then tweaked in versions afterwards.


I’ve also gotten water blocks going. Unfortunatly it’s not certain I can get these finished for the update, since they are proving a bit more difficult than first expected. There’s also a performance issue in the water shader I had intended to use, so I will have to write a new one or modify the one I have, which will take time. It should all be finished fairly soon though – fingers crossed.

Road to 0.16

Road to 0.16


Devlog is a day late because I ran out of time to write up the log yesterday. Anyhow..

The past week was pretty code heavy, so images in the post are random shots from the test build I have going currently. It’s a city of 150k citizens. I use this city to test performance at larger scale.


There are a few issues that I have found, and managed to incorporate into the update posted on saturday. One such issue is that buildings, when a city grows, would sometimes spam new vehicles and not removing them correctly when buildings grew. This would cause massive amounts of cars with poorer performance as a result. Another performance issues found and that will be fixed for the upcoming 0.16 version, is that buildings registering road connections gets rather slow when a city is of this size. I’ve managed to improve performance a bit in the saturday update by removing unnecessary connections being made at times. More work is required though.


I’ve also managed to find some obscure issues, among them the calculation for the financial transactions tax being based on services available AFTER consumption rather than before. This tax was also not generating enough revenue.


Progress in adding new features last week was unfortunatly quite slow. The main new feature I’m working on is the addition of water blocks to allow for building water ways and adding lakes. Currently, there is nothing to show here as only the code has been written and I’m still at the boxing stage. But hopefully this will be available in the 0.16 release, if not, it will be in the version after.


In the saturday update I did manage to get a new challenge added. This one is a bit easier than the previous ones, but still does require quite a bit of planning.
As for the 0.16 version, it will be available sunday the 17th of november!

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!