74 dépôts
Lightweight libraries and frameworks for building custom game logic.
Explore 74 awesome GitHub repositories matching part of an awesome list · Game Frameworks. Refine with filters or upvote what's useful.
Phaser is a cross-platform 2D web game engine and framework designed for creating interactive experiences that run on desktop and mobile web browsers. It serves as a GPU-accelerated rendering library and WebGL graphics engine for building two-dimensional games using HTML5 Canvas and WebGL. The engine features a dual-backend rendering pipeline that allows developers to switch between rendering paths. It distinguishes itself through high-performance graphics capabilities, including GPU-driven sprite batching for large-scale image management, a dynamic lighting system with self-shadows, and the
Fast 2D game framework for the web.
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
Game framework built on LWJGL.
Cocos2d-x is a high-performance C++ game development framework designed for building and deploying interactive applications across mobile, desktop, and web platforms. It functions as a cross-platform game engine that utilizes an entity-component system to manage object lifecycles, behaviors, and spatial relationships within a unified codebase. The engine is distinguished by its specialized 2D graphics rendering pipeline, which is optimized for hardware-accelerated performance when displaying sprites, particle effects, and skeletal animations. It provides developers with low-level access to gr
Widely used framework for indie game development.
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
Cross-platform framework for creating games.
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 ca
Simple 2D game library for Go.
Flame is a 2D game engine and framework for Flutter. It provides a component-based architecture to organize scene entities and manage their lifecycles through a structured hierarchy of game objects, coordinated by a consistent game loop. The engine includes a graphics library for rendering animated sprites, particle effects, and external textures. It features a 2D physics integration layer that supports rigid body dynamics and collision detection between entities. The framework covers additional capabilities for game engineering, including user input capture for gestures and gamepads, audio
Implements a component-based framework for organizing scene entities and managing their lifecycles.
The Source Engine SDK is a C++ game development kit and modding framework designed for creating game modifications and custom gameplay extensions for the Source engine. It provides a structured environment and a collection of source code and binaries required to build custom content for compatible titles. The kit serves as a toolset for C++ game engine programming, enabling the development of custom gameplay mechanics, new rulesets, and game modes. It includes the libraries and headers necessary to compile and build gameplay extensions and custom game content.
Legacy SDK for building on the Source engine.
Pygame is a framework for building interactive 2D applications and games using the Python programming language. It functions as a 2D graphics rendering engine, a game input and event manager, and a multimedia audio toolkit. The project serves as a wrapper for the Simple DirectMedia Layer, providing a Python interface for low-level access to graphics, audio, keyboard, mouse, and joystick hardware. Its capabilities cover 2D graphics rendering and image manipulation, digital audio playback and streaming, and the management of game entities and physics simulations. It also includes tools for rea
Game & multimedia app framework, built on SDL.
LÖVE est un moteur de jeu multiplateforme et un framework pour développer des jeux en 2D en utilisant le langage de programmation Lua. Il fournit une API graphique 2D pour le rendu de formes, d'images et de sprites sur plusieurs plateformes de bureau et mobiles. Le framework permet le développement d'une base de code unique pouvant être déployée sur Windows, macOS, Linux, Android et iOS. Il utilise une interface de script basée sur Lua pour contrôler les systèmes internes du moteur. Le projet couvre le développement de jeux 2D, le développement de jeux mobiles et le déploiement de jeux multiplateformes.
2D framework for writing games in Lua.
whs.js est un moteur de jeu 3D WebGL et un framework d'application extensible utilisé pour créer des expériences 3D interactives et des jeux basés sur navigateur. Il fournit une couche d'abstraction simplifiée sur le rendu WebGL bas niveau pour gérer les caméras, l'éclairage et l'environnement 3D global. Le framework utilise un graphe de scène 3D modulaire pour organiser les objets dans un système hiérarchique de composants. Il intègre une simulation physique multithreadée en utilisant des web workers pour exécuter les calculs en parallèle avec la boucle de rendu principale. Le système inclut une architecture de plugin modulaire qui permet l'extension de la logique d'application de base via un système enfichable. Il dispose également d'une initialisation de scène automatisée pour gérer la configuration du moteur de rendu et de l'environnement.
Framework for 3D applications built on Three.js.
Il s'agit d'un moteur de jeu 3D basé sur le web conçu pour créer des expériences interactives haute performance sur les plateformes web et mobiles. Il fonctionne comme un moteur de rendu graphique en temps réel et un moteur physique, utilisant un graphe de scène basé sur des composants pour organiser les entités et leurs propriétés pour le rendu tridimensionnel. Le moteur inclut un éditeur de scène visuel qui permet la conception d'environnements via une interface graphique, qui exporte ensuite ces ressources sous forme de code exécutable. Ses fonctionnalités plus larges couvrent le rendu graphique en temps réel pour les éléments 2D et 3D, la simulation du monde physique pour les collisions d'objets, et la composition d'interface utilisateur multiplateforme pour les superpositions interactives. Il fournit également des systèmes pour animer les objets de la scène, gérer les événements d'entrée utilisateur et créer la logique d'application via une interface de script typée.
Web and mobile-first engine built on WebGL.
Oasis Engine est un moteur de jeu basé sur le web et un framework de jeu basé sur des composants conçu pour créer des applications interactives 2D et 3D en temps réel pour les plateformes web et mobiles. Il fonctionne comme un moteur de rendu 3D en temps réel et un moteur de simulation physique capable de produire des environnements visuels interactifs. Le framework inclut un éditeur de scène visuel qui permet aux artistes et aux développeurs de construire, disposer et exporter des scènes de projet via une interface graphique. Ce système prend en charge la composition de scène visuelle et convertit ces mises en page en données structurées pour la reconstruction au moment de l'exécution. Les fonctionnalités du moteur couvrent un pipeline de rendu basé sur WebGL pour le rendu des ressources graphiques, la dynamique des corps rigides pour la simulation d'interaction physique, et un système pour le traitement des entrées utilisateur et la composition d'interface. Il intègre en outre un système d'animation en temps réel pour interpoler les valeurs entre les images clés pour les transitions visuelles.
WebGL framework for 2D and 3D applications.
FXGL est un moteur de jeu 2D et un framework de développement conçu pour Java et Kotlin. Il fournit un environnement structuré pour créer des jeux de bureau multiplateformes, intégrant une boucle de jeu centrale avec un système d'entités-composants et un graphe de scène basé sur JavaFX pour le rendu. Le toolkit se distingue par une suite complète de bibliothèques intégrées pour la recherche de chemin (pathfinding) par IA, la résolution de collisions physiques et la mise en réseau multijoueur via les protocoles TCP et UDP. Il inclut des systèmes spécialisés pour la conception d'interfaces utilisateur adaptatives utilisant des feuilles de style globales et un système de gestion d'actifs piloté par les données pour la mise en cache des textures, de l'audio et des polices. Le framework couvre un large éventail de capacités de développement, notamment le rendu graphique 2D avec des systèmes de particules et des arrière-plans en parallaxe, le mappage et remappage des entrées, et le stockage persistant des données de jeu. Il intègre également des outils axés sur le développeur pour le profilage des performances et l'optimisation de la mémoire via le pooling d'objets.
Game library for 2D, experimental 3D.
Urho3D is a cross-platform 3D game engine written in C++. It uses a component-based scene graph to compose game objects from nodes and attached components, separating transforms from behaviors for modular design. The engine integrates AngelScript and Lua scripting for game logic, uses the Bullet library for physics simulation, and renders scenes with OpenGL or Direct3D through forward, deferred, or light pre-pass pipelines with customizable render passes and shadow mapping. The engine distinguishes itself with a built-in visual scene and UI editor for composing 3D worlds and interface layouts
Cross-platform framework for 2D and 3D games.
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
Hand-crafted 2D game library for Go.
Macroquad est un moteur de jeu Rust et une bibliothèque graphique 2D conçue pour développer des jeux multiplateformes et des applications graphiques. Il fonctionne comme un moteur de rendu qui permet le déploiement d'une base de code unique vers des cibles de bureau, mobiles et web. Le moteur utilise un modèle de rendu en mode immédiat, qui permet la création d'interfaces utilisateur et de mondes de jeu qui se rendent en un seul passage au sein de la boucle d'application principale. Cette approche est associée à un rendu 2D accéléré par matériel et à un regroupement automatique des appels de dessin pour optimiser l'affichage de la géométrie sur différents appareils matériels. Le framework fournit un pipeline de build unifié pour compiler les applications en binaires natifs ou en WebAssembly pour un déploiement basé sur le web. Il inclut une couche d'abstraction matérielle pour mapper les appels génériques d'entrée et de graphiques vers les API système spécifiques à la plateforme.
Easy to use game library, heavily inspired by RayLib.
LittleJS est un moteur de jeu 2D HTML5 léger conçu pour construire des jeux web en utilisant Canvas et WebGL sans dépendances externes. Il intègre un moteur de rendu de sprite WebGL, un moteur physique 2D pour les collisions de style arcade et la dynamique des corps rigides, et un système de recherche de chemin A* basé sur une grille pour la navigation des entités. Le moteur se distingue par son synthétiseur audio procédural, qui génère de la musique et des effets sonores au moment de l'exécution en utilisant des tableaux de paramètres pour minimiser la taille des fichiers. Il dispose également d'un pipeline graphique complet qui prend en charge le post-traitement par shader de fragment personnalisé et un système d'éclairage 2D dynamique. Le framework couvre un large éventail de capacités de développement, y compris la génération d'effets de particules, l'animation de sprite basée sur les images, et le rendu de tilemap avec mise en cache hors écran. Il fournit une gestion unifiée des entrées pour les signaux clavier, souris et manette, ainsi que des utilitaires pour la persistance de l'état du jeu et le suivi des succès via le stockage local. Le projet inclut des outils pour charger des données de niveau à partir de fichiers au format JSON et fournir des superpositions de débogage visuel pour surveiller l'état interne du moteur.
Lightweight 2D framework with WebGL rendering.
Halley is a modular C++ game engine designed for building cross-platform interactive applications. Its core identity is defined by a hardware-abstraction graphics pipeline for consistent rendering across different operating systems and an entity-component-system architecture that separates game state from processing logic. The framework features a hot-reloading development environment that allows updating application logic and assets at runtime without requiring a full process restart. It also includes a multiplayer networking framework based on an asynchronous messaging system to manage real
Modern C++17 framework used in commercial console games.
JavaScript Game Engine
Structured 2D game creation library.
FNA - Accuracy-focused XNA4 reimplementation for open platforms
Reimplementation of XNA game libraries.