Atmocity devlog entry #38

Atmocity devlog entry #38


It’s been a good dev week for sure. :D I’ve managed to finish up some things that have been put on the backburner for a while (things that should have been done, but have been tricky and thus been difficult to motivate doing).

Among these things is the movement for the vactrains. Getting this to work required reworking a fairly complicated part of the code, where connectivity between tracks and stations is managed. Luckily, in doing this I could also remove some things that were redundant and speed the whole process up.
Although not completely finished, the progress so far can be seen here:

I’ve reworked health policy settings, so that they now affect clinic and hospital output instead of just affecting Labour availability (this is now instead indirectly affected from increased health output).
While doing this change I also changed the overall effect strengths and costs.

Research is, as far as I can tell, fully functional, but does show the odd bug every now and then, but nothing game breaking. I’ve made some more adjustments and fixes to make the code more logical.

I’ve also touched up on the localisations. German has been overhauled, spanish and russian have been expanded. This also meant fixing some oversized textboxes etc.

Next week I’ll be fixing the atmofleet movements, so that a fleet comes in to the city and lands at the atmoport to transport citizens and goods. In preparation for this I have redesigned the atmoport slightly. The previous one, I felt, was too tall and since it is a required building when you start a new city (and later too) it looks better not being too big.


I also gave it the same color theme as the vactrain station so that they are easily identifiable.

I’ve added sounds to buildings when they are clicked. This is too add a bit more life but also make identification easier. Residential buildings trigger a doorbell sound, commercial zones a cashregister sound etc. I think it works fairly well, but a few more sounds are needed for the different types of industrial buildings.

Lastly, I’ve added the lower class, middle class and upper class residential, commercial and industrial smaller footprint roster of buildings. Initially I had planned for this to be added after the EA-release, but I managed to make them rather quickly. Currently there’s only one version and one density. I will be added another density along with alternative versions for variation once the game has been released. Once the game has been released the mixed low/mid and mid/upper versions will be made as well.

Here are the current buildings:
Aside from these changes, I’ve managed to spend quite some time playing the game and finding minor issues that have been fixed as they have been found.

Devlog entry #37

Devlog entry #37

Another week of dev came and went, and things are coming together rather nicely.

Research implementation is now finished. There are a few bugs remaining, but it works well enough to have these ironed out in the upcoming week or so. Research times and costs will need to be tweaked based on feedback once the game releases, but should be fairly well balanced.

I continue to add more decorations, props and new “extra” buildings into the game, since I have a bit of extra time for this. There’s now a set of small Residences, commercial and industrial buildings in the works. These add a bit of varition to zone size and can be used to mix things up a bit or create more suburban type areas.
Some of the new residences can be seen here:
As mentioned, I’m also working on new props. These props will be seen when zoomed in fairly closely and may include stuff like park benches etc. For starters I’ve made a road sign that lights up during nights:

Current ongoing work includes trains for the vacuumtubes. This is currently only in a boxing stage and so there are no images yet, but I have high hopes for trains as it will add more life into the cities. On the same subject, I’m reworking the car system a bit to allow for cars to respawn in new positions fasters. That way I can have densely trafficed streets without actually having too many running at the same time. At the moment this has been trickier than expected (getting it to look good that is), but hopefully there should be packed streets next week. :)

I’ve also finished up on some remaining UI work. The UI should be more or less completely finished now, but will likely see several changes and tweaks once the game releases into early access and I get feedback from players.


Bug hunting and optimizing is an ongoing Project, mostly relating to messages and the new research stuff. But there’s been the regular minor stuff too.

Next week I should have the trains implemented and possibly the atmo fleets too. The two remaining features to implement is the campaign and the “landmode”, I should get around to working on this next week as well.

Atmocity weekly devlog #36

Atmocity weekly devlog #36

