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.
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.
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.
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.
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.
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