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

La Normativa acadèmica de la UOC disposa que 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 fets.

La manca d'originalitat en l'autoria o el mal ús de les condicions en què es fa l'avaluació de l'assignatura és una infracció que pot tenir conseqüències acadèmiques greus.

L'estudiant serà qualificat amb un suspens (D/0) si es detecta manca d'originalitat en l'autoria d'alguna activitat avaluable (pràctica, prova d'avaluació contínua (PAC) o final (PAF), o la que es defineixi al pla docent), sigui perquè ha utilitzat material o dispositius no autoritzats, sigui perquè ha copiat textualment d'internet, o ha copiat d'apunts, de materials, de manuals o d'articles (sense la citació corresponent), d'altres estudiants, o per qualsevol altra conducta irregular.

La qualificació de suspens (D/0) en les qualificacions finals d'avaluació contínua pot comportar l'obligació de fer l'examen presencial per a superar l'assignatura (si hi ha examen i si superar-lo és suficient per a superar l'assignatura segons indiqui el pla docent).

Quan aquesta mala conducta es produeixi durant la realització de les proves d'avaluació finals presencials, l'estudiant pot ser expulsat de l'aula, i l'examinador farà constar tots els elements i la informació relatius al cas.

D'altra banda, aquesta conducta pot donar lloc a la incoació d'un procediment disciplinari i l'aplicació, si escau, de la sanció que correspongui.

La UOC habilitarà els mecanismes que consideri oportuns per a vetllar per la qualitat de les seves titulacions i garantir l'excel·lència i la qualitat del seu model educatiu.

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