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 |
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 collisions, intelligè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.
Competències transversals | Competè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. |
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)
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.
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
GameProgrammingGems 1, 2 i 3 de Mark DeLoura