---
title: "Encompass"
---

# Encompass

[Encompass](https://github.com/encompass-ecs) is a powerful engine-agnostic framework to help you code games, or other kinds of simulations.

Object-oriented code is messy and rapidly becomes unmaintainable.

Encompass lets you write clean, de-coupled code so you can spend more time on your game design and less time fixing bugs.

Encompass is currently available with a TypeScript implementation that fully supports transpilation to Javascript and
[Lua](https://github.com/TypeScriptToLua/TypeScriptToLua).

A C# implementation is forthcoming.

If you are here to learn how to use Encompass and don't care about the justifications for it, or you've never made a game before, I recommend skipping ahead to [Chapter 2](getting_started).
