An overhauled (and still being overhauled!) friday night funkin engine that has a more compact charting algorithm, compatibility with higher framerates, an optimized enemy sprite algorithm, and a completed chart! **Controls** Arrow keys/wasd: Press in time with the rising colored arrow icons to avoid losing all of your health (Hint: Follow the rhythm!). p: Activate practice mode (You won't die if you lose your health, good for practicing the chart without starting over multiple times). If you see any bugs or problems, be sure to point them out in the comments! Do not toggle full screen during gameplay as it will cause the chart to be out of sync with the music! The reason the health bar sprites are depicted as nervous when you or the enemy's health is low, rather than dead, is because scratch is a family-friendly website, so I am attempting to make a more age-appropriate interpretation of what happens when the health bar is close to one end. Warning: There is serious syncing issues when running this project on scratch, and other issues that I still intend to fix, otherwise the engine is complete for the most part. Please use turbowarp when running this project; https://turbowarp.org/1053260606?fps=60 If you enjoyed this project, please love and favourite and leave a comment. Like, 70 views, 1 comment and 2 loves and favourites? Come on guys...
**IMPORTANT** This is a base level engine and is far from being usable for mods with intense charts unless you use turbowarp and turn on the "infinite clones" and "250 frames per second" setting, making sure that the compiler is on to run the project in a javascript environment rather than a blockly environment. **7/08/2024** **V1** - Integrated an optimized enemy sprite algorithm into the engine. - Fixed stage sizing and alignment relative to character sprite size. **V1.1** - Fixed a small bug where the new enemy sprite didn't disappear upon a game over. - Added a FPS counter (that uses delta time) to both allow users to evaluate performance and ensure that the animations stay at a consistent speed. **V1.2** - Utilized the delta time to make other animations (such as arrow scrolling) more consistent across high fps. - General clean up of the visual appearance of some code. **V1.3** - minor visual improvements to the health bar - Charting algorithm completely overhauled to be significantly more compact. **V1.4** - Created a completed version of the song chart. **V1.5** - Added practice mode, in which you will not die if you lose all health, allowing you to focus purely on learning the chart. **8/08/2024** **V1.6** - imported updated sprite animation code into the engine **V1.7** - Fixed further animation problems with both boyfriend and "Yourself". **V1.8** - Swapped out the music for "Tutorial" and recreated the entire tutorial chart by hand, as a placeholder song for the engine demo. **V1.9** - Made the chart more challenging by making the enemy do small amounts of damage (3 damage) as they play their side of the chart, which is more accurate to the mechanics shown in the "silly billy" mod that "yourself" originates from. - reduced overall damage and healing from 5 (healing) and 15 (damage) to 3 (healing) and 3 (damage) **V2** - Added new health bar sprites that change based on health. - Made successful arrow hits heal 5 health instead of 3 to give the player a greater advantage. **V2.1** - Added a "winning" health bar sprite for boyfriend, to be consistent with Yourself's health bar sprite having an icon for when you are close to losing. **23/08/2024** **V2.2** - Made long notes fully functional and streamlined/improved the logic used to determine whether the player has successfully hit a note. - The engine itself for the most part is complete, some extra optimisations and refinements could be added here and there but they are not necessary. **Planned updates** - Attempt to improve performance and code readability further through increased optimization and compacting. - Make the player lose health if they spam arrow keys, to stop them from "cheesing" the song. - Make a more family-friendly loss animation (eg: Boyfriend freezes up and then drops his microphone with a defeated-looking expression on his face, as opposed to all the bones in his body breaking). **Possible improvements (Not likely to be integrated, but are valid ideas)** - make a "Yourself" cover of tutorial (Sample his vocals and recreate the melody) to avoid confusion as to who is singing on the enemy side.