Skip to main content
FlixelGDX logo

FlixelGDX

A faithful and improved port of the original HaxeFlixel framework, brought to the robust Java ecosystem.

Java 17+libGDX under the hoodMIT licensedBeginner friendlyCode first

Why FlixelGDX?

Modern game-engine ergonomics, the welcoming Flixel API, and the performance budget of a feather. Perfect for first-time game devs, game jams, classrooms, and serious indie projects alike.

Simple API with flexible modularity

Familiar Flixel-shaped states, sprites, groups, tweens and timers, plus the full power of libGDX when you need it.

Featherweight & fast

Designed to bring the features of modern game engines to low-end hardware so you don't have to fight your system to make an amazing game.

Built on libGDX

Cross-platform windowing, OpenGL, input and audio under the hood — but with the friendly Flixel API on top.

Multiplatform

Ship to desktop via LWJGL3, browser via TeaVM and Android. iOS is on the way.

Batteries included

Tweens, timers, animations, bitmap text, audio helpers, saves, input actions, powerful debugging tools and more — all out of the box just for you.

Rich Javadoc, zero hand-waving

The framework provides comprehensive documentation, with the source code being filled with Javadocs to help you get started right away.

Debug-friendly

Out-of-the-box debug overlay that includes real time stats, graphs, a command line, watch panel, log window and much more.

Drop-in with Maven Central and JitPack

Clean, compatible integration with Maven Central and JitPack. Pick a version or tag and you're done.

100% free and open source

The best part of all, FlixelGDX is completely free for you to use in any project, personal or commercial. Contributions are always welcome!

Friendly API

Reads like Flixel. Runs like libGDX.

The static Flixel facade exposes every system you need — states, sprites, input, audio, signals and timers — with an API that feels like home if you have ever used HaxeFlixel.

  • States & substates that stack like scenes.
  • Sprite groups with batched update & draw.
  • Tweens, timers, and a debug overlay out of the box.
  • Input action sets for keyboard, mouse & controllers.
// Switch states.
Flixel.switchState(new MyGameState());

// Play a sound.
Flixel.sound.play("explosion.mp3");

// Check if a key is pressed.
if (Flixel.keys.justPressed(FlixelKeys.SPACE)) {
player.jump();
}