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.
- Pilar Montilla ~ 111811 ~ @pilarmontilla
- Facundo Barrasso ~ 111942 ~ @FacundoBarrasso
- Florencia Lopez Ovenza ~ 111691 ~ @florovenza
- Santiago Lorido ~ 111808 ~ @santilorido
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.
- Ubuntu 22.04 LTS o superior
- Otras distros Linux basadas en Debian deberían funcionar
- Distros basadas en Arch tambien deberían funcionar
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.
Ejecutá:
make compile-testsEsto genera:
build/need4speed_clientbuild/need4speed_serverbuild/tests/run_tests
make compileEsto genera solo los ejecutables para cliente y servidor
Ejecutar con sudo:
make installEste 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_serverneed4speed_client
Gracias al instalador, solo necesitás escribir:
need4speed_server <port>need4speed_client <ip> <port>- flechas → mover vehículo
- → Gira el volante a la derecha
- ← Gira el volante a la izquierda
- ↑ Pisa el acelerador
- ↓ Pisa freno
- 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
- Completar el recorrido
- Evitar obstáculos
- Competir contra otros jugadores
Desde la pantalla general luego de ingresar tu nombre de usuario, seleccioná Create Circuit.
- Elegir mapa.
- Agregar hints, checkpoints y una grid.
- No te olvides de guardar!
El editor guarda automáticamente en:
/server/environment/races
Se carga automaticamente! Ya lo podes jugar :)
Ya corren automáticamente al instalar.
Si querés correrlos manualmente:
./build/tests/run_testsEste proyecto reutiliza partes de los repositorios de la cátedra:
- hands-on-sockets-in-cpp Licencia GLPv2
- hands-on-threads Licencia GPLv2
