Skip to content

Re-imaginación del popular juego de estrategia por turnos Worms Armageddon para la materia Taller de programación I (Cátedra Veiga)

Notifications You must be signed in to change notification settings

JM-Pascual/TPG-Taller-Worms2D

Repository files navigation

TPG - Taller de Programación I (7542/9508)

Worms2D

worms-logo

Worms2D es el proyecto final para la materia Taller de programación I (Cátedra Veiga - Facultad de Ing. UBA) y consta de una re-imaginación del popular juego de estrategia por turnos Worms Armageddon.

Para el proyecto se emplearon una serie de bibliotecas las cuales se listan como dependencias necesarias para correr el programa a continuación.

Dependencias:

  • Box2D // Engine de Físicas para juegos 2D.
  • SDL2pp // Wrapper de la biblioteca SDL para tareas de renderizado y reproducción de audio.
  • QT // Framework de diseño utilizado para la UI del juego.
  • Google Tests // Suite para test unitarios en C++.
  • LibYAML // Librería para facilitar el parseo y lectura de archivos YAML.
  • Spdlog // Libreria de logging

worm-dependencias

Guía de instalación de las dependencias

  • Box2D
sudo apt install doxygen
git clone git@github.com:erincatto/box2d.git
cd box2d
mkdir build
cd build
cmake -DBOX2D_BUILD_DOCS=ON ..
make -j4
sudo make install
  • SDL2pp

Para desarrollo del juego se utilizo la versión 0.18 de libsdl2pp. Para su correcto funcionamiento se necesita descargar las siguientes releases de bibliotecas del paquete SDL:

Acto seguido instalamos algunas dependencias que deberemos linkear para compilar el proyecto.

sudo apt-get install libjpeg-dev libpng-dev libfreetype-dev libopusfile-dev libflac-dev libxmp-dev libfluidsynth-dev libwavpack-dev cmake libmodplug-dev libsdl2-dev

Luego, con cada uno de los zip de la primera parte seguimos el siguiente proceso de compilado e instalado:

cd carpeta_sdl_x
mkdir build
cd build
cmake ..
make -j4
sudo make install #importante el hacerlo como sudo

Una vez compiladas e instaladas las ultimas versiones de libsdl2 (mixer, ttf e image), compilamos e instalamos la version 0.18.1 de libsdl2pp

cd libSDL2pp-0.18.1
mkdir build
cd build
cmake ..
make -j4
sudo make install #importante el hacerlo como sudo
  • QT
sudo apt install qmake6 qt6-base-dev qt6-base-dev-tools qt6-multimedia-dev qt6-tools-dev qt6-tools-dev-tools qt6-wayland qt6-wayland-dev qt6-wayland-dev-tools libqt6multimedia6 libqt5multimedia5-plugins
  • libYAML & GoogleTests
sudo apt install libgtest-dev libyaml-cpp-dev libyaml-cpp0.7 -y
  • Spdlog
sudo apt install libspdlog-dev libspdlog1.10 -y

Ejecucion de la aplicacion

git clone git@github.com:JM-Pascual/TPG-Taller-Worms2D.git
cd TPG-Taller-Worms2D
mkdir build
cd build
cmake ..
make -j4
../target/worms2dsv 8080 #servidor
../target/worms2d 127.0.0.1 8080 #cliente

Disclaimer

Se utilizo el socket, queues y thread provistos por la catedra Veiga de Taller de Programacion I UBA. Bajo licencia GPL v2.

About

Re-imaginación del popular juego de estrategia por turnos Worms Armageddon para la materia Taller de programación I (Cátedra Veiga)

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages