# Awesome Haxe Game Development

A curated list of game development resources for Haxe 4, a high level strictly typed programming language which is used to produce cross-platform native code.

Feel free to update it.

## Contents

- Game engines
- Low-level Engine
- Physics
- Architecture
- Networking
- Serialization and storage
- Games
- Miscellaneous
- Articles
- Other haxe lists

## Game engines

Those are Haxe 4 compatible game engines * Armory (Kha) - An open-source 3D game engine with full Blender integration (`Web`, `Mobile`, `Desktop`, `Consoles`). * Away3D - An open source, real-time 3D engine for OpenFL (`Web`, `Mobile`, `Desktop`). * ceramic - Cross-platform 2D framework (`Web`, `Mobile`, `Desktop`, `Unity`). * HaxeFlixel (OpenFL) - Free, cross-platform 2D game engine powered by OpenFL (`Web`, `Mobile`, `Desktop`, `Consoles`). * Haxegon (OpenFL) - A programming library for beginners. Powered by OpenFL and Starling (`Web`, `Mobile`, `Desktop`, `Consoles`). * Heaps - High Performance Game Framework (`Web`, `Mobile`, `Desktop`, `Consoles`). * hxdefold - Haxe/Lua externs for Defold game engine (`Web`, `Mobile`, `Desktop`). * OpenFL - Interactive game and app development library (`Web`, `Mobile`, `Desktop`, `Consoles`). * Starling - The “Cross-Platform Game Engine”, a popular Stage3D framework (`Web`, `Mobile`, `Desktop`). * Stencyl (OpenFL) - Create Flash, HTML5, iOS, Android, and desktop games with no code (`Mobile`, `Desktop`). * unreal.hx - Haxe Integration for Unreal (`Web`, `Mobile`, `Desktop`, `Consoles`). * HxGodot (Godot 4.0) - A Haxe GDExtension for Godot 4 (`Web`, `Mobile`, `Desktop`, `Consoles`).

## Low-level Engine

- Kha - Ultra-portable, high performance, open source multimedia framework (`Web`, `Mobile`, `Desktop`, `Consoles`).
- Lime - A flexible, lightweight layer for Haxe cross-platform developers (`Web`, `Mobile`, `Desktop`).
- linc_glfw - Desktop - GLFW binding (multi-platform library for OpenGL, OpenGL ES and Vulkan) (Desktop).
- NME - A cross-platform native backend (`Web`, `Mobile`, `Desktop`).
- 3DSHaxe - Make 3ds homebrew! (`3DS`).

## Physics

- echo - Simple Physics Library.
- haxebullet - Bullet 3D Physics.
- nape-haxe4 - Physics Engine (the original Haxe3 version of nape can be found here).

## Architecture

    IoC == Inversion of Control
    EC == Entity Component
    ECS == Entity-Component-System
    FSM == Finite State Machine
    MVC == Model View Controller

- awe6 - `IoC`, `EC` - The inverted game framework, is a development tool focused on Future Proofing.
- ecx - `ECS` - An Entity Component System framework.
- hexMachina - `MVC` - A powerful multi-modular MVC framework.
- OSIS - `ECS` - Entity Component System architecture with networking support.

## Networking

- Anette - Simple network library (no UDP).
- colyseus-hx - Multiplayer Game Client.
- haxe-simple-peer (js) - Haxe externs for simple-peer.
- hxWebSockets - Websockets for all platforms.
- Built-in - Heaps, OpenFL (HaxeFlixel & co), Kha (Armory).

## Serialization and storage

- Bits - Binary bit flags with unlimited amount of bits.
- CastleDB - A structured static database easing collaboration.
- hxbit - A binary serialization and network synchronization library.
- PODStream - Plain Old Data serializer.

## Games

- Darksburg - Heaps - `Desktop`.
  - Screenshot
- Dead Cells - Heaps - `Desktop`, `Consoles`.
  - Screenshot
- Defender’s Quest - HaxeFlixel (OpenFL) - `Desktop`, `Consoles`.
  - Screenshot
- Defender’s Quest 2 - HaxeFlixel (OpenFL) - `Desktop`.
  - Screenshot
- Dicey Dungeons - Haxegon (OpenFL) - `Desktop`, `Consoles`.
  - Screenshot
- Evoland - Heaps - `Desktop`, `Mobile`.
  - Screenshot
- Northgard - Heaps - `Desktop`.
  - Screenshot
