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).

Server de Discord

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

Presentación de Jocs Electronics

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

Requisitos Practica 1

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

La entrega sera el Jueves 23 a las 23:59 max a través del aula global, y tendreis que presentar cada grupo el viernes 24.

Semana 3: Introduction to 3D

Framework Practica 2 (3D)

Semana 4-5: Engine

Semana 6: Game Logic

Semana 7: Characters

Semana 8: AI + Gameplay

Semana 9: GUI + Audio

Semana 10: Improving Graphics

Semana 12: Final touches

Extra

Código

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

Enunciado sobre Entrega 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:

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