Browsed by
Month: February 2019

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
Atmocity devlog #21

Atmocity devlog #21


It’s been a rough week battling with both day job, game and also a massive cold (which seems to be winning…), but there’s been some Atmocity progress nonetheless.

Like the past few weeks, a lot of focus is currently on systems work and finishing up features. A lot of work this week went into finishing up the connectivity system in its current state. This will need some further tweaking further down the line when I’m done redoing the roads and the road system (more on that further down). The connectivity system now finds the divided sectors of the city, tests connections between them and then groups connected sectors into units. These units can then be used to calculate production and consumption.

Here’s the system working out what is connected and how:

Something that has been on my mind a lot recently has been to lower the grid size yet again. Those who have followed the game for a longer period of time, know that this has been done once before. Then it was done to get rid of the blocky look of the game as well as to get roads in. Had the grid remained the same size, roads would have become gravely oversized. Over time, I’ve started feeling roads are STILL oversized. This coupled with me now thinking about what will go into the game once all the main buildings are finished, has prompted me to cut the grid size down even more. This will allow roads to be smaller, buildings to be placed with greater detail and with smaller offsets, and the introduction of a lot of small decoration tiles etc. once all the main structures are finished. This will increase what players can do in terms of city customization and decoration.

Here’s the smaller grid size in action (roads not adapted yet).

And here’s the proposed new road system (a quick mock-up):
Following last week’s policy system overhaul, I’ve now started adding in new policy options faster. For the upcoming week I’m hoping to have a whole set of funding options added, so that players can control the funding for different types of educational facilities and healthcare for example. I expect most of the early-access version’s policy will be done for the 0.46 version (which has been moved from the 6th of February to the 17th due to revamped systems not being quite ready, but more features will be included).

I’ve received more feedback from testers, a set of bugs have been found as well as some QoL features have been suggested. These include tweaks to controls and placement of panels etc. Aside from this I’ve also started working on some QoL features that I’ve been thinking about myself. Among them is a range display when placing buildings. All buildings perform a vicinity test when built to check if there are any good or bad buildings nearby. The range display will show the spherical range of buildings as well as light up what good and bad buildings will be within range when placed.


Lastly, I’ve gotten the mid tier industry finished. The mid tier industry is less pollutant (only has marginal pollution). When finishing these buildings, I decided to split industry into three different types so they can be managed differently in the vicinity check. Dirty industry is disliked by all residential and commercial zones. This mid tier industry (called neutral in code, even though it isn’t quite) can be accepted by lower class and lower middle class residences and commercial zones. The high tech industry can be accepted nearby by middle class and upper middle class residential and commercial zones. The upper class residential and commercial zones are very picky, so they don’t like any nearby industry at all.


/ Dispersing Minds