Browsed by
Category: Atmocity

Big update – version 0.37 goes live tomorrow!

Big update – version 0.37 goes live tomorrow!

Hello,

Work on version 0.37 has really picked up this week and it’s now almost ready. It should be live tomorrow as planned!

It’s fairly balanced between new features, optimization and bug fixes. One of the more apparent fixes it that cereal and legume can now be produced by two different types of buildings. The previously available greenhouses are still available but are now more expensive, while also producing more. They are primarily intended for bigger cities. Early on, there are now more traditional looking farms that are cheap, but produce less.

_w35a.png

I’ve also now added in an overpass that can be built on. These function similarly to bridges, requiring a connection on two sides. Once built, they function just like normal concrete blocks.

_w35b.png

In this version, fires are enabled. If a building has very little coverage from fire departments, or crime is exceptionally high, it will run the risk of catching fire. Buildings on fire will be put out over time, but fire might also spread to neighboring buildings. Buildings that are owned by the city need to be repaired manually. Zones on the other hand will be repaired over time. Buildings can also burn down completely, if they are owned by a conglomerate, this will cause unhappiness. More disasters will be added in version 0.38 and onward, starting with minor stuff like heatwaves, blizzards, crime waves and ending with meteor strikes and nuclear meltdowns.

There’s now also a new mode – Atlantis – where the aforementioned disasters are disabled. In this mode, the economy is always booming and most of all – you have the perfect amount of cash at hand at all times!

_w35c.png

Two modes of bulldozing are now available. The original one where blocks, buildings or roads are selected for destruction and a mode where blocks are destroyed, but whatever is built on these blocks is automatically destroyed as well. This will speed up restructing areas.

_w35d.png

Most of the work on optimizing graphics is done for now. Pretty much every building now has a low poly LOD version and a very low poly shadow caster. This has allowed for a better draw distance that can be set from the options menu.
Trees now look a bit nicer too, after some shader adjustments and tram tracks are now textured instead of using a mesh, which is more effective but also reduces aliasing. Resolution scaling options were off causing some performance trouble, this has now been fixed and it should now also work better with TAA to prevent aliasing.

I’ve also fixed a bunch of bugs, among them roads connecting through bridges when placed on the side of a block that also has a bridge and block placement being offset when resolution scaling is not set to 100%.

_w35e.png

Overall, this is a fairly large update with a bunch of new features and fixes. As mentioned, it will be live tomorrow!
As for version 0.38 – this is planned for september 21st. This is fairly far off, but it will also be a fairly large update with plenty new features that require time to brew. After that, I will go back to the two week update schedule I’ve had before.

Upgradable buildings, increased draw distance and more

Upgradable buildings, increased draw distance and more

Hello,

Skipped the devlog last week as I’ve mostly been focusing on boring optimization recently. But now I’m finally getting back into adding new features and improvements.

First of all, billboards are being added in finally. Currently, I’ve only added a handful of static billboards, but will be adding more of these as well as animated billboards.

_w34a.png

I’ve changed tram tracks from meshes to a texture overlay which removes a bunch of unnecessary tris, but also makes them look better at a distance (less aliasing). I’ve also managed to get monorail emission to draw at further distances.

_w34b.png

A result of the graphical optimizations is that I’ve now been able to increase draw distance. To keep the game running well on lower spec rigs, I’ve added draw distance into the options.

_w34c.png
_w34d.png

I’ve started implementing upgradable buildings – nuclear power plants, police and fire stations for starters.

_w34e.png

I’ve also added a bulldozer mode that destroys blocks as well as buildings placed on the destroyed block. This makes destroying stuff faster. There’s more stuff underway, hoping to also get fires added in properly for the next update – which will go live August 31st.

Next version adds lots of optimizations – and seasons!

Next version adds lots of optimizations – and seasons!

Hello,

The next version of the game is almost done and should be live on tuesday. This one is primarily focused on performance and preparing for further optimizations on the graphical side of things (code is fairly optimized already).

The only new feature in the upcoming version is the addition of seasons. This called for recoding the ground texture used in the game, which also meant that seams between buildings could now be replaced. Grass is now mapped in by world coordinates, so building rotation won’t affect grass like before.

_w32a.png

Seasons currently don’t affect trees, that shader work is still ongoing. But here’s autumn:

_w32b.png

I’ve also continued work on LOD:s, but think I’ve gotten to a point where I might need to also rethink shadow casters and baking more things into grouped objects to improve performance further. Verts/tris are also a bit of an issue in some larger scenes.

