~/talk

Real-Time Multiplayer on Android: Lessons from NYT Crossplay

Talkat droidCon USA 2026 · on Friday, 2026-07-17· at 09:55· W224 B Workshop Room· [game-development, android]
slides:none on file

A 15×15 interactive board ships as a hybrid AndroidView-in-Compose surface after five rewrites, using Android native drag-and-drop with ClipData because Compose gesture APIs fail across surface boundaries; an eight‑sector drop intent algorithm resolves ambiguous touches on small targets. Three animator pipelines handle submission, opponent and tray shuffle motion to communicate state. Networking uses SSE via OkHttp + eventsource, and the opponent is a QuickJS bot using a directed acyclic word graph. Two years of work with five peak Android engineers delivers a working production game.

AI-written summary · about

  1. 0:00Introduction
  2. 1:24Why NYT built Crossplay
  3. 5:17Architectural overview
  4. 8:27Drag-and-drop tile placement
  5. 12:37Board stayed in Views
  6. 15:46Tile tray complexities
  7. 22:26Custom animation challenges
  8. 30:30Opponent bots & word validation
  9. 35:28Real-time with SSE
  10. 36:54Two years of lessons
  11. 38:40Q&A
~/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.