~/talk

Let’s Use An Automated Theorem Prover To Verify Video Games; I Swear This Is More Fun Than It Sounds

Talkat linux.conf.au 2021 · 2021-01-23..01-25· [testing]
links:none on file
slides:none on file

Uses the Z3 SMT solver via its Python API to encode RPG decision variables (booleans and integers), check satisfiability of intertwined win conditions, and produce concrete models of required player choices or prove impossibility. Demonstrates finding Mass Effect 3 constraints that either allow or forbid the quarian/geth peace, extracting an unsat core to pinpoint conflicting rules, and using the optimizer to maximize or minimize companion approval in Dragon Age. Also finds unreachable voice lines and other scripting holes.

AI-written summary · about

  1. 0:00Start
  2. 6:08HOW TO SAVE TWO SENTIENT SPECIES IN 6 EASY STEPS
  3. 6:54THE ACTUAL MATH, PART 2
  4. 8:49PROPOSITIONAL LOGIC
  5. 9:14LOGICAL OPERATORS
  6. 25:27APPROVAL RATINGS ARE INTEGERS
  7. 32:16FURTHER READING
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.