awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
hajimehoshi avatar

hajimehoshi/ebiten

0
View on GitHub↗
13,244 stars·765 forks·Go·Apache-2.0·30 viewsebitengine.org↗

Ebiten

Ebiten is a cross-platform 2D game engine and framework for the Go programming language. It provides a hardware-accelerated 2D renderer and a multi-input handling library to develop two-dimensional games with a single codebase.

The engine is designed for broad deployment, allowing applications to be compiled and run across desktops, mobile devices, web browsers, and gaming consoles. It distinguishes itself by integrating custom shader programming for specialized visual effects and providing haptic feedback control for mobile devices and gamepads.

The framework covers core game development capabilities, including 2D graphics rendering with matrix-based geometry transformations and a unified input system for keyboards, mice, and touch screens. It also includes an audio subsystem for playback and streaming of Ogg, MP3, WAV, and PCM formats, alongside utilities for image layer blending and screen capture.

Features

  • 2D Game Frameworks - Provides a comprehensive framework for building hardware-accelerated 2D games using the Go language.
  • Game Development Frameworks - Provides a high-performance game development framework for deploying titles across desktop, mobile, and web from a single Go codebase.
  • Cross-Platform Deployment Targets - Enables a single codebase to be compiled and run across desktops, mobile devices, web browsers, and consoles.
  • Unified Input Handling - Identification of specific mouse button presses to trigger targeted actions and user interactions.
  • Audio Playback - Provides native support for decoding and playing back Ogg, MP3, WAV, and PCM audio formats.
  • Chunked Audio Streaming - Supports continuous audio output by streaming large sound files in chunks from storage.
  • 2D Rendering Engines - Features a hardware-accelerated 2D rendering engine with support for sprites, text, and automatic batching.
  • Cross-Platform Abstractions - Provides a unified Go interface that abstracts hardware and system-level graphics and audio APIs across multiple platforms.
  • Input Handling - Implements a unified input system for handling keyboards, mice, touch screens, and gamepads.
  • Gamepad Haptics - Enables precise control of high and low frequency rumble motors on connected gamepads.
  • Custom Shader Programs - Supports user-defined GLSL shader programs to implement custom rendering effects and image filtering.
  • Affine Transformation Matrices - Utilizes 3x3 affine transformation matrices for scaling, rotating, and translating 2D images.
  • 2D Image Transformations - Implements matrix-based operations for scaling, rotating, and translating 2D image planes.
  • Batch Rendering - Implements GPU-accelerated batch rendering to optimize vertex buffers and minimize state changes during 2D rendering.
  • Material and Shader Configuration - Provides systems for configuring rendering via image filtering, addressing modes, and color mapping.
  • Image Blending - Includes capabilities for combining image layers using various composition modes, masking, and additive blending.
  • Premultiplied-Alpha Blending - Uses premultiplied-alpha blending to ensure correct transparency and color calculations during image rendering.
  • Haptic Feedback Controllers - Integrates haptic feedback by triggering vibration motors on mobile devices and game controllers.
  • Game Development - Simple 2D game library.
  • Game Frameworks - Simple 2D game library for Go.
  • Game Development - Simple 2D game library.
  • Media and Communication - 2D game engine for Go.

Star history

Star history chart for hajimehoshi/ebitenStar history chart for hajimehoshi/ebiten

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Ebiten

These projects share indexed features with Ebiten. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • faiface/pixelfaiface avatar

    faiface/pixel

    4,525View on GitHub↗

    Pixel is a 2D game library and graphics engine for the Go programming language. It provides a hardware-accelerated renderer for drawing sprites, geometric shapes, and text, utilizing an optimized system of batching and transformation matrices. The project functions as a comprehensive toolkit for two-dimensional interactive applications, combining a graphics engine with a 2D vector math library for affine transformations and coordinate space projections. It includes a dedicated input manager that tracks keyboard presses and mouse movements using a polling-based system rather than asynchronous

    Go
    View on GitHub↗4,525
  • godotengine/godot-demo-projectsgodotengine avatar

    godotengine/godot-demo-projects

    8,250View on GitHub↗

    This repository is a comprehensive collection of functional 2D and 3D demo projects and implementation samples for the Godot Game Engine. It serves as an interactive tutorial and reference library, providing a working codebase to demonstrate how to apply engine features in real-world scenarios. The collection focuses on practical implementation guides, covering a wide array of technical capabilities from basic engine fundamentals to advanced rendering and scripting techniques. It allows users to study the application of node-based composition, asset pipelines, and game logic through direct ex

    GDScript
    View on GitHub↗8,250
  • monogame/monogameMonoGame avatar

    MonoGame/MonoGame

    14,024View on GitHub↗

    MonoGame is a cross-platform game framework and C# game engine designed for the development of interactive software. It provides a unified environment for building games that run across desktop, mobile, and console platforms using a single codebase. The framework functions as a 2D graphics rendering library, offering tools to apply custom shaders and visual effects to game assets. It utilizes a graphics abstraction layer to map drawing commands to platform-specific APIs, ensuring consistent rendering across diverse hardware. The engine manages hardware-level tasks such as input handling, aud

    C#3dc-sharpcross-platform
    View on GitHub↗14,024
  • libgdx/libgdxlibgdx avatar

    libgdx/libgdx

    24,816View on GitHub↗

    LibGDX is a Java-based framework designed for cross-platform game development, enabling the creation and deployment of 2D and 3D games across desktop, mobile, and web environments from a single codebase. It functions as a comprehensive library that abstracts hardware-accelerated graphics, audio, input, and file system access, providing a unified interface for developers to manage game logic and application lifecycles. The framework distinguishes itself through a high-performance architecture that prioritizes efficiency and native interoperability. It utilizes a batch-oriented graphics pipelin

    Java2d3dandroid
    View on GitHub↗24,816
Compare all 30 related projects→

Frequently asked questions

What does hajimehoshi/ebiten do?

Ebiten is a cross-platform 2D game engine and framework for the Go programming language. It provides a hardware-accelerated 2D renderer and a multi-input handling library to develop two-dimensional games with a single codebase.

What are the main features of hajimehoshi/ebiten?

The main features of hajimehoshi/ebiten are: 2D Game Frameworks, Game Development Frameworks, Cross-Platform Deployment Targets, Unified Input Handling, Audio Playback, Chunked Audio Streaming, 2D Rendering Engines, Cross-Platform Abstractions.

Which projects share features with hajimehoshi/ebiten?

Projects with overlapping indexed features include: faiface/pixel — Pixel is a 2D game library and graphics engine for the Go programming language. It provides a hardware-accelerated… godotengine/godot-demo-projects — This repository is a comprehensive collection of functional 2D and 3D demo projects and implementation samples for the… monogame/monogame — MonoGame is a cross-platform game framework and C# game engine designed for the development of interactive software.… libgdx/libgdx — LibGDX is a Java-based framework designed for cross-platform game development, enabling the creation and deployment of… flame-engine/flame — Flame is a 2D game engine for Flutter and Dart. It provides a component-based game framework for managing entities and… melonjs/melonjs — melonJS is a lightweight HTML5 game engine for building 2D games in the browser using JavaScript. It provides a…