EVENT DETAILS
Large-scale character simulations for real-time games such as Dwarf Fortress and
interactive experiences such as Bad News involve both large numbers of interacting sub
simulations and very large numbers of entities being simulated. This complexity is hard to
achieve at scale while also operating with real-time performance constraints.
Logic programming and rule-based systems are often chosen for tasks such as social
simulation because their use of declarative rules and predicates map well to rules of social
engagement. Unfortunately, they are often quite slow, due in part to its heavy use of pointer chasing, dynamic allocation, garbage collection, and runtime type-checking, making it difficult to use for large numbers of characters or high-frequency updates. Bottom-up execution of logic programs can provide the declarativity of logic programming without the performance issues for appropriate tasks. We argue that large-scale character simulations are a "sweet spot" for bottomup logic programming.
Despite the benefits of using such a performant bottom-up logic programming language
for creating large-scale character simulations, these simulations still often need to encode many of the same things - characters, locations, interactions, and relationships to name a few. These regular components can be described as temporal entities (things that come into and out of existence) and most simulations must typically track the set of temporal entities that exist in the current simulation step as well as their states, the events of these entities creation and destruction, and, when needed, the set of all temporal entities that have ever existed. However, without a standard language with which to describe temporal entities the creation of data structures and access patterns to encode for temporal entities could vary wildly depending on use case, and maintenance of all this extra code (code not directly involved in game logic) would be an unnecessary burden on developers. In this thesis we will argue that temporal entities can be declaratively authored from an ontology-based representation while still maintaining playable framerates. We present Simulog,
a very high-level declarative language for large scale character simulation based on ideas from the formal ontology literature. We will attempt to show that an ontology for these entities allows for the expressive and flexible creation of social simulations, enabling one to declaratively author a simulation with these ontological statements while maintaining very good performance.
TIME Wednesday July 8, 2026 at 6:30 PM - 8:30 PM
LOCATION 3001, Mudd Hall ( formerly Seeley G. Mudd Library) map it
ADD TO CALENDAR&group= echo $value['group_name']; ?>&location= echo htmlentities($value['location']); ?>&pipurl= echo $value['ppurl']; ?>" class="button_outlook_export">
CONTACT Jensen Smith jensen.smith@northwestern.edu
CALENDAR Department of Computer Science (CS)