USP Kart: jogo de corrida em OpenGL estilo Mario Kart

Download Monografia

Nome do Aluno: Pedro Zamecki Andrade

Nome do Orientador: Prof. Dr. Paulo Andre Vechiatto de Miranda

Resumo do Trabalho

USP Kart é um jogo eletrônico de corrida desenvolvido como Trabalho de Conclusão de Curso em Ciência da Computação na Universidade de São Paulo (USP). Inspirado no clássico Mario Kart, o projeto une desafios técnicos de computação gráfica e inteligência artificial, com uma temática que homenageia a USP e o Instituto de Matemática e Estatística (IME).

Tecnologias Utilizadas

O jogo foi implementado em C++ utilizando bibliotecas como OpenGL, GLFW, GLEW, GLM e ASSIMP, que oferecem suporte para gráficos 3D, gerenciamento de recursos e física. Foi projetado para ser multiplataforma, compatível com sistemas Windows e Linux, garantindo acessibilidade e desempenho. Além disso, foram aplicados conceitos de paralelismo para otimizar a execução de tarefas como lógica de jogo e renderização gráfica.

Jogabilidade e Estética

A jogabilidade é centrada em corridas dinâmicas com mecânicas inspiradas em kart racers. Os jogadores podem acelerar, frear e fazer curvas precisas, enquanto interagem com adversários controlados por inteligência artificial. Para maior imersão, o estilo visual foi desenvolvido do zero, incluindo elementos que remetem à USP e ao mascote Fluffy. Modelos e texturas foram criados usando Blockbench e GIMP, priorizando simplicidade e identidade visual única.

Inteligência Artificial

Os corredores controlados por IA utilizam o algoritmo A* para determinar o caminho mais eficiente até o próximo checkpoint, mesmo em cenários complexos. O modelo de movimento segue o "bicycle model", uma abordagem simplificada, mas eficaz, para simular veículos em movimento. Além disso, foi implementada a técnica de rubber band AI, que ajusta o desempenho dos adversários para manter corridas competitivas e desafiadoras.

Desafios Técnicos e Soluções

O desenvolvimento do USP Kart exigiu a criação de um motor gráfico próprio, além de sistemas personalizados para gerenciamento de recursos, física, colisões (baseadas no algoritmo SAT) e renderização. A integração dessas ferramentas possibilitou uma experiência fluida e responsiva para os jogadores.

Contribuições e Futuro

Mais do que um jogo, USP Kart é um estudo de caso sobre a aplicação de computação gráfica, paralelismo e algoritmos de busca em projetos de software. Ele também busca destacar o potencial criativo da indústria brasileira de jogos e inspirar o desenvolvimento de títulos que representem a cultura e identidade locais. Para o futuro, melhorias planejadas incluem a ampliação dos cenários, novas funcionalidades de jogabilidade e uma maior integração com plataformas online.

Link para a Monografia: Download monografia

Link para o Repositório do USP Kart: Acesse o repositório no GitHub