~/talk

Building a Game Engine for 300 DEFCON Hackers to Smash

Talkat GopherCon 2020 · 2020-11-09..11-13· [game-development]
links:none on file
links:none on file
slides:none on file

A custom game engine and a set of stateless bots power a narrative CTF that runs over Slack using Go and GORM, handling 300+ players across 146 teams for a $10,000 grand prize on August 11, 2018. The platform seeds real-looking OSINT SIGINT HUMINT artifacts, exposes a Slack-only interface with six bots (including a check-answer bot and handler), supports live hint escalation, survives rate limits and hot patches, and only one team completes the full game.

AI-written summary · about

  1. 0:00Start
  2. 3:01Host a unique, immersive, capture-the-flag event Spend a lot of money on event and players Engaging story narrative with 1:1 interactions with a Handler
  3. 4:30A Hacker has broken into Space-Y Player is an analyst working with an intelligence agency Players find a deeper conspiracy involving aliens, Darknet arms dealers, and the fate of Earth itself The Story
  4. 8:28Support real-time interactions with hundreds of players Secure and Resilient Check Submitted Flags and keep State per team Realistically interact with players (programmatically) Register teams and validate email addresses Ensure rules compliance Etc... Requirements
  5. 12:30Game Engine: API, holds all interaction logic Bots: Series of Slack and other bots that ferry messages/actions between players & the Handler Slack is the only player interface to the game. Architecture: Overview
  6. 28:30Hit a snag during the team data migration from registration to the game engine We were patching code up until 8 minutes after game launched Slack rate-limited our registrations 7:25 AM - 10:30 AM Launch
  7. 30:35Instituted a number of abuse counter-measures in the engine/bots One unforeseen avenue of abuse was exploited Only had to ban one team
~/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.