I have absolutely zero plans to continue this project. I'd rather fork the vanilla engine once the rewrite comes out instead.
Powerful modding support using my probject, dashlink is planned in the future (among other things). Contact me directly if you care at all about the future of this project and anything related to it. My goal remains the same, I will just pursue it through other means.
Psyche is a fork of Pysch Engine that focuses on extensibility and maintainability. The projet's goal is to produce a cleaner, easier-to-use, faster, and more powerful engine. A side goal is full OS parity (Windows and *Nix operating systems should work fine together).
Pysche is is intended to build upon Psych Engine, keeping backwards-compatibility while adding new features and functionality for modders and players. Lua support will not be maintained past whatever is added to Psych Engine. Forks that clean up and add features may be merged after some discussion.
See the planned features document.
I've been waiting nearly two months for a pull request as simple as one that changes a couple compilation flags (see: ShadowMario/FNF-PsychEngine#700). I do not want to endure Shadow Mario's PR process. In addition to that, I also have my own design philosophies and nitpicks that should not interfere with the development of Psych Engine, and am less tolerant of 9-year-olds on my repositories.
If you wish to view both Psych Engine's credits as well as Psyche's credits, please view CREDITS.md.
Featured here are exclusively unique steps required to build Psyche. Psyche does not use some of the additional libraries that Psych Engine uses. The latest version of Haxe, HaxeFlixel, etc. are required. Figure out how to install these using a pre-existing tutorial.
The engine originally used as a base for the 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 modding alternative for those that are unfamiliar with Haxe.
Additionally, the interpret
haxelib is used as well (haxelib install interpret
). LuaJIT is not used in this project.
If you wish to contribute, you will also need .NET 6.0 installed (https://dotnet.microsoft.com/en-us/download/dotnet/6.0) in order to run the included code generator.
Whenever a new class or interface is created, please run _generate.bat
(or _generate.sh
) to generate an updated ./source/fnf/psyche/api/EnvPopulator.hx
file. You should format this before opening a pull request.
In progress.
Original Psyche Engine features can be found below.
- Lua modding support.
- The engine's main attraction;
.lua
files are compiled at runtime and can be freely distributed without modification of the source code. - Comes with a menu for organizing, enabling, and disabling mods.
- The engine's main attraction;
- At least one change to every vanilla week:
- Week 1:
- Daddy Dearest's left sing sprite has been updated.
- Previously-unused stage light textures are now used.
- Week 1:
- Week 2:
- Boyfriend and Skid & Pump both have "Hey!" animations.
- When lightning strikes, a quick light flashes and zooms the camera in slightly.
- Added a quick transition/cutscene to Monster.
- Week 3:
- Boyfriend has a "Hey!" animation during Philly Nice.
- The climax of Blammed flashes different colors.
- Week 4:
- Improved hair physics for Mommy Mearest and Boyfriend.
- Henchmen will die during all songs.
- Week 5:
- Bottom Boppers and Girlfriend do "Hey!" animations during Cocoa and Eggnog.
- On Winter Horrorland, Girlfriend bops her head slower in some parts of the song to adjust for changed rhythm.
- Week 6:
- On Thorns, the HUD is hidden during the cutscene.
- The Background Girls switch to their "spooky" sprites during the "Hey!" parts of the instrumental.
- Cool new chart editor and countless bug fixes to the vanilla game.
- You can now chart "Event" notes, which are bookmarks that trigger specific actions that were typically hardcoded in vanilla.
- 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 in 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 make mod creation easier.
- Works both for source code modding and pre-built binaries!
- Story Mode menu rework:
- Added a different background to every song (save for Tutorial).
- All menu characters are now in individual spritesheets, makes modifications 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 sixteen example achievements that you can mess with to understand their functionality (check
Achievements.hx
and search forcheckForAchievement
inPlayState.hx
).
- Options menu:
- You can change note colors, delay and combo offset, controls and preferences there.
- In the "Preferences" menu, you can toggle downscroll, middlescroll, anti-aliasing, framerate, low-quality sprites, note splashes, flashing lights, and more.
- You can change note colors, delay and combo offset, controls and preferences there.
- 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 have been clean-room backported (background colors on freeplay, note splashes)
- You can reset your score on freeplay/story mode by pressing the reset button.
- You can listen to a song or adjust Scroll speed/damage taken/etc. on freeplay by pressing space.