- Papers, Please - OpenFL - `Desktop`, `iOS`, `PsVita`.
  - Screenshot
- Pocket Kingdom - HaxePunk (OpenFL)- `Desktop`.
  - Screenshot
- rymdkapsel - OpenFL - `Desktop`, `Mobile`.
  - Screenshot
- Spellbreak - unreal.hx - `PC`, `PS`, `Xbox`, `Switch`.
  - Screenshot
- The Westport Independent - Luxe - `Desktop`, `Mobile`.

More showcase : * OpenFL showcase * HaxeFlixel showcase * itch.io showcase * HaxePunk showcase * Flambe showcase * Kha showcase

## Miscellaneous

### 3rd party API

- SteamWrap - Native extension for the SteamAPI.
- newgrounds - Newgrounds API.
- hxgamejolt-api - Haxe bindings for GameJolt API.

### AI

goap - Goal-oriented action planner for AI.

### Animation

- spine-hx - Spine runtime automatically converted from the official Java/libgdx runtime.
- HaxeFlixel - Spine parser.
- Heaps-Spine - Spine player for heaps.
- heaps-aseprite - Load and render sprites and animations in Aseprite format.
- openfl-aseprite - Load and render sprites and animations in Aseprite format.
- openfl-spine - Render Spine animation in the OpenFL engine, rendering processing can be achieved throughSprite and Tilemap.
- ase - File format reader/writer for .ase/.aseprite without external dependencies.
- flxgif - Yagp’s Gif Player for HaxeFlixel.

### Audio

- sfxr-hx - Pure haxe implementation of Sfxr.

### Color manipulation

- nxColor - Color manipulation library.

### Collision

- differ - A separation axis theorem collision library.

### Computer Vision

- Vision - Cross platform computer vision library.

### Data structures

- polygonal-ds - Data structures for games.

### Dialogues

- hxyarn - Parser and runner for Yarn dialogue files.

### Editor

- flixel-studio - In-game editor for HaxeFlixel.

### Helpers

- deepnightLibs - General gamedev purpose libs.

### Localization

- firetongue - A translation/localization framework.

### Map parser

- PyxelEdit Map Importer - Parser for maps generated by the editor PyxelEdit.
- Heaps - Built-in parser for Tiled.
- HaxeFlixel - Parser for Tiled & Ogmo.
- LEd - 2D level editor with a typed compile time loader.
- TiledHX - A comprehensive modern Tiled parser.

### Math helpers

- hxmath - A game-oriented math library.
- haxe-glm - A toolset for using 2, 3, and 4 dimensional vectors and matrices, as well as quaternions.
- hx-vector2d - Worlds most complete Vector2d / Point class. With operator overloading.

### Modding

- polymod - An atomic modding framework for games/apps.

### Particles

- Sparkler - Modular Particle System.

### Monetization

- extension-iap - Provides an access to in-app purchases (iOS) and in-app billing (Android) for OpenFL projects using a common API. Fork of this.

### Pathfinding

- pathfinder - Easy A* pathfinding algorithm.
- astar - Versatile framework-agnostic A-star solver Library.

### Procedural generation

- Dungeon builder - A set of dungeon generation algorithm (works w/ hx4 w/ minor changes).

### Shaders

- HGSL - Haxe to GL Shading Language.
- parasol - HaxeFlixel library of shaders.

### Sprite

- haxe-aseprite - Parser for .ase and .aseprite files.

### Texture Packer

- hxpk - Port of the libGDX Texture Packer.

### Tweening

- actuate - A flexible, fast “tween” library.
- YATL - Yet Another (Haxe) Tweening Library.
- TweenX/TweenXCore - Tween library.

### UI

- domkit - CSS Components based strictly typed UI framework.
- flixel-ui - GUI library for HaxeFlixel.
- HaxeUI - UI library with multiple framework backends (HTML5, Kha, OpenFL, PixiJS, WxWidgets, and a number of others as works in progress).
- Feathers UI - Cross-platform graphical user interface components for creative frontend projects.

### Video

- hxCodec - Adds native video playback on HaxeFlixel and OpenFL.

## Articles

- Flash is dead, long live OpenFL!
- Flash is gone, what now?
- How I wrote my own 3D game engine and shipped a game with it in 20 months
- Building 42 games within a year — Insane game development
- Porting to console via Unity

## Other haxe lists

- awesome haxe
- awesome snowkit
- awesome haxe js