DarkEngine
Closed Beta Request access
Build 0.9.4 · Closed Beta · Vulkan 1.3

The engine that puts
physics first.

DarkEngine is a Vulkan game engine written entirely in C#, with fluid and smoke simulation built into the core instead of bolted on. A workflow you already know. Frame times you do not expect.

Proprietary license Windows · Linux via Proton Hot reload under 200 ms
DarkEngine logo
135
avg FPS · GTX 1080 · ultra
7.36
ms per frame at 1080p
1.21
ms CPU frame time
500
MB editor footprint
01 — Architecture

One stack. No translation layer.

Renderer, job system, physics and editor are the same codebase — compiled with NativeAOT and talking to Vulkan without interop overhead.

/render

Vulkan 1.3 backend

Bindless descriptors, dynamic rendering and timeline semaphores. The render graph resolves barriers on its own — no manual sync debugging.

/core

C# without compromise

Spans, ref structs and SIMD intrinsics instead of wrappers. The hot path allocates nothing; everything else still feels like ordinary .NET.

/sim

Native fluids & smoke

A sparse voxel solver running on compute shaders inside the frame graph. No baking, no cache files, full interaction with the live scene.

/ecs

Archetype ECS

Data oriented, but with a real component inspector. Systems run in the job graph across every core and replay deterministically.

/tools

Familiar workflow

Scene view, hierarchy, inspector, prefabs, play mode. If you come from Unity you are productive within an hour — importer included.

/ship

Windows first

Native Windows builds today, and those builds run on Linux through Proton. AOT binaries cold start in under two seconds with no shader hitching.

02 — Fluid & smoke

Smoke that reacts to your scene, in real time.

The solver runs in the same frame as rendering. Move a collider, turn the wind, add heat — no simulation cache, no waiting in the editor.

solver · semi-lagrangian · high quality — fps
Move the pointer to inject forces

Sparse voxel grids

Only occupied bricks are simulated. An empty level costs nothing; a burning village costs what it has to.

Two-way coupling

Rigid bodies displace fluid, fluid carries rigid bodies. Buoyancy, vorticity confinement and temperature are per-emitter settings.

Volumetric lighting

Smoke is ray-marched straight from the density field, with self-shadowing, scattering and contact from scene lights.

Deterministic

Fixed-step solver with a seed. The same explosion looks identical on every machine — the basis for netcode and cutscenes.

03 — Performance

Measured on hardware people actually own.

An eight-year-old GPU that handles modern AAA titles at moderate settings. Standard scene, everything on ultra: one high-quality smoke simulation and high-quality realtime reflection probes, 1920 × 1080.

CPUAMD Ryzen 9 5900X
GPUNVIDIA GeForce GTX 1080
Memory32 GB
Resolution1920 × 1080, ultra preset
Frame budget · lower is better0 – 20 ms
CPU frame1.21 ms
Average frame7.36 ms
Worst frame16.3 ms
60 Hz budget16.7 ms
135 FPS average. Even the worst recorded frame stays inside the 60 Hz budget — with the smoke solver and reflection probes running at high quality.
04 — API

Code that reads like intent.

No attribute magic, no generated partial classes. Systems are methods, emitters are structs, everything is discoverable.

{{ tabFile }}
{{ tabCode }}
05 — Editor

Familiar, without the waiting.

There is no domain reload. Play mode starts in 180 milliseconds and script changes apply while the game keeps running.

HarborFire.descene — DarkEngine Editor 0.9.4
❚❚
Hierarchy
▾ Harbor
Docks_Mesh
Water_Volume
▾ FX
Smoke_Emitter_A
Fire_Emitter_B
Wind_Field
Crane_Rig
▸ Reflection Probes
▸ Gameplay
Perspective Lit Gizmos
1 smoke sim · high quality
CPU 1.21 ms · 135 fps
Inspector
Smoke_Emitter_A
Density0.86
Temperature740 K
Buoyancy1.24
Vorticity0.31
QualityHigh
CollisionTwo-way
editor.memory
≈ 500 MB resident
solver 0.98 ms · sparse
06 — Roadmap

Where the engine is heading.

0.9 · NOW

Closed beta

Renderer, ECS, editor and fluid solver in testing with a small invited group on Windows.

1.0 · NEXT

Stable API

Semantic versioning, asset pipeline v2 and licensed access beyond the test group.

1.2 · LATER

Native Linux

A first-class Linux target instead of the Proton path, plus deterministic rollback netcode.

1.5 · EXPLORING

Hardware raytracing

A path-traced reference view and RT shadows inside the smoke volume.

07 — Access & licensing

Not public yet. On purpose.

DarkEngine is in a closed testing phase — there is no public download. Builds go out individually to testers so that feedback stays close to development.