Just a brief update this week. Like a lot of work recently, most of it has been focused on code and getting things up and running flawlessly for the early access release.
But there’s been some picture friendly work done as well. One thing I’m putting a lot of work into at the moment, is expanding the number of decorations and customization items available at EA-launch. I’ve added a few more decoration tiles along with a sort of step decoration inspired by rice paddies:
This can be used to cut off some of the blockiness. There will also be a sort of “edge” decoration made to hide the concrete look of the blocks. Some more decorations can be seen here:
Starting next week, I will start adding in a few more RCI buildings. These will be small footprint versions, instead of 4×4 they will be 2×2 in size. They will appear only in two densities for starters, as opposed to 5 for regular residences and commercial buildings and 4 for industrial. Also, they will only be available in 3 classes, as opposed to 5. This might change once the game has been released and more content gets added.
Research is more or less finished now. I need to add the save function to it, but that should be fairly straightforward with the system I have going. The research tree features 32 items, some of which unlock buildings and some which improve the functionality of buildings. Improving building efficiency comes in increments of 5%, so although it takes time and resources to research them fully, it can surely be worth it.
I’ve continued to polish block placement and made some adjustments to avoid misplacement and other annoyances. All in all, the system works much better and allows for more flexibility. The campaign mode is now properly in the works too. The campaign will feature fairly simple levels that are meant to ease the player into the different systems in the game (building/sculpting, planning, trade, taxes/economy and research among others).
Atmocity devlog #35

Atmocity devlog #35


Work on the game is progressing steadily. This past week I’ve finished up work on the new block placement tools. It’s now possible to click and drag to place the smaller building blocks. If a bigger block has been placed, this can be cut in half (sculpting). This will allow players to build more fine tuned foundations for their cities and will also open up for some interesting decorations later on.

On the subject of decorations, as can be seen in the image above, I’ve added in a very simple park tile. I’ve also added another “geometric garden” type tile that can be used to decorate the city. The new one (and an older one) can be seen here. Prior to release I will try to get a handful more decoration tiles in. Suggestions are welcome!

Here’s another image of the park tile in the same context:

One of the remaining features to add is research. I’ve gotten rather far with this during the week, adding in most of the UI (along with most UI related code). I should be able to finish this up next week and get the research yield functions in as well.
Research is enabled once the city has 15k population and a laboratory building. It is required to unlock some production buildings and power generation Buildings, such as nuclear and fusion plants. Aside from building unlocks, there’s also research that enhances buildings, like lowering pollution from carbon power plants and improving carbon dioxide capture and storage. Once enough has been researched to unlock the bottom tier of enhancements, players will be able to improve education, health and water/power conservation.


Since the current test city is getting rather large, I’ve also been able to start adressing some optimization issues and have started cutting tris and improving slow code. Fixing the new block tools also allowed me to reorganize that code and make it more efficient and also more well-functioning. Among the fixes there have been removing the risk of accidentally placing an area of blocks when only clicking to place one.

Atmocity devlog #34

Atmocity devlog #34

It’s been a while since I posted. Mostly this is due to not having very interesting things to post about (mostly done minor tweaks, fixes and optimizations recently), but also due to an extreme work load recently.

Hopefully things should clear up a bit moving forward and I should be able to dedicate more time to finishing up the remaining features I want to add into the game before it goes into early access.

The last EA building has been finished – the atmoport:
This is a must have building that will accept goods and citizens to your city. There will need to be one for each network in the city. So if everything is connected properly, there’s only a need for one, but if the city is scattered across different islands, then you will need more.
I’ve yet to finish ships landing etc, but I’ve started working on a path finding system that should make the remaining work fairly straight forward.

I’ve started working on sculpting tools and being able to place smaller building blocks right away. This will make things a bit more interesting and allow more customization to cities.

One of the remaining things to make is a “land” mode of sorts. There will be a few different variants to this, but one idea I’m working on is a straightforward constructed island in water. The image below is an early concept.

I’ve also reimplemented some atmospheric scattering and am fairly happy with how it looks:
This will require some more work be put in to the day/night cycle, but should be worth it in the end.

Next week, aside from finishing up the sculpting and block placement tools, I will also be finishing up ships landing at the atmoport and also adding in some more decorative buildings such as an obelisk, a small hedge “park”, a sloped park and a small border piece that can be used to decorate the side of blocks (to remove that concrete look)

Atmocity devlog entry 33

Atmocity devlog entry 33

