Documentação do jogo - guilhermesaul/Jogo-POO GitHub Wiki
Documentação do Projeto: Deadlylight em Python com Pygame
1. Visão Geral
Tecnologia Utilizada: Python + Pygame
Descrição: Desenvolvimento de um jogo que combina mecânicas de simulação de vida (inspirado em Stardew Valley) e elementos de ação e aventura com temática apocalíptica (inspirado em The Last of Us), utilizando a biblioteca Pygame para renderização gráfica e mecânicas de jogo.
Objetivo: Criar um jogo onde o jogador lida com um ambiente pós-apocalíptico, passando por 3 cidades (fases) sobrevivendo, explorando e combatendo os inimigos.
2. Descrição Detalhada do Projeto
O que é o Deadlylight?
Deadlylight é um jogo 2D com visão lateral, tipo o jogo do Mario. Seu gênero principal é de sobrevivência, onde se passa em um mundo pós-apocalíptico destruído por uma infecção que infectou todos os outros humanos, transformando eles em infectados. O jogo combina elementos de simulação de vida e sobrevivência. Há exploração de áreas abandonadas, coleta de recursos e combate contra inimigos. O jogo será dividido em três fases; a cada fase, a dificuldade será aumentada e, ao final da terceira fase, haverá um boss que precisará ser derrotado para que o jogo possa ser concluído.
Curiosidade: Você sabia que Deadlylight começou com uma ideia simples inspirada no jogo Stardew Valley? Mesmo sendo um jogo de fazenda e visual pacífico, foi dele que surgiu a inspiração inicial.
2.1 Funcionalidades Principais
Motor do Jogo:
- Exploração: O jogador pode explorar áreas urbanas e coletar recursos.
- Sistema de recursos: Gerenciamento de recursos para sobrevivência.
- Sistema de combate: O jogador irá enfrentar os infectados com armas
Interface Gráfica:
- Renderização do mundo: Mapa com áreas urbanas e locais de exploração.
- Exibição de recursos e status: Mostra ao jogador seus recursos (inventário, itens, munição, armas, fome, sede e saúde).
- Cenas de combate e exploração: Áreas específicas para combate, com visão lateral.
- Tela de menu: Ajustar configurações.
Extras:
- Mecânicas de sobrevivência: Necessidade de gerenciar comida, água e saúde.
- Efeitos sonoros e música ambiental: Sons de combate e momentos de tensão.
2.2 Arquitetura do Código
Deadlylight/
├── main.py # Ponto de entrada do jogo
├── player.py # Classe do jogador e interações
├── voice.py # Comando de voz
├── enemies/ # Inimigos e infectados
│ ├── base.py # Classe base de inimigos (saúde, dano, velocidade e etc)
│ ├── infected.py # Tipos de infectados
│ └── ai.py # Lógica de IA (se for precisar)
├── items/ # Sistema de inventário
│ ├── weapons.py # Armas e munições
│ ├── supplies.py # Suprimentos (kits médicos, comida, água)
├── ui/ # Interface do usuário
│ ├── render.py # Renderização gráfica (Pygame)
│ ├── hud.py # HUD (vida, munição, inventário e etc)
│ ├── sounds.py # Gerenciamento de áudio
│ └── menus.py # Gerenciar opções (pause, som, salvar e sair)
├── utils/ # Funções auxiliares
│ ├── config.py # Constantes (armazenamento das cores e tamanhos)
│ └── save.py # Salvamento do jogo
├── data/ # Recursos externos
│ ├── savegame.json # Arquivos de salvamento irão aqui
│ ├── maps/ # Mapas das cidades
│ ├── images/ # Sprites, tiles
│ └── sounds/ # Efeitos sonoros e músicas
3. Etapas de Entrega (Cronograma Detalhado)
Etapa 1: Protótipo Básico (Mês 1)
- Criação da estrutura dos arquivos.
- Implementação de um background.
- Adicionar personagem ao mapa e a movimentação.
- Criação de artes (caso seja necessário).
Etapa 2: Ambiente e HUD Inicial (Mês 2)
- Adição de menu (pause, som, salvar e sair).
- Adicionar ao menos uma arma.
- Começar a fazer o HUD (saúde, fome, sede, arma e munição).
- Adicionar colisão ao personagem.
- Criação de artes (caso seja necessário).
Etapa 3: Expansão de Mundo e Interfaces (Mês 3)
- Finalização do HUD.
- Adição de itens (kit medico, comida, água).
- Adição de ao menos uma cidade.
- Adição de infectados.
- Adição de interface de loja.
- Adição de salvamento manual.
- Criação de artes (caso seja necessário).
Etapa 4: Conteúdo e Mecânicas Avançadas (Mês 4)
- Adição de mais itens.
- Adição de cidade(s).
- Adição de infectados + boss final.
- Adição do inventário.
- Criação de artes (caso seja necessário).
Etapa 5: Funcionalidades Necessárias (Mês 5)
- Adição de cidade(s).
- Adição de infectados + boss final.
- Implementação do comando de voz.
- Implementação do easter egg.
- Criação de artes (caso seja necessário).
Etapa 6: Polimento e Testes Finais (Mês 6)
- Melhorar o comando de voz.
- Ajustes finais no easter egg.
- Correção de bugs.
- Testes em geral (jogabilidade, performance, usabilidade).
- Criação de artes finais (caso seja necessário).
4. Requisitos Técnicos
4.1 Dependências
Versões necessárias para o funcionamento do jogo em Python:
Python 3.12.10
Pygame 2.6.1