Another slightly delayed devlog, due to running out of time to do a write-up yesterday.
The past week, progress has been slow as I’m finishing up some remaining work at my day job. After this week, I will return to my previous position, which means more normal working hours and a more normal work load which will mean more dev time.
I’ve primarily fixed minor bugs and performance issues and continued working on the political map and policies. I’ve also added another challenge level, seen below.
I’m in the process of adding information on what policy affects what into the econopedia. Here you will also be able to see how each policy affects your position on the political map.
I’ve been polishing traffic further, and am working on a shortcut for when a building registers a road tile as it’s road connection tile. This is needed to speed this process up when a city has many registered road tiles (ie, in a big city). The performance hit currently isn’t huge, but a fix is still required to be able to increase the maximum atmosphere size.
I’ve also continued work to fix traffic from glitching out. There is currently an issue where if a road is destroyed, traffic will still spawn from that point and shortcut to a specific road tile. Hopefully I have a fix for this going now.
In the upcoming version 0.17, I’m hoping to have added some additional policies and also added locking conditions for some of them, so that some can only be enabled once certain buildings have been placed. After that, I will start adding policies that are only enabled once a player reaches edge cases, such as communism and laissez faire capitalism.
More information on what will go into 0.17 and the prospective release date will follow later this week
Version 0.16 will be live fairly soon. The changes compared to 0.15 are:
Changelog V0.15 -> V0.16
Halloween has come and gone! The pumpkin props have now been put back into storage.
– New challenge added.
– Political position map added. This will be expanded upon over time as new policies are added.
– Cocoa, coffee, tea and processed drinks resources added. These cannot currently be grown/manufactured, this will be added in upcoming versions along with adding these into the citizen demands.
– Inflation now implemented. When there is no national bank, inflation will fluctuate more and affect wages more. Once the national bank is built, an inflation targeting mode is automatically applied (other modes will be added in the future) allowing players to set rates to combat inflation and get stable wages. The system will be tweaked over time as more things are added.
– Canals removed from transportation menu. This has not been active since the early alpha. Once the water blocks are implemented, the canals would be out of date anyway.
– Added challenge difficulty indicators in the main menu.
– Input/output chapter of econopedia finished.
– Particle effects turn off when a building is turned off.
– Autorate mode added in bonds and currency panel. This will automatically target 2% inflation. It allows players to not have to micromanage inflation levels.
– Carbon added as starting resource in free roam.
– Carbon added as starting resource in all campaign levels. This was necessary since carbon was made a vital resource for the carbon power plant (otherwise it forces an import of carbon before the city can start growing).
– Financial transactions tax was based on services available AFTER consumption, making it zero if all services were consumed. Now it’s based on total services produced.
– Financial transactions tax revenue increased.
– Waste calculation adjusted.
– Tax revenues (res, com, ind) adjusted.
– Wage formation adjusted (this affects residential tax revenue as well).
– Trade yields increased. This is a response to move revenue creation from taxes and promote more trade. Trade commisions also increased.
– Cost of a large set of policies adjusted down. Effects have also been adjusted.
Major bug fixes:
– Fix for research effects not being incorporated in building info.
– Fix for cars behaving oddly.
– Fixed vactrains not showing up when loading a city.
– Added fix for buildings sometimes spamming new connections to roads although they already have one. This improves performance when buildings grow in large cities. There will be more of a performance improvement added to this in the next update.
– Cars now get removed properly when home building is destroyed.
– Fix for trade sometimes not registering.
– Fixed issue with completed challenge levels sometimes writing to number of finished campaign levels.
Minor bug fixes:
– Fixed issues with challenge/campaign trade objectives.
– Fixed challenge/campaign trade value being summed up incorrectly.
– Fixed incorrect on click sound for forestry.
– Fix for research progress bar bugging out when high skilled labour is completely missing.
– Fix for bug where bridges could be built under water.
– Avenues now can’t be built over already existing avenues.
– Added destruct holograms for downward/upward vactrack bends.
– Fixed roads not getting street lights when built next to residences etc.
– Fix for roads not displaying street lights on load.
– Fix for double foundations being placed at start.
– Tool tips in trade panel fixed.
– Currency value and inflation value now saved properly.
– Resource requirement calculation optimized (this runs on a thread so it doesn’t make performance better, but prevents issues of values not being calculated in time when the city is large).
– Resource calculation thread made safer. Should now be more stable and not register flickery values.
– SSAA and atmospheric scattering updated. This should improve performance.
– Updated Unity to version 2019.2.
As can be seen, yet again, a lot of time has been spent fixing bugs, improving peformance and adjusting balancing- This is mostly by choice, but also due to a very high work load at the moment. Meaning it has been difficult to find time to properly implement new features. Luckily my current day time job contract is coming to an end, after which my work load will be more normal and I will be able to catch up on items that have been delayed. I still project that I will catch up on the delayed feature additions in december and that the new road map will be live mid to late december.
As for what is in this version specifically:
We see the addition of a food more food resources – cocoa, coffee, tea and processed drinks. These will complement the current cereal, legume, fruit and processed food resources. These will come into play o get buildings to grow to the third or fourth density. Currently the resources are tradable, but not actually used by residents and they cannot be produced. Production facilities will come in the upcoming few versions. Once production facilities are in, the demand trees will be modified so that residents will start demanding the resources.
I’ve also started adding the political position map. This shows players where they are positioned on a gal-tan map according to the policy currently implemented in the city. This takes into account tax levels and policies selected in the policy panel. This will be built upon further and lead up to the implementation of “edge” political cases such as communism and laissez faire capitalism.
This version features a tonne of adjustments of tax revenue etc. First of all, revenue from residents has been lowered slightly and is now fully relative to wage levels. Wages are affected by inflation, so if you run a city with high inflation, wages will drop in real value, meaning tax revenue drops too. Currently there is no hyper inflation or similar. Instead inflation is clamped to max 15%. Commercial and industrial taxes have been tweaked as well but are not affected by wage levels (except industry and commerce will run at lower efficiency when wages are very high).
Costs and effects of policy have also been changed. Mainly health and education policies have been changed, lowering costs and increasing their effects.
Financial tax and wealth tax revenue has been increased a bit and trade yields and commision have been increased (by quite a lot). This way trade becomes a more viable method to combat deficits.
To simplify the early game, carbon has been added as a starting resource on every campaign level and free roam level.
There have also been a fair amount of bug fixes, some major fixes and some minor. A bigger fix is that “flickering” values should now be a thing of the past, since the entire calculation thread has been made more solid. I’ve also managed to speed this thread up significantly which prevents value update ticks from being stalled when they wait for the thread to complete, which was the case in my current large test city.
Missed yesterday’s planned devlog because I was on the road. Upcoming devlogs should be posted on sundays as usual.
Work on systems continues, so like before, images this week are a bit random.
For the update due live on sunday, the game will have been moved to the latest version of Unity to allow an upgrade of SSAA and atmospheric scattering. This means there are some performance benefits in the upcoming version.
I’ve also worked on some other optimizations, among them when vehicles get the position of the next road node. There’s still more work required to get this up and running fully, but it’s getting closer to being finished. I’ve also attempted to fix an issue with buildings checking their connections when the city is loaded. Doing so when the city is large bogs down the game quite a lot but briefly. I’m trying out a fix for this, but the drawback is that it takes longer for connections to get set up. Hopefully I will find a good balance for this for the update.
I’ve also worked on the connectivity and calculation threads. I discovered that the calculation thread specifically was getting very slow on my current large scale build. A city of 150k citizens was clocking in at 300 ms, which gets too close to the calculation cycle time when the game is running at 8x speed. Luckily I have found fixes for these issues and now the same calculation cycle runs in 20 ms. I’ve also improved how the results of the connectivity and calculation threads are handled. There has been an issue where values have flickered at times, this was due to some values being modified in a thread, while also being used outside. This has now been properly adressed, and there should not be issues with this anymore.
I’ve continued work on inflation, and for starters only two simulation modes will be added. One is the default “no monetary policy” setting that the city will run with if there is no national bank. When a national bank is built, this will switch to inflation targeting. I’m still working on the ability to auto set rates to compensate for inflation and to keep inflation stable. This will be important because inflation now properly affects wages negatively, which means you get lower tax revenue from citizens. There’s still work left to do, but it should be ready for the update and then tweaked in versions afterwards.
I’ve also gotten water blocks going. Unfortunatly it’s not certain I can get these finished for the update, since they are proving a bit more difficult than first expected. There’s also a performance issue in the water shader I had intended to use, so I will have to write a new one or modify the one I have, which will take time. It should all be finished fairly soon though – fingers crossed.
Devlog is a day late because I ran out of time to write up the log yesterday. Anyhow..
The past week was pretty code heavy, so images in the post are random shots from the test build I have going currently. It’s a city of 150k citizens. I use this city to test performance at larger scale.
There are a few issues that I have found, and managed to incorporate into the update posted on saturday. One such issue is that buildings, when a city grows, would sometimes spam new vehicles and not removing them correctly when buildings grew. This would cause massive amounts of cars with poorer performance as a result. Another performance issues found and that will be fixed for the upcoming 0.16 version, is that buildings registering road connections gets rather slow when a city is of this size. I’ve managed to improve performance a bit in the saturday update by removing unnecessary connections being made at times. More work is required though.
I’ve also managed to find some obscure issues, among them the calculation for the financial transactions tax being based on services available AFTER consumption rather than before. This tax was also not generating enough revenue.
Progress in adding new features last week was unfortunatly quite slow. The main new feature I’m working on is the addition of water blocks to allow for building water ways and adding lakes. Currently, there is nothing to show here as only the code has been written and I’m still at the boxing stage. But hopefully this will be available in the 0.16 release, if not, it will be in the version after.
In the saturday update I did manage to get a new challenge added. This one is a bit easier than the previous ones, but still does require quite a bit of planning.
As for the 0.16 version, it will be available sunday the 17th of november!