# bberak/react-native-game-engine

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/bberak-react-native-game-engine).**

3,102 stars · 191 forks · JavaScript · MIT

## Links

- GitHub: https://github.com/bberak/react-native-game-engine
- awesome-repositories: https://awesome-repositories.com/repository/bberak-react-native-game-engine.md

## Topics

`game-2d` `game-development` `game-engine` `react` `react-native`

## Description

React Native Game Engine is a framework for building 2D interactive experiences and simulations within mobile applications. It provides a dedicated controller for managing a fixed-step game loop, ensuring that game logic, user inputs, and state updates occur at a consistent frame rate.

The engine utilizes an entity-component-system architecture to decouple game object data from behavior. By structuring objects as independent entities processed by reusable logic functions, it allows for the management of complex scenes through a centralized, data-driven approach.

The framework supports the creation of dynamic, cross-platform user interfaces by leveraging native components for rendering while maintaining game state within the JavaScript thread. It includes a message bus for dispatching events between internal systems and external components, facilitating communication across the interactive scene.

## Tags

### Game Development

- [React Native Game Frameworks](https://awesome-repositories.com/f/game-development/react-native-game-frameworks.md) — Provides a framework for building interactive 2D games and simulations within mobile applications.
- [Game Loops](https://awesome-repositories.com/f/game-development/engine-architecture/game-loops.md) — Manages simulation updates at a consistent frame rate for smooth performance in mobile environments.
- [Cross-Platform Frameworks](https://awesome-repositories.com/f/game-development/game-engines-frameworks/2d-engines/2d-game-frameworks/cross-platform-frameworks.md) — Facilitates the creation of 2D interactive experiences that run natively on mobile devices.
- [Game State Management](https://awesome-repositories.com/f/game-development/game-state-management.md) — Updates active entities dynamically during runtime to support real-time object manipulation. ([source](https://github.com/bberak/react-native-game-engine#readme))

### Software Engineering & Architecture

- [Entity Component Systems](https://awesome-repositories.com/f/software-engineering-architecture/cell-based-component-architectures/entity-component-systems.md) — Structures game objects as decoupled data entities processed by reusable logic functions.
- [Game Loop Updates](https://awesome-repositories.com/f/software-engineering-architecture/reactive-update-scheduling/update-cycle-controllers/update-application-timing/animation-frame-synchronization/game-loop-updates.md) — Runs a recurring update cycle to process game logic, user inputs, and state changes. ([source](https://github.com/bberak/react-native-game-engine#readme))
- [Fixed-Timestep Loops](https://awesome-repositories.com/f/software-engineering-architecture/reactive-update-scheduling/update-cycle-controllers/update-application-timing/animation-frame-synchronization/game-loop-updates/fixed-timestep-loops.md) — Executes game logic and state updates at a constant interval to ensure predictable simulation timing.
- [Event Bus Systems](https://awesome-repositories.com/f/software-engineering-architecture/event-bus-systems.md) — Provides a centralized message bus for decoupled communication between internal game systems.
- [Declarative State Managers](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/layering-presentation/state-management-patterns/declarative-state-managers.md) — Maintains a centralized, mutable state object that synchronizes entity properties across frames.

### User Interface & Experience

- [Cross-Platform UI Frameworks](https://awesome-repositories.com/f/user-interface-experience/cross-platform-ui-frameworks.md) — Enables the creation of dynamic, responsive user interfaces across mobile platforms.
- [Cross-Platform Native Renderers](https://awesome-repositories.com/f/user-interface-experience/native-ui-component-libraries/native-ui-renderers/cross-platform-native-renderers.md) — Maps declarative game object definitions to native platform views for rendering.
