Hi there.
First of all, my name is Dominic. I am a software developer from Germany.
This project is about converting/porting id Software’s Wolfenstein 3D from C into Rust.
The GitHub repository is public: GitHub - AnnoDomine/wolf3d: The original open source release of Wolfenstein 3D · GitHub
There you can follow the progress step by step.
Vision
I am relatively new to Rust and am becoming more and more a fan of it.
As I like dev videos on YouTube, I saw a lot of “code-review” videos of the Doom code.
But Doom is not the only masterpiece from id. They have created tons of awesome games within the Wolfenstein series, and especially Wolfenstein 3D.
I thought about diving deep into the Wolfenstein 3D C code, extracting every single line and definition, comparing 1st- and 3rd-party libs, and rewriting Wolfenstein 3D in Rust.
What can I say, from vision to decision ![]()
Tech Stack
I do not think I have to talk a lot about the tech stack. I mean, we have C as the base language and Rust as the target language.
So our tech stack is:
- C
- Rust
Roadmap
Basically, there is no specific roadmap. There is more of a goal list which defines each single major integration:
- Initialize the project
- Bring the first picture
- Main menu and settings
- Keyboard input (incl. controller support) and sound
- We can see, we can walk, we can shoot (Dev room)
- Level 1 - ready - fight
- Enemies everywhere
- Now I can kill and interact with the environment
- Rest of the levels
- German censorship (as it was in the 90s)
- Thoughts about the project, what I learned, and possible improvements
What’s next
I created this post to document the single steps. I do not know how often I will update this post and how often I can work on this project.