DEV

Phantom Totems and Ocean Fires

We continued our progress on our siege system this week with some major improvements. We smoothed out some problems with spawn points and AI pathing to ensure that the mutant hordes don’t get bunched up and nobody feels left out of the carnage just because they appeared on top of a nearby tree. We added a “Max Siege Time” to the Siege Manager that will automatically stop an attack if it has been active for too long and fixed an issue with the siege cooldown not properly being applied after an attack had finished.

While we were in bug hunting mode we took some time to address a few lingering issues on our list. We fixed problems with drone connectivity, Increased shotgun damage, and decreased bullet spread to make the boomstick feel stronger. Torches won’t stay lit when you swim with them anymore and you can no longer place a campfire in the ocean no matter how pretty you think the embers look floating on the waves. The team also fixed a bug where containers in buildings were lootable through walls. While it did make things pretty easy, imagine how boring your favorite bank heist movie would be if the robbers never had to physically go inside the bank to get the money.

The team is focusing on the player construction system to wrap up the week. We’ve updated the persistence system to better clean up totems and construction pieces when they are destroyed or decay. Previously some pieces would occasionally reappear and float in the air like the ghost of bases past. We updated the UI for the construction tool and looked at some concept art of materials besides the thatch we have now for base construction. Below you can see what the new UI looks like and several possible stone design options you might see in the near future.

Responsive image
Responsive image

DEV

Base Boxes and Siege Improvements

This is the first full week of sprint 43 and we have a lot planned. The big items on our list are improvements to our player construction system, diorama updates and completing the AI sieging system. We will also be working on fixing up older features, performance improvements, building crash logging systems, and fixing up any temporary art and bugs.

We finished optimizing the player section, player stats, compass, alert lists, and the map widget. Players need only press M to see where they are on the map now. We imported the latest female mesh and refactored water checks for better ocean vs river vs land detection. We also discovered that players who went for a dip in the ocean would sometimes get “stuck” in a swimming state. As much as we’d all like to swim through our day, the apocalypse is no place to walk around swinging your arms like you don’t have a care in the world, plus it’s really hard to aim a rifle when you’re doing the Australian Crawl. We fixed the bug.

The siege system got a lot of attention in the past week. We defined the sizes of bases that the Siege Manager should consider relevant for sieging. Bases can now only be sieged if the owner is online. We added debug chat messages that will indicate when a siege has started and stopped and the system now stops the active wave when the base’s totem is destroyed. We nabbed a few bugs that popped up with the system as well. We fixed a crash that could occur if a base’s calculated size changed during a siege, a bug where all siege functionality would stop updating if there were too many active sieges at once, and an issue where the wave spawner would sometimes get stuck before spawning the next wave. After all, a siege with only one wave of attackers isn’t really much of a siege.

With all the work we’re putting into launching mutants at player bases we thought we’d put a little time into making something special inside to protect. We started modeling unique containers to stash your stuff inside your base. Below you can see a design for a custom container perfect for holding all your extra equipment and loot.
Responsive image
Responsive image

DEV

Setting Up A Siege

This week the team made numerous AI improvements, worked on the siege system, and added many performance bot updates. We made some adjustments to the AI’s FOV and aggro distance to make sure the horrors of the jungle are properly stirred to action by player activities. We added sound types that will allow AI to only react to certain kinds of noises like gunshots, footsteps, or nearby alerts so our mutants aren’t running through the jungle every time a bird calls or the waves crash. We also fixed a bug involving ranged AI running amok when they couldn’t project an enemy’s location.

With all those improvements in the bag, we continued updating the siege system so our mutants will work better together while trying to overrun a base. We created a Siege Manager that supports defining the waves of AI that will attack the base during a siege. It generates 4 spawn points in a random rotation around the base, broadcasts an event each time an AI is spawned and defines a random chance for a siege to occur every X minutes. We tweaked how the manager determines the size of a base to include things like the number of walls, floors, and other construction pieces rather than just the base’s square footage, making sure that we generate the bloodthirsty horde that’s right for you!

Our testing bots got some attention too. We implemented the attacking of mutants, deer, bear, and wolves, harvesting trees, throwing torches, and shooting guns. The team added tracking of the pawn bots logging in/out, items they added to the world (thrown, dropped, and fired arrows), kills and deaths as well as console commands for stat reports. In their frenzy of throwing torches in the air and shooting anything that moves we found a bug where the bots were just throwing their axes at a tree presumably to harvest wood faster. We explained the importance of axe safety in the apocalypse and fixed the issue.

Lastly, polish on the diorama system continues offering players plenty of things to investigate, loot, or take shelter behind as they explore the world. Here’s a few shots of the latest iteration.
Responsive image
Responsive image
Responsive image