Programació gràfica Codi:  B2.505    :  6
Consulta de les dades generals   Descripció   L'assignatura en el conjunt del pla d'estudis   Camps professionals en què es projecta   Coneixements previs   Informació prèvia a la matrícula   Objectius i competències   Continguts   Consulta dels recursos d'aprenentatge de la UOC per a l'assignatura   Informacions sobre l'avaluació a la UOC   Consulta del model d'avaluació  
Aquest és el pla docent de l'assignatura per al primer semestre del curs 2024-2025. Podeu consultar si l'assignatura s'ofereix aquest semestre a l'espai del campus Més UOC / La universitat / Plans d'estudis). Un cop comenci la docència, heu de consultar-lo a l'aula. El pla docent pot estar subjecte a canvis.
Els motors integrats de videojocs, com pot ser Unity, ens proporcionen un entorn de treball a partir del qual dur a terme en desenvolupament dels nostres projectes. No obstant això, el codi que generem són bàsicament "scripts" que el motor s'encarrega de gestionar i executar internament. En cap moment el nostre codi font s'està compilant directament en format executable. Al seu torn, el grau d'abstracció que proporcionen oculta alguns els aspectes bàsics de la representació d'elements gràfics en pantalla o de la gestió de l'entrada. No obstant això, un bon desenvolupador de videojocs hauria de ser capaç de crear un projecte sense la necessitat d'aquest tipus d'eines, en cas que sigui requerit. Per exemple, mitjançant l'ús de sistemes gràfics oberts com pot ser OpenGL.  

Aquesta assignatura es proposa ensenyar-vos com crear un videojoc sense el suport d'un motor com pot ser Unity. Només amb un compilador de C / C ++, un editor de text i les biblioteques adequades per aquesta tasca. Al capdavall, així és com es desenvolupaven els videojocs abans de la existència d'entorns integrats de treball. Des de la perspectiva docent, això ens permet veure com funciona a tot nivell intern, entrant a la "caixa negra". Des de la perspectiva de desenvolupador, això ens serà útil de cara a disposar d'un grau d'independència tecnològica en els nostres projectes. 

Concretament, en els primers compassos ens basarem a la biblioteca "raylib", desenvolupada amb un objectiu clarament educatiu (però amb ús comercial) per facilitar la comprensió de tots els conceptes bàsics associats a l'ús d'OpenGL. Això és molt important, ja que es tracta d'un sistema gràfic molt complex, amb una gran corba d'aprenentatge. Un cop dominades les bases, llavors sí que ens endinsarem plenament en la programació amb OpenGL 3.3 Core.

Amunt

Aquesta assignatura correspon al bloc assignatures comunes de l'itinerari de programació avançada. 
  • Programació gràfica 
  • Motors gràfics 
  • Efectes visuals i sonors
Si bé en totes elles es treballa d'una manera o altra amb aspectes vinculats a la visualització dels elements gràfics d'un videojoc en pantalla, aquesta proporciona la visió principal, enfocada en l'ús de sistemes gràfics com OpenGL.

Amunt

Principalment, les vinculades al desenvolupament de videojocs (Game Programmer, Lead Programmer), ja sigui en una gran empresa, freelance, o simplement els amants dels videojocs interessats a desenvolupar els seus propis projectes personals.

Amunt

Es pressuposa que l'estudiant disposa de coneixements sòlids de programació en C i C++, així com en entorns de treball associats a aquests llenguatges. Per al cas d'aquesta assignatura, es treballa amb el compilador MinGW i n'hi ha prou amb usar un editor simple de textos (com Notepad ++).

Amunt

Aquesta és una assignatura molt exigent que requereix que l'estudiant disposi de coneixements sòlids de programació en els llenguatges C i C++. Si no s'ha treballat en aquests llenguatges, almenys s'hauria d'haver treballat en altres amb sintaxi semblant i sentir-se capaç a l'hora de treballar amb aspectes de programació com a estructures de dades complexes, lògica de punters i orientació a objectes.

Amunt

Les competències generals del Màster que es posen de manifest en aquesta assignatura són les següents.

Competències bàsiques:  
  • [CB07] Que els estudiants sàpiguen aplicar els coneixements adquirits i la seva capacitat de resolució de problemes en entorns nous o poc coneguts dins de contextos més amplis (o multidisciplinaris) relacionats amb la seva àrea d'estudi 
  • [CB10] Que els estudiants tinguin les habilitats d'aprenentatge que els permetin continuar estudiant d'una manera que haurà de ser en gran manera autodirigida o autònoma.  
