GDC Festival of Gaming is part of the Informa Festivals Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

March 9-13, 2026
Moscone CenterSan Francisco, CA

Agenda

Supporting Thousands of NPCs in 'Kingdom Come: Deliverance' & 'Kingdom Come: Deliverance II'

Petr Smrcek  (AI Programmer, Warhorse Studios)
Location: Room 3005, West Hall
Date: Tuesday, March 10
Time: 10:30 am - 11:30 am
Pass Type: Festival Pass, Game Changer Pass - Get your pass now!
Audience Level: Intermediate
Track: Game & Production Technology
Format: Lecture
Vault Recording: Video
Audience Level: Intermediate

One of Kingdom Come: Deliverance's most prominent features is the deeply simulated open world. All the NPCs are doing their daily routines and reacting to player actions even when the player is long gone. Kingdom Come: Deliverance 2 not only quadruples the number of NPCs on the map to nearly 2400 but also concentrates around half of that into a single city. To keep the frame times and memory reasonably low, new techniques for the level of detail of the AI simulation had to be introduced, while making the scripting interface as oblivious to the LODs as possible. This talk describes the evolution of AI LOD solutions and optimizations through KCD and KCD2 from a technical point of view.

Takeaway

Attendees will takeaway that it is possible to simulate thousands of complex NPCs in an open world game and run 60 FPS.
It is critical to have a solid plan and limitations set early in the development.
Among helpful techniques belong thread usage, moving standardized logic to code, and knowing what can be stripped away in various use cases.

Intended Audience

The presentation is intended mainly for AI programmers, but secondary also for scripters and other programmers.
No specific knowledge is required. Knowing what a modular behavior tree is may be helpful, but not necessary.