(New ground shader also makes it possible to set specific colors in the scenarios, like dry grass or snow)

_w32c.png
_w32d.png

I’ve also decided to cut normal maps from building footprints as a lot of them are mostly grass or concrete and the unique normal map does not add much. Instead I use a generic noisy normal map to add a bit of roughness.

I noticed unity also now removed the startup window without a replacement, so I ended up having to incorporate some of the graphical settings into the options menu, primarily texture and shadow quality, as these were set in the window before.

_w32e.png
Modern museums, more roads and a bunch of fixes, 0.35 is live!

Modern museums, more roads and a bunch of fixes, 0.35 is live!

Hello,

It’s been a year since the game went into early access! It’s been a long and challening but fun journey thus far. Although many things remain, there have been many additions to the game since. Water blocks, odd roads, monorails, trams, more than 200 new buildings and a lot more.

The game is now at version 0.35 which features:

– Modern museum building added.
– S ramp added for roads.
– Population condition to grow new densities of zones increased.
– Day/night can now be set using a slider.
– New fountain decoration added.
– Added alternate monorail t-piece to allow for a different rotation. This is more of a temporary fix, due to some restrictions on rotations for vactracks and monorails. A proper solution will be added later on.
– Snow and dust added to retro mode levels snow earth and ruined earth.
– Fireworks added to stadium (trigger randomly) and city hall (trigger every fourth night).
– Building manager script is removed when demolishing buildings so that buildings, when growing or being demolished, are not accidentally saved (causes double spawns on the same location when loading).
– Flat blocks are now merged into a regular 1/8 block when stacked. Existing stacked blocks are not affected by this.
– Happiness formula tweaked.

– Happiness calculation bug fixed. This meant health and education provided way too much happiness.
– Fixed a few special cases where roads would appear as if they connect to a ramp via the side.
– Fixed roads incorrectly connecting from a regular block to a road on a flat block.
– Fixed roads not spawning streetlights (this was due to restricting roads sometimes respawning when new buildings were placed).
– Fixed not being able to build zones near straight monorails, even though placing the monorail after placing the zone would work. (inconsistent collision detection)
– Fixed destruction hologram for lots.
– Fixed materials for some 1×1 and 2×2 residences where normal map was not correctly offset.
– Fixed shadows on water shader for waterprops on buildings.

There’s now a modern museum that will help boost culture in cities:

_w31a.png

Culture has been a bit difficult to increase without plopping operas all over the place – the modern museum should hopefully help increase variation. Culture will be easier to manage once ideological buildings are added (many of which will increase culture).

_w31b.png

I’ve also added some minor details like snow and dust trails in the retro mode levels and some fireworks that trigger in the outdoor stadium and city hall.

_w31c.png

There was a bug related to the new flat blocks and roads, where roads would sometimes thing there was a neighboring tile although that tile was on a different height on a flat block. This has now been fixed. Likewise, sometimes roads would try to connect to the onramp or the twisted road. This too has been fixed.

_w31d.png

I’ve also added a new type of ramp, an s-ramp to make smooth transitions between different heights.

_w31e.png

Overall, this is a rather small update coming directly after 0.34 last weekend. I’m hoping to keep up this pace with smaller, but more frequent updates, for a while to finish up some of the smaller items on the roadmap such as buildings and details. I will try to work on systems stuff in the background, such as disasters and the ideology system.

New road variations as version 0.34 goes live!

New road variations as version 0.34 goes live!

Hello!

Version 0.34 is brewing! Here’s the changelog:
– Indoor stadium added
– Halfsize (flat) blocks added
– Small wind generator added (primarily an early game clean energy building or for use in small neighborhoods).
– Tweaked performance of spacer block shader.
– Road onramps, curved road tiles and twisted roads added.
– Tidied up and made road compilation more robust.
– Improved performance of road compilation further.
– Deprecated old save files (pre early access release). These files will no longer load as it’s become too difficult to maintain compatibility.
– Buildings would assign road connections to straight roads although they were in reach of an already registered road connection (for example a turn or intersection). This meant more roads needed to be processed overall when compiling roads. This has now been fixed. This also affects loading times positively as buildings don’t assign and reassign their connection to roads repeatedly. It also has a moderate positive performance impact on traffic as fewer nodes are travelled by cars when travelling over straight roads.
This change makes it so that the city, once loaded, is connected in steps. As such it will at first display a lower population than when saved, and then in steps establish all connections.
– Additional low poly LOD added for each residential building added. This will not affect performance too much, since residences are generally simpler than commercial buildings, but should cut some tris in the city scene. I’ve also fixed a few instances of buildings having double shadow casters, or missing LODs (and as such overlapping building objects).
– Adjusted lighting to make the “underside” of cities a bit brighter
– Ordered challenges by difficulty.

