Programació de videojocs 2D Codi:  M7.456    Crèdits:  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 què disposa l'assignatura   Bibliografia i fonts d'informació   Metodologia   Informació sobre l'avaluació a la UOC   Consulta del model d'avaluació  
Aquest és el pla docent de l'assignatura per al segon semestre del curs 2023-2024. 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.
El desenvolupament d'un videojoc és una tasca complexa, que requereix el domini de diferents eines. Per exemple, en el cas de títols de primera categoria (AAA), el procés pot arribar a necessitar anys i un nombrós equip de persones expertes en diferents disciplines. Entre aquestes eines, una de gran utilitat per a agilitar el procés de desenvolupament, o fins i tot permetre que un grup reduït de persones pugui crear un videojoc en un temps raonable, és el motor (engine). Es tracta d'un marc de programari que ja ofereix un conjunt de funcionalitats que poden ser reutilitzades per diferents videojocs. Entre aquestes funcionalitats podem trobar, per exemple, el renderizado 2D o 3D, detecció de col·lisions i física, so, animació, etc. En alguns casos, aquestes eines fins i tot incorporen un editor gràfic que permet gestionar aquests aspectes de manera més o menys amigable.

Si bé les grans companyies es poden permetre crear els seus propis motors, actualment existeixen diferents motors comercials que podem adquirir per a desenvolupar els nostres propis videojocs. Entre ells, un que ha pres especial rellevància últimament en el camp professional és Unity, creat per Unity Technologies en 2005, i millorat versió a versió fins al dia d'avui. Aquest permet el desenvolupament multiplataforma per a ordinadors, diferents consoles i mòbils o web.



Entre els diferents jocs comercials creats amb Unity, podem trobar exemples d'una enorme qualitat com:

· Pillars of Eternity

· Wasteland 2

· Kerbal Space Program

· Firewatch

· Ori and the Blind Forest

L'assignatura de "Programació en Unity 2D" té com el fil narratiu el desenvolupament de tres petits videojocs de temàtica diversa per a formar els estudiants en els aspectes bàsics de Unity per a jocs 2D. De totes maneres, és important tenir en compte que, si bé l'assignatura se centra en aquesta eina, molts dels conceptes són aplicables quan es treballi amb motors diferents.

Amunt

Aquesta assignatura és la primera de programació dins dels programes de desenvolupament de videojocs (postgrau i màster), oferta en paral·lel amb l'assignatura de "Game *Design", d'orientació més d'anàlisi i disseny de l'experiència. Per això, és molt important, perquè introdueix *Unity com una de les eines que s'usarà de manera intensiva al llarg del programa. Concretament, en les tres assignatures de segon semestre:
•    Programació de videojocs 3D
•    Intel·ligència Artificial per a videojocs
•    Jocs Multijugador

Amunt

La indústria del videojoc és la principal en el camp d'oci audiovisual i interactiu del nostre país, amb una facturació anual de gairebé 1.000 milions d'euros (AEVI-GFK), superant a totes fins i tot la del cinema. Actualment hi ha gairebé 400 companyies de desenvolupament de videojocs i el sector creix a un ritme d'al voltant de 20% per any. S'estima que el sector dels videojocs doblegarà les seves xifres d'ocupació i en 2019 podria generar 7.217 empleats d'alta qualificació (Llibre blanc DEV). Encara que el nombre d'ocupacions en el sector continua creixent a un mateix ritme, encara fan falta més professionals pel que les empreses tenen dificultats per a trobar personal qualificat.

En aquest sentit, aquesta assignatura és d'especial interès per a aquells que vulguin dedicar-se, ja sigui professionalment o per afició, al desenvolupament de videojocs en format 2D mitjançant l'entorn Unity (perfil - Game Programmer).

Amunt

Estrictament, no és necessària cap familiaritat prèvia amb Unity o altres motors de generació de videojocs. No obstant això, en tractar-se d'una assignatura de desenvolupament, la programació juga un paper clau. Per això, és imprescindible cert domini d'aquesta disciplina, especialment amb els aspectes de programació orientada a objectes.

El llenguatge de programació triat és C#. Si bé no és necessari haver treballat amb aquest llenguatge específicament, sí que és molt recomanable certa familiaritat amb algun llenguatge de sintaxi similar, com a C, C++ o Java.

Amunt

En cas de no disposar de coneixements de programació, pot ser recomanable cursar abans l'assignatura lliure "Fonaments de Programació".

Amunt

Els objectius d'aprenentatge de l'assignatura són els següents:
•    Conèixer que és un motor de videojoc i quins són els més populars a l'entorn dels editors de videojocs.
•    Conèixer a Unity i com desenvolupar un projecte de videojocs aquesta eina.
•    Programar scripts en C# integrats a un projecte Unity.
•    Gestionar recursos dins d'un videojoc.
•    Conèixer el maneig de so i recursos gràfics 2D.
•    Interactuar amb la física, els objectes i l'entorn.
•    Conèixer el maneig de sistemes de partícules i animacions.

Les competències transversals del Màster que es posen de manifest en aquesta assignatura són:      
•    [CT2] Capacitat per a l'aprenentatge autònom.
•    [CT3] Comprensió i expressió en anglès tècnic.

Les competències específiques d'aquesta assignatura són:
•    [CE1] Capacitat per a l'anàlisi i desenvolupament de la documentació tècnica associada a un videojoc.
•    [CE2] Capacitat per a dominar les diferents eines aplicables a l'entorn del desenvolupament de videojocs segons les tendències tecnològiques.
•    [CE3] Capacitat per a l'ús efectiu dels llenguatges de programació i metodologies per al desenvolupament de videojocs.
•    [CE6] Capacitat per a representar elements visuals i les seves interaccions de manera eficient.
•    [CE8] Capacitat per a usar els fonaments matemàtics i físics necessaris per al desenvolupament d'un videojoc
•    [CE10] Integració de manera efectiva de continguts digitals en un videojoc.

