Skip to content

florovenza/TpGrupal_NeedForSpeed

Repository files navigation

Need For Speed – TP Taller de Programación (FIUBA)

Recreación del clásico Need for Speed desarrollada para la materia Taller de Programación (Cátedra Veiga, Universidad de Buenos Aires).

El proyecto integra un servidor multithread, un cliente gráfico en Qt + SDL, un editor de circuitos, y un suite de tests automáticos.

Trailer

Watch the video

Participantes

  • Pilar Montilla ~ 111811 ~ @pilarmontilla
  • Facundo Barrasso ~ 111942 ~ @FacundoBarrasso
  • Florencia Lopez Ovenza ~ 111691 ~ @florovenza
  • Santiago Lorido ~ 111808 ~ @santilorido

Manual del Usuario

Este manual está pensado para un usuario sin experiencia en C++ ni CMake. Incluye todos los pasos necesarios para compilar, instalar, configurar, y ejecutar el proyecto.


Sistema operativo y dependencias

Sistema operativo soportado

  • Ubuntu 22.04 LTS o superior
  • Otras distros Linux basadas en Debian deberían funcionar
  • Distros basadas en Arch tambien deberían funcionar

Dependencias necesarias

El proyecto usa:

  • CMake 3.24+
  • g++ / clang++ compatible con C++20
  • Qt 5/6 (Widgets, Multimedia, Svg)
  • SDL2, SDL2_image, SDL2_mixer, SDL2_ttf
  • libSDL2pp
  • yaml-cpp
  • Box2D 3.1.1

IMPORTANTE: No hace falta instalarlas manualmente. El script installer.sh descarga todo automáticamente.


Cómo compilar el proyecto

Con tests:

Ejecutá:

make compile-tests

Esto genera:

  • build/need4speed_client
  • build/need4speed_server
  • build/tests/run_tests

Sin tests:

make compile

Esto genera solo los ejecutables para cliente y servidor


Cómo correr el juego

Ejecutar con sudo:

make install

Este script:

  • Copia los ejecutables a /usr/local/need4speed
  • Copia config.yaml
  • Copia la carpeta de datos (client/data/)
  • Ejecuta las pruebas automáticas (run_tests) si fueron compiladas
  • Crea accesos directos en /usr/local/bin: need4speed_server need4speed_client

Gracias al instalador, solo necesitás escribir:

Levantar el servidor

need4speed_server <port>

Abrir el cliente

need4speed_client <ip> <port>

Cómo jugar

Controles

  • flechas → mover vehículo
  • → Gira el volante a la derecha
  • ← Gira el volante a la izquierda
  • ↑ Pisa el acelerador
  • ↓ Pisa freno

Cheats

  • M → Mutea la musica
  • U → Desmutea la musica
  • W → Ganas la partida
  • D → Moris en la partida
  • H → Vida infinita
  • N → Marcar el siguiente checkpoint como completado

Objetivo

  • Completar el recorrido
  • Evitar obstáculos
  • Competir contra otros jugadores

Cómo crear circuitos con el editor

1. Abrir el editor

Desde la pantalla general luego de ingresar tu nombre de usuario, seleccioná Create Circuit.

2. Crear un nuevo circuito

  • Elegir mapa.
  • Agregar hints, checkpoints y una grid.
  • No te olvides de guardar!

3. Exportar

El editor guarda automáticamente en:

/server/environment/races

4. Cargarlo en el servidor

Se carga automaticamente! Ya lo podes jugar :)


Cómo ejecutar los tests

Ya corren automáticamente al instalar.

Si querés correrlos manualmente:

./build/tests/run_tests

Créditos

Este proyecto reutiliza partes de los repositorios de la cátedra:

Sockets

Threads

About

Taller de Programación TP Grupal 2C-2025 Veiga.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •