TJE - Javi Agenjo at UPF

TJE

Última actualización: 29/04/2010

Introducción

El taller trata sobre el desarrollo de un videojuego 3D en C++ sobre OpenGL comenzando de un esqueleto muy básico, usando los conceptos básicos del desarrollo de motores de juegos. Desde carga de texturas y modelos 3D, pasando por logica de juego y inteligencia artificial.

La asignatura es una buena oportunidad para desarrollar una aplicación compleja, donde poner en práctica todos los conceptos de programación orientada a objetos, patrones de diseño, y metodologias de programación eficientes y limpias.

En anteriores edificiones se han hecho juegos de Tankes, de lucha de naves espaciales (estilo Freespace), de lucha de barcos (estilo Battlestations Pacific) y de lucha de aviones (estilo Winds of Prey).

Prerequisitos

Este es un listado de algunos de los conceptos que se asume los estudiantes estan familiarizados de otras asignaturas.

Semana 1-2: Practica 2D

En la primera práctica crearemos un simple juego 2D.

Requisitos Practica 1

  • Resolution 128×128
  • Control con cursores y dos botones máximo (salvo botones para salir del juego)
  • Tiene que tener title screen
  • Tema: ???

La entrega sera el día 14 de Abril durante la clase a través del aula global, y tendreis que presentar cada grupo.

Form para valorar

Código

(COMO CORREGIR ERROR AULAS)

 

Arte

Para descargar recursos para el juego (assets) visita la sección de recursos de arte. Recuerda que tienes un enlace a la sección arriba de todo a la derecha de esta página.

Entrega Practica Final

La fecha de entrega será el ultimo dia de examenes, y la presentación será ese mismo dia por la tarde.

Teneis que entregar a traves del aula global un zip que contenga todo siguiendo la guia de deploy, debe contener:

  • Ejecutable del juego, compilado con Visual Studio 2017 en modo Release.
  • Assets (texturas, meshes, shaders, samples, etc).
  • Readme.TXT con NIAs, Mails, cómo jugar, explicación de qué habeis programado.
  • Link a video en youtube donde se pueda ver el juego en funcionamiento.
  • Codigo fuente del juego y ficheros del proyecto (solamente .sln y .vproj, nada de binarios).

Enlaces externos

Trabajos entregados en años anteriores

Posts interesantes

Librerias utiles

Si quereis seguir desarrollando aplicaciones gráficas aquí hay un listado de librerias utiles para hacerlo:

  • STB libraries librerias de un solo .h para cualquier cosa (cargar imagenes, voxelizar, pintar texto, etc).
  • Pathfinders libreria de un solo .h y .c para calculo de caminos.
  • Tiny headers otras librerias de un solo .h para audio, red y fisica 2D.
  • OpenAL o BASS para el audio
  • TinyXML o Jansson (para parsear XMLs o JSON respectivamente)
  • PhysFS para el sistema de ficheros virtual
  • libnoise para generar perlin noise (util para generacion procedural).
  • OpenIL para cargar imagenes.
  • CORGI para crear componentes y entidades en tu juego.
  • libcurl y zoidcom para peticiones HTTP y realtime connections respectivamente.
  • LUA, GameMonkey o Angelscript como motor de scripting

Ambientación

Codigo Fuente de Juegos Originales