BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//pretalx//pretalx.com//pyconde-pydata-2026//speaker//RCRAQE
BEGIN:VTIMEZONE
TZID:CET
BEGIN:STANDARD
DTSTART:20001029T040000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
TZNAME:CET
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20000326T030000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
TZNAME:CEST
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
UID:pretalx-pyconde-pydata-2026-S9VSCV@pretalx.com
DTSTART;TZID=CET:20260415T161500
DTEND;TZID=CET:20260415T164500
DESCRIPTION:### **DungeonPy** – an interactive Dungeon&Dragons app for re
 mote campaigns\nAs a matter of fact\, tabletop RPGs are secretly distribut
 ed systems: one canonical world state\, many clients\, lossy links (player
 s)\, and strict access control (“no peeking at the DM notes”). This ta
 lk introduces **DungeonPy**\, which evolves a Python D&D companion from tw
 o local app – a Pygame battle map and a PySimpleGUI initiative/condition
  tracker – connected by lightweight TCP messages\, into an authoritative
  server with multiple role-aware clients. The result is a fully real-time 
 interactive setup\, where the DM controls the full state and can reveal in
 formation selectively – under the hood it’s all about client intents\,
  server validation\, state updates\, event broadcasting and periodic snaps
 hots. We will cover protocol design (deltas vs snapshots\, ordering/idempo
 tency)\, server-side view projections (DM omniscience vs per-player truth 
 and fog-of-war)\, UI-safe concurrency\, and testing your homemade message 
 bus without summoning race conditions. Expect patterns you can reuse in an
 y stateful client/server app – just with more goblins.
DTSTAMP:20260412T141854Z
LOCATION:Dynamicum [Ground Floor]
SUMMARY:Roll for Architecture: DungeonPy – A D&D Companion as Server + Th
 in Clients - Francesco Conte
URL:https://pretalx.com/pyconde-pydata-2026/talk/S9VSCV/
END:VEVENT
END:VCALENDAR
