Image RSS Feed Latest Screens
Dayz - August Dayz - August Dayz - August
Blog RSS Feed Report abuse Latest News: The challenge and saga of Zombie Pathfinding

6 comments by TheUnbeholden on Aug 20th, 2014

This devblog will be focused on describing the progress with one of our biggest issues: Zombie Pathfinding.


Development Priorities and Pace

Our major focus has been on establishing the architecture, both in the team and in the game, in order to deliver best in the future. This involved us drastically increasing the size of the team working on the game. This had a severe short-term impact on our progress as our existing team had to devote time and resources to training and planning. The new zombie pathfinding is a good example of this approach beginning to produce results.

Some examples of future major changes coming as a result of this new focus:

  • Entirely new rendering system (allowing potential upgrades to DX10 or DX11, ports as well).
  • True multithreading / multicore for servers and possibly clients.
  • Completely new animal AI that mirrors an actual animals behaviors.
  • Redeveloped “action” system, replacing the mouse-wheel scroll action system.
  • Complete refactoring of the inventory system. While not a big change for users, possibly allows some more advanced systems to be implemented and better performance and less bugs.

Background

Zombies have proven to be one of the most difficult to develop components of the game. When we were developing the game we realized that in the time we had, we would need to work within the parameters of the AI already in the engine. In the engine, AI is calculated on a “per agent” basis, with some caching for things like targets (shared target info, etc…). In the mod, this was dropped in favor of calculating visibility and target info on a “per player” approach. This meant that zombies in the mod were simply pawns, activated by players moving around.

In addition to behavior problems we also experienced problems with pathfinding and collision for the AI. We were getting the engine to do things that it was never designed to do, especially regarding interiors of buildings. We attempted to refactor these solutions to accommodate our changes but, as can be seen by playing the current build, they fell short of our expectations. In the end we decided it would be easier to develop a new approach from scratch.

The Challenge

There are many exciting solutions available for pathfinding, it’s fairly standard fare in the video gaming industry. Our problem was not unique, but our situation was: our world is very big yet it requires the same precision as a small one.

The team devoted to solving this decided to use navigation meshes. The serious problem it presented, though, was how to generate these meshes, with nearly 2 million objects on the map doing it by hand would not be an option. So a method was devised to split the world up into grids, and then raycast at a precise interval and generate chunks of navmesh. This is all done during the packing process and “baked” out into data that can be read by the server and client. This uses the wonderful approaches outlined in the open source navmesh project Recast and Detour.

The Results

I spoke to Martin Slavkov, programmer behind the solution, to help me outline the result with some screenshots.

Generating the Navmesh (view Imgur Gallery of generation)

image

A small program was developed to read through the world, load all the objects, and then work its way through tracing billions of lines to calculate the ability to move. This then works out not only where outside you can walk, but inside as well. It gives great precision while still working for a very large scale world both indoor and outdoor. Having a unified solution for pathfinding makes implementation much easier.

Use in-game (view Imgur Gallery of navmesh in action)

The engine is then able to load the chunks in as it needs. It does use some memory (around 600mb extra, maximum), but it only loads the chunks it needs. However as we are moving to 64-bit on the server side, this reduces any potential issues with memory.

image

Performance optimizations can be very significant. Currently the team are working on parallelizing the AI pathfinding function so it can operate on a separate core. With all new functionality we are developing in this way, unfortunately that means that it can take longer for us to develop but the results for performance can be massive.

Previously two different systems were used for navigating AI. The exterior one handled navigation around static and dynamic objects, and an internal “path” system was used for building interiors. This involved artists defining paths that AI could follow. We had to drop this interior method because of the massive performance issues with large numbers of agents.

image

In the screenshot above, you can see a path between two red points. Because the system is now unified it means that more efficient (and more natural) pathfinding solutions are available to the AI, at a fraction of the performance cost as before.

Report from the Lead Artist, Chris Torchia (View Imgur Gallery of new art)


I’m happy to report on the loads of content which will soon hit experimental servers. Recently the Prague and Bratislava studios had our first meet and greet so I was able to get a first hand look at all of the ongoing work by the artists and animators on our new animals. We have a basic implementation of prototype animals that will be swapped out by our Bratislava artist’s work which is looking incredible!


