/awesome-ebitengine

A curated list of awesome Ebitengine frameworks, libraries and software

OtherNOASSERTION

awesome-ebitengine Awesome Ebitengine

Awesome

A curated list of awesome Ebitengine frameworks, libraries and software

Ebitengine is an open source game library for the Go programming language. Ebitengine's simple API allows you to quickly and easily develop 2D games that can be deployed across multiple platforms. Ebitengine is made by Hajime Hoshi.

Contributing

Please take a quick gander at the contribution guidelines first. Thanks to all contributors; you rock!

If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you!

Wiki

Please visit our wiki for a curated list of the helpful articles and best practices about Ebitengine.

If you have a great article or tutorial, please submit it through issues.

Contents

Frameworks

back Various architectural patterns and approaches to game design

  • donburi - Just another Entity Component System library for Ebitengine.
  • gohan - Entity Component System framework for Ebitengine.
  • mizu - Entity Component System framework for Ebitengine.
  • goecs - An implementation of the ECS paradigm in Go.
  • pgfsm - A state and stack machine framework for Ebitengine.

GUI

back Libraries for building GUI Applications

  • ebitenui - A user interface engine and widget library for Ebitengine.
  • ebiten-imgui - Dear ImGui renderer for Ebitengine.
  • furex - A simple UI framework with a subset of flexbox layout specification.
  • messeji - Text input and display widgets for Ebitengine.

Graphics

back Useful libraries for graphics

  • tetra3d - A 3D software renderer written in Go by means of Ebitengine, primarily for video games.
  • etxt - A library for font management and text rendering in Ebitengine.
  • canvas - Cairo in Go for Ebitengine.
  • colorgrad - Go color scales library for data visualization, charts, games, maps, generative art and others.
  • raycaster-go - Golang raycaster engine using the Ebitengine 2D Game Library.
  • goaseprite - A JSON loader for Aseprite files for Golang.
  • gween - A small library to perform tweening in Go.
  • ganim8 - An animation library for Ebitengine inspired by anim8.
  • reisen - A simple library to extract video and audio frames from media containers (based on libav).

Physics

back Useful libraries for physics

  • cp - A 2D rigid body physics library - Chipmunk2D, ported to Go.
  • resolv - 2D collision detection and resolution library.

World

back Interaction with the game world

  • ebiten-camera - A simple camera implementation based on vrld's HUMP for Love2d.
  • dngn - A golang library specifically created to help make generating random maps easier.
  • paths - A pathfinding library written in Golang created mainly for video games.
  • go-astar - A* pathfinding implementation for Go.
  • megophone - The Double-Metaphone algorithm in Go.

Resources

back Resource management for games, their loading, packing and caching

Integration

back Integration with other programs

  • ldtkgo - LDtk-Go is a loader for "Level Designer Toolkit" projects written in pure Go.
  • go-tiled - Go library to parse Tiled map editor file format (TMX) and render map to image.
  • ebitengine-discord-rpc - Discord Rich Presence for Ebitengine.

Input

back Input and output across platforms

  • ebitengine-input - A Godot-inspired action input handling system for Ebitengine.
  • clipboard - Cross platform (MacOS/Linux/Windows/Android/iOS) clipboard package in Go.
  • kibodo - On-screen keyboard widget for Ebitengine.

Games

back Games and emulators written in Ebiten

  • aaaaxy - A nonlinear 2D puzzle platformer taking place in non-Euclidean geometry.
  • bindless - Puzzles in a magnetic world for Ebitengine's first game jam (2022).
  • escort-mission - Follow a dog through a post-apocalytpic wasteland full of zombies.
  • mag - Defend the embryonic core from the onslaught of magnetic robottos.
  • decipherism-game - A puzzle game where you solve the encoding machine ciphers.
  • roboden-game - An indirect control real-time strategy game about robot colonies.
  • attraction - A sokoban-like puzzle game, where you move magnetic pieces in order to collect gems within a limited number of moves.
  • domagna - Dodge obstacles while falling through a tube with magnetic surfaces.
  • worldwide - A toy GameBoy Color emulator written in golang.
  • gosol - Polymorphic solitaire engine in Go+Ebitengine.
  • feta-feles-remastered - An eerie bullet hell shooter, featuring a small story based around your "pet cat".
  • godanmaku - Simple shooting game using Ebitengine and Golang.
  • monovania - Metroidvania game.
  • brownboxbatman - A bullet hell video game.
  • citylimits - A city-building simulation video game.
  • skulls - A simple columns-like strategy game developed in Golang with the Ebitengine library (for Android).
  • go-inovation - Port of "INO VATION! 2007". You are a wild boar. Collect the three sacred treasures!
  • ebiten-breakout - A simple breakout game made in Ebitengine.
  • minesweeper-go - Minesweeper game in Go that can compile to WASM (uses Ebitengine v2).
  • travel-game - A remake of an 80's card game classic "Around the World" (pt-br: "Volta ao Mundo").
  • lost-the-plot - Twitchty action gun-play of "Guess Who?" combined with the casual of "Tomb Raider".
  • btod - This is a runner game made in Go with Ebitengine.
  • carotid-artillery - A top-down twin-stick shooter.
  • cr1ckt - Tap left and right to jump through the caves to the fruit... as long as the game.
  • go-space-crane - Simple moonlander like game with some new mechanics.
  • kuronan-dash - Doujin game "Kuronan Dash" from the comic "Nekomusume Doujinshi".
  • sokoban-go - Sokoban game in Go using Ebitengine game engine with ECS.
  • arkanoid-go - Arkanoid game in Go using Ebitengine game engine with ECS.
  • space-invaders-go - Space invaders game in Go using Ebitengine game engine with ECS.
  • pong - Pong is a classic arcade game developed by Atari and originally released back in 1972.
  • fishfightback - A side-scrolling bullet hell video game.
  • gtris - A Tetris clone.
  • open-diablo-2 - An ARPG game engine in the same vein of the 2000's games, and supports playing Diablo 2.

Demoscenes

back Demoscenes and simulations written in Ebitengine

  • ray-engine - A toy raycasting engine built with Go + Ebitengine v2 2D library.
  • protozoa - A simulation of protozoan behavior and evolution.
  • biogo - A simple genetic simulator written in Go.
  • fire - Experiments with Ebitengine - Doomfire.

Applications

back Other useful programs that use or are made for Ebiten

  • darktile - A GPU rendered terminal emulator designed for tiling window managers.
  • screenpos - A simple way to get a position on your screen using your keyboard and the visual aid of a grid.
  • wasmserve - An HTTP server for Wasm testing like gopherjs serve.
  • ebiten-bunny-mark - An implementation of the popular graphics benchmark written on Ebitengine.
  • neko - Neko is a cross-platform open-source animated cursor-chasing cat.
  • sketchy - A framework for creating generative art in Go.