Um ecossistema completo para jogadores de Limbus Company.
Mirinae Archives é uma aplicação web desenvolvida em Go 1.25+ com o experimental Green Tea GC, projetada para fornecer aos jogadores de Limbus Company ferramentas avançadas para otimizar suas estratégias de jogo.
A plataforma oferece um Team Builder intuitivo, Simuladores precisos de Clash/Damage, Tier Lists comunitárias ao vivo, além de um hub para compartilhamento de estratégias e uma wiki completa de Identities e E.G.O.
| Feature | Tecnologia / Implementação | Descrição |
|---|---|---|
| Clash Simulator | calculator/clash.go |
Simulador de clash com cálculo probabilístico usando matrizes de Markov para determinar taxas de vitória e cenários. |
| Damage Calculator | calculator/damage.go |
Calculadora de dano considerando resistências, buffs, debuffs, críticos e multiplicadores dinâmicos. |
| Team Builder | Coming Soon |
Montagem visual de times com sugestões de sinergia. |
| Tier Lists | Coming Soon |
Tier lists da comunidade com votação em tempo real. |
| Identity Wiki | Coming Soon |
Base de dados completa de Identities e E.G.O com todas as estatísticas. |
graph LR
User["Usuário"]:::user --> Browser[Browser]:::client
Browser --> Server["Go Server (Chi)"]:::proxy
subgraph Backend["Go Application"]
Server --> Handlers["Handlers"]:::process
Handlers --> Calculator["Calculator Package"]:::logic
Calculator --> Clash["Clash Engine"]:::data
Calculator --> Damage["Damage Engine"]:::data
end
Handlers --> Templates["HTML Templates"]:::view
Templates --> Server
git clone https://github.com/EduLoboM/Mirinae-Archives.git
cd Mirinae-Archives
# Build e execução
docker build -t mirinae-archives .
docker run -p 3000:3000 mirinae-archives
# Acesse em http://localhost:3000- Go 1.25+
- Air (hot reload)
- Tailwind CSS CLI
git clone https://github.com/EduLoboM/Mirinae-Archives.git
cd Mirinae-Archives
# Instalar dependências
go install github.com/air-verse/air@latest
go mod tidy
# Baixar Tailwind CLI (Linux)
curl -sLO https://github.com/tailwindlabs/tailwindcss/releases/latest/download/tailwindcss-linux-x64
chmod +x tailwindcss-linux-x64
mv tailwindcss-linux-x64 tailwindcss
# Executar em desenvolvimento
GOEXPERIMENT=greenteagc air & ./tailwindcss -i static/css/input.css -o static/css/output.css --watchMirinae-Archives/
├── cmd/server/
│ └── main.go # Entry point (Chi router)
├── internal/
│ ├── calculator/
│ │ ├── skill.go # Skill struct e métodos
│ │ ├── clash.go # Motor de clash probabilístico
│ │ └── damage.go # Calculadora de dano
│ └── handlers/ # HTTP handlers
├── static/
│ ├── css/ # Tailwind input/output
│ └── images/ # Assets visuais
├── templates/
│ ├── layouts/ # Base HTML templates
│ └── pages/ # Page templates
├── tests/ # Suíte de testes
├── .air.toml # Hot reload config
└── go.mod # Go module
O projeto possui uma suíte completa de testes organizados em 4 arquivos:
| Arquivo | Descrição | Cobertura |
|---|---|---|
| skill_test.go | Testes dos métodos de Skill | EffectiveLevel, ClashPower, ActiveCoins |
| clash_test.go | Testes do motor de clash | Probabilidades, Paralyze, Scenarios |
| damage_test.go | Testes da calculadora de dano | Resistências, Crítico, Buffs/Debuffs |
| calculator_test.go | Testes de integração | Fluxos completos Clash → Damage |
# Todos os testes
go test ./tests/... -v
# Com cobertura
go test ./tests/... -cover
# Teste específico
go test ./tests/... -run TestCalculateDamageO projeto utiliza GitHub Actions com o seguinte pipeline:
- Checkout - Clone do repositório
- Setup Go - Go 1.23
- Dependencies - Download de módulos
- Test - Execução da suíte de testes
- Build - Compilação do binário
Utilização do novo garbage collector experimental do Go 1.25 para melhor performance em aplicações web:
GOEXPERIMENT=greenteagc go run ./cmd/serverImplementação de um motor de clash usando cadeias de Markov absorventes para calcular probabilidades exatas de vitória, derrota e empate com base em:
- Power base + coin flips
- Offense/Defense level bonus
- Paralyze stacks
- Número de moedas
Sistema completo de cálculo de dano considerando:
- Resistências: Sin Resist, Phys Resist
- Status: Fragile, Protection, Stagger
- Multiplicadores: Critical, Damage Up/Down
- Clash Bonus: Baseado em turnos esperados
Desenvolvido com ✨ por Eduardo Lôbo Moreira.
Inspirado pelo universo de Project Moon.