Activitats

El diagrama de classes

L’objectiu d’aquesta activitat és practicar fer un diagrama de classes.

Feu el diagrama de classes per a un projecte AMI encarregat per un client que vol un videojoc d’estratègia. Aquest videojoc ha de mostrar una partida en què un jugador “s&#39” s’enfronta a una intel·ligència artificial (IA).

Tant el jugador com la IA poden controlar fins a un màxim de 100 unitats, que són creades aleatòriament al començament de la partida. La partida s’acaba quan alguna de les parts ja no té prou unitats. Les unitats es poden moure a coordenades concretes i atacar altres unitats. Es pot assumir que si una unitat n’ataca una altra, la segona deixa d’existir. Cal que els jugadors es puguin connectar amb adreça electrònica i contrasenya, i cal comprovar si són majors d’edat per jugar.

La següent imatge mostra un exemple de solució:

Figura

Base de dades relacional

L’objectiu d’aquesta activitat és aprendre a dissenyar una base de dades relacional.

Dissenya una base de dades per a guardar les dades dels jugadors del projecte AMI descrit a l’activitat anomenada “Diagrama de classes”. A més a més, cal guardar les partides amb el seu resultat. Descriu les taules necessàries amb els camps necessaris i el tipus de cada camp.

La següent imatge mostra un exemple de solució. Els ids són autogenerats, per això es marquen com a ”(auto)”:

Figura

Eines de producció

L’objectiu d’aquesta activitat és descriure les eines necessàries per a un projecte dins del pla de producció.

Feu una proposta de pla de producció on descriviu les eines necessàries per a dur a terme el projecte AMI descrit a l’activitat “Diagrama de classes”. Reflexioneu primer de manera abstracta i informal com plantegeu la vostra visió del projecte i justifiqueu les eines escollides a partir d’aquesta visió.

Una visió d’un joc d’aquesta mena pot inspirar-se en un joc existent. Tot i que hi ha bastants jocs d’estratègia en 3D, un joc en 2D també seria vàlid.

Una proposta pot ser fer el joc amb un motor de jocs com Unity i Visual Studio com a editor de codi. Unity és un dels motors gràfics més utilitzats a la indústria, tant per a jocs en 3D com en 2D. Visual Studio és a dia d’avui l’editor de codi més ben admès per Unity.

En aquest cas, una opció bastant adequada seria fer servir ordinadors amb sistema operatiu Windows, ja que ofereixen una bona relació rendiment-preu, i la versió Linux no està tan madura com la resta. Per poder treballar en equip Unity ofereix eines de col·laboració.

Respecte al material audiovisual necessari per a generar el joc depèn molt de la decisió de si es vol que el joc sigui en 2D o 3D. Per a 2D necessitarem un editor d’imatges, com pot ser el GIMP o el Photoshop. Per a jocs en 3D necessitarem a més a més editors de models en 3D, com podria ser el Maya o el Blender. Pel que fa al so, l’Audacity és una molt bona elecció.

Finalment, per al tractament de dades el millor és fer servir serveis al núvol com Firebase, que faciliten tant el sistema d’autenticació amb adreça electrònica i contrasenya, com la base de dades necessària.

Pla de permisos i seguretat

L’objectiu d’aquesta activitat és aprendre com establir els permisos i seguretat del joc.

Expliqueu com afrontaríeu la seguretat del joc descrit a l’activitat anomenada “Diagrama de classes”. Investigueu jocs amb temàtiques semblants i observeu quins tipus d’usuaris tenen accés a dades del projecte. Descriviu els tipus d’usuaris que tindria sentit considerar en aquest tipus d’aplicació i quins privilegis podrien tenir en relació amb l’accés a les dades.

Hi ha diversos usuaris que té sentit tenir en un projecte com aquest. L’usuari jugador ha de poder jugar a les partides, per tant, s’ha de poder autenticar. També és bastant típic en els jocs actuals veure rànkings amb estadístiques. Aquest accés, però, no pot ser directe a la base de dades, perquè si permeteu que un usuari pugui veure valors, també podrà veure les contrasenyes dels usuaris. En aquest cas, el que cal fer és tenir un sistema independent que extregui els resultats de la base de dades de manera controlada i els jugadors podrien fer una crida a aquest sistema.

Els administradors del joc també han de poder accedir a les dades. Han de poder fer còpies de seguretat i comprovar que tot és correcte.

També té sentit habilitar usuaris anònims que puguin accedir per exemple a la taula de resultats dels deu millors jugadors, per fer promoció de l’ús del joc.