Like last week, some time this week was sadly lost to being ill. Luckily, the second half of the week has been really productive and I’ve managed to finish up some of the lagging systems.
The main focus the past few weeks has been to overhaul the traffic system. This is now fully complete. The old system relied on raycasting between each road tile to determine viable routes. This was obviously bad design, but done to have “something” for Dreamhack. Now, the system instead registers nodes from road crossings, turns and road tiles where traffic will leap over an edge. Using this information, each node can be given viable exit directions that is fed to vehicles.
Where the old system could handle something like 50 vehicles in view at the same time, the new system has been stress tested to run 1000 vehicles visible in scene at 60 fps. Given culling etc, this is a number unlikely to ever occur in any given view, but it’s good to see how well it can perform.
Here’s the system being tested:
And going crazy of course:
Being able to display a large number of vehicles is of course nice, but was not the only ambition when overhauling the system. I’ve been struggling to work out a good way to see what buildings are connected to eachother. Using the registered nodes, I can now compile a full network. Basically checking every node in the system, so if node A has exits to B and C, then A, B and C are naturally in the same network. If every road is connected, then there is only one network in the city. But if there are two separate systems, then two networks are formed instead. Using this information I can now divide the city into two or more sections and have production and consumption calculated on a section by section basis. When built, each building is assigned what network it belongs to. All the network calculations etc. are done on a separate thread so they should scale very well.
Next week, the final step in the road system overhaul will be changing the actual tile size.
Having finished the mid tier industry buildings last week, I’ve moved on to finishing the high tech industry this week. With that, only 10 buildings remain for the EA release of the game. That means I’m actually a bit ahead of schedule and should be able to start making a few decoration tiles for city customization. Here’s the high tech industry and an early decoration tile:
Following the changes to the policy system, I have now started implemented more policy and should have a decent set of policies finished for the update next week. The main issue at the moment is being able to present them in an appealing way that makes clear what they are for. But that should be a process over time.
/ Dispersing Minds