What is Danmokou?

Welcome to the website for Danmokou (DMK), a free and open source bullet hell engine built in Unity.

DMK allows you to efficiently create games that look something like this:

(Screenshot from Spirits in Memetic Paradise)

(Screenshot from Oops! All BoWaP)

(Screenshot from Fantastic Poetry Festival)

Of the bullet hell engines you might find, Danmokou is one of the fastest, supporting over 100,000 projectiles at 4k 120 FPS. Other engines will give you somewhere between 5,000 and 30,000 bullets at a lower resolution and framerate. It is also one of the most efficient for development with features such as instantaneous script recompilation.

The entirety of DMK is written in C# with a little bit of F#, so you can change it freely. The scripting language is a thin wrapper around native C# that makes writing code even more efficient.

Here is a (not entirely complete) feature list for DMK:

100,000+ bullets at native 4k, 120 FPS

Built-in architecture for stage-based games

Built-in architecture for photo games like Shoot the Bullet

Built-in architecture for challenge-based scene games

Efficient compiled scripting language with the same interfaces as C#

Instantaneous runtime script recompilation

Replay support

Dialogue engine with Ace Attorney-style text unrolling

Script analysis and practice architecture

Curved lasers, curvy lasers, and wavy lasers (yes, they're all different)

Arbitrary functions for bullet movement (No other engine supports this!)

Optimized rendering pathway batching 1000+ bullets at a time

Engine handling for complex cancellation pathways

Zero-allocation bullets-- no lag and no garbage collector spikes!

If you're interested in the design of DMK and how it compares to other engines, you can read the design philosophy introduction.

If you want to try playing around with DMK, you can follow the instructions in the setup doc to get started.