Competències generals:  
  • [CG02] Seleccionar, aplicar i integrar els coneixements tècnics i científics adequats per a resoldre problemes en entorns nous o poc coneguts. 
  • [CG03] Actuar amb iniciativa i desenvolupar-se de manera eficaç en un entorn de treball col·laboratiu interdisciplinari. 
  • [CG05] Cercar, gestionar i utilitzar de manera efectiva la informació associada al procés d'anàlisi i adaptació de noves solucions tecnològiques. 
Competències transversals: 
  • [CT01] Avaluar les competències professionals pròpies amb el propòsit d'una actualització contínua en l'ús i aplicació de les tecnologies de la informació en entorns futurs. 
  • [CT02] Expressar-se de forma oral i escrita en anglès i comprendre textos acadèmics i professionals complexos en l'àmbit de les TIC. 
Competències específiques: 
  • [CE02] Comprendre i aplicar les tècniques necessàries per al maneig i personalització d'eines o motors de programació de videojocs a partir de l'anàlisi dels avenços tecnològics del moment. 
  • [CE03] Dissenyar i construir cada un dels components programari d'un videojoc, contemplant els criteris de qualitat i disseny dels mateixos. 
  • [CE06] Comprendre i utilitzar les tècniques de programació per a gràfics per ordinador i representació d'elements visuals en 2D o 3D. 
  • [CE08] Comprendre i emprar els principis físics i matemàtics necessaris per controlar el comportament dels elements d'un videojoc. 
Finalment, els objectius específics de l'assignatura són: 
  • Conèixer les funcionalitats i possibilitats de les llibreries raylib i rlgl. 
  • Conèixer el cicle de vida d'execució d'un videojoc. 
  • Saber gestionar la entrades (keyboard, ratolí, gamepad) en un videojoc. 
  • Saber dibuixar formes bàsiques i crear transicions entre escenes. 
  • Saber carregar imatges i generar textures. 
  • Ser capaç de comprovar i resoldre col·lisions. 
  • Carregar mapes de "tiles" i dades de nivells. 
  • Carregar i reproduir sons i música.

Amunt

L'assignatura s'articula a través de tres projectes, o "reptes", en cadascun dels quals es treballa un tipus de videojoc diferent. La característica principal del format dels continguts és que es troben publicats a GitHub, hipervinculats amb tots els recursos necessaris per dur-los a terme pas a pas. Al seu torn, aquests continguts es troben escrits en anglès, d'acord amb la competència [CT2] que es treballa en aquesta assignatura. 

REPTE 1. El joc BLOCKS 
  • Funcionalitat bàsica de raylib. 
  • Gestió d'escenes i cicle de vida d'un videojoc. 
  • Dibuixat de formes bàsiques (cercle, rectangle). 
  • Gestió en entrades (keyboard, ratolí). 
  • Detecció i resolució de col·lisions. 
  • Càrrega i dibuix de textures. 
  • Càrrega i dibuix de fonts. 
  • Càrrega i reproducció d'àudio. 
REPTE 2. El joc DUNGEON 2D  
  • Creació i gestió de finestres. 
  • Inicialització de context i càrrega d'extensions. 
  • Gestió d'entrades (teclat, ratolí). 
  • Definició de formes bàsiques. 
  • Càrrega d'imatges i textures. 
  • Càrrega del tilemap des de text. 
  • Detecció de col·lisions. 
REPTE 3. El joc MAZE 3D  
  • Funcionalitats d'OpenGL. 
  • Gestió de l'entrada (gamepad). 
  • Càrrega d'imatges i textures. 
  • Càrrega i generació de nivell. 
  • Càrrega i dibuix de models 3D. 
  • Sistema de cambra en primera persona. 
  • Detecció i resolució de col·lisions.

Amunt

Programación gráfica Web
Entrevista a Ramon Santamaria, creador de la biblioteca gráfica raylib Audiovisual
Vídeo explicativo Audiovisual

Amunt

A la UOC, l'avaluació generalment és virtual. S'estructura entorn de l'avaluació contínua, que inclou diferents activitats o reptes; l'avaluació final, que es porta a terme mitjançant proves o exàmens, i el treball final de la titulació.

Les activitats o proves d'avaluació poden ser escrites i/o audiovisuals, amb preguntes aleatòries, proves orals síncrones o asíncrones, etc., d'acord amb el que decideixi cada equip docent. Els treballs finals representen el tancament d'un procés formatiu que implica la realització d'un treball original i tutoritzat que té com a objectiu demostrar l'adquisició competencial feta al llarg del programa.

