Skip to content

Assorion/FNF-Assorion-Engine-Mirror

Repository files navigation

Friday Night Funkin' Assorion Engine!



Table of Contents


⚝ | What is Assorion Engine?

Assorion Engine is a simple and minimal Friday Night Funkin' engine with a focus having the tiniest and easiest to mod source code possible in a HaxeFlixel-based engine. Every source file has had work done to it, so the code will look completely different to the base game source code.

The main goal is to create a dynamic and malleable codebase, where making big changes will not cause (m)any unintended side effects. As such, Assorion Engine doesn't have many features that are standard for other engines; Things such as Discord RPC, cutscenes, or mods folder capabilities. Since said features are often not used in every mod released, it makes more sense to only implement what a specific mod requires.

⚡ | Why choose Assorion Engine?

1. Clearer variable names:
Assorion Engine has more verbose variable and function names, making it easier to understand what the code is doing. The engine also uses "camel case" for every variable, function, and even the assets, making it more consistent.

2. Much smaller code:
There is not as much code to sift through with Assorion Engine, as there's only 4 folders within the source directory and each source file tends to be quite small. E.G: PlayState being under 600 lines of code.

3. Easier to compile:
Assorion Engine is very lenient when it comes to compiling. There are only 5 dependiences (6 if HXCPP is counted) which the engine needs to compile. The game will also compile with Haxe 4.0.0 up to Haxe 4.3.6, and Flixel 5.0.0 up to latest.

4. Less hacky:
There is an emphasis on avoiding weird compiler tricks or modifying the underlying Flixel, Lime, or OpenFL source files. Assorion Engine is simple and straight forward, without having to modify the source code for it's dependencies.

5. More portable:
With less dependencies comes less problems when porting. Assorion has been compiled for Windows and Linux (32bit and 64bit), MacOS, Windows 2000, NetBSD, and even Haiku.

🗒️ | Important Notes

  • Assorion Engine is based off 0.2.6 version of the base game, though has been radically altered
  • Assorion's chart editor has been completely overhauled
  • Assorion allows skipping most transitions by hitting enter twice
  • Botplay does not count scoring or health. This is intentional to stop cheating
  • Chart speed will change depending on BPM; This is a known early bug that will never be fixed
  • Ratings (E:G Sick or Bad), losing and gaining health, and menu positions are inaccurate to the base game
  • Porting other mods is very hard. Charts, characters, and weeks are handled much differently
  • The players in a song are handled dynamically, and are not hardcoded to Opponent, BF, GF.

Branches

Branch ideas list
Assorion Branch's Windows Linux HTML5 (WEB)
Assorion-Main
Assorion-Base
Assorion-3D

Until the primary Assorion Engine repository is finalized, the following branches listed above will not be worked on.

🖼️ | Screenshots and Builds

Take a look at screenshots here.

If you want to try out the engine you can acquire releases here.

🛠 | Compiling

For Windows:

  • Install Haxe
  • Run haxelib setup in CMD. Using the defaults is fine
  • Install libraries below
  • Run haxelib run lime setup in CMD
  • Clone (or download) the source code
  • Install Visual Studio (tested on 2017) with the Windows SDK and MSVC
  • Open CMD within the project root folder
  • Run lime test windows in CMD

For Linux:

  • Install Haxe using your package manager
  • Run haxelib setup in your terminal
  • Install libraries below
  • Run haxelib run lime setup
  • Clone (or download) the source code
  • Make sure both gcc and g++ commands work. If not, install GCC using your package manager
  • Open your preferred terminal within the project root folder
  • Run lime test linux in your terminal

Libraries:

Run haxelib install <library name> replacing <library name> with these libraries below:

  • hxcpp
  • lime
  • openfl
  • flixel
  • flixel-addons
  • flixel-ui

If you're confused:

The original game's compiling instructions should be attiquete. There are also a few helpful resources on YouTube and other places if needed.

⚠️ | License

GPL-3.0 Public License, Version 3, 29 June 2007

Under the terms of the GPL-3.0 Public License, Assorion Engine will be free and open source and anyone using this project thereafter acknowledges being bound under the GPL-3.0 Public License's conditions, and making their variant of the project open source.

Project authored and maintained by Legendary Candice Joe.

About

Mirror of the new official Assorion repository. Click the link below for the official repository.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages