~/talk

Challenges and Benefits of Upgrading Sea of Thieves From C++14 to C++20

Talkat ACCU 2025 · 2025-04-01..04-04· [game-development, c-and-cpp]
links:none on file
slides:none on file

Sea of Thieves upgrades its codebase (~6.5M LOC across game + engine) from C++14 → C++20 by flipping permissive-minus then moving through C++17 and C++20, hitting concrete fixes: 215 files/369 diffs to remove MSVC permissive behavior, nested-lambdas gave sizes 8 vs 1 and copy elision surprising 3 vs 1 until fixed, auto_ptr removed by upgrading a third‑party lib, result_of → invoke_result, many default-capture=this rewrites, aggregate/init and spaceship const-operator fixes; first successful compile in ~two dev-days, full submission took months, tests catch six behavior regressions.

AI-written summary · about

  1. 0:00Introduction
  2. 3:58Sea of Thieves history
  3. 10:19C++ upgrade challenges
  4. 20:13Permissive mode priority
  5. 26:52C++14 to C++20 plan
  6. 27:14Two-phase lookup issues
  7. 33:15String literal fixes
  8. 37:47Template test failures
  9. 40:14C++17 auto pointer
  10. 43:02C++20 challenges
  11. 55:41Upgrade stats
  12. 1:00:40Achievements and future
~/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.