This is the repository of Yoshi Engine, a modification of Friday Night Funkin' which allows full modding without source code access.
The documentation is here (in construction), feel free to download it for offline use !
Thanks to PolybiusProxy for the MP4 Cutscene Support !
Also, if you're going to mod it, do NOT include the executable with it, only your mod in the "mods" folder. The goal of this engine is to have one instance of FNF with every mods in it
- Full mod support
- Songs
- Characters
- Stages
- Modcharts
- Custom notes
- Cutscenes
- Weeks
- Credits
- Customization
- Custom keybinds
- Downscroll
- Custom scroll speed
- GUI scale
- GUI Options
- Accuracy mode
- Text quality level
- Timer
- Press delay
- Accuracy
- Number of misses
- Average hit delay
- Rating
- Animated info bar
- Custom note colors
- Custom note skins
- Custom Boyfriend skins
- Custom Girlfriend skins
- Botplay
- Green Screen Mode
- New charter
- Freeplay Statistics
- Developer Mode
- In game logs
- Disables cache
- Character debug mode
- AbnormalPoof for the pretty printing of chart jsons.
- Download an Yoshi Engine mod
- Get the mod folder (in the root or in a "mods" folder, or see instructions)
- Copy over to the "mods" folder
- Restart the engine
- Enjoy !
This is the repository for Friday Night Funkin, a game originally made for Ludum Dare 47 "Stuck In a Loop".
Play the Ludum Dare prototype here: https://ninja-muffin24.itch.io/friday-night-funkin Play the Newgrounds one here: https://www.newgrounds.com/portal/view/770371 Support the project on the itch.io page: https://ninja-muffin24.itch.io/funkin
IF YOU MAKE A MOD AND DISTRIBUTE A MODIFIED / RECOMPILED VERSION, YOU MUST OPEN SOURCE YOUR MOD AS WELL
- ninjamuffin99 (me!) - Programmer
- PhantomArcade3K and Evilsk8r - Art
- Kawaisprite - Musician
This game was made with love to Newgrounds and its community. Extra love to Tom Fulp.
THESE INSTRUCTIONS ARE FOR COMPILING THE GAME'S SOURCE CODE!!!
IF YOU WANT TO JUST DOWNLOAD AND INSTALL AND PLAY THE GAME NORMALLY, GO TO ITCH.IO TO DOWNLOAD THE GAME FOR PC, MAC, AND LINUX!!
https://ninja-muffin24.itch.io/funkin
IF YOU WANT TO COMPILE THE GAME YOURSELF, CONTINUE READING!!!
First, you need to install Haxe and HaxeFlixel. I'm too lazy to write and keep updated with that setup (which is pretty simple).
- Install Haxe 4.1.5 (Download 4.1.5 instead of 4.2.0 because 4.2.0 is broken and is not working with gits properly...)
- Install HaxeFlixel after downloading Haxe
Other installations you'd need are the additional libraries, a fully updated list will be in Project.xml
in the project root. Currently, these are all of the things you need to install:
flixel
flixel-addons
flixel-ui
hscript
newgrounds
akifox-asynchttp
linc_luajit
zip
So for each of those type haxelib install [library]
so shit like haxelib install newgrounds
You'll also need to install a couple things that involve Gits. To do this, you need to do a few things first.
- Download git-scm. Works for Windows, Mac, and Linux, just select your build.
- Follow instructions to install the application properly.
- Run
haxelib git polymod https://github.com/larsiusprime/polymod.git
to install Polymod. - Run
haxelib git discord_rpc https://github.com/Aidan63/linc_discord-rpc
to install Discord RPC.
You should have everything ready for compiling the game! Follow the guide below to continue!
At the moment, you can optionally fix the transition bug in songs with zoomed-out cameras.
- Run
haxelib git flixel-addons https://github.com/HaxeFlixel/flixel-addons
in the terminal/command-prompt.
I gitignore the API keys for the game so that no one can nab them and post fake high scores on the leaderboards. But because of that the game doesn't compile without it.
Just make a file in /source
and call it APIStuff.hx
, and copy & paste this into it
package;
class APIStuff
{
public static var API:String = "";
public static var EncKey:String = "";
}
and you should be good to go there.
NOTE: If you see any messages relating to deprecated packages, ignore them. They're just warnings that don't affect compiling
Once you have all those installed, it's pretty easy to compile the game. You just need to run lime test html5 -debug
in the root of the project to build and run the HTML5 version. (command prompt navigation guide can be found here: https://ninjamuffin99.newgrounds.com/news/post/1090480)
To run it from your desktop (Windows, Mac, Linux) it can be a bit more involved. For Linux, you only need to open a terminal in the project directory and run lime test linux -debug
and then run the executable file in export/release/linux/bin. For Windows, you need to install Visual Studio Community 2019. While installing VSC, 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)
Once that is done you can open up a command line in the project's directory and run lime test windows -debug
. Once that command finishes (it takes forever even on a higher end PC), you can run FNF from the .exe file under export\release\windows\bin
As for Mac, 'lime test mac -debug' should work, if not the internet surely has a guide on how to compile Haxe stuff for Mac.