Curs 2014-15

Jocs Electrònics

Titulació: Codi: Tipus:
Grau en Enginyeria Informàtica 21446 Optativa
Grau en Enginyeria Telemàtica 22620 Optativa
Grau en Enginyeria en Sistemes Audiovisuals 22684 Optativa

 

Crèdits ECTS: 4 Dedicació: 100 hores Trimestre: 3r

 

Departament: Dept. de Tecnologies de la Informació i les Comunicacions
Coordinador: Javier Agenjo
Professorat:

Javier Agenjo Asensio, Daniel Sanchez-Crespo

Idioma:

Castellà

Horari:
Campus: Campus de la Comunicació - Poblenou

 

Presentació de l'assignatura

Es treballarà el procés tecnològic i creatiu del desenvolupament d’un videojoc, l’alumne haurà de programar un videojoc en C++ començant des de cero, amb especial interès en el rendiment i la qualitat gràfica, treballant aspectes de jugabilitat i disseny.

Entre els punts més destacats del motor que es desenvolupa a l’assignatura hi ha:

El motor gràfic 3D mitjançant OpenGL, de col—lisions, intel—ligència artificial, interacció amb l’usuari,càrrega de recursos,reproducció de so,interfície d’usuari, física i partícules.

Al finalitzar l’assignatura l’alumne haurà completat el desenvolupament íntegre d’un videojoc 3D.

L’alumne aprendrà tècniques de programació gràfica  atemps real, optimització de codi, gestió de memòria dinàmica, enginyeria del software, interacció amb controladors de joc, i ús de tècniquesavançades de gràfics mitjançant la GPU.

 

Prerequisits

 

 

Competències

Competències transversalsCompetències específiques

Instrumentals

G1. Capacitat d'anàlisi i síntesi

G2. Capacitat d'organització i planificació

G3. Capacitat per aplicar els coneixements a l'anàlisi de situacions i la resolució de problemes

G4. Habilitat en la cerca i la gestió de la informació

G5. Habilitat en la presa de decisions

G6. Capacitat de comunicar-se amb propietat de forma oral i escri ta en català i en castellà, tant davant audiències expertes com a inexpertes.

 

Interpersonals

G8. Capacitat de treball en equip

G8. Capacitat de treball en equip

 

Sistèmiques

G11. Capacitat d'aplicar amb flexibilitat i creativitat els coneixements adquirits i d'adaptar-los a contextos i situacions noves

G12. Capacitat per progressar en els processos de formació i aprenentatge de manera autònoma i contínua

G14. Capacitat de motivació per la qualitat i per l'assoliment

G15. Capacitat de generació de noves idees

Competències Específiques Professionals

H1. Capacitat de concebre i dur a terme projectes informàtics utilitzant els principis i metodologies propis de l'enginyeria.

 

Competències Específiques d'Enginyeria en Informàtica

IN6. Conèixer els fonaments teòrics de la programació i utilitzar de forma pràctica els mètodes i llenguatges de programació per al desenvolupament de sistemes programari.

IN7. Conèixer les estructures de dades bàsiques i els tipus abstractes de dades, les seves aplicacions i propietats, i ser capaç de determinar les més adequades per a cada situació.

IN8. Conèixer i saber aplicar el repertori de tècniques algorítmiques avançades que permeten resoldre problemes no trivials mitjançant el desenvolupament de programes correctes i eficients.

 

Competències Específiques Comunes a la branca de Telecomunicació

T8. Capacitat de realitzar programació en temps real, concurrent, distribuïda i basada en esdeveniments, així com el disseny d'interfícies persona- computador.

 

Avaluació

Es formaran grups de dues persones el primer dia de classe.

Cada setmana els grups aniran implementant e integrant al seu codi personal els conceptes que es vagin explicant a classe.

Un dia a la setmana el professor supervisarà el codi de cada grup per separat, per assegurar-se de que el progrés és l’adequat.

Es planificaran tres lliuraments al llarg de l’assignatura, cadascun amb diferents blocs associats, que serviran per fer un millor seguiments de cada grup, i que només afectarà a la nota si no conté els requeriments mínims.

El darrer dia de l’assignatura els alumnes lliuraran un projecte juntament amb una memòria escrita.

El projecte s’avaluarà seguint els següents criteris:

- Completitud: el projecte conté tots el conceptes explicats a classe (representa un 50% de la nota).

- Integració: els elements coexisteixen al sistema de la manera adequada (representa un 30% de la nota).

- Rendiment: els alumnes han fet servir els algoritmes òptims per maximitzar el rendiment del sistema.(representa el 10% de la nota).

- Qualitat: els alumnes s’han preocupat per els petits detalls finals que donen valor al producte.(representa el 10% de la nota)

 

Continguts

L’assignatura requereix del desenvolupament d’un videojoc, els coneixements es divideixen en els següents blocs:

1. Introducció al desenvolupament de videojocs

2. Accés al hardware gràfic i Input de usuari (OpenGL i SDL).

3. Càrrega de textures i meshes

4. Graf d’escena (Nodes, càmeres).

5. Intel·ligència Artificial

6. Optimitzacions bàsiques: culling, col·lisions.

7. Lògica de joc i Controladors

8. Interfície de usuari i Audio

9. Sistemas de partícules i billboarding.

10. Shaders i acabat de joc.

 

Metodologia

A cada sessió de teoria s’explicaran algoritmes relacionats amb el desenvolupament d’un motor de videojocs, tant a nivell conceptua com tècnic.

Els alumnes tindran una setmana per implementar aquests algoritmes en el seu projecte personal, assegurantse que s’integren ade quadament amb els que ja tenen de les darreres setmanes.

Per tant, es tracta de un procés incremental i continu que obliga als alumnes a treballar no només aspectes de algorítmica sinó també d’enginyeria del software, degut a l’abast del projecte.

Durant les sessions de seminaris, els alumnes mostraran l’estat actual del seu projecte al professor que supervisarà si el progrés es l’adequat, per evitar casos on un grup es quedi bloquejat i no pugui seguir a la resta de la classe.

Les sessions de pràctiques serviran per tractar temes més específics a nivell tècnic, amb exemples pràctics explicats pel professor, relacionats amb optimització de codi, gestió de memòria i enginyeria del software.

Els alumnes disposaran de dues setmanes al finalitzar les classes per completar el projecte i aportar creativitat personal

 

Recursos

GameProgrammingGems 1, 2 i 3 de Mark DeLoura