Can DuckDB Run Multiplayer DOOM? I am glad you asked…
- Readers
- Torsten Grust
The SQL dialects of contemporary relational database systems are very expressive and—in principle—admit the formulation of any computational task. That’s a bold and italic “any” for a reason: since its inception in the 1970s, modern SQL has become a Turing-complete proramming language and for many years now, our research group explores the far-reaching consequences, technical challenges, and limits of SQL’s expressiveness.
“If SQL is so great, then can you implement DOOM?”, I hear you ask. Yes, SQL certainly can and this student research project will provide further evidence that our favorite relational database system DuckDB is an awesome platform to implement multi-player DOOM on. Graphics will be simple and text-based, but we will use raycasting, render a 3D game view as well as minimaps, and provide a true interactive gaming experience.
This has been tried before but, to be frank,
DuckDB did fare so-so only. You will try again and do it better! We will
build on the goodies built into DuckDB’s extensive SQL dialect (e.g., using
recursing USING KEY CTEs) or its brand-new Quack inter-database
remote query protocol and, generally, don’t be shy to play all DuckDB-specific tricks
available (you will certainly invent new tricks even).
We need you to be well-versed in SQL (ideally you have attended the Advanced SQL course) and are willing to dive deep into DuckDB (our courses TaDa and DiDi provide some material to get started). If you love gaming and/or computer graphics, that certainly helps, too.