Browsed by
Category: Atmocity

Atmocity weekly update #16

Atmocity weekly update #16

Hello!
A somewhat shorter week of dev, given christmas is just around the corner (merry christmas to all!), but there has been some progress with the game.

First off, the bond and trade system has been fully implemented and now works with saving and loading. The bond system allows players to lend money, that after 100 time units, needs to be repaid with interest. The interest rate is calculated from the global economy and the economic status of the city.

Atmocity

The options menu has been expanded to feature more settings. Aside from splitting things up into different categories, depth of field now has a focus distance setting. The camera rigidity settings has been implemented into the options. This setting allows players to set whether the camera is rigid or floaty.

Atmocity

I’ve added a demolish building Icon, to move demolition from the right mouse button. This makes much more sense given the controls in general. There needs to be a marker added to show what is going to get demolished though. But that will be done next week.

Atmocity

I’ve started refactoring and optimizing some code, namely the UI related code and the car code. The car code is almost refactored, but in doing so I reintroduced a bug where the cars loop around, so this will need to be adressed soon.

Atmocity

Overall, the game runs fairly well on my main rig now. It will be interesting to see how it runs on other rigs, and how other people experience the game, now that the early beta test is just around the corner!

Atmocity

/ Dispersing Minds

Atmocity devlog weekly update number 15

Atmocity devlog weekly update number 15

Hello!

Another week of mostly systems work, but there should be some eye candy too. :)

I’ve focused quite a bit on performance this week. One of the main issues I’ve had has been global fog and sunshafts being fairly bad in terms of performance. So I decided to phase these out in favor of newer assets that hopefully are more performant. To replace the old global fog I decided to shift from version one of the post processing stack to the new version which includes global fog. This meant redoing some of the post processing effects. I consider this work worth the time though.

W50a.png

I also implemented Aura for better looking lighting. I think it gives the game a softer look, which works fairly well. Replacing the post processing also meant I gave the effects another look and did some tweaking to get performance where I want it.

W50b.png

I’ve also started working on separate profiles for the normal view and the efficiency/owner/density views. I want the latter ones to be rather clean and simple looking and give the city a sort of “model of a city”-type look.

W50c.png
Since I’ve updated to Unity 2018.3, I’ve also started looking into the jobs system to add more improvements in terms of performance. I spent a great deal of time trying to implement traffic onto its own thread but had no luck with this sadly. I will probably revisit this idea after the initial EA release since traffic performance is fairly ok as is anyway. I did, however, move traffic raycasting over to the raycastcommand feature, and this seems to have improve things a fair deal. :)

W50d.png

I’ve continued to work on the local economy system. There’s now a system in place to allow conglomerates to buy/sell property from eachother. This means the conglomerates that establish themselves in your city early on, won’t be clustered there over time. I’ve also started working on the conglomerate demand/offer/bribe system. Conglomerates will demand you change policy from time to time if they are unhappy. If you decline their demands they will half production, slow growth in buildings or not construct new ones. Conglomerates will also make offers for you to buy resources that you might need off-market, or offer to buy resources you have a lot of. Lastly, they might attempt to bribe you into making a policy change and in return give you money or resources. There’s a chance you will be discovered doing this, in which case citizens will become unhappy and maybe move away.

The last bit of systems work I’ve done this week was to start implementation of the trade system. Aside from buying/Selling resources directly on the market you can place long term purchse/sale orders. This means you’ll have a slow but consistent import/export of resources, which doesn’t affect pricing as much. This will allow players to make steady sales when they have a lot of goods stored, or if they are running low, start a steady import stream without affecting the price too much.

W50e.png

A maximum of 5 sale orders and 5 purchase orders can be held at the same time. Each time unit buys/sells 100 units of a good, so at most, users can ensure imports or exports of 500 units per time tick. This will allow players to make up for big surpluses or when they are running dangerously low on something in high demand.

Next week, I will be finishing up the trades system and also add the bonds system (a loan system essentially). Aside from that, the local economy will get more work as well as starting work on the budget panel.