Improvised fishing tackle and a carp were created, which players will be able to catch in ponds. We have also created some filet models which you will eventually be able to cook. This will all add up to be a literal game-changer. Speaking of animals - we also met Big - the office pet tortoise in Bratislava. Hm, that gives me an idea…


Our character artist is further expanding with the addition of a new large-capacity police vest to go along with our ?MON-inspired ???? uniform. We have also started working on EMT, Firefighter, and finalizing the Gorka uniforms.

Fireplaces, Hunting, And being a lumberjack!

We pulled fireplaces and hunting from the previous update in their state at the time, we felt they would hinder gameplay not enhance it. The extra time has been spent improving gameplay aspects and also identifying how we can better support it.

The build to experimental will show the basic structure of how this will work. Chopping wood from trees now gives logs, and after a certain time, the trees will be “expended” and fall over. Tree cutting is done by holding an axe in your hands, and using the mouse-wheel action menu. This is a prime example of why we want to remove the mouse-wheel action system. Instead of this, we envision you simply hitting the tree with the axe and being rewarded with wood - but that is for the future.

Fireplaces can be upgraded with stones, which are recovered from the ground around rocky areas or by hitting rocks with a pick-axe. Fireplaces can be crafted by making a “fireplace kit” out of items such as rags and kindling. Kindling is recovered by searching the forest floor for sticks. All these scavenging aspects need more refinement as part of a new action system, but they’re exciting changes that will pave the way for more complex systems such as horticulture.

Bratislava Team Visit (view Imgur Gallery of the visit)

We visited our team in Bratislava -  they have a TURTLE!


The next update

Our current targets have us putting out builds to stable once a month, a huge inspiration for approach we aspire to is Prison Architect who do this very well. We have no set timeframe for experimental releases, these are done to assist us with preparing for stable releases.

Above all else, it’s vital that people appreciate several things:

  • Different tasks take different amounts of time
  • Priorities for tasks are built around what is needed based on dependencies, not what is most needed to satisfy the game design
  • Scheduled builds are targets, not absolutes. We will delay and postpone builds where we are not confident in their status.
  • Devblogs are no longer scheduled weekly, and are done as often as we can to provide background for our progress.

The Final Word

This is an extremely exciting time for us all as we come out of two months of very aggressive growth. We’ve expanded the team a great deal, taking a huge risk in doing so. That risk is paying off, and we’re excited to see the massive impact that the pathfinding and collision changes will have on the DayZ experience.

Media RSS Feed Latest Video
Downloads RSS Feed Latest Downloads
The Six Updater

The Six Updater

Aug 1, 2012 Full Version 14 comments

This is the easiest way to install Day Z You can all thank me later...

DayZ 1.7 Test Release

DayZ 1.7 Test Release

May 30, 2012 Patch 17 comments

You do not need the ArmA2 beta patch to join (but it is recommended).

DayZ v1.6.0.1

DayZ v1.6.0.1

May 30, 2012 Full Version 30 comments

The lastest version of Day Z for Arma 2 Combined Operations.

Post comment Comments  (0 - 10 of 238)
SinKing
SinKing Aug 21 2014, 2:27pm says:

Why does it still say this is a Arma II: Combat Operations Mod, when it is actually a standalone game, based on the "A Take on Helicopters" Engine?
I was confused about the latest news, wondering why there is so much work still put into the mod for Arma II ^^

+1 vote     reply to comment
Guest
Guest Jun 4 2014, 4:38pm says:

CGC Survival Paradise II Epoch has gone DEDICATED!

Features:
-Better FPS
-Less crashes since we are no longer dependent on DayZ.st like hundreds of other servers!
-Professional website with active community AND ADMINS
-Epoch server with dynamic AI Missions that vary in difficulty and loot that you earn after completion.
-Strong rooted Hero vs. Bandit style map with strategic hangout locations for each.
-Fantastic base-building system in which cinder-block walls, safes, and metal floors are indestructible.
-Locked Vehicles take NO damage.
-Plenty of gear for a faster paced epoch experience! Get right back into the fight WHEN you die!
-Hard working Admins that are always looking for ways to create the most stable server possible for its’ community.
-Server based TS3 for the players.

For more information and official server rules, please visit:

cgcdayz.enjin.com/home and click on the Forums tab; or feel free to register and ask us a question!

Mention this post and we'll give you a safe to get you started! After that, it's all up to you!

Server IP and Port: 198.27.67.93:2302

+2 votes     reply to comment
majorkyle
majorkyle May 10 2014, 10:44am says:

