about 2 months ago - faatal - Direct link

I have never updated a BIOS for any game ever.


A null ref is when code accesses an object that does not exist, is very common in development and can happen in tons of places in code. You have to look at the call stack to know what function was doing the access and call stacks are not shown in the console, only in the log.

about 2 months ago - faatal - Direct link

For those CPUs I would definitely update the BIOS if you play any games or any other high performance programs.

about 2 months ago - faatal - Direct link

A container in Unity is a GameObject that holds a bunch of child objects in a group of a similare type and is commonly used in Unity games. In this case we had all spawned vehicles under Entities/Cars. Unity combines all the child object transforms with each root level object in the scene, so adding or removing children, like spawning a vehicle, causes that array of transforms to change and recalculations happen. It is more optimal to just store individual objects in the root and not use containers, but then it is harder to debug a scene with thousands of objects. I have been moving a variety of object types out of containers, like trees, object pools, chunks and now vehicles. Each of these is a small optimization, but added together equals decent gains.


Bloodmoon parties are formed from players near each other. It used to be 30m and now is 80m, which make a lot more sense, since two players could be on the opposite sides of a large base when the blood moon starts and it would be sending separate groups of enemies at each. These parties are not recalculated when you move around, so it needs to be correct at the start of BM.

about 2 months ago - faatal - Direct link

Titanium primarily works on console and doing technical improvements. Occasionally a redesign, like the controller revamp, will be done by one of them.

It means when the TV is on, it plays the sound. Yes, some of our descriptions could be better.


Animal spawns may need to be balanced downward due to my fix with biome spawn timers getting broken, which happened a lot as players entered and then left areas. Part of the fix detects old broken timers, so each area will start spawning again, but the increase may be short lived as it evens out over time.

about 2 months ago - faatal - Direct link

Bloodmoon parties (which is now players within 80m of any other player added to the party) now cap the amount of enemies spawned at one time to 30 (subject to change) to improve FPS. An 8 player group with the default setting of 8 per player, would have gotten 64 active enemies. To compensate for less enemies, the game stage increases based on the ratio. The game has global enemy caps and game stage maxAlive caps, but this helps with the specific case of FPS tanking during blood moons for a BM party.

about 1 month ago - faatal - Direct link

We all work out of a shared code base (trunk) and code has console checks if a feature needs to be enabled or work differently on console. That code base is used to make daily PC/Mac/Linux builds. Titanium also makes console builds of that as needed. Testers can grab those PC/Mac/Linux or console builds whenever they want to update and test. Currently we also merge trunk code changes to a V1 branch for experimental and stable releases as many changes to trunk are only for 2.0.

about 1 month ago - faatal - Direct link

The 64 setting is still there, but the game was already clamping that number with multiple players. Now what the game does with that number is more aggressive. I just played two BMs with two other players with it at 64 and the reduced number of zombies was not missed. We had plenty to kill.

This stuff is not locked in stone. As hardware changes or other optimizations happen, it can be changed.