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