A Memory-Driven Action Selection Framework for Scalable Ambient NPC Behavior

Project Supplementary Materials

MSc Project — Department of Computer Science, Western University Author: Eric Buitron Lopez Supervisor: Roberto Solis-Oba

This project addresses the challenge of generating varied, context-appropriate behavior for large populations of ambient NPCs in open-world games without exceeding tight runtime budgets. The core contribution is a memory-driven action selection framework where NPC behaviors are defined as directed graphs of actions and a bounded memory mechanism favors untried or least-recently used transitions, producing behavioral variety without requiring online planning or search. The framework is implemented as an engine-agnostic C++ shared library with a public C API and JSON-defined behavior configurations. It has been integrated and validated in both Unity and Unreal Engine, demonstrating cross-engine portability and sub-linear performance scaling from 50 to 200 NPCs while remaining well within per-frame budget targets.

Publication

Accepted — to appear at IEEE CoG 2026

Eric Buitron-Lopez and Roberto Solis-Oba, "A Memory-Driven Action Selection Framework for Scalable Ambient NPC Behavior," to appear in Proceedings of the 2026 IEEE Conference on Games (CoG), Madrid, Spain, September 1–4, 2026.

BibTeX citation
@inproceedings{buitronlopez2026,
    author    = {Buitron-Lopez, Eric and Solis-Oba, Roberto},
    title     = {A Memory-Driven Action Selection Framework for Scalable Ambient {NPC} Behavior},
    booktitle = {Proceedings of the 2026 IEEE Conference on Games (CoG)},
    year      = {2026},
    note      = {To appear}
}

This entry will be updated with the final page numbers and DOI once the proceedings are published.

Terminology note: The paper refers to non-NPC interactable entities as environment entities. In the framework source code, the project report, and the final presentation, these same entities are referred to as framework entities. The two terms describe the same concept.

Demo Videos

The framework was integrated and validated in two demonstration scenarios. Voiceover commentary will be added in a future update.

Ancient Marketplace (Unity)

30 NPCs across three character types (vendors, guards, visitors) exhibiting ambient behavior driven by the same configuration files.

Dance Club (Unreal Engine)

10 NPCs across two character types (dancers, visitors) in a dance club environment. The same compiled framework DLL drives behavior in both scenarios, illustrating the engine-agnostic design.

Downloads

Framework GitHub Repository

C++ source code, build instructions, and integration headers.

GitHub

Project Report

Full MSc project report.

6.81 MB
PDF

Final Master's Presentation

PowerPoint slides from the final defense presentation.

6.61 MB
PPTX

Unity Sample Project

Sample Unity project demonstrating framework integration, including a reusable C# wrapper layer and JSON behavior configurations.

GitHub

Unreal Engine Sample Project

Sample Unreal Engine project demonstrating framework integration, including a reusable C++ wrapper module and JSON behavior configurations.

GitHub