Defective Engine is a custom Friday Night Funkin' engine that offers an efficient source code modding experience.
- Detective Baldi: Programming
- KayipKux: Composer, artist, and sound design
- BerryBoggle: Composer, artist
- Sword352: Programming help
- The Funkin' Crew Inc.: Created the original game
Organized source code with many powerful tools:
- Simple week and level loading
- Individual level classes (Think of Psych or Codename Engine's "song" scripts, but much more powerful!)
- Chart conversion for multiple engines
Several optimizations:
- Notes, sustains, sustain tails, and note splashes are all recycled, which avoids creating tons of new instances.
- Sustains are now rendered as 2 sprites (the "piece" and the "tail") instead of dozens of separated ones.
Other:
- Multiple opponents, players, and spectators
- More than 2 strumlines
- More (and less) than 4 keys
- Character editor
- Options menu
- Support for several targets (cpp, hl, html5)
Follow these steps to build the game:
- Install Haxe.
- Complete haxelib setup by running
haxelib setupin a command prompt. - Install the required libraries by running the following commands:
hxcpp:haxelib git hxcpp https://github.com/HaxeFoundation/hxcpplime:haxelib install limeopenfl:haxelib install openflhaxeui-core:haxelib git haxeui-core https://github.com/haxeui/haxeui-corehaxeui-theme-retro-block:haxelib git haxeui-theme-retro-block https://github.com/haxeui/haxeui-theme-retro-blockflixel:haxelib install flixelflixel-addons:haxelib install flixel-addonshaxeui-flixel:haxelib git haxeui-flixel https://github.com/haxeui/haxeui-flixel
- Finish building the game by running
lime build target(replace "target" with your desired target, like cpp, hl, or html5) in a command prompt.
Bug reports and feature requests through the issues tab are welcomed! Pull requests are fine too, however preferably they are small in size (bug fixes or optimizations). Otherwise, please create your proposal as an issue to gather feedback.
Defective Engine is still in early development. The engine is already very capable, although, if you plan to develop a mod, there are a couple of things to take into consideration:
- Many placeholder levels are currently in-use to test engine features. You would want to remove these if you make a mod. In the future, all placeholder levels will be removed in favor of a finished modding example.
- Defective Engine is not super beginner friendly! There isn't a ton of documentation right now and you can cause a LOT of confusing crashes if you don't know what you are doing! Error handling and documentation will be significantly improved in the near future.