--- 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).