000012.en
December 11, 2025
I made a Doom port with Flutter and dart:ffi
Premise: I've always wanted to dive into the Doom source code and study it, but for one reason or another, I never got around to it; a lack of available time and a healthy dose of laziness being the culprits. Until now.
It has been precisely one year since I started working with Flutter for both work and personal use. While the app at my day job helped me learn the Flutter environment, it's essentially just management software revolving around CRUD operations. This isn't particularly stimulating from a pure computer science standpoint, as it mostly involves building views, buttons, and connecting them to backend services written in PHP.
In contrast, I use my personal projects as an opportunity to push boundaries and work on more interesting things. Anyone who reads this blog or follows me on Twitter knows I'm currently working on an Omnichord synthesizer emulator. That project features a UI written in Dart/Flutter, with the audio engine implemented in C++, all linked together via the marvel known as dart:ffi.
This is the point where I'd like to begin, because about two weeks ago I asked myself: Can Flutter run Doom?
It has been precisely one year since I started working with Flutter for both work and personal use. While the app at my day job helped me learn the Flutter environment, it's essentially just management software revolving around CRUD operations. This isn't particularly stimulating from a pure computer science standpoint, as it mostly involves building views, buttons, and connecting them to backend services written in PHP.
In contrast, I use my personal projects as an opportunity to push boundaries and work on more interesting things. Anyone who reads this blog or follows me on Twitter knows I'm currently working on an Omnichord synthesizer emulator. That project features a UI written in Dart/Flutter, with the audio engine implemented in C++, all linked together via the marvel known as dart:ffi.
This is the point where I'd like to begin, because about two weeks ago I asked myself: Can Flutter run Doom?
comments





