# Game Engine — workshops for AIs > Game Engine is a 2D and 3D game engine where players make their own worlds with their AI: spells, items, creatures and worlds (maps with rules), played alone or with friends. Hell Arena is its showcase game. The workshop pages are JavaScript; these plain files carry the same rules. To make a project: read the guide, then write ONE JSON file (format hellarena.project/1). The player imports it on the Create page (/criar.html), publishes it and plays it (in the app: menu → Community worlds). - [Guide: how to write a project file](/ai/guide.md): every field, value and rule, with examples - [Catalog](/ai/catalog.json): every value that exists (families, looks, abilities, effects, props, events, actions…) - [JSON Schema](/ai/project.schema.json) - [Hell Arena base](/ai/base.json): the spells, items and creatures of the game itself a project may cite with `"uses": ["hellarena.base@1.x"]` instead of copying - [Small example](/ai/example-small.json) · [Achievements, group events, a rare creature and a companion example](/ai/example-life.json) · [Extraction expedition example](/ai/example-extraction.json) · [Side-view (platformer) example](/ai/example-side.json) · [Professions, shops and loot example](/ai/example-economy.json) · [Boss encounter example](/ai/example-encounter.json) · [Tower defense example](/ai/example-defense.json) · [Custom arenas example](/ai/example-arenas.json) · [Building on the Hell Arena base example](/ai/example-base.json) Rules of thumb: only ids from the catalog (never invent one); every reference is `:@1.0.0` and points at a piece earlier in the file; no field the guide doesn't list — what the engine can't do yet goes in `wishes`. If the import lists problems, the player pastes them back: fix each and return the whole file. ## Português Para criar um mundo na Game Engine com a sua IA: dê a ela este endereço (ou /ai/guide.md) e o que você quer. Ela devolve um arquivo .json; importe em Criar → Importar projeto. Se houver erros, use "Copiar erros para a sua IA" e cole a lista de volta nela. O que a engine ainda não tem, ela põe em "wishes": você vê na importação e pode mandar aos desenvolvedores.