What is Friday Night Funkin’?
Friday Night Funkin’ is an open-source rhythm game originally created for Ludum Dare 47. Built using HaxeFlixel and developed with love for Newgrounds and its community, the game challenges players to hit notes in sync with the music while battling opponents in rap battles.Open Source
Licensed under Apache 2.0, allowing you to explore, modify, and learn from the source code
Cross-Platform
Supports Windows, macOS, Linux, HTML5, Android, and iOS platforms
Moddable
Features built-in modding support via Polymod for custom songs, characters, and stages
Active Development
Continuously updated by The Funkin’ Crew with new features and content
Key Features
HaxeFlixel-Powered Engine
Friday Night Funkin’ runs on HaxeFlixel, a powerful 2D game framework that compiles to multiple platforms:- C++ for native desktop builds (Windows, Mac, Linux)
- JavaScript for HTML5/web builds
- Mobile support for Android and iOS
project.hxp
Multiple Game Modes
- Story Mode
- Freeplay
Progress through a narrative campaign with sequential songs and unlockable content. Story Mode presents songs in a structured order with cutscenes between battles.
Advanced Features
The game includes numerous sophisticated features:Chart Editor
Chart Editor
Built-in chart editor for creating custom note patterns (enabled on desktop builds with
-DFEATURE_CHART_EDITOR)Stage Editor
Stage Editor
Design custom stages with character positioning and visual elements
Discord Rich Presence
Discord Rich Presence
Display your current song and status on Discord (desktop only)
Video Playback
Video Playback
Support for video cutscenes using hxvlc on desktop platforms
Newgrounds Integration
Newgrounds Integration
Medal unlocking, leaderboards, and score tracking via Newgrounds API
Who Are These Docs For?
Developers
If you want to:- Build the game from source for your platform
- Understand the codebase architecture and systems
- Contribute to the official repository
- Create modifications or custom builds
Modders
If you want to:- Create custom content (songs, characters, stages)
- Use the Polymod system for asset replacement
- Script custom behavior using HScript
- Package and distribute mods
Contributors
If you want to:- Submit pull requests to improve the game
- Report bugs with proper context
- Add new features or fix issues
- Follow coding standards
Project Structure
The Friday Night Funkin’ source code is organized as follows:The
assets folder is loaded via Git submodules and contains proprietary content protected by copyright. See the assets LICENSE for details.Technical Specifications
Current Version
v0.8.3
Build 77
Build 77
Engine
HaxeFlixel
Built on OpenFL/Lime
Built on OpenFL/Lime
Language
Haxe
Compiles to C++/JS
Compiles to C++/JS
Build Targets
| Platform | Compiler | Status |
|---|---|---|
| Windows | C++ (HXCPP) | ✅ Fully Supported |
| macOS | C++ (HXCPP) | ✅ Fully Supported |
| Linux | C++ (HXCPP) | ✅ Fully Supported |
| HTML5 | JavaScript | ✅ Fully Supported |
| Android | C++ (HXCPP) | ✅ Fully Supported |
| iOS | C++ (HXCPP) | ✅ Fully Supported |
Development Philosophy
Friday Night Funkin’ is built with several core principles:Performance First
The game targets 60 FPS on all platforms with optimized rendering and audio systems
Modular Architecture
Feature flags allow enabling/disabling functionality at compile time for different builds
Cross-Platform Compatibility
Shared codebase compiles to desktop, web, and mobile with platform-specific optimizations
Feature Flags
The game uses extensive feature flags for conditional compilation:A complete list of feature flags is defined in
project.hxp:191-532. These control everything from Discord integration to mobile advertisements.Credits
Friday Night Funkin’ is created by:- Programming: ninjamuffin99 (Lead), EliteMasterEric, MtH, GeoKureli, and the mobile team
- Art & Animation: PhantomArcade3K, Evilsk8r, Moawling
- Music: Kawaisprite, BassetFilms
- Company: The Funkin’ Crew Inc.
Next Steps
Quick Start
Get the game running on your machine in minutes
Playing Guide
Learn the controls and gameplay mechanics
