gophengine

command module
v0.0.0-...-0c22c5f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 25, 2024 License: Apache-2.0 Imports: 23 Imported by: 0

README

GophEngine logo

🎤 GophEngine

English 🇬🇧 | Slovenčina 🇸🇰

Status: work-in-progress

Go Reference Go Report Card

GophEngine is a Go implementation of Friday Night Funkin' v0.2.7.1 with improvments.

[!NOTE] This is a mod. This is not the vanilla game and should be treated as a modification.

Why?

I made this for a couple of reasons:

  • I wanted to make a easy-to-use Go (my fav programming language) modding API for Friday Night Funkin' (my fav game). Something like MinecraftForge but for FNF.
  • I also wanted to fix everything what's wrong with the vanilla FNF engine and add some more features and improvments.
  • As a protest against FNF v0.3.2 .
    • I made this in response to FNF v0.3.2 (the Weekend 1 update), which introduced highly violent and graphic cutscenes where my favorite character, Boyfriend, is killed, and replaced with Pico. These changes significantly alter the tone and experience of the game in a way that many Boyfriend fans, including myself, find upsetting.
    • The purpose of this "fork" is to remove the violent and graphic cutscenes introduced in FNF v0.3.2 and to restore Boyfriend and other narrative elements that were negatively impacted.
  • I just wanted to rewrite Friday Night Funkin' in Go.
Why Go?

Go is my favorite programming language and I don't wanna learn Haxe.

Naming

"Goph" means Go Gopher (Go programming language mascot) and "Engine" means FNF engine. I wanted to call this funkin-go, but "I made a mod with GophEngine" just sounds more natural than "I made a mod with funkin-go".

Building & installing (from source)

Build instructions for GophEngine are available in BUILDING.md.

Notable tools and libraries

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package assets provides access to the embedded FNF assets.
Package assets provides access to the embedded FNF assets.
internal
anim
Package anim implements animations.
Package anim implements animations.
anim/animhcl
Package animhcl allows loading from external HCL files (see `assets/images` for examples).
Package animhcl allows loading from external HCL files (see `assets/images` for examples).
character/boyfriend
Package boyfriend implements Boyfriend as defined here: https://github.com/FunkinCrew/Funkin/blob/v0.2.7.1/source/Boyfriend.hx
Package boyfriend implements Boyfriend as defined here: https://github.com/FunkinCrew/Funkin/blob/v0.2.7.1/source/Boyfriend.hx
config
Package config implements a simple key-value store used to securely store game save data and high scores in a non-human readable binary format.
Package config implements a simple key-value store used to securely store game save data and high scores in a non-human readable binary format.
state
Package state implements the states.
Package state implements the states.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL