No description
- Rust 58.8%
- D 39.3%
- Makefile 1%
- Lua 0.8%
- crates/event_editor/: new workspace crate with lib + bin - Root Cargo.toml: added event_editor as workspace member - src/mission/: git-rm'd (history preserved) - src/event/: placeholder module (re-exports event_editor::types::*) - types.rs: 8 Trigger variants, 5 Action variants, Dialogue, EventRule, EventScript - validator.rs: validate() checks duplicate triggers, invalid params, missing dialogue refs - bin/editor.rs: Lua → JSON CLI via mlua - 3 unit tests: 1 parse_lua_event_script + 2 validate tests |
||
|---|---|---|
| .agents | ||
| assets | ||
| crates/event_editor | ||
| src | ||
| tests | ||
| .gitignore | ||
| Cargo.toml | ||
| README.md | ||
Catacumbas do Igneo
Sobre o Jogo
Dungeon crawler roguelike 3D feito em Bevy + Lua. ECS 100% Rust, scripting em mlua. Geometrias primitivas para representacao visual.
Como Rodar
- Janela:
cargo run --bin bevy-lua - Headless:
cargo run --bin bevy-lua -- --headless - Smoke test:
cargo run --bin bevy-lua -- --headless --mission smoke
Binarios
| Binario | Descricao |
|---|---|
bevy-lua |
Jogo (windowed ou headless). cargo run --bin bevy-lua |
quest-cli |
Ferramenta de autoria de missoes (Lua -> JSON). cargo run --bin quest-cli -- <cmd> |
Quest CLI
Ferramenta que converte definicoes de missao em Lua para JSON validado.
Subcomandos
quest-cli new <arquivo.lua>— Converte Lua -> JSONquest-cli validate <arquivo.json>— Valida JSON contra schemaquest-cli list— Lista missoes emassets/quests/quest-cli schema— Mostra exemplo de schema
Exemplos em assets/quests/:
calor_cinzas_igneo.lua— LeverSequence (3 alavancas)coletar_runas.lua— Collect (10 runas)matar_na_sala.lua— KillInRoom (5 inimigos em s6)
Controles
- WASD: movimento
- Mouse: olhar
- Botao esquerdo: atacar
- E: interagir
- ESC: menu
- Espaco: dash
A Historia
Jogador atravessa 6 salas de catacumbas vulcanicas. Objetivo: ativar 3 alavancas de runa na ordem correta e derrotar o Golem de Magma.
As Seis Salas
- S1 Vestiario das Cinzas - spawn e tutorial
- S2 Rio de Magma - plataforma sobre lava
- S3 Cripta dos Templarios - 3 corredores, 1 correto
- S4 Camara da Forja - alavancas Calor e Cinzas
- S5 Sala do Selo - alavanca Igneo, abre portao para S6
- S6 Coracao Vulcanico - arena do chefe
Sistema de Combate
- Telegraph: aviso visual antes do ataque
- Dash: esquiva rapida
- Componentes ECS em Rust para AttackTelegraph
Inimigos
- Templarios: guardas da cripta
- Sentinelas de Magma: guardam as salas
Chefe - Golem de Magma
- 3 fases de combate
- Padroes telegraphados
- Nucleo incandescente como alvo
Progressao
Tres alavancas de runa: Calor (S4), Cinzas (S4), Igneo (S5). Ordem: Calor -> Cinzas -> Igneo.
Acessibilidade
- Modos de cor para daltonismo
- Rumble do gamepad
- Legendas sempre ligadas
Testes
cargo test --lib - 133 testes passando
Estrutura Tecnica
- Bevy 0.14+
- mlua para scripts Lua
- ECS 100% Rust
catacumbas_plugin.rs— Plugin orchestrator (camera, lights, spawn, mission tracking)quest_tool/— Ferramenta de autoria (schema, lua_loader, validator, emitter)bin/quest-cli.rs— CLI para converter/validar missoes
Modulos principais
boss/— FSM do Golem de Magma (3 fases)enemies/— AI de Salamandra e outrosmission/— Tracker de missoes + tipos (Lever, Collect, KillInRoom)render/— Mesh pool + materiaislua/— Sandbox Lua + bootstrap de fasei18n/— Localizacaoaudio/— Audio mixer