Browsed by
Author: Dispersing Minds

Atmocity devlog entry 31

Atmocity devlog entry 31

It’s been a while since I made a proper update. The previous few weeks have been very hectic overall, and on top of that most of the game progress has been on fixing bugs and making minor tweaks here and there, so not really update worthy.
But now there’s been some visible progress! Vactrains are now a thing. They’re not quite functional yet, but I’ve managed to get building them down, and added the station building into the game. Vactrains are used to connect remote parts of the city.
I’ve rebalanced the entire set of buildings changing pricing the resource requirements as well as some of the output levels. The next step in building management will be to add in the availability conditions. Some buildings will be locked from start, requiring a specific population for example, or that the building is first researched in a lab (which is a building that itself requires a specific population). Given that the vactrainstation has now been finished, only one building remains to be made for the early access release (atmoport). The atmoport will be a building placed when you enter a new city. This building will be the place where goods and citizens can travel to and from your city.
Another thing I’m working on, that has been prototyped earlier, is being able to set different skies. This won’t affect gameplay, but can be used to add variation. Each theme comes with it’s own skybox, and sun color temperature etc.
One thing that I’ve noticed will be important is to convey when things are missing or going poorly in the city. Currently, I’ve added specific songs from the soundtrack to play only when things a recession occurs. I’ve added a feature that the city doesn’t light up at nighttime when there’s no electricity. When you’re low on electricity, a set of buildings will randomly not light up at night time. That way you get a visual queue that you need to expand power production. Once I add cop cars, ambulances and fire trucks, these will be more prominent on the streets when crime is high, health is poor or when fire safety coverage is low.
I’ve continued tweaking the economic system, changing costs and effects of policies and how long it takes for policies to reach full effect. Messages sent from the board of citizens and from conglomerates are now also saved.
Next week, vactrains should hopefully be finished completely. I also count on having most of the translations added into the game as well. I’m also adding some quality of life improvements like auto benchmark and some more options.
Atmocity progress update #30

Atmocity progress update #30

Like last week’s devlog, this one will also be rather short. I’m currently under a fairly heavy work load and on top of that, most of the work that goes into the game now are to system tweaks and improvements.
Work continues on tweaking calculations. More or less all systems, such as health, wages, unemployment and happiness, are interconnected. As such, balancing these systems out and avoiding extreme results is a bit tricky, but it’s getting there. The real test will come once the game releases into early access and a more diverse set of play styles is being tested.
I’ve also been polishing up the shaders in the game, adding vertex displacement to building footprints and making minor performance adjustments. I’ve also changed import settings for textures to decrease their size.
More localisation work has been done. Spanish has been updated, which means it’s almost finished. A first iteration of the russian localisation has been added, but will require some work (text size etc.). I’ve also added the Swedish localisation into the game. Work on the german version is ongoing and the remainder of the french translation should be done fairly soon.
I will be trying to get some more buildings into the game before the EA-release. Primarily decorations, like this forest:
There’s also been some minor stuff added. Cities can be named. The ui has gotten some minor adjustments and will continue to be improved in the upcoming week, especially the statistics panel which has been placeholder.
Atmocity progress update #29

Atmocity progress update #29


There will be no extensive devlog this week, since most of the work I’ve done involves system stuff and generally surrounding systems already in the game.

I’ve continued working on the vehicle system and squashed a few visual issues. Moving forward I can now start culling vehicles properly to allow more vehicles shown in any given view without tanking the FPS.

I’ve now also implemented a proper calculation of the wage level. The wage level affects the demand for labour, so if wages are high, demand gets a slight hit. Conversely, if wages are lower, demand gets a slight boost.

With welfare systems such as unemployment insurance, health insurance and retirement, these are generally designed in such a way as to replace wages while a person cannot work. As such, the city’s wage level is now a part in calculating the cost of these benefits. If the city has a high wage level, these benefits will cost more when people are unemployed for example.
The next step will be to incorporate the wage level into the tax income from residents.

Another thing that I’ve aimed to incorporate into the EA-release of the game is a vactrain system. I’ve started coding this into the game, and aside from registering stations, it’s almost ready to be tested. For next week’s devlog there should be a finished concept up for display.

There are still some bugs to be fixed here and there, and some UI adjustments left to make. But overall, what was intended for the EA-release is starting to get rather stable and polished. That means I can move onto doing some optimizations here and there to make sure the game runs really well.

/ Dispersing Minds

Atmocity progress update #28

Atmocity progress update #28

The latest version will go up in a few hours and features quite a few new things:
V 0.48 Change log
– Nano structures plant implemented. Creates nano structures required for the top density buildings.
– Advanced circuitry plant implemented. Creates advanced circuits used for complex machinery.
– Complex machinery plant implemented. Creates complex machinery used in hospitals, the nuclear waste storage facility among other buildings.
This means all resources meant for the Early Access release version have been implemented. More resources might come post EA-release.
– University building implemented. Adds a city wide education bonus.
– Theatre building implemented.
– Movement option to shift camera up or down has been added – CTRL + W/UpArrow to shift upwards, CTRL + S/DownArrow to shift downwards.
– EA release welfare programs implemented. More tweaks to come in the following versions.
– EA release discrete policy options are all implemented and functional. These will be tweaked in upcoming versions.
– Music implemented. Currently it only shuffles the tracks. The system to trigger music based on events is in the works.
– Spanish localization updated.
– Budget calculation errors have been fixed.
Aside from the above, a handful of minor issues have been fixed.


I’m closing in on finishing all the buildings meant for the EA-release of the game. The remaining ones that will be finished in the upcoming few weeks are the atmoport and the vactrainstation.
The University is used to increase education levels across the city. They don’t need to be built next to specific buildings or anything.
The Theatre building is required to keep upper class citizens happy. In future versions, theatres will produce culture, which will be used to increase happiness across the city.
The nano structures plant produces nano structures that in future versions will be required to get the top density residential and commercial buildings.
Complex machinery is used in nuclear waste storage facilities, hospitals and in future versions is required for high tech industry.
Finishing off the production buildings set is the advanced circuitry plant, which produces components for use in the complex machinery production plant.
There’s been a lot of work put into value calculations, specifically into the discrete policy options added into the game recently. All of the policies now affect values in the game, from electricity consumption to health and education values.
This will receive further tweaks in the upcoming version, as the policies need to be balanced in cost and effect.
Music has also been added into the game finally. The music has been composed by Joshua Szweda and in my opinion fits the mood and theme of the game perfectly!
Currently the music is just randomized, but there will be a mode where tracks are picked based on context. Like if there’s an economic downturn etc. Currently, the system works, but the tracks are not linked to the events yet.
In the upcoming few weeks, aside from working on tweaks and balancing, I’ll be working on the vactrain system and implementing achievements into the game.
Atmocity devlog #27

Atmocity devlog #27

Short entry this week, as I’ve mostly done fixes for minor issues (not really news worthy).
First bit of news is that I’ve postponed the release of the game by one month (from april to may). This is due to an overall heavy workload, but also because I want things to be really well functioning and polished when the game releases into Early Access. This grants me some extra time to add a good deal of fine tuning and polish.
I’m in the process of finishing up the last few buildings. The nuclear power plant has been finished:
The nuclear power plant outputs a lot of electricity at a fairly decent cost, but it also outputs spent fuel that needs to either be stored, or neutralized. The storage facility (second from the right) and the neutralizer (right) can be seen here:
Most of the remaining buildings will most likely be done next week and will mean I finish up resource production and education. The vactrain station includes a lot of new code, so that will be done after next week.
Overall, things are coming together, but as the delay suggest, a bit slower than I would have wanted. But I’d rather release a stable game than an unstable one. 🙂
Atmocity devlog – Entry 26

Atmocity devlog – Entry 26