Per verificar la identitat de l'estudiant i l'autoria de les proves d'avaluació, la UOC es reserva la potestat d'aplicar diferents sistemes de reconeixement de la identitat i de detecció del plagi. Amb aquest objectiu, la UOC pot dur a terme enregistrament audiovisual o fer servir mètodes o tècniques de supervisió durant l'execució de qualsevol activitat acadèmica.

Així mateix, la UOC pot exigir a l'estudiant l'ús de dispositius electrònics (micròfons, càmeres o altres eines) o programari específic durant l'avaluació. És responsabilitat de l'estudiant assegurar que aquests dispositius funcionen correctament.

El procés d'avaluació es fonamenta en el treball personal de l'estudiant i pressuposa l'autenticitat de l'autoria i l'originalitat de les activitats acadèmiques. Al web sobre integritat acadèmica i plagi de la UOC hi ha més informació respecte d'aquesta qüestió.

La manca d'autenticitat en l'autoria o d'originalitat de les proves d'avaluació; la còpia o el plagi; la suplantació d'identitat; l'acceptació o l'obtenció de qualsevol activitat acadèmica a canvi d'una contraprestació o no; la col·laboració, l'encobriment o l'afavoriment de la còpia, o l'ús de material, programari o dispositius no autoritzats en el pla docent o l'enunciat de l'activitat acadèmica, inclosa la intel·ligència artificial i la traducció automàtica, entre altres, són conductes irregulars en l'avaluació que poden tenir conseqüències acadèmiques i disciplinàries greus.

Aquestes conductes irregulars poden comportar el suspens (D/0) en les activitats avaluables que es defineixin en el pla docent -incloses les proves finals- o en la qualificació final de l'assignatura, sigui perquè s'han utilitzat materials, programari o dispositius no autoritzats durant les proves (com l'ús d'intel·ligència artificial no permesa, xarxes socials o cercadors d'informació a internet), perquè s'han copiat fragments de text d'una font externa (internet, apunts, llibres, articles, treballs o proves d'altres estudiants, etc.) sense la citació corresponent, per la compravenda d'activitats acadèmiques, o perquè s'ha dut a terme qualsevol altra conducta irregular.

Així mateix, i d'acord amb la normativa acadèmica, les conductes irregulars en l'avaluació també poden donar lloc a la incoació d'un procediment disciplinari i a l'aplicació, si escau, de la sanció que correspongui, de conformitat amb el que estableix la normativa de convivència de la UOC.

En el marc del procés d'avaluació, la UOC es reserva la potestat de:

  • Sol·licitar a l'estudiant que acrediti la seva identitat segons el que estableix la normativa acadèmica.
  • Sol·licitar a l'estudiant que acrediti l'autoria del seu treball al llarg de tot el procés d'avaluació, tant en l'avaluació contínua com en l'avaluació final, per mitjà d'una entrevista oral síncrona, que pot ser objecte d'enregistrament audiovisual, o pels mitjans que estableixi la Universitat. Aquests mitjans tenen l'objectiu de verificar els coneixements i les competències que garanteixin la identitat de l'estudiant. Si no és possible garantir que l'estudiant és l'autor de la prova, aquesta pot ser qualificada amb una D, en el cas de l'avaluació contínua, o amb un suspens, en el cas de l'avaluació final.

Intel·ligència artificial en el marc de l'avaluació

La UOC reconeix el valor i el potencial de la intel·ligència artificial (IA) en l'àmbit educatiu, alhora que posa de manifest els riscos que comporta si no s'utilitza de manera ètica, crítica i responsable. En aquest sentit, en cada activitat d'avaluació s'informarà l'estudiantat sobre les eines i els recursos d'IA que es poden utilitzar i en quines condicions. Per la seva banda, l'estudiantat es compromet a seguir les indicacions de la UOC a l'hora de dur a terme les activitats d'avaluació i de citar les eines utilitzades i, concretament, a identificar els textos o les imatges generats per sistemes d'IA, els quals no podrà presentar com si fossin propis.

Amb relació a fer servir o no la IA per resoldre una activitat, l'enunciat de les activitats d'avaluació indica les limitacions en l'ús d'aquestes eines. Cal tenir en compte que fer-les servir de manera inadequada, com ara en activitats en què no estan permeses o no citar-les en les activitats en què sí que ho estan, es pot considerar una conducta irregular en l'avaluació. En cas de dubte, es recomana que, abans de lliurar l'activitat, es faci arribar una consulta al professorat col·laborador de l'aula.

Amunt

L'assignatura només es pot aprovar amb el seguiment i la superació de l'avaluació contínua (AC). La qualificació final de l'assignatura és la nota obtinguda a l'AC.

 

Amunt