sinshu / Managed Doom
Programming Languages
Projects that are alternatives of or similar to Managed Doom
Managed Doom
Managed Doom is a Doom source port written in C#. The entire code is manually translated from Linux Doom with some effort to make it natural C# code. Most functionalities necessary for single player game are implemented, and now it's in the playable state.
Screenshots
Demo video
https://www.youtube.com/watch?v=9_tncwL7qvM
Todo
-
Software renderering
- [x] Front-to-back rendering using BSP
- [x] Wall texture mapping
- [x] Ceiling / floor texture mapping
- [x] Transparent textures
- [x] Diminishing lighting
- [x] Sky rendering
- [x] Sprite rendering
- [x] High resolution rendering
- [x] Optimization
- [x] Fuzz effect
- [x] Palette effects
-
Game
- [x] Collision detection
- [x] Player movement
- [x] Player attack
- [x] Monster AI
- [x] Doors and platforms
- [x] Animated textures
- [x] Demo compatibility
-
Audio
- [x] Sound
- [x] Music
-
Misc
- [x] Status bar
- [x] Automap
- [x] Title screen
- [x] Intermission screen
- [x] Menu screen
- [x] Save / load
- [x] Screen melt animation
- [x] Config
- [x] DeHackEd support
License
Managed Doom is distributed under the GPLv2 license.
Managed Doom uses the following libraries.
- SFML, CSFML and SFML.Net by Laurent Gomila (zlib license)
- C# Synth by Alex Veltsistas (MIT license)
- TimGM6mb by Tim Brechbill (GPLv2 license)
SFML uses the following libraries.
- FreeType (GPLv2 license)
- libjpeg (public domain)
- stb_image (public domain)
- OpenAL Soft (LGPL license)
- libogg (BSD-3 license)
- libvorbis (BSD-3 license)
- libFLAC (BSD-3 license)
References
-
The Game Engine Black Book: DOOM by Fabien Sanglard
If you want to understand the big picture of the rendering process in Doom, buy this one.
https://fabiensanglard.net/gebbdoom/index.html -
The Unofficial Doom Specs by Matthew S Fell
http://www.gamers.org/dhs/helpdocs/dmsp1666.html -
MUS File Format Description by Vladimir Arnost
https://www.doomworld.com/idgames/docs/editing/mus_form -
Chocolate Doom by Simon Howard
Chocolate Doom is used as the reference of compatibility tests.
https://github.com/chocolate-doom/chocolate-doom -
Crispy Doom by Fabian Greffrath
The minimal HUD is imported from Crispy Doom.
https://github.com/fabiangreffrath/crispy-doom -
Doom Wiki
https://doomwiki.org/wiki/Entryway -
Eternity Engine DeHackEd / BEX Reference
http://eternity.mancubus.net/svn/trunk/docs/dehref.html