Skip to content

ItsLJcool/LJ-Engine-Godot

Repository files navigation

LJ Engine (Godot v4.6.1)

This is a Friday Night Funkin' Game Engine designed in Godot, and is meant to be easy to modify / understand so that you can understand how the basic principles of the Rhythm game functions.

Current Features

  • Note, Strum, & StrumLine use Constructors for performance increase, no Scene is attached to the script.
  • Conductor using the "QuarterSeconds Conductor" formula (read the script for more info)
  • Conductor has AudioStreamSynchronized so you can append AudioStreams into it so it will always have the audio's synced.
  • Downscroll uses negative scroll_speed
  • Optimized Note Rendering
    • Only adds the Note to the Scene if it is in the render_limit
  • Uses Resources for Chart, ChartMeta, ChartNote & ChartStrumLine to make it friendly to interact with, and add chart parsing for various engines.
    • Currently only CodenameEngine charts can be parsed as of now
  • Implements a FunkinHelper Utility
    • Currently is used for DirectionType and Animation Remaps for Note Types
  • SparrowAtlas implementaion somewhat based off of FunkinGodot
    • Combined formatting and rotated sprite implementation, the rest I did figure out myself but still credits to cherry 🔥
    • I plan for the SparrowAtlas resource to contain the SpriteFrames, AND the Texture as 1 .tres asset but currently not implemented yet
  • NotePositionRemap to allow custom positioning of Notes
  • MultiAudioStreamPlayer for containing multiple audio players and easier interaction for pausing, and syncing.

About

This is a Rewrite of my old LJ Engine in godot, and this will be better and hopefully the last time I do this since this is like the 3rd time i've done this from the ground up LMAO

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors