Database Systems

Can DuckDB Run Multiplayer DOOM? I am glad you asked…

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.

DOOM implemented in pure SQL, rendering text-based. Source: CedarDB.

“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.