Closed beta

Invite only, currently a small group of testers. Access is granted per person and tied to a build.

Windows build, delivered directly Direct line to the developer Bug reports shape the roadmap
Request access

License

DarkEngine is distributed under a proprietary license. Source code is not published, and testing builds may not be passed on or reverse engineered.

Proprietary license No redistribution of builds Commercial terms defined at 1.0

Platforms

Windows is the supported platform today. Linux is partially supported: Windows builds run through Proton, a native target comes later.

Windows 10 / 11 · Vulkan 1.3 Linux via Proton, partial Consoles and macOS: not planned yet

Frequent questions

Can I download the engine?+

Not right now. DarkEngine is in closed testing and there is no public build. If you want to test it, send a short mail describing what you would build — access is granted individually.

Why C# instead of C++?+

Modern .NET with NativeAOT, spans and hardware intrinsics gets close enough to native code, and iteration is far faster. The Vulkan layer is hand-optimised; everything above it is readable C#.

Which platforms are supported?+

Windows 10 and 11 with a Vulkan 1.3 driver. Linux is partially supported today — builds run through Proton, including on Steam Deck. A native Linux target is on the roadmap.

Is the beta production ready?+

For prototypes and jams, yes. For a release within the next six months, talk to me first — the asset pipeline will still see breaking changes before 1.0.

Want to build on DarkEngine?

Testing is running, slots are limited and the developer answers personally. Tell me what you want to make.

Legal

Legal notice / Impressum

Information pursuant to § 5 DDG (formerly § 5 TMG)

Jeremy Leon Klink
Forsterstraße 47
06112 Halle (Saale)
Germany

Contact

E-mail: jeremyleonklink@gmail.com

Responsible for content under § 18 (2) MStV

Jeremy Leon Klink, address as above.

Dispute resolution

The European Commission provides a platform for online dispute resolution: ec.europa.eu/consumers/odr. I am neither willing nor obliged to participate in dispute resolution proceedings before a consumer arbitration board.

Liability for content

As a service provider I am responsible for my own content on these pages under § 7 (1) DDG and general law. Under §§ 8 to 10 DDG, however, I am not obliged to monitor transmitted or stored third-party information or to investigate circumstances indicating unlawful activity. Obligations to remove or block the use of information under general law remain unaffected.

Liability for links

This site contains links to external websites over whose content I have no control. The respective provider or operator of the linked pages is always responsible for their content. Should I become aware of legal violations, such links will be removed immediately.

Copyright

Content and works created by the site operator are subject to German copyright law. DarkEngine, including its source code, editor and testing builds, is distributed under a proprietary license; redistribution, decompilation and reverse engineering are not permitted. Third-party brand and product names are the property of their respective owners.

← Back to the start page
Legal

Privacy policy

1. Controller

The controller within the meaning of the GDPR is Jeremy Leon Klink, Forsterstraße 47, 06112 Halle (Saale), Germany, e-mail: jeremyleonklink@gmail.com.

2. Hosting and server log files

When this website is accessed, the hosting provider automatically stores information in server log files: IP address, date and time of access, requested file, referrer URL, browser type and operating system. Processing is based on Art. 6 (1) (f) GDPR for the purpose of technically error-free operation and security. Log files are deleted after 30 days at the latest.

3. Cookies and tracking

This website does not use marketing or analytics cookies and does not embed third-party tracking services. Technically necessary settings are stored locally in the browser only and are not transmitted to the server.

4. Web fonts

Web fonts are used for consistent presentation. If they are loaded from an external provider, your IP address is transmitted to that provider's servers (Art. 6 (1) (f) GDPR). Serving the fonts locally is planned for the production version.

5. Contact by e-mail

If you contact me by e-mail, the data you provide (name, e-mail address, content of the message) is stored in order to process your enquiry. The legal basis is Art. 6 (1) (b) or (f) GDPR. The data is deleted once the enquiry has been dealt with conclusively and no statutory retention periods apply.

6. Beta access requests

There is no public download. If you request access to a testing build, the data contained in your message (name, e-mail address, project information) is processed solely to assess and manage that request. The editor does not send telemetry during the closed beta; optional crash reports are only transmitted after explicit confirmation.

7. Your rights

You have the right to access (Art. 15 GDPR), rectification (Art. 16), erasure (Art. 17), restriction of processing (Art. 18), data portability (Art. 20) and to object to processing based on legitimate interests (Art. 21). You also have the right to lodge a complaint with a supervisory authority — for Saxony-Anhalt, the State Commissioner for Data Protection of Saxony-Anhalt.

8. Status

This policy is current as of July 2026 and will be updated as services or legal requirements change.

← Back to the start page