Please note that these instructions are for compiling/building the game. If you just want to play Kade Engine, play in your browser or download a build instead: play in browser ⋅ latest stable release ⋅ latest development build (windows) ⋅ latest development build (macOS) ⋅ latest development build (linux). If you want to build the game yourself, continue reading.
Also note: you should be familiar with the commandline. If not, read this quick guide by ninjamuffin.
Also also note: To build for Windows, you need to be on Windows. To build for Linux, you need to be on Linux. Same goes for macOS. You can build for html5/browsers on any platform.
- Install Haxe 4.1.5. You should use 4.1.5 instead of the latest version because the latest version has some problems with Friday Night Funkin': Kade Engine.
- After installing Haxe, Install HaxeFlixel.
- Install
git
.- Windows: install from the git-scm website.
- Linux: install the
git
package:sudo apt install git
(ubuntu),sudo pacman -S git
(arch), etc... (you probably already have it)
- Install and set up the necessary libraries:
haxelib install lime 7.9.0
haxelib install openfl
haxelib install flixel
haxelib install flixel-tools
haxelib install flixel-ui
haxelib install hscript
haxelib install flixel-addons
haxelib install actuate
haxelib run lime setup
haxelib run lime setup flixel
haxelib run flixel-tools setup
haxelib git linc_luajit https://github.com/nebulazorua/linc_luajit.git
haxelib git hxvm-luajit https://github.com/nebulazorua/hxvm-luajit
haxelib git faxe https://github.com/uhrobots/faxe
haxelib git polymod https://github.com/MasterEric/polymod.git
haxelib git discord_rpc https://github.com/Aidan63/linc_discord-rpc
haxelib git extension-webm https://github.com/KadeDev/extension-webm
lime rebuild extension-webm <ie. windows, macos, linux>
- Note: for Linux, you need to install the
g++-multilib
andgcc-multilib
packages respectively. (use apt to install them.)
- Note: for Linux, you need to install the
Windows-only dependencies (only for building to Windows. Building html5 on Windows does not require this)
If you are planning to build for Windows, you also need to install Visual Studio 2019. While installing it, don't click on any of the options to install workloads. Instead, go to the individual components tab and choose the following:
- MSVC v142 - VS 2019 C++ x64/x86 build tools
- Windows SDK (10.0.17763.0)
This will install about 4 GB of crap, but is necessary to build for Windows.
If you are running macOS, you'll need to install Xcode. You can download it from the macOS App Store or from the Xcode website.
If you get an error telling you that you need a newer macOS version, you need to download an older version of Xcode from the More Software Downloads section of the Apple Developer website. (You can check which version of Xcode you need for your macOS version on Wikipedia's comparison table (in the min macOS to run
column).)
Since you already installed git
in a previous step, we'll use it to clone the repository.
cd
to where you want to store the source code (i.e.C:\Users\username\Desktop
or~/Desktop
)git clone https://github.com/KadeDev/Kade-Engine.git
cd
into the source code:cd Kade-Engine
- (optional) If you want to build a specific version of Kade Engine, you can use
git checkout
to switch to it (i.e.git checkout 1.4-KE
) (remember that versions 1.4 and older cannot build to Linux or HTML5)
- You should not do this if you are planning to contribute, as you should always be developing on the latest version.
Finally, we are ready to build.
- Run
lime build <target>
, replacing<target>
with the platform you want to build to (windows
,mac
,linux
,html5
) (i.e.lime build windows
) - The build will be in
Kade-Engine/export/release/<target>/bin
, with<target>
being the target you built to in the previous step. (i.e.Kade-Engine/export/release/windows/bin
) - Incase you added the -debug flag the files will be inside
Kade-Engine/export/debug/<target>/bin
- Only the
bin
folder is necessary to run the game. The other ones inexport/release/<target>
are not.
Check the Troubleshooting documentation if you have problems with these instructions.