Fearful Dungeons of MOIPK

FDoM is a simple 2.5D action game written in pure BP 7.0 from scratch in about 30 hours. Originally the project started as an attempt to write a simple raycasted maze in pure Pascal. After adding mouse support and nearest-neighbor texture mapping with fog and simple diffuse lighting the idea to add monsters and some action became obvious ;)

Well, you may say, a decent action game needs some plot. It was the problem, because we haven't any one at the point of completion. Finally, we added some nonsense about drunk guy collecting bottles with self-made alcohol drinks. We guarantee that such a plot would not last forever ;)

It must be noted that development haven't stopped, and in future (maybe not too distant ;) ) FDoM will grow into a full-fledged action game with roleplaying elements (some form of Weird Pacman & Diablo mix ;) ) and, which is the most important, some really decent plot.

Important to remember is that the main purpose of that project is to train software rendering skills, so there'll never be any form of DirectX / OpenGL support.

If you're interested, check out that page regularly. All updates will be posted here.

FDoM 0.99

    screenshot #1 screenshot #2


  • Written in pure BP 7.0 from scratch, doesn't use any units except CRT
  • 320 x 200 (mode 13h) graphics with carefully chosen palette to add depth cueing and simple dynamic lighting
  • Wolfenstein3D-style 2.5D 4DOF raycasting engine (cannot look up/down, all walls are equal in size and perpendicular to the floor and each other, sprites can be drawn with full depth clipping)
  • Bucket-based O( kD ) approximate shortest path algorithm for monster AI
  • Built-in bitmapped font for text-drawing

Known problems

  • Has some nondeterministic behaviour bugs, which are most probably caused by rendering engine. Please recompile the source with LOGGING option defined (simply uncomment the third line of the FDoM.pas) and send the debug.log file to developer's email (see below) if you experience crashes and/or bugs.
  • Very stupid plot
  • Lack of colors results in lack of antialiasing, which is very important on such low display resolutions
  • The engine is heavy and slow, because it was written in a very short time (but with a little tweaking it can be accelerated up to 10x - plan to do that for FDoM2 though).
  • Map drawer activated by the TAB key should be optimized
  • FPS counter is somewhat lying


FDoM 0.99 complete official package (binary + source + textures + map)

The permission to redistribute and modify that source without any sort of confirmation is granted.

It would be nice if you note the original copyrights in the derivatives though.

Short help

  • The objective of the game is to collect 30 bottles of "sam" (self-made vodka) before the monsters (called "monters" according to the so-called "design document" ;) ) kill you.
  • For some reason monters doesn't like you, and will try to kill you. Well, it was really unpredictable, wasn't it? ;) Additionally, there are loads of monsters, but you're a single person in that weird dungeon...
  • Not everything is bad, however. Monsters can attack you from proximity only (e.g. they don't have any range attack mode, at least yet), and you can cast fireballs (don't ask me how a student can cast fireballs ;) ) The amount of fireballs you can cast is limited, but can be increased with the help of battery-shaped power-ups.
  • The're medikits here and there to help you restore your health
  • Controls are : W, S - move forward/back, A, D - strafe left/right, Space or both mouse buttons pressed simultaneously - cast fireball, mouse move - rotate view, left mouse button - move forward, right mouse button - move backward.


If you have made a decent modification to the "official" source and would like to share it, feel free to contact the developer by email (see below). All interesting mods will be posted here.

FDoM 2 (projecting stage)

FDoM 0.99 is written in BP 7.0 with all it's restrictions and deficiences. It was decided to move the development to FreePascal 2.0.2 and use Windows API with OpenPTC Pascal binding (or PixelToaster binding written on my own, haven't decided yet) to replace hardware-related parts of FDoM 0.99. This will allow to use 32-bit (or maybe even floating-point) color modes, higher resolutions, bigger textures of photographic quality, more effective algorithms, etc.

Everything is in design state yet; any proposals are welcome

We Need

  • A complete and well-written design document without any ambiguities
  • A set of maps or really decent map generator
  • Ideas to fully utilise planned features of the FDoM engine v2.0

Already decided

  • To reimplement large part of rendering engine to support:
    • Temporal sampling for vertical antialising / motion blur
    • Precomputed anisotropic filtering
    • Bump-mapping
    • Deformable level geometry / limited heightfields
    • Line sampled AA for the ultimate image quality
  • Increase the number different monsters, weapons and spells (you proposals are welcome)
  • Add the doors, lifts, pushers and other conditional geometry which would enrich game tactics
  • Create some decent plot and a set of levels for walkthrough
  • Add support for multiple floors and stairs/lifts between them

Developer email:  nlo_one[ at ]mail.ru