The 0.47 version will be up shortly!
Changelog V0.47
New features:
– Food processing plant added.
– Cisterns and water treatment plants added. This allows storage of water and cleaning ”used” water.
– Recycling center and trash incinerator buildings added.
– Trash “resource” added.
– Board of citizens added. When the city has more than 10k citizens, citizens will form a group that will make requests and demands similar to those of conglomerates (lower taxes, better services etc.). This will be expanded upon in future updates.
– Nuclear waste storage facility added.
Changed UI/UX:
– Issue where hologram shader would be nearly fully transparent when seen from certain angles fixed.
Glitches/Bugs/Poor optimizations fixed:
Threads moved to background threads to avoid garbage production upon starting the calculation and connectivity threads.
Bug where vicinity check fails when building “bads” on the other side of blocks fixed. (Thanks to RedEventStudios for finding this issue!)
Bug where roads built in the corner between two blocks would not connect to the rest of the road system fixed. (Thanks to TheGeekCupboard for this obscure discovery!)
Bug where bugs built in the corner between two blocks would cause blocks to not be demolishable fixed.
Worldsize variable added to templates.
Other changes:
Crime calculations changed.
French translation implemented. The translation is somewhat incomplete, so some text elements are missing.
Spanish translation updated.
Known issues:
Roads cannot be built facing other roads when the distance is only one grid unity wide. (fix scheduled for v. 0.48).
– Spanish translation missing a few text elements (scheduled for v. 0.48).
– Decoration tile causes a null reference error (fix scheduled for v. 0.48).
Pushed to later update (an outtake):
Quicksaves (scheduled for v. 0.48).
Additional concrete foundations, fancier concrete foundations.
Fix for sun (currently breaks on build…) (scheduled for v. 0.48).
Russian localization implemented (scheduled for v. 0.48).
German localization (scheduled for v. 0.48).
– Nuclear power plant (scheduled for v. 0.48 along with the remaining buildings).
This week, I’ve mostly focused on various fixes, both bug fixes and performance fixes. A few issues remain to be fixed for the next version, but overall, the game should be more stable now. Aside from fixes, I’ve also added in a few more systems. These will be developed further for the 0.48 version.
Cisterns are now fixed, so that water can be stored and consumed later on. Having fixed storage for water, I have now been able to add the nuclear waste storage facility. However, there’s no use building it yet since the nuclear power plant hasn’t been added yet. But it’s a nice looking building. 🙂
I’ve started working on the translations more. I received the French translation and have started implementing it. Some things are still missing, but it’s getting there. The spanish localization still needs to be updated and the german localization is still behind schedule.
I’ve started finising up the policies available at the early access release. Some funding options are still missing, and some of the policy options are not fully implemented and tweaked yet. But most of these now affect things like labour availability or health.
I’m still working on fixing some value stability issues. At times, the economic calculations will cause things to spiral out of control (more so than I would like 😛 ). These issues should be fixed in the next update.
Aside from what has already been mentioned, the next update should feature the remaining seven buildings. Achievements will be added in the upcoming week. One of the big remaining features is the so called “retro” mode. Which is retro in the sense that cities are built on the ground. It’s still uncertain whether this will be finished for the next update, but I should have some more information about it in the upcoming weeks. The 0.48 version is scheduled to drop the 31 of march!
Atmocity devlog 25

Atmocity devlog 25

This week I’ve started adding in the waste management system. Depending on the policy implemented in the city, goods and foods consumption generates trash which will need to be handled. This can be done either by recycling centers, or by using incinerators that produce electricity, but also a bit of pollution.
Recycling center:
I’ve continued working on the conglomerate display and local economy panel. There will be quite a few additions to this moving forward, but mostly behind the scenes stuff like calculating construction speeds for zones and how conglomerates react to different types of taxes. There’s already quite a lot done on this system, but since there has been and will be quite a few more additions to policy it needs to be updated a bit.
For graph nerdiness I’ve added a graph displaying historic values of conglomerates. 🙂
I’ve also started working on the city stats panel. Currently it’s quite underdeveloped, but it should be finished up next week. This is basically just a breakdown of different city stats that the player might find interesting.
As a performance improvement I’ve also added cars being recycled when they move out of view and spawning new ones in view. This is basically a way to keep the number of vehicles down, while still making the roads look fairly busy. There will be many tweaks to this over time, but it’s good to have it working fairly well.
Next week I’ll be starting the music system, along with an adviser system to help players. Lastly, The board of citizens  system will be started. This will be similar to the how conglomerates make demands for lower taxes etc. The board of citizens will ask for lower taxes, improved healthcare and welfare etc.
Atmocity dev log 24