New build is up! No huge additions, but quite a few important fixes and overall polish.
New stuff:
Wage level implemented – this might cause higher unemployment than before. I’ve attempted to offset this by increasing abour demand overall, but it might not perfectly offset things.
Unemployment welfare affects wage level.
Health insurance cost is now affected by overall health levels.
FDat file type deprecated from saves.
Changed plop costs and upkeep costs for each building.
When there’s no power or a lack of power, less of the city will light up at night time.
Health yields from hospitals and clinics increased.
Policy costs adjusted.
Funding for crime prevention added.
You can no longer place buildings when out of Money.
Russian translation implemented.
German translation implemented (some parts are missing still).
Other translations minor fixes.
Road and vactrack paths calculations improved
Minor fixes:
Retirement funding is now calculated properly.
Road construction bugs fixed: Roads could be built through blocks. Roads could be on uneven blocks.
Camera movement still when inputting city name.
Fix for dissolve shader when close to buildings and blocks.
Fix for cost information not updating when in paused mode.
QoL improvements:
Grid displayed when placing blocks, buildings and roads.
New demolition indicator.
Cloud saves.
Loading speeds improved.
Known issues:
Blank messages from nowhere. These don’t affect gameplay and disappear when reloading the city.
Text size in local economy panel oversized.
The vactrains have gotten a minor face lift:
I am almost done with everything vactrain related. What remains (still) are the trains. These should be finished next week.
I’ve started tweaking building outputs even more, to ensure that output makes sense. For example, absorbents have not been outputting enough water, so this has been changed a bit. Health yields from clinics and hospitals has been increased as well. This means that it will be easier to keep health levels up, but clinics are still necessary to keep residents happy.
There’s also been a great deal of work put into shaders in terms of performance and look. Things overall should be a bit shinier now, but more importantly culling objects when they are far away works better now.
The number of shadow casters has been lowered and poly counts have been lowered for some of the more common props, like trees and cars.
Another performance improvement is the way road (and now also vactrain) networks are calculated. This runs on a thread, so it hasn’t been too important to keep it performant. But it has been pushing what is acceptable in terms of poorly performing code so I opted to make some improvements. This should come in handy when people start building huge cities. I’ve also moved this away from being calculated every time step in the game and instead only when a road or vactrain network has actually been changed.
Policy keeps getting minor adjustments. I want policy decisions to matter, while also being costly. So the effects need to be tweaked. It’s also important that not all policy can be implemented at once, but rather implemented as the city grows larger and can afford it.
I’m closing in on finishing up localisations. Russian, Spanish and Swedish are more or less completed. French and German have a handful of elements missing. The Russian localisation required a bit of extra work due to the sizing of text elements being larger. This has largely been fixed, but a bug where the local economy panel isn’t adjusted correctly slipped into the build (whoops!).
I’ve also decided to change the road check for each building from a sphere to a box. This allows buildings to be placed in corners as pictured below. This means that denser neighborhoods can be built and the need for roads is lowered a bit.
Next week, I mentioned vactrains will be finished up. The atmoport building and hopefully also function is on the schedule. Hopefully there will be time to start working on the objective system for the campaign as well. Should I finish those things, only one urgent things remains for the early access release of the game – the retro mode.
Atmocity devlog entry #32

Atmocity devlog entry #32


Work continues on the game! Focus this week has been to finish up the vactrain construction and getting it to section the city properly so that resources are shared in the connected parts of the city. The only thing that remains now is to have actual trains travel through the tubes (will be done next week). Here’s a test with determining what is connected and assigning different network codes to each interconnected system:

The vactrain system will make it easier to section off parts of the city, such as dirty industrial areas, and connect remote residential areas.

The French, Spanish, Russian and Swedish translations have been updated. I’m hoping to get the remaining translation (german) next week, so that this can be implemented as well. This is the last remaining element to get an approved build on Steam. There’s been more work put into policy effects and costs. These adjustments follow a fairly substantial test city that I’ve started building.
I’ve also added some QoL enhancements such as a max output information display when hovering over buildings in the building selection menu.

Another QoL improvement is a grid displayed when placing buildings, blocks or roads. This will make it easier to plan cities.


Next week I will also be working on squashing some bugs and making some minor improvements to systems before I move on to a bit of optimization work. This will lead up to the next version, which releases next weekend.


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