Home Report an Issue /docs/design-philosophy/

Enigma Engine’s Design Principles

When working on the Enigma Engine project, I’ve had several goals to direct development of features for the engine. Enigma Engine should be:

Practicing and experienced rhythm game players want features like downscroll and accuracy reports to help them improve, and those who want a special challenge should be able to use modifiers like Hardcore.

All that fancy stuff for pros should be optional, and players wanting a stable and standard FNF experience should be able to find it with Enigma. No more frustratingly hard to use, no more frustratingly hard to learn. Just a simple, intuitive experience.

The ideal end goal is that a person should be able to create a basic full week mod, with custom songs, characters, stages, and cutscenes, without touching a line of code.

The modding system provides a system of script hooks, FAR more powerful than Lua modcharts can be, with near-limitless potential to allow hooking into the game without recompiling it. Custom note types, custom menus, and more.

Enigma Engine is free, open source software, and should be available to anyone who wants to make a rhythm game mod or use it for their personal projects. In the spirit of open source, Enigma Engine is distributed under the Apache 2.0 license.

Contributions and bug reports are welcome, and we will to respond to them as quickly as possible.

Some users experience problems with flashing lights and colors and options should be available for them. Other users have special needs in terms of controls; while many use keyboard others use things like gamepads, guitar controllers, or special controllers built for rhythm games. Enigma should provide support for all of these.

One major feature in development is native support for localization. Modders wanting to make their creations available in French, Italian, German, Spanish, Russian, Portuguese, or whatever language they want should be able to substitute dialogue and even assets (like logos) without requiring advanced coding knowledge. The base game should be available in multiple languages, and mods should be able to be translated into any language.

Mods such as vs Rosie and Doki Doki Takeover support localization, but this is hardcoded into the game.