BombInsper

A evolução do Bomberman clássico com temática árabe. Coloque bombas, destrua paredes e derrote seus inimigos online!

Multiplayer Online Projeto Acadêmico Insper 2025
Multiplayer em Tempo Real

Recursos e Tecnologias

Conheça as tecnologias e recursos que tornam BombInsper especial

Multiplayer Online

Jogue contra amigos ou desconhecidos em partidas online de até 2 jogadores em tempo real através de conexão WebSocket.

Sistema de Ranking

Vença partidas e veja sua posição no ranking global. Seus resultados são armazenados em nosso servidor e exibidos em tempo real.

Power-Ups

Colete power-ups para aumentar o alcance das bombas, velocidade, e quantidade de bombas simultâneas para dominar seus oponentes.

Tecnologias Utilizadas

PyGame

Framework de jogos em Python utilizado para criar a interface do cliente

WebSockets

Protocolo de comunicação para interação em tempo real entre cliente e servidor

FastAPI

Framework utilizado para autenticação, WebSocket, ranking, cadastro, leaderboard e matchmaking.

Prisma com SQLite

ORM utilizado para gerenciar o banco de dados SQLite, armazenando informações de usuários e rankings.

Arquitetura Cliente-Servidor

Cliente PyGame
WebSockets
Servidor de Jogo
SQL
Database

O design cliente-servidor permite que diferentes interfaces (PyGame, Web, Mobile) se conectem ao mesmo servidor de jogo, possibilitando experiências multiplataforma.

Download

Escolha a versão para o seu sistema operacional e comece a jogar!

Windows

Basta baixar e dar dois cliques para jogar!

  • Windows 10 ou superior
  • 100MB de espaço livre
  • Conexão com internet

Linux

Basta baixar o binário e executá-lo diretamente!

  • Linux com kernel recente
  • 100MB de espaço livre
  • Conexão com internet

macOS

Basta baixar e dar dois cliques para jogar!

  • macOS 11 ou superior
  • 100MB de espaço livre
  • Conexão com internet

Como Jogar

Controles

  • WASD - Movimento
  • Espaço - Colocar bomba
  • ESC - Menu / Pausar

Poder das Bombas

As bombas explodem em cruz, destruindo obstáculos e inimigos no caminho. Colete power-ups para aumentar o alcance e quantidade de bombas.

Nossa Equipe

Conheça os desenvolvedores por trás do BombInsper

Felipe Adeildo

Felipe Adeildo

Desenvolvedor Full-Stack

Arquiteto do backend e infraestrutura do jogo. Desenvolveu o servidor com FastAPI, implementou o sistema de ranking, autenticação e comunicação em tempo real via WebSockets. Criou soluções thread-safe no cliente para manter a performance do jogo enquanto se comunica com o servidor. Automatizou todo o processo de build e deploy com GitHub Actions.

Python WebSockets FastAPI SQL Prisma ORM CI/CD GitHub Actions Threading Full-Stack
Robson França

Robson França

Game Developer

Criador da experiência de jogo usando PyGame. Desenvolveu uma arquitetura modular que integra interface, animações e mecânicas de jogo em um sistema coeso. Implementou todos os elementos visuais e interativos, incluindo menus, personagens, cenários e efeitos. Responsável pela experiência de jogabilidade fluida.

PyGame Game Design 2D Graphics Component Design UI/UX Animation Game Mechanics Physics Scene Management

Agradecimentos e Recursos

Desenvolvimento

Este jogo foi desenvolvido como projeto acadêmico da disciplina DevLife de Ciência da Computação do Insper.

Trilha Sonora

Músicas por Finx

Efeitos Sonoros por Finx

Arte

Sprites e Concept Art por Arak

Interface e Menus por Arak

Leaderboard

Confira os melhores jogadores de BombInsper no ranking ~mundial~!

# Jogador Vitórias
Carregando ranking...

Processo de Desenvolvimento

Acompanhe a jornada de criação do jogo desde o início

Desafios Superados

Sincronização em Tempo Real

Implementar o multiplayer online foi nosso maior desafio. Tivemos que criar um sistema de sincronização de estado entre o servidor e os clientes que fosse rápido o suficiente para uma experiência sem lag, mesmo com a latência da rede.

Física e Colisões

Criar um sistema de colisão e física que funcionasse tanto localmente quanto quando sincronizado com o servidor foi complexo. Implementamos um sistema híbrido onde algumas colisões são verificadas no cliente para resposta imediata.

Gerenciamento de Estado

Manter o estado do jogo consistente entre todos os jogadores exigiu uma arquitetura robusta de comunicação. Implementamos um sistema de mensagens com confirmação para garantir que todos os jogadores estejam vendo o mesmo estado do jogo.

Avaliação dos Princípios CRAP

Nesta seção documentamos as melhorias de design baseadas na avaliação dos princípios CRAP recebida de outros grupos. As modificações foram implementadas para aprimorar a experiência do usuário.

C - Contraste

Elementos diferentes devem ser realmente diferentes para criar hierarquia visual e destacar o que é importante.

Antes: Pouco contraste entre elementos principais e secundários, dificultando a hierarquia visual.

Depois: Melhoramos os contrastes de cores e tamanhos para destacar informações importantes.

R - Repetição

Elementos visuais devem ser repetidos por toda a interface para criar consistência e coesão.

Antes: Estilo inconsistente entre seções, prejudicando a identidade visual do site.

Depois: Padronizamos os estilos de cabeçalhos, cards e ícones em todas as seções.

A - Alinhamento

Nada deve ser posicionado arbitrariamente. Todos os elementos devem ter uma conexão visual com algo na página.

Antes: Elementos desalinhados em várias seções, criando uma sensação de desordem visual.

Depois: Implementamos uma grade consistente e alinhamentos uniformes em toda a página.

P - Proximidade

Itens relacionados devem ser agrupados visualmente para organizar a informação e reduzir a desordem.

Antes: Elementos relacionados estavam distantes, dificultando a compreensão de suas conexões.

Depois: Agrupamos informações relacionadas e criamos espaçamento adequado entre grupos diferentes.

Feedback Recebido

"O site apresenta uma boa hierarquia visual na maioria das seções, mas poderia melhorar o contraste entre texto e fundo em algumas áreas. A repetição de elementos como ícones e cores é consistente, criando uma identidade visual forte. O alinhamento dos elementos está bem executado na maioria das seções. A proximidade entre elementos relacionados é adequada, facilitando a compreensão do conteúdo."

- Grupo Avaliador

Nota: Esta seção será atualizada após recebermos as avaliações CRAP de outros grupos e implementarmos as melhorias sugeridas.

Histórico de Commits

Acompanhe o progresso de desenvolvimento do jogo através dos commits do repositório.

Carregando histórico de commits...