_w30a.png

A set of new road ramps have been added, among them an inner and outer slope and some twisted roads (pictured below).

_w30b.png

As seen above, a small wind turbine has also been added. This one is not disliked by local citizens and can be used to power small scale neighborhoods.

_w30c.png

There’s a great deal of under the hood work going into this version, specifically regarding roads and how buildings connect to roads to determine what resource network they belong too. I’ve not reached a point where compiling roads is pretty much as efficient as is possible given the way the road system works. When it comes to spawning roads when loading the city, there has also been some improvement in speed. There’s still some room for improvement, but essentially this is now as fast as it can be, given that Unity needs time to spawn road tiles.

_w30d.png

Additional road ramps will be added later on as well as the ability to attach trams on ramps as well.

I’ve started implementing the low detail LOD:s. In this version all residential buildings have low poly versions triggered when the camera is far away.

_w30e.png

Lastly, old save files (prior to EA-launch) have now been deprecated and will no longer load correctly. This is because it is no longer feasible given ungoing changes in underlying systems, to maintain these save files.

Some new road variations underway!

Some new road variations underway!

Hello!

Updated the game the other day to fix a bunch of bugs. Having gotten that out of the way I’m now focusing on new features for the upcoming 0.34 version of the game. Central to this version is the addition of some new road variations:

_w29c.png

I’ve updated the road system to make better use of the newly added node system that is used by traffic. Using nodes I can now add roads with curves etc. Granted, they still need to adhere to the grid and are not customizable, but will still add plenty of design options. Pictured above is a new ramp leading up to the new half sized flat block that will also be added in the upcoming version.

_w29d.png

While working on the new road compilation system, I’ve managed to also optimize it greatly. Compiling roads is no longer a bottleneck, however, roads still take quite a bit of time to load. Overall performance will be a focus in 0.35, with work going into LODs and also performance when roads are being pieced together while loading.

_w29e.png

Along with the onramp, I’ve also added some curved road pieces:

_w29f.png

Later on, I will be adding in a sort of highway type road, with different types of on/offramps. There are also a set of possible and really strange road types, like the twisted road variant pictured below.

_w29g.png
Smaller update before 0.34

Smaller update before 0.34

Hello!

I’ve updated the game to adress a loading bug that caused loading to stall. This only happened when there was a specific high density building in the city and was due to a missing material.

This update also adds a bunch of fixes that have been in the works for the upcoming 0.34 update, that I expect to upload next sunday.

There are a few new features that have been added in now:
– Small quick start template added
– Russian localization expanded
– There is now only a fixed amount of resources available on the global market, meaning they can now run out. The amount depends on global population (which mirrors the city’s population) and the state of the global economy. When times are good, there are less resources available, as there are more buyers
– Increased size of connection area when placing monorail and vactracks

The change to trade will require additional tweaking over time, but is aimed at promoting production of goods in the city, rather than just setting up long time imports. The long time imports will become more viable the larger a city gets and to fix short term requirements for building materials or other resources.

There are a bunch of bugs that have been fixed as well as additional optimization for road compilation. Road compilation has also been changed to work with the upcoming addition of ramps [pictured below], roundabouts and other new road additions. Compiling roads works on a thread and so is usually not noticable by the player, but in the test city I use I’ve managed to bring compilation time down from 32ms to 7ms. In a large user city I’ve tested, compilation time is down from roughly 25-30s to 2,5s. There are two areas of improvement specifically:
– The old system relied on information from when a road is plopped (whether a road has a connection to another road on another plane). This required some additional costly checks that have now been removed.
– The old system checked each tile against each other registered tile (not all road tiles are registered) until it had found all connections. Now tiles that are not viable are ruled out from the beginning. Tiles that are not viable are tiles that don’t share either of x, y or z position, tiles that are on the same plane but face another direction (ie upside down tiles) and tiles that have no exits.

There were also a bunch of checks that could be made more efficient, that have improved performance slightly.

Additional work is needed to improve this further, but compilation time is no longer a bottleneck for larger cities. Instead additional LODs to lower the quality of distant geometry seems to become more and more vital (and will be put higher up on the todo).

The old road compilation system also had a usage case that it could not solve, meaning traffic would end up in endless loops. The new system can handle this case.

– Fix for road connections (affecting pre placed roads) not registering in tutorial
– Improved performance when replacing regular roads with avenues
– Improved performance when demolishing multiple blocks at the same time
– Improved performance of road compilation
– There was a usage case that could not be solved by the road compiler before, this has now been fixed
– Fixed lots sometimes either showing they have water/electricty when they don’t, or the opposite. This was due to demands getting stuck, so if there was water missing when the lot was built, then it would always show as missing
– Tidied upp rotations when cars sweep over edges (they used to lose track a bit)

A proper devlog detailing the new features of 0.34 will be posted tomorrow.

/ Nick

A bit of info on the upcoming version

A bit of info on the upcoming version

Hello,

A bit of a later than usual devlog.
The game had a small update the other day to fix some bugs, among them a rare crash bug that occured when threads would deadlock when exiting to the menu. This is now resolved! The update also tidied up some of the building placement code and fixed some issues with the UI not updating resource costs etc.

The upcoming version is in the works, and I will detail some of the things I aim to have added into the game for 0.34.

_w28a.png

Indoor stadiums! This one is finished already and a given addition in the upcoming update.

_w28b.png

I’ve managed to get a system working for turning animated stuff on during the night and off again during the day. I will be using this system for billboards, which I aim to start adding into the game in the upcoming version.

_w28c.png

Some new decorations will be added as well. This will autoadapt to surrounding decorations of the same type, similarly to the rounded blocks. I’m also adding a flat block that can be used transition between different heights and add even more variation into city design.

_w28d.png

The second density for hotels will be added in, and I should also have a functioning fire disaster in as well as mechanics for putting fires out etc.

_w28e.png

Since public transport will be put aside for a while, next up in terms of systems is to expand on ideology. So that will be getting a bit more work moving forward.

Trams, baseball fields and tennis courts

Trams, baseball fields and tennis courts

Hello,

0.33 is almost ready. On the surface it’s a fairly small update, but it features the complete new traffic system as well as trams, which has taken quite a bit of work and time to implement.

_w27a.png

Trams will get some polish over time, but are more or less finished which also means all public transport systems have now been implemented.

_w27b.png

I’ve started adding in additional early game entertainment buildings – baseball fields and tennis courts.

_w27c.png

There’s also been a lot of work done on fires – the first disaster added into the game, but these will not be triggered in this version as some features are still being tweaked.

_w27d.png

Overall, the addition of monorails and trams, as well as changing the traffic system, has added a lot more life and movement into cities, as well as some much needed city detail. As development moves on, I’m hoping to add more and more props and buildings that are more on a detail level.

_w27e.png
New traffic system underway

New traffic system underway

Hello,

Just a brief update this week, as I’m currently in the process of reworking the traffic system so not much new stuff to show yet. This is in preparation for better traffic simulation, but also to make trams easier to implement.

_w26a.png

The fundamental changes are more or less finished. Traffic simulation was pretty messy before, with cars only javing access to the position of the target road tile. This meant things like driving on the right side could only be handled by offsetting the tile position. Same with leaping over edges, which included a lot of vector math to find whether the next road tile was on an inner corner or outer corner. All of this had to be done on a per car basis, which ended up being a bit heavier than I like. The results were also that traffic was rather floaty, due mostly to the lack of information to guide cars to the next destination.

_w26b.png

The way roads work in the game is that only ends, turns, T and X intersections as well as straight tiles where there’s an “edge leap” are registered. So cars assume that between the current position and the next is a straight path. This would sometimes get messed up making cars travel diagonally when they failed to find the next tile. All this has now been tightened upp, and baked into each registered tile is a node system that forces the car to travel from and to each individual node in the correct order. This makes traffic simulation much tighter and cleaner looking.

With these changes I’ve also been able to add more information into road tiles, so that cars know whether they are nearing an intersection or if they are in the inner or outer lane of a curve (unlike before, when this was handled with clunky offsets). All in all, about 70 lines of code have been cut from cars, mostly vector math. I’ve also been able to add in a simple system of traffic rules, so that cars take turns at intersections.

_w26c.png

This is not all that’s in the works though, as seen above I’m also expanding on the information presented in the city statistics window. Among them a slider for the availability of education seats and hospital beds per student and ill person respectively.

_w26d.png

How much is stored in cisterns and batteries has also been added into the city statistics panel. I’ve also expanded the budget window to add a breakdown of hotel taxes as well as other taxes and costs. This is for 0.33, but beyond that I’m going for a more expansive budget window.

_w26e.png

I’ve currently no release date for 0.33, but july 6th is the goal!