🎮 Curso Inicial de Desenvolvimento de Jogos em C com Raylib
Bem-vindo ao repositório do curso introdutório de desenvolvimento de jogos utilizando:
Linguagem C Biblioteca Raylib Programação gráfica 2D Conceitos fundamentais de Game Development
Este material foi criado para ensinar programação de jogos por etapas, permitindo que o aluno evolua gradualmente desde um simples "Hello World" até um mini jogo funcional com:
sprites áudio movimentação Delta Time colisão FPS interação com mouse
O propósito deste projeto é ensinar:
✅ lógica de jogos
✅ renderização gráfica
✅ arquitetura básica de game loop
✅ animação
✅ áudio
✅ sprites/texturas
✅ movimentação profissional
✅ fundamentos de engines 2D
Tudo de maneira:
prática incremental visual acessível para iniciantes
🧠 Filosofia do Curso O aluno aprende: passo a passo
Cada etapa introduz: um novo conceito um novo recurso uma nova mecânica
A ideia é:
entender → praticar → modificar → evoluir
projeto/
│
├── main.c
├── main.exe
│
├── main.md
├── main2.md
├── main3.md
├── main4.md
├── main5.md
├── main6.md
├── main7.md
│
├── mainFINAL.md
│
├── raylib_codigo_basico_explicado1.md
├── raylib_drawrectangle_explicado2.md
├── raylib_movimento_quadrado_explicado3.md
├── raylib_settargetfps_explicado4.md
├── raylib_texturas_inserirFigura_explicado5.md
├── raylib_movimento_sprite_delta_time6.md
├── raylib_delta_time_movimento_profissional6.md
├── raylib_audio_sound_effects_explicado7.md
│
├── outputs/
│
└── Exemplo_completo4/
🚀 Sequência de Aprendizado
✅ Etapa 1 — Código Básico Arquivo: raylib_codigo_basico_explicado1.md
Conceitos: criação de janela game loop DrawText renderização básica
O aluno aprende:
como funciona um programa gráfico estrutura mínima de um jogo
✅ Etapa 2 — Desenhando Formas Arquivo: raylib_drawrectangle_explicado2.md
Conceitos: DrawRectangle coordenadas cores renderização de formas
O aluno aprende: sistema de coordenadas 2D desenho em tempo real
✅ Etapa 3 — Movimento Arquivo: raylib_movimento_quadrado_explicado3.md
Conceitos: animação atualização frame a frame movimento horizontal
O aluno aprende: lógica de movimento atualização contínua
✅ Etapa 4 — Controle de FPS Arquivo: raylib_settargetfps_explicado4.md
Conceitos: FPS sincronização velocidade do loop
O aluno aprende: diferença entre FPS e velocidade importância do controle temporal
✅ Etapa 5 — Sprites e Texturas Arquivo: raylib_texturas_inserirFigura_explicado5.md
Conceitos: imagens sprites texturas assets gráficos
O aluno aprende: como jogos usam imagens renderização de personagens e objetos
✅ Etapa 6 — Delta Time Arquivos: raylib_movimento_sprite_delta_time6.md raylib_delta_time_movimento_profissional6.md
Conceitos: Delta Time movimento profissional velocidade independente de FPS
O aluno aprende: movimentação moderna física básica de jogos
✅ Etapa 7 — Áudio Arquivo: raylib_audio_sound_effects_explicado7.md Conceitos: efeitos sonoros música feedback audiovisual
O aluno aprende: engine de áudio interação sonora feedback ao jogador
Arquivo:
mainFINAL.md
O aluno integrará:
✅ figuras
✅ movimento
✅ áudio
✅ colisão
✅ mouse
✅ FPS
✅ pontuação
✅ game loop completo
Resultado: mini jogo funcional estilo shooter 2D
Durante o curso o aluno terá contato com:
Conceito Descrição
Game Loop ciclo principal do jogo
Renderização desenho na tela
FPS frames por segundo
Delta Time tempo entre frames
Sprites imagens de jogo
Texturas assets gráficos
Input teclado e mouse
Áudio efeitos sonoros
Colisão interação entre objetos
Feedback resposta audiovisual
Tecnologia Uso
C linguagem principal
Raylib biblioteca gráfica
OpenGL renderização
GCC compilador
VSCode/CodeBlocks ambiente de desenvolvimento
🛠️ Como Compilar Windows (GCC) gcc main.c -o jogo.exe -lraylib -lopengl32 -lgdi32 -lwinmm
./jogo.exe
ou:
jogo.exe
📦 Assets
Os arquivos de imagem e áudio devem ficar na mesma pasta do executável:
meu_jogo/
│
├── jogo.exe
├── sprite.png
├── tiro.mp3
├── fundo.ogg
🎯 Objetivo Pedagógico Final
Ao concluir esta sequência o aluno será capaz de:
✅ criar jogos simples 2D
✅ compreender game loops
✅ utilizar sprites
✅ implementar áudio
✅ controlar FPS
✅ usar Delta Time
✅ estruturar projetos básicos de jogos
🧠 Conceito Mais Importante do Curso
Jogos funcionam basicamente assim:
ATUALIZAR
↓
DESENHAR
↓
MOSTRAR
↓
REPETIR
Esse ciclo é o coração de praticamente toda engine de jogos.
👨💻 Autor: Professor Murillo Souza
Projeto educacional desenvolvido para ensino introdutório de:
Programação em C Desenvolvimento de Jogos Computação Gráfica Game Development Foundations
📜 Licença Projeto educacional para fins de ensino e aprendizado.