Hi i created zombies in Editor but they are not attacking me i also tried by placing Opfor hidden commander with them but no luck.

+2 votes     reply to comment
majorkyle
majorkyle May 10 2014, 3:47am says:

Hello Guys i am new to DayZ stuff and my question is that what version is required to run DayZ 1.6.0.1?
Thanks in Advance...

+2 votes     reply to comment
Guest
Guest Dec 13 2013, 2:42pm says:

Or you can can download dayzcommander and play epoch with us

+1 vote     reply to comment
AudioGhostX
AudioGhostX Oct 11 2013, 3:49pm says:

Will the zombies still run at you like crazy in the standalone, that's like the only thing stopping me from playing, its bs.

+4 votes     reply to comment
Mkilbride
Mkilbride Dec 4 2013, 8:31am replied:

Agree, so hard.

The zombies spaz out in DayZ and it's one of the reasons I don't like it. They sometimes even noclip and fly through buildings at you.

+2 votes     reply to comment
Painmace
Painmace Nov 29 2013, 10:51am replied:

The latest videos are showing the zombies running in a more normal speed. But they are a bit faster than you, just to make them actually dangerous and be able to catch up.

+4 votes     reply to comment
PwnDailY
PwnDailY Dec 1 2013, 12:44pm replied:

They are actually slower than you but if you aren't careful and one gets you it will likely cause bleeding and a chance of infection

+3 votes     reply to comment
TheUnbeholden
TheUnbeholden Dec 27 2013, 8:29am replied:

yeah they don't zig zag anymore but actually move straight towards you so they can catch up to if you are not careful.

+1 vote     reply to comment
Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Icon
ARMA 2: Combined Operations Icon
Platform
Windows
Contact
Send Message
Official Page
Dayzmod.com
Release Date
Released Jan 21, 2012
Mod Watch
Track this mod
Share
Community Rating

Average

9

454 votes submitted.

You Say

-

Ratings closed.

Highest Rated (7 agree) 8/10

Giving this mod a score when it's in an alpha phase is sort of silly but I'll throw in my two cents What makes this game great is the fact that it really ain't a game, there are no real gimmicks or 'special' game mechanics; it's just you and the rest of the world on a 225 sqr KM map, having to outwit and defend yourself against the elements of nature (gotta find food and water, and stay warm), the undead (they're around the entire country and they're pretty scary to fight in a big horde), and even…

May 31 2012, 12:15am by Smiley_Riley

Lowest Rated (12 agree) 1/10

Very overrated and overhyped for being a mod similar to many others. I find other zombie mods to be much better than this one, considering this is a game of run as far as you can and see what kills you. 1/10 from me.

Aug 4 2012, 6:13pm by Seth1466

Style
Genre
First Person Shooter
Theme
Horror
Players
Multiplayer
Twitter

Latest tweets from @dayzdevteam

@jesussega2 Please feel free to submit a ticket on the Feedback Tracker at T.co and we'll investigate your problem.

7hours 2mins ago

@CodyF09friendly If you submit a ticket on the Feedback Tracker at T.co we'll have a look at the problem.

7hours 4mins ago

@Jesse_McGuire No need to reinstall. We can help if you submit a ticket on the Feedback Tracker at T.co

7hours 8mins ago

RT @bohemiainteract: We're searching for new 3D Animators and Technical Designers to join our teams in Prague and Brno! #Arma3 #DayZ http:/…

10hours 5mins ago

Showed up for PAX setup and met up with the legendary DayZ streamer @SmaKills T.co

11hours 59mins ago

@obiouslyninja67 That'll be perfect

Aug 28 2014, 6:41am

@obiouslyninja67 The latest version is 0.48.124737

Aug 28 2014, 6:40am

@obiouslyninja67 It shouldn't take too long

Aug 28 2014, 6:30am

@obiouslyninja67 Yes, you would have to create an account first.

Aug 28 2014, 6:21am

@obiouslyninja67 No problem. Send in the ticket when you have the time, and we'll get on it as fast as possible.

Aug 28 2014, 5:50am

Embed Buttons

Promote DayZ on your homepage or blog by selecting a button and using the HTML code provided (more).

DayZ DayZ
DayZ
Statistics
Rank
308 of 22,186
Last Update
1 week ago
Watchers
927 members
Files
3
News
6
Features
5
Reviews
98