Atmocity dev log 24

Following last weeks update, I’ve had to spend time fixing some unfortunate glitches that followed. Not unexpected since the update was rather substantive, but it did mess with my planning a bit. Oh well!

I have started finishing up the remaining buildings. One of the buildings finished this week was the Fusion power plant seen here:

The fusion power plant needs to be researched before you can build it. While expensive, it does produce heaps of power in a clean way.

I’ve also started reworking water production in the game. Currently you build absorbents that absorb moisture from the atmosphere to gather water for your city. This system will now be part of a future climate system. Pollution and moisture will now play a role in the city living conditions. If pollution rises too much (like a lot) you’ll achieve a green house effect and people will dislike living there. There will also be a limit to how much water you can absorb from the atmosphere in a given time unit. So in order to produce more water, you will be able to build water treatment plants. Also, you will be able to build cisterns to store water, unlike now, when water is never stored. A water district can be seen here:

The food production Buildings are all finished. The last one that has now been added is the Food processing plant, which takes cereal, fruit and legume and outputs processed food. Processed foods are required to keep your upper class citizens happy.

I’ve found a number of bugs in vicinity testing when placing buildings. For example, residences would sometimes register industry, although these were placed on the other side of a block. This should be functional now.

Lastly, I’ve started working on improving performance when building large scale cities, since I won’t be breaking any saves from now on. What is on the list for next week is culling cars when they are outside of view



/ Dispersing Minds

Progress update 23

Progress update 23

This week I’m updating the Steam beta builds to version 0.46 which adds/changes/fixes the following:

Changelog V0.46

This versions breaks old save files, the old files can still be accessed in game, but will load a corrupt city. Old save files can be removed.

New features:
– Connectivity between sections of the city now implemented. More work and tweaking will follow.
– Additional taxes. The code behind the system has been revamped as well, to allow for quicker implementation. This breaks old saves!
– Commercial tier fully implemented. Like the residential tier, demands are not final, as some buildings are still missing.
– Mid tier industry added. Demands are not finalized.
– High tech tier of idustry added. Demands are not finalized.
– Road size, road system and traffic system revamped. This breaks old saves!
– New traffic system. The old system used raycasting and was not scalable. This was mainly a for-show system. The new system uses threading and allows traffic to be scaled up. It also improves the connectivity system in that they can share information. Movement is a bit more floaty, which will adjusted in iterations.
– Decoration tiles – a first decoration tile has been added.

Changed UI/UX:
– Fixed text overflow/truncation in Spanish localization.
– Fixed a couple of incorrect references in the localization file.
– Added load function from main menu.
– Window backgrounds changed to make visibility better.
– Budget panel implemented. Also, values for cost and revenue for each policy slider added.
– Policy window layout changed. More polish will be added to this over the upcoming few updates.
– Fixed bug in building info display for commercial buildings.
– Escape opens main menu in game.
– Build hologram when placing roads now incorrectly becomes red when location has a building.
– Fixed display for road (and blocks) is not red
– ? button in main menu fixed.
– Change res when in windowed fixed.
– Double resolution sets in options drop down fixed.

Glitches/Bugs/Poor optimizations fixed:
– Calculation bug affecting middle class labour fixed.
– Calculation bug affecting happiness (and bugging out several other values) fixed.

Other changes:
– Demolition indicator. Will be tweaked further later on.
– Reintroduced constraint for size of foundation volumes that can be built in one process (much larger than before). This is to avoid accidentally placing large volumes when raycasting against nothing.
– Building vicinity check now disregards buildings on the opposite side of a block, allowing you to better plan cities.
– Added range display for building vicinity check.

Possible fix:
– Issue with hologram shader on Linux. Shader has been replaced.
– Post processing stack has been updated, which might fix a performance issue on Linux.

