Este é um projeto de um jogo de plataforma 2D desenvolvido em C++ com foco em criar uma game engine personalizada que suporte mecânicas complexas de jogos de plataforma. Também faz parte do projeto a interação entre o desenvolvedor e os artistas responsáveis pela criação de assets visuais e de som, para garantir que o jogo seja atraente. Código: Vitor-tml Assets: Brenda Alves Música: João Manfron
Introdução
O objetivo deste projeto é criar um jogo de plataforma com elementos clássicos como saltos, coleta de itens, inimigos, e fases desafiadoras. A engine é desenvolvida do zero, focando em modularidade e eficiência.
Compilação
Pré-Requisitos
Passo-a-passo
Clone o repositório. ```bash git clone https://github.com/Vitor-tml/jogo-de-plataforma-cpp cd jogo-de-platforma-cpp
2. Crie os caminhos necessários.
Pasta da biblioteca
bash mkdir libs
(mover a pasta do SFML para
libs```)
Pasta para compilação
- Gere os arquivos de compilação na pastal
build
(necessário a cada novo arquivo do projeto).
- Cruze os dedos e compile o projeto. esse parâmetro define quantas threads serão usadas na compilação.
- Execute o programa.
Caso esteja no windows:
- Copie as dlls da do caminho
.\libs\SFML-2.6.1\bin\
para a pasta build
ou outro caminho do executável.
- Execute o programa:
bash ./game.exe
Caso esteja no linux:
- Seja feliz.
- Execute o programa:
bash ./game
Estrutura do Projeto
JogoPlataforma/
├── docs
│ ├── html # Documentação em HTML
│ └── uml # Diagramas UML
├── include # Headers Externos
├── libs # Bibliotecas Externas
├── src # Código Fonte
│ ├── engine
│ │ ├── Animation # Sistema de Animação
│ │ ├── CollisionManager # Gerenciamento de Colisões
│ │ ├── Ente # Implementação de Entidades
│ │ ├── Paralaxe # Implementação de Paralaxe
│ │ ├── PhysicsComponent # Componentes de Física
│ │ ├── Renderer # Sistema de Renderização
│ │ ├── ResourceManager # Gerenciamento de Recursos
│ │ ├── SceneManager # Gerenciamento de Cenas
│ │ └── TileMap # Gerenciamento de Mapas de Tiles
│ └── game
│ ├── Entity # Implementação de Entidades
│ │ └── Character # Classe Base para Personagens
│ │ └── Player # Implementação do Jogador
│ └── Scenes # Implementação das Cenas
│ ├── CreditsScene # Cena de Créditos
│ ├── GameScene # Cena do Jogo
│ └── MenuScene # Cena do Menu
└── CMakeLists.txt # Configuração do CMake
Gerenciamento do Projeto
Notion
Estado do Jogo
Clique na imagem para abrir o vídeo.