Projeto de exemplo desenvolvido para o blog C# Brasil, demonstrando como criar um jogo completo no estilo Space Invaders usando Godot 4 com C#.
- Mova a nave horizontalmente e destrua todos os invasores antes que cheguem ao solo
- Os inimigos aceleram conforme são eliminados e contra-atacam com tiros
- 3 vidas com período de invencibilidade após ser atingido
- Pressione R para reiniciar após Game Over ou vitória
| Ação | Tecla |
|---|---|
| Mover para a esquerda | ← ou A |
| Mover para a direita | → ou D |
| Atirar | Espaço |
| Reiniciar | R |
src/
├── assets/
│ ├── sprites/ # PNGs gerados por código (pixel art)
│ │ ├── player.png # Nave do jogador (48×40)
│ │ ├── enemy.png # Invasor (40×32)
│ │ └── bullet.png # Projétil (8×20)
│ └── sounds/ # WAVs sintetizados por código
│ ├── shoot.wav # Laser ao atirar
│ └── explosion.wav # Explosão ao destruir inimigo
├── scenes/
│ ├── Main.tscn # Cena raiz com UI e lógica de jogo
│ ├── Player.tscn
│ ├── Enemy.tscn
│ └── Bullet.tscn
├── scripts/
│ ├── Main.cs # Orquestração: spawn, movimentação da grid, pontuação
│ ├── Player.cs # Movimento, tiro, vidas e invencibilidade
│ ├── Enemy.cs # Comportamento do inimigo e evento de destruição
│ └── Bullet.cs # Projétil do jogador e dos inimigos
├── SpaceInvadersGodot.csproj
└── SpaceInvadersGodot.sln
| Ferramenta | Versão mínima |
|---|---|
| Godot Engine (Mono) | 4.4 |
| .NET SDK | 8.0 |
# 1. Clone o repositório
git clone https://github.com/csharpbrasil/space-invaders-godot.git
cd space-invaders-godot
# 2. Abra o projeto no Godot
# File → Open Project → selecione a pasta src/
# 3. Compile o C# dentro do editor
# Project → Build (ou Ctrl+B)
# 4. Rode o jogo
# F5- No Godot: Project → Export…
- Selecione o preset Windows Desktop
- Se necessário, instale os templates: Editor → Manage Export Templates
- Clique em Export Project — o executável é gerado em
src/dist/
- Cenas e nós (Node2D, CharacterBody2D, Area2D, CanvasLayer)
- Scripts C# com herança de nós Godot e delegates/events
- Collision layers para separar jogador, inimigos e projéteis
- Geração procedural de assets (sprites PNG e WAVs puros em código)
- Configuração de export para Windows com suporte a C#
MIT — sinta-se livre para usar, modificar e compartilhar.