Known issues:
– Certain aspects of the Spanish localization missing (because of new text items).
– Worldsize of templates not variable. As such, it is not possible to build to the full size of the current templates. This will be fixed in the next update.
– Performance issue when starting threads for calculations and connectivity.

Pushed to later update (an outtake):
– Quicksaves.
– Additional concrete foundations, fancier concrete foundations.
– Fix for sun (currently breaks on build…).
– Updated spanish localization.
– Russian localization.
– German localization.​
– French localization.

The new traffic system is performing as well as expected! It does need the addition of culling cars that are far away and don’t need to have their positions updated, but all in all it’s working quite well. Aside from a few visual tweaks, it is more or less finalized. There will be a handful of more vehicles though, later on.
Following the traffic system overhaul, I have now also changed the road tile size and changed the overall grid in the game. Buildings now make up 4×4 of the grid, and roads are 1×1. Essentially roads are now 1/4 the size they used to be. This makes cities look denser and also allows for more interesting city layouts.

With the smaller grid size, I’ve also started implementing decoration tiles. These have no function for the city, but is also a way for plaers to customize their cities.

The policy window has been getting some work. Although a lot of work remains both in terms of layout and adding more policy to adjust, it is getting closer to its final layout. Implementing policy moving forward, should be much faster given that I’ve overhauled the code behind the policy system. I’m hoping to get quite a lot of policy and funding options added in before the next update.
Here’s the budget panel:

And funding options:

The vicinity system that checks whether a building is within range from a good or bad building has been changed to allow, for example factories, to be built on the back of blocks without negatively affecting buildings. This way, players will be able to build denser cities nd also plan their districts in a different way.

A first iteration of the econopedia has also been implemented!
Unfortunatly I’ve missed the target of improving on sounds and implementing the localizations, but I am otherwise ahead of Schedule. Localizations are quite simple to implement, so once I get the French, German and Russian ones they will be added fairly quickly. I had also planned on adding music for this build, but music is a bit behind schedule but has been coming along really greatly recently and there should be some tracks added for the next build.

/ Dispersing Minds

Atmocity progress update #22

Atmocity progress update #22

Like last week, some time this week was sadly lost to being ill. Luckily, the second half of the week has been really productive and I’ve managed to finish up some of the lagging systems.
The main focus the past few weeks has been to overhaul the traffic system. This is now fully complete. The old system relied on raycasting between each road tile to determine viable routes. This was obviously bad design, but done to have “something” for Dreamhack. Now, the system instead registers nodes from road crossings, turns and road tiles where traffic will leap over an edge. Using this information, each node can be given viable exit directions that is fed to vehicles.
Where the old system could handle something like 50 vehicles in view at the same time, the new system has been stress tested to run 1000 vehicles visible in scene at 60 fps. Given culling etc, this is a number unlikely to ever occur in any given view, but it’s good to see how well it can perform.
Here’s the system being tested:
And going crazy of course:
Being able to display a large number of vehicles is of course nice, but was not the only ambition when overhauling the system. I’ve been struggling to work out a good way to see what buildings are connected to eachother. Using the registered nodes, I can now compile a full network. Basically checking every node in the system, so if node A has exits to B and C, then A, B and C are naturally in the same network. If every road is connected, then there is only one network in the city. But if there are two separate systems, then two networks are formed instead. Using this information I can now divide the city into two or more sections and have production and consumption calculated on a section by section basis. When built, each building is assigned what network it belongs to. All the network calculations etc. are done on a separate thread so they should scale very well.
Next week, the final step in the road system overhaul will be changing the actual tile size.

Having finished the mid tier industry buildings last week, I’ve moved on to finishing the high tech industry this week. With that, only 10 buildings remain for the EA release of the game. That means I’m actually a bit ahead of schedule and should be able to start making a few decoration tiles for city customization. Here’s the high tech industry and an early decoration tile:
Following the changes to the policy system, I have now started implemented more policy and should have a decent set of policies finished for the update next week. The main issue at the moment is being able to present them in an appealing way that makes clear what they are for. But that should be a process over time.
/ Dispersing Minds