Amunt

El temari del curs dins de l'assignatura es divideix en quatre blocs temàtics, o mòduls, que engloben els diferents capítols dels materials.

Mòdul 1. Introducció         
•    Introducció als videojocs.
•    Publicació d'un videojoc.
•    Plataformes i arquitectures per a videojocs.
•    Disseny de videojocs.

Mòdul 2. Un joc d'aventures          
•    Què és un motor de jocs?
•    Coneixent a Unity.
•    Scripting en Unity.
•    Projecte: un joc d'aventures.

Mòdul 3. Un joc de plataforma          
•    Sprites.
•    Física 2D.
•    Build a Android.
•    Entrada per a mòbil.
•    Projecte: Un joc de plataformes.

Mòdul 4. Un joc d'artilleria
•    Utilització dels Sub-processos.
•    Sistemes de partícules.
•    Les animacions.
•    Layers i Tags.
•    Projecte: Un joc d'estratègia d'artilleria

Amunt

Material Suport
1. Introducció als videojocs XML
1. Introducció als videojocs DAISY
1. Introducció als videojocs EPUB 2.0
1. Introducció als videojocs MOBIPOCKET
1. Introducció als videojocs KARAOKE
1. Introducció als videojocs HTML5
1. Introducció als videojocs PDF
Primera activitat. Començar amb Unity i Git Web
Primera actividad. Comenzar con Unity y Git Web

Amunt

La principal font d'informació és la documentació oficial on-line de Unity:
https://docs.unity3d.com/manual/index.html
Existeix una versió en castellà, però s'ha de tenir en compte que no sempre està actualitzada a l'última versió de Unity. És preferible usar la versió anglesa.

Amunt

La metodologia de l'assignatura es basa en dues premisses considerades bàsiques. D'una banda, que el desenvolupament de videojocs no es pot aprendre simplement mitjançant la lectura d'uns materials, de manera que, una vegada memoritzats, ja es pot passar a programar. El vessant pràctic, basada en la resolució dels diferents problemes que un es pugui trobar durant el procés ha de ser el nucli del procés d'aprenentatge. D'altra banda, que avui dia ja existeixen innombrables fonts d'informació sobre com desenvolupar jocs en Unity, i no té sentit tornar-los a copiar simplement en un format diferent.

Per això, la metodologia de l'assignatura es basa en l'estudi basat en projectes. En aquest sentit, els mòduls de l'assignatura prenen la forma d'un conjunt de guies, en cadascuna de les quals es proposa un petit projecte d'autoaprenentatge. Abans, s'ofereix una molt breu introducció als conceptes necessaris per a afrontar el projecte, però en cap cas es tracta d'una documentació extensa o acte-explicativa. La documentació de suport per a dur a terme aquesta tasca serà la pròpia que Unity ofereix on-line. Els projectes en si es divideixen en petits reptes que han de ser superats seqüencialment, i, en qualsevol cas, s'ofereixen amb la solució.

En aquest sentit, el valor afegit de l'assignatura l'aporta sobretot el docent que, com a expert en l'àmbit del desenvolupament dels videojocs, està a la disposició de l'estudiant per a ajudar-lo i resoldre qualsevol dubte durant el procés de resolució dels projectes. Per això, el seguiment actiu dels espais de l'aula (tauler, fòrum) és de primordial interès, atès que habitualment es plantegen dubtes, es donen respostes i es tracten temes relacionats amb la matèria d'estudi. És molt recomanable la consulta de qualsevol dubte a través del fòrum de l'assignatura.

A part de la realització d'aquests projectes d'autoaprenentatge, al llarg del curs es proposaran un conjunt d'activitats avaluables que l'estudiant haurà de resoldre, normalment ampliacions dels projectes ja treballats en les guies. Aquestes es publicaran sempre a través del campus de la UOC i, normalment, estaran vinculades.

Cal tenir en compte que, en tractar-se d'una assignatura eminentment pràctica, l'estudiant haurà de dedicar algun temps a familiaritzar-se amb l'entorn de treball de Unity, necessari per a la realització de les activitats. Un altre aspecte important és que a l'inici de curs haurà de familiaritzar-se amb la programació de scripts en C# dins d'aquesta eina.

Amunt

El procés d'avaluació es fonamenta en el treball personal de l'estudiant i pressuposa l'autenticitat de l'autoria i l'originalitat dels exercicis realitzats.

La manca d'autenticitat en l'autoria o d'originalitat de les proves d'avaluació; la còpia o el plagi; l'intent fraudulent d'obtenir un resultat acadèmic millor; la col·laboració, l'encobriment o l'afavoriment de la còpia, o la utilització de material o dispositius no autoritzats durant l'avaluació, entre d'altres, són conductes irregulars que poden tenir conseqüències acadèmiques i disciplinàries greus.

D'una banda, si es detecta alguna d'aquestes conductes irregulars, pot 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 o dispositius no autoritzats durant les proves, com ara 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, o perquè s'ha practicat qualsevol altra conducta irregular.

De l'altra, i d'acord amb les normatives acadèmiques, les conductes irregulars en l'avaluació, a més de comportar el suspens de l'assignatura, poden donar lloc a la incoació d'un procediment disciplinari i a l'aplicació, si escau, de la sanció que correspongui.

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.


Ponderació de les qualificacions

Opció per superar l'assignatura: AC

Nota final d'assignatura: AC

Amunt