Masmorras que sempre se encaixam.
O Tapiti cava andares conectados e validados a partir de uma semente: salas de cinco formas, corredores com folga de verdade, o mesmo mapa toda vez.
Semente 26
- tempo mediano para cavar um andar validado do nível 5, medido neste servidor
- 41 ms
- andares passaram em todas as verificações, nas sementes de 1 a 60
- 60 de 60
- de sementes, cada uma sempre com o mesmo andar
- 4,3 bilhões
Salas de cinco formas, portas que se alinham
Retângulos, discos, octógonos, salas em L e estrelas truncadas se encaixam na grade. As portas ficam em trechos retos de parede, então todo corredor sai da sala em ângulo reto.
- retângulo
- disco
- octógono
- sala em L
- estrela truncada
Um validador que sabe dizer não
Cinco verificações rodam em todo andar: conectividade, folgas, portas, geometria dos corredores e a distância da entrada até a escada. Um andar que falha é descartado e cavado de novo a partir de uma semente derivada.
Semente 17, primeira tentativa, rejeitada:
V5 the stairs are 3 hops from the start (least 4)Como um andar é cavado
Uma semente
Um número e um conjunto de parâmetros alimentam um gerador pequeno e determinístico. As mesmas entradas dão o mesmo andar, no desktop ou no navegador.
Câmaras
As salas são encaixadas bloco a bloco, forma a forma, com os pesos e limites que você define.
Túneis
Primeiro as portas, depois corredores com poucas dobras, que se ramificam em junções T e X, sempre a uma folga das salas que não ligam.
Luz do dia
O validador abre a porta e olha. Só um andar que passa em todas as verificações é devolvido.
Rode do seu jeito
- App desktop
cargo run --release- No navegador
- Abrir o laboratório
- Crate Rust
tapiti-core = { git = "https://github.com/Lucas-BRT/tapiti" }- Docker
docker compose -f compose.local.yml up --build