Friday Night Funkin' - Psych Engine
Engine originally used on Mind Games Mod, intended to be a fix for the vanilla version's many issues while keeping the casual play aspect of it. Also aiming to be an easier alternative to newbie coders.
Installation:
You must have the most up-to-date version of Haxe, seriously, stop using 4.1.5, it misses some stuff.
open up a Command Prompt/PowerShell or Terminal, type haxelib install hmm
after it finishes, simply type haxelib run hmm install
in order to install all the needed libraries for Psych Engine!
Customization:
if you wish to disable things like Lua Scripts or Video Cutscenes, you can read over to Project.xml
inside Project.xml
, you will find several variables to customize Psych Engine to your liking
to start you off, disabling Videos should be simple, simply Delete the line "VIDEOS_ALLOWED"
or comment it out by wrapping the line in XML-like comments, like this <!-- YOUR_LINE_HERE -->
same goes for Lua Scripts, comment out or delete the line with LUA_ALLOWED
, this and other customization options are all available within the Project.xml
file
Build instructions For Android
-
Download
-
Install JDK, Android Studio
Unzip ndk (ndk does not need to be installed)
-
We need to set up Android Studio for this go to android studio and find android sdk (in settings -> Appearance & Behavior -> system settings -> android sdk)
-
And run command lime setup android
in power shell / cmd
You need to insert the program paths
As in this picture (use jdk, not jre)
- You Need to install extension-androidtools, extension-videoview and to replace the linc_luajit
To Install Them You Need To Open Command prompt/PowerShell And To Tipe
haxelib git extension-androidtools https://github.com/MaysLastPlay77/extension-androidtools.git
haxelib remove hxCodec
haxelib git hxCodec https://github.com/MAJigsaw77/hxCodec.git
haxelib remove linc_luajit
haxelib git linc_luajit https://github.com/Sirox228/linc_luajit.git
haxelib git hxShaders https://github.com/JonnycatMeow/hxShaders.git
- Open project in command line
cd (path to fnf source)
And run command lime build android -final
Apk will be generated in this path (path to source)\export\release\android\bin\app\build\outputs\apk\debug
Credits:
- Shadow Mario - Programmer
- RiverOaken - Artist
- Yoshubs - Assistant Programmer
Special Thanks
- bbpanzu - Ex-Programmer
- Yoshubs - New Input System
- SqirraRNG - Crash Handler and Base code for Chart Editor's Waveform
- KadeDev - Fixed some cool stuff on Chart Editor and other PRs
- iFlicky - Composer of Psync and Tea Time, also made the Dialogue Sounds
- PolybiusProxy - .MP4 Video Loader Library (hxCodec)
- Keoiki - Note Splash Animations
- Smokey - Sprite Atlas Support
- Nebula the Zorua - LUA JIT Fork and some Lua reworks
Features
Attractive animated dialogue boxes:
Mod Support
- Probably one of the main points of this engine, you can code in .lua files outside of the source code, making your own weeks without even messing with the source!
- Comes with a Mod Organizing/Disabling Menu.
Atleast one change to every week:
Week 1:
- New Dad Left sing sprite
- Unused stage lights are now used
Week 2:
- Both BF and Skid & Pump does "Hey!" animations
- Thunders does a quick light flash and zooms the camera in slightly
- Added a quick transition/cutscene to Monster
Week 3:
- BF does "Hey!" during Philly Nice
- Blammed has a cool new colors flash during that sick part of the song
Week 4:
- Better hair physics for Mom/Boyfriend (Maybe even slightly better than Week 7's :eyes:)
- Henchmen die during all songs. Yeah :(
Week 5:
- Bottom Boppers and GF does "Hey!" animations during Cocoa and Eggnog
- On Winter Horrorland, GF bops her head slower in some parts of the song.
Week 6:
- On Thorns, the HUD is hidden during the cutscene
- Also there's the Background girls being spooky during the "Hey!" parts of the Instrumental
Cool new Chart Editor changes and countless bug fixes
- You can now chart "Event" notes, which are bookmarks that trigger specific actions that usually were hardcoded on the vanilla version of the game.
- Your song's BPM can now have decimal values
- You can manually adjust a Note's strum time if you're really going for milisecond precision
- You can change a note's type on the Editor, it comes with two example types:
- Alt Animation: Forces an alt animation to play, useful for songs like Ugh/Stress
- Hey: Forces a "Hey" animation instead of the base Sing animation, if Boyfriend hits this note, Girlfriend will do a "Hey!" too.
Multiple editors to assist you in making your own Mod
- Working both for Source code modding and Downloaded builds!
Story mode menu rework:
- Added a different BG to every song (less Tutorial)
- All menu characters are now in individual spritesheets, makes modding it easier.
Credits menu
- You can add a head icon, name, description and a Redirect link for when the player presses Enter while the item is currently selected.
Awards/Achievements
- The engine comes with 16 example achievements that you can mess with and learn how it works (Check Achievements.hx and search for "checkForAchievement" on PlayState.hx)
Options menu:
- You can change Note colors, Delay and Combo Offset, Controls and Preferences there.
- On Preferences you can toggle Downscroll, Middlescroll, Anti-Aliasing, Framerate, Low Quality, Note Splashes, Flashing Lights, etc.
Other gameplay features:
- When the enemy hits a note, their strum note also glows.
- Lag doesn't impact the camera movement and player icon scaling anymore.
- Some stuff based on Week 7's changes has been put in (Background colors on Freeplay, Note splashes)
- You can reset your Score on Freeplay/Story Mode by pressing Reset button.
- You can listen to a song or adjust Scroll Speed/Damage taken/etc. on Freeplay by pressing Space.