Introduction

Angry Pixel Engine is an open-source 2D game engine written in TypeScript. It uses an Entity-Component-System (ECS) architecture and organizes games into Scenes.

It is written in TypeScript and ships its own type definitions, so it works in both JavaScript and TypeScript projects without extra type packages.

Features

  • Entity-Component-System (ECS) architecture: entities, components, and systems.
  • Scene-based game organization.
  • Three-phase game loop: game logic, physics, and rendering.
  • Built-in components for rendering, physics, and game logic.
  • Custom components and systems.
  • 2D physics with collision detection.
  • WebGL rendering.
  • Input from keyboard, mouse, gamepads, and touch screens.
  • Math library: vectors, rectangles, and related utilities.

Platforms

  • Web browser: the engine is built natively for browser-based games.
  • Desktop (Windows, Linux, macOS): through frameworks such as Electron or similar.
  • Mobile (Android, iOS): through frameworks such as React Native or similar.

License

Angry Pixel Engine is distributed under the MIT license.

Source code