Resum

El món dels videojocs és molt important per a la indústria dels telèfons i tauletes ja que pot ser decisiu en l’elecció d’una o altra plataforma.

El procés de desenvolupament d’un joc és complex i consta de diferents fases: disseny, creació dels recursos artístics (sons i gràfics) i programació de la lògica del joc. Per a cadascuna d’aquestes fases es necessiten equips de gent que s’encarregaran de les distintes tasques i a la vegada s’hauran de coordinar amb la resta de l’equip.

Per gestionar l’entrada d’informació en dispositius mòbils disposem d’una gran varietat de sensors, però el principal element d’entrada és la pantalla tàctil. Tot i que gairebé tots els telèfons i tauletes disposen de teclats virtuals i no físics, Android ens permetrà gestionar l’entrada de teclats i botons físics de manera nativa.

Els motors de jocs ens permetran centrar-nos en el desenvolupament del joc sense haver de preocupar-nos de la seva base, proporcionant-nos eines i estructures sobre les quals treballar i aconseguir el nostre objectiu. Aquests motors tenen una estructura modular que ens permetrà afegir funcionalitats d’una manera ràpida i sense que afecti la resta de blocs de l’aplicació. LibGDX és un motor de jocs open source i multiplataforma que ens ajudarà en el procés de creació d’un joc en 2D o en 3D.

La classe principal d’un joc en LibGDX serà un ApplicationListener o un descendent d’aquest (per exemple Game) i tindrà un cicle de vida similar al d’una aplicació d’Android. Des d’aquesta classe es gestionaran les pantalles del joc, que també disposen d’un cicle de vida propi.

Tots els elements que tinguin propietats seran descendents de la classe actor i per tal que siguin visibles i poder-los actualitzar els haurem d’afegir a un stage (escena 2D). L'stage controlarà quan s’han de dibuixar i actualitzar els seus “actors” fent crides als mètodes draw i act respectivament. Els elements actor els podrem organitzar en objectes group i aplicar-los accions conjuntes.

Per fer que el nostre joc sigui independent del frame rate haurem de fer servir el valor delta, que marcarà la diferència de segons entre les crides als mètodes. En els principals mètodes obtindrem aquest valor amb el paràmetre float delta, però si el volem fer servir en qualsevol lloc del joc haurem de fer una crida a la funció Gdx.graphics.getDeltaTime().

LibGDX ens proporciona eines per gestionar fàcilment les textures, els sons i el text del nostre joc. En el cas de les textures, es recomana fer servir un sprite sheet que contingui totes les imatges de l’aplicació i així reduir el consum de memòria de l’aplicació i millorar l’eficiència de la GPU.

Anar a la pàgina anterior:
Introducció
Anar a la pàgina següent:
Resultats d'aprenentatge