🌍 DevPlanet — Idle Game para VS Code
Um jogo idle procedural que roda dentro do VS Code como extensão. Enquanto você programa, seu planeta evolui. Ao voltar, coleta recursos, reage a eventos e toma decisões rápidas antes de fechar de novo.
🎯 Conceito
- Jogo idle baseado em tempo real — progresso acontece mesmo com o VS Code fechado
- Interface compacta em painel lateral, sem sair do editor
- Sem backend — save automático via
globalState do VS Code, com exportação por código Base64
- Conteúdo procedural: planetas com clima, terreno e nome gerados por seed
- Decisões com consequências reais: recursos, HP e XP são afetados pelas escolhas
🧠 Loop de Jogabilidade
Abrir VS Code → Ver status do planeta → Coletar recursos offline
→ Iniciar mineração → Reagir a eventos → Fabricar itens → Fechar
→ Tempo passa → Voltar e repetir
✅ Estado Atual — O que está implementado
🏗️ Base da Extensão
- Extensão TypeScript com WebviewPanel, status bar e comandos registrados
- Save automático em
globalState; exportar/importar progresso via código Base64
- Geração procedural de planetas (nome, clima, terreno) por seed numérico
⛏️ Mineração
- 3 durações: Rápida (1 min), Média (5 min), Longa (15 min)
- Barra de progresso animada em tempo real (atualização a cada 1 segundo no cliente)
- Recompensa coletável ao final; coleta automática detectada pelo timer
- Item Perfuratriz Avançada reduz o tempo de todas as sessões em 40%
👽 Eventos e Decisões
- 6 eventos temáticos com 3 escolhas cada:
☄️ Meteoros · 📡 Sinal Alienígena · ⚡ Falha no Reator
🕳️ Caverna · 👾 Fauna Hostil · 🌪️ Tempestade de Dados
- Cada escolha tem efeitos reais em minerais, energia, dados, HP e XP
- Escudo Planetário reduz 30% do dano de HP em eventos negativos
- Intervalo mínimo de 3 minutos entre eventos; chance de 6% a cada tick de 5s
🎒 Inventário e Fabricação
| Item |
Custo |
Efeito |
| ⛏️ Perfuratriz Avançada |
120 minerais |
Mineração 40% mais rápida |
| 🔋 Célula de Energia |
60 min + 60 dados |
+0.5 energia/min offline |
| 💾 Chip de Dados |
90 min + 40 energia |
+0.3 dados/min offline |
| 🛡️ Escudo Planetário |
160 min + 80 energia |
Reduz dano de eventos em 30% |
❤️ Sistema de Vida
- HP afetado por eventos; regeneração passiva de 1 HP a cada 20 minutos offline
- Botão de cura: ⚡35 → +15 HP (visível quando HP < máx e energia suficiente)
- Tela de morte ao chegar em HP 0, com 3 opções de recuperação:
- Ressuscitar gastando ⚡80 (restaura 20% do HP máximo)
- Retornar via código de save importado
- Reiniciar o planeta (perde todo o progresso)
⚖️ Balanceamento
| Recurso |
Taxa offline |
Com item |
| Minerais |
0.5/min |
— |
| Energia |
0.3/min |
+0.5/min (Célula) |
| Dados |
0.1/min |
+0.3/min (Chip) |
Mineração é a principal fonte de renda. Itens exigem várias sessões de jogo para ser fabricados.
🗂️ Estrutura do Projeto
src/
extension.ts # ativação, comandos, status bar
game/
state.ts # tipos, GameState, opções de mineração
engine.ts # lógica idle: offline, mineração, eventos, inventário, vida
events.ts # banco de 6 eventos com escolhas e efeitos
items.ts # definições dos 4 itens fabricáveis
save.ts # encode/decode Base64 para exportar save
procedural.ts # geração procedural de planetas por seed
ui/
panel.ts # WebviewPanel: renderização, CSP, animação, mensagens
out/ # código compilado (gerado automaticamente)
🧪 Como Rodar
npm install
npm run compile
Pressione F5 no VS Code para abrir a janela de desenvolvimento.
Abra o jogo via Ctrl+Shift+P → DevPlanet: Abrir Planeta
ou pelo ícone 🌍 DevPlanet na barra de status inferior direita.
🧰 Tecnologias
🗺️ Roadmap
Fase 2 — Progressão e Mundo
- [x] Evolução de planetas — level-up a cada 100 XP (máx 5 por planeta); cada clima dá bônus offline único; ao nível 5 botão permite evoluir para um novo planeta procedural mantendo inventário e 40% dos recursos
- [x] Fauna procedural — 10 criaturas únicas por clima; 2 por planeta via seed; estudar e domesticar em 2 estágios; bônus passivos offline quando domesticadas
- [x] Missões passivas — 10 objetivos rastreados automaticamente (mineração, eventos, exploração, fabricação, fauna) com barra de progresso e recompensas coletáveis
Fase 3 — Profundidade de Jogo
- [x] Árvore de upgrades — 5 melhorias permanentes com 3 níveis cada, compradas com XP; persistem entre evoluções; afetam HP máx, regen, mineração, taxa offline e custo de trocas
- [x] Exploração ativa — mapa 4×4 procedural por planeta; revela células gastando ⚡15; tipos: depósito, energia, dados, ruínas, perigo, vazio; recompensas coletáveis; perigos aplicam dano imediato
- [x] Sistema de comércio — 6 trocas entre minerais/energia/dados com multiplicadores ×1 ×5 ×10; taxas levemente desfavoráveis para criar decisões de gerenciamento
Fase 2.5 — Construção de Naves
- [x] Sistema de naves — loja de 12 peças em 4 slots (casco, motor, armamento, escudo); preview SVG composto em tempo real; bônus ativos aplicados no engine (mineração, offline, dano de eventos, regen)
Fase 4 — Polimento e Publicação
- [x] Tela de onboarding para primeiro uso (logo, 3 mecânicas explicadas, botão de início)
- [x] Sons opcionais — Web Audio API no painel + notificação VS Code em background (configurável em Settings)
- [x] Temas visuais configuráveis: Padrão, Cósmico e Retro (comando
DevPlanet: Mudar Tema Visual)
- [x] Pacote preparado para o Marketplace: ícone PNG, publisher, keywords,
vsce configurado
💾 Save via Código
O progresso é salvo automaticamente no globalState do VS Code entre sessões.
Para backup ou migração entre máquinas:
Ctrl+Shift+P → DevPlanet: Exportar Save — copia código Base64 para o clipboard
Ctrl+Shift+P → DevPlanet: Importar Save — restaura a partir de um código
O código de save também serve como mecanismo de retorno após morte: exporte antes de situações de risco e importe para reverter caso o planeta seja destruído.
| |