/ Dispersing minds  

Atmocity progress report #14

Atmocity progress report #14

Hello!
It’s been a productive week. Mostly under the hood stuff and mostly optimizations and bug fixes.

I’ve redone the control scheme slightly, moving the demolish action from the right mouse button to a separate button in the UI. Right mouse click now anchors the camera to a structure so that players can more easily get the camera around corners or rotate around buildings. Rotating the camera has been moved from left click to scroll wheel click. I’ve also tweaked the “floatiness” factor a bit more and this will be implemented into the options menu in the upcoming week, allowing players to adjust how rigid or floaty they want the controls to be.

Atmocity

I’ve added better lighting to the “shady side of the world”. This has been an issue for a while, that certain areas will always be worse lit. I’ve tried to compensate this by adding a dimmed light that is always opposite the sun. It will need further tweaking, but should end up solving the issue. This also works as an additional “night light”, making building easier during night time, if players insist on keeping the day/night cycle on at all times.

Atmocity

I got the save/load menu fully implemented too. The UI still needs work, but in terms of function it’s all there, thumbnail of the city and all included. I also managed to clean up some lousy placeholder code because of this too as well as removing what used to be a “loaded city”-scene and a “new city”-scene. This is now just one gameplay-scene, if it’s loaded with no city loaded, all the new city stats and resources will be loaded as well as a solitary building block placed in the center.

Atmocity

As an additional visual feature, I will implement several different skyboxes and day/night gradients. Exactly what types there will be, I haven’t yet decided, but there should be quite a few to add more variation.

Atmocity

Having done quite a bit of code optimization (some scripts were lagging behind in terms of optimization), next week I will get into refactoring some of the newer code, like drag and drop for building blocks etc. This code is rather messy atm and requires a good cleaning. I’ve also done quite a bit of UI-optimization, splitting up large canvases and also getting rid of some graphic raycasters on canvases where there are no clickable objects.

Atmocity

Local economy should also be finished enough to get it into proper testing next weekend, after which I will be able to set up conglomerate and citizen demand systems. Overall, I am behind schedule, but should have time to catch up after christmas. The game is not quite as finished as I would like for late alpha/early beta, but it’s good enough I reckon.

/ Dispersing Minds

Atmocity weekly devlog entry 13

Atmocity weekly devlog entry 13

Hello,

Dreamhack came and Dreamhack went. I’d like to start out thanking those that dropped by and checked out the game. It’s always nice hearing that the game looks good or looks cool, but a completely different thing seeing people actually try it out and responding to things. Many people seemed very intrigued with the main concept of the game, being able to build really inventive cities while also managing complex economic systems.

w49a.jpg

Of course, I also noticed some things that need fixing and also received some very good feedback. I will detail some of the fixes I’ve made, feedback received and some other fixes I’ve done since the event and also what will go into the game as I move forward to the early beta build.

Unlike most city builders, Atmocity requires a fairly complex camera system so that players can navigate around the city. Most builders fare well enough with just a top down camera, that can move east/west/north/south. In Atmocity, players need to navigate within a volume in full 3D. With this comes a bunch of difficulties that need to be overcome. Most of the people who tried the game out did ok with the camera, but I did get some good pointers on how to improve it further. So in the upcoming few days, the options menu will be fleshed out with a Controls-panel. Here, there will be a sensitivity slider, since some players wanted the controls to be more rigid, while others felt they could be softer and floatier.

Aside from that, there will also be a type of sideways rotation or “lean” feature implemented, so that players will be able to easily setup the camera on level with the overall area they’re viewing. Currently this requires a bit of a specific click and drag movement to do. Zooming will be implemented on the scroll wheel, and clicking the scroll wheel will initiate the camera drag movement. Currently the drag movement is assigned to left click, but this will be used solely for building selection.

At the moment, demolishing buildings is weirly assigned to the right mouse button click. This will, as has been planned for a while, be moved to a hot key and button in the building panel. Instead, the right mouse button click will be used to “attach” the camera to buildings, so that it can rotate around them easier.

These changes should be implemented in the upcoming few days. Navigating mazes like this should become easier:

w49c.png

I discovered a handful of minor bugs, among them a null ref due to cars not despawning correctly when buildings were demolished. This has been fixed, as has the efficiency display shader not displaying correctly on skyscrapers.

I’ve also continued optimizing the game during the week. The reflection probe now uses time slicing so that it isn’t quite as performance heavy as before. I’ve managed to cut some shadow casters, removed hidden faces and made some other minor (per object) optimizations that make a rather sizeable difference in bigger cities. I’ve also managed to cut down on the tri count from shadows by cutting shadow casting distance a bit. This scene maxed out at 1.5 million tris and 1000 shadow casters before, I’ve now gotten it down to 900k tris and 300-400 shadow casters (depending on the number of cars in the scene):

w49b.png

Further improvements will be made making far LODs even more low poly, since they are hidden in fog and blur anyway.

An idea that came up at Dreamhack, to make building weird cities more of a functional choice as well as visual, was to make pollution not spread through blocks. This will be implemented in an early version too. This means that unlike now, when building factories within a specific radius from Residences will cause a penalty, you will be able to plan cities so that factories can be built on one side of a block and residences on the opposite side. There will probably be some sort of balancing issue with this, and I will need to implement it well for it to work well and not make city planning too easy.

w49e.png

My initial plan for the upcoming beta was to have everything more or less implemented. Sadly, some systems are still a bit too underdeveloped to be used properly, so some will be left out during the early stages of the beta. But I am hoping to get them done early to mid january so that they can be properly tested in good time before EA release too. Local economy system is still proving quite difficult, but should get there fairly soon.

The remainder of the week will be spent optimizing traffic further and adding the connection testing that buildings will do to ensure connectivity with key buildings like power plants and water absorbents. On top of that, the save and load manager will be started so that more than one city can be saved and loaded.

w49d.png

There will be Another update on Sunday. For those interested in trying out the beta, beta signup information is available on the Steam page for the game (https://store.steampowered.com/app/779380/Atmocity/).

If you want to more closely follow the development of the game, you can also join Discord, https://discord.gg/CeUuyS9

(Also vote for the game on IndieDB: https://www.indiedb.com/games/atmocity)
/ Dispersing Minds
Atmocity progress update entry 12

Atmocity progress update entry 12

Hello!

This week I’ve been putting in a lot of polish to make the game more presentable for Dreamhack next week.

First notably, the traffic system is now in. It’s still fairly basic with cars just moving and not really abiding to any rules. It’s also not as performant as it will need to be further down the line. I’m going for some sort of ECS solution later on, but there hasn’t been time to fix that now. It works for now at least. 🙂

Atmocity

A gif of the cars in action, prior to some further polish, can be seen here:

Currently, all buildings spawn two vehicles, but later on I will probably make this one per non growable buidling, and then make it 1-5 for residential and commercial buildings so that traffic levels sort of follow the density and size of the city more.

Atmocity

I’ve had to put in quite a bit of effort optimizing the game further. I’ve moved shadow casting over to the lowest poly LOD for each building, which lowers poly count for shadow casting. I also decided to cut having four shadow cascades and instead go for just the two. This cuts the poly count down further, without too much of a cost visually.

Earlier, I’ve run the game at an FOV at 60, which has now been increased to 80. There will be an FOV-slider in the future, of course. But keeping things consistent allows me to find some sort of base-performance level.

Since finishing up the current version of the traffic system I’ve also added in cars as props for each building. This of course adds more shadows and polys to the scene, but I’ve managed to offset this with the above improvements. Also, as all props, cars are grouped together when a building is constructed.

Atmocity

The day night cycle system has also been optimized, removing some lousy code and also fixing some minor bugs (sun sometimes displaying at night for instance). I’ve also given it a few tweaks to improve visual fidelity. The “Always night” and “Always day” options are not fully implemented as well proper menus for fast forwarding.

Atmocity

Since adding the click and drag function for building blocks and roads, I’ve also decided to add a new Visual queue to guide players to what’s going on and allowing them to follow what “rotation index” they’re current only.

Atmocity

All in all, the game runs fairly well on my rig at a consistent 60 FPS. Currently textures are pushing memory a bit (4GB only for textures). But they’re mainly 4k textures, so I will be adding a downscaling feature to allow lesser rigs to run the game with lower texture quality.

The buildings are all event driven so they are very performative. All calulations run on a separate thread to allow for complex calculations to run without hickups. Cars are currently the main source of performance drop along with post processing effects (On CPU and GPU respectively).

All in all, I’ve managed to get into a faster pace of development recently, which is good since after Dreamhack I will focus on getting a first early beta version out to testers (signup info on Steam!). This is scheduled for December 16th!

/ Dispersing minds

Atmocity weekly progress update – #10

Atmocity weekly progress update – #10

Hello,

First off, Correcture Games will attend the Indie Playground at Dreamhack Winter in Sweden at the end of the month. Atmocity will be showcased and you can have a go at some gravity defying city building!

I’ve spent most of the week working on systems in the game. The traffic system is now functional, but needs quite a bit of work so that it looks good, spawns and despawns vehicles and just overall adds to the atmosphere of the game.
There’s quite a long ways to go, but at least cars don’t freak out when going around corners (that was a headache to fix).

W45e.gif

I’ve started reworking some of the building placement stuff. Before, all buildings would be assigned a random rotation when built. Now I’ve changed it so that building rotation is controlled by the player using the scroll wheel. Buildings can still be rotated when they’ve been placed too. Here are some farms freely placed. :)

W45a.png
Next up, I’ll be changing block and road placement to allow players to assign areas with blocks and roads instead of having to place one after the other. This should allow for quicker construction of the foundation on which you build the city. Being able to click and drag where to place roads is also standard in most games of this type so it’s a given to add.

I’ve added a building register that assigns a unique ID to each building in the city. This will be used along with the traffic system to assign a vehicle to each building. Goods are produced and consumed globally, but each building will need access to other key buildings and this will be “tested” using the vehicles. The building register also allows for quicker processing when using the different view modes (like building efficiency view or building owner view) among other things.

W45d.png
Policy is on ongoing project. I’ve changed how tax rates affect citizen happiness from a somewhat consistent curve to one that allows you to set fairly high tax rates before truly affecting happiness. This should allow for some more player freedom, but also allows players to set fairly high tax rates if they have other things that offset the unhappiness from higher taxes.

W45b.png
The tax rates are still divided into three, targeting low/mid/high skilled labour respectively. The effect of taxes on happiness will also depend on how large the proportion of the targeted class is compared to the overall population. If you have a small low skilled labour population you will be able to tax them higher without losing out too much on the overall happiness.

I’ve also finally managed to get the graphs looking more up to my own expectations.
W45c.png
Lastly, I’ve implemented toggles for day/night, always day and always night into the UI. When moving the mouse to the top center of the screen, a small options panels slides down. From there (and the keyboard of course) players will be able to set the game speed (paused, normal, 2, 4 and 8x).

Next week I’ll continue work on cars, doing some modelling/texturing and trying to finetune movements and then adding some basic path finding and traffic rules. I’ll be working on drag and drop for blocks and roads and also some initial work on decoration tiles that can be used to improve your city visually. More policy is also on the schedule!

/ Dispersing Minds

Atmocity weekly progress update #9

Atmocity weekly progress update #9

Hello,

This week I’ve been revisiting making buildings for the game.

I’ve focused on commercial buildings this week having finished 5 new buildings.

Atmocity

That means I’ve finished another full set of commercial buildings.

Atmocity

When finishing up this set and placing all commercial building sets next to eachother I decided to switch them around a bit. The above one was initially intended as the upper middle class set, but after reconsideration I’ve decided to make it the lower middle class set.

Atmocity

The set that was formerly the lower middle class will become the new middle class, and the former middle class will become the new upper middle class. I’ve also decided that post release, once there is time, I will expand each residential and commercial set with one more (a sixth) density. I’m also considering three classes (low, mid, upper) of single or possibly dual density commercial and residential buildings with smaller “foot print”. This would allow players to zone left over space. These sets should be available for the initial early access release of the game.

I’ve not only worked on buildings, but also continued work on the traffic system. Unfortunatly, this is proving slightly more difficult than expected. Hopefully by the next devlog I will have more info and maybe a gif to showcase the progress.

Next week I will also continue work on the middle tier of industrial buildings, and hopefully I can finished it too, as these tend to be fairly simple to make.

Atmocity

That’s it for this time!

/ Dispersing Minds

Atmocity – weekly progress update #8

Atmocity – weekly progress update #8

Hello!

This week I’ve mainly worked on systems and bug fixes.
Most of the squashed bugs have been buidlings not setup correctly (box colliders, layers etc), so nothing huge has been found.

On the systems side of things, I’ve started implemented policies. First off simpler stuff like tax rates. Currently I’ve got tax rates for low, mid and high skilled labour implemented as well as commercial and industrial tax rates.

Atmocity

Along with the tax policies I’ve also added a new city stat – happiness. This depends on overall health, education and wealth levels as well as on current levels of pollution and tax rates. In the future I will add unemployment and safety into the mix as well. The level of happiness determines how fast your city grows, when happiness is too low, citizens will start to move out of the city.

Atmocity

A system for traffic is also in the works. Currently this is rather simplistic – cars are spawned and then drive around with no goal or purpose. The concept I’m working on should end up working though, but will require a few more weeks before it is fully functional and looks good.

Atmocity

Only one new building has been made this week – The centrifugal particle extractor. This building serves the same function as the atmospheric particle filtration plant, namely to filter out carbon, metal dust, sand etc. from the atmosphere for use in other production facilities. The centrifuge is more expensive and requires more electricity and water to function properly, but on the other hand pollutes much less. The idea is that this building will become viable only after having built a sizeable city.

Atmocity

I’ve tweaked the screen space reflections a bit and found a good balance between visuals and performance. It looks good especially during nights I find.

Atmocity

Atmocity

That’s all for this week. More stuff next week!

/ Dispersing Minds

Atmocity, weekly update #7

Atmocity, weekly update #7

The game will be updated on Steam fairly soon, this makes the third alpha version. After the next update, the game will move onto beta-testing for which I will involve more testers. The hope is to have most of the buildings and underlying systems ready for the beta, although some of the ui etc. will be underdeveloped.

This week I’ve finished the upper middle class tier of residences. This means that cities will now spawn the highly skilled labour required for the third tier industry (medicine and jewelry among others) and buildings like clinics and hospitals.

Atmocity

Prior to changing the buildingblock size, buildings grew out of the blocks. To prevent buildings from popping in, they were contrained to the same size as each block. Since there’s now a completely new sequence for when buildings are constructed (still WIP but detailed in earlier post), this limitation no longer serves a function. As such, the top densities for the upper middle class residential and commercial zones will be taller. This can be seen here:

Atmocity

This should make for more interesting city silhouettes once players start building for highly skilled labour.

The upper middle class and upper class tiers have high demands, Requiring buildings such as the library to be built nearby as well as consumption goods such as jewelry and processed food.

Atmocity

Since I recently added medicines as a resource, clinics and hospitals have been updated to require medicines as an input to function properly.

I’ve updated the UI to work with a new class – Window. Some ui-functions will be window based, like the options menu and global economy view. This class is used to manage windows better and make sure that if one is open, it’s closed before a new one is opened to avoid cluttering up the screen.
Options have been implemented in a fairly limited, but functional form. It allows toggling some of the more demanding visual features.

Atmocity

Moving into next week I will get back to work on traffic, which sadly didn’t make it into this update due to time constraints. The upcoming week will be heavy on systems work, like road connectivity and resource distribution systems. I should be able to finish a few of the remaining 30 buildings left for the EA-release of the game.

Atmocity

/ Dispersing minds