Per on començar

Al voler desenvolupar un videojoc el primer que haurem de fer serà decidir el tipus d’aplicació a implementar i la plataforma de programació que utilitzarem. En aquest espai en parlem de tres però depenent del programari o entreteniment haureu d’emprar d’altes com ara Game Editor, IG Maker, GameSalad, Godot, GDevelop, Unreal Engine, Unity o bé Buildbox

Una bona opció, si és la primera vegada que ens enfrontem a aquest repte de programació, és adquirir idees dels jocs clàssics o coneguts per trobar temàtiques, herois, ambients i motors varis per assimilar

Però, si com hem dit, és la primera vegada que accediu a aquest món us recomanem iniciar sempre un projecte tant petit com senzill, en quan a pocs elements en joc, i una fàcil interacció de les seves mecàniques

Aquí us expliquem com vàrem fer nosaltres la planificació del videojoc d’un avió després de parlar sobre el tema, amb més gent, i prendre’n bona nota en un document de disseny o, com diuen els anglesos, al Game Design Document. Cal adonar-se que només us parlem del motor propi del entreteniment i no d’altres anàlisis, de vital importància, que hauríem de fer constar com per exemple el mercat, la representació, les diferents incidències, altres processos o el públic al qual es destinen els programaris en general o, en aquest cas, la nostra pròpia aplicació

– Primer vàrem decidir que seria en 2D i el programaríem amb C2 per passar a imaginar allò que podria fer l’heroi: moure’s amunt, avall, esquerra i dreta
– Que hi haurien altres avions enemics
– Que volíem poder disparar-los per aconseguir puntuació
– Que també volíem sobrevolar el mar i la terra
– Que voldríem que al mar hi haguessin més enemics com ara destructors
– Que a la terra volíem tancs i bateries antiaèries
– Que voldríem carregar combustible d’un avió mentre volem
– Que apareguessin núvols, zepelins i globus aerostàtics que ens donessin bonificacions
– Que tinguéssim la possibilitat de disposar de varis tipus de tir
– Que arribéssim a una pista final a cada nivell per aterrar
– Que només disposéssim d’un temps en concret per fer-ho (assoliment del nivell)
– Que a cada nivell hi haguessin condicions climàtiques a superar: pluja, neu, vent
– Que es fes de nit durant el vol del nostre heroi i disposés d’una llum

A la pluja d’idees va sortir tot això i, abans de posar-nos a treballar, vàrem haver de fer endreça. És a dir, classificar o distingir quines idees són les fonamentals pel joc i hauríem de programar-les, tot ordenant-les per prioritat ascendent, segons les nostres possibilitats o coneixements i quines no caldrà fer-ho directament de manera imprescindible

Penseu que aquesta distribució és lliure i només depèn de vosaltres però hauríeu de diferenciar, a la mateixa, tres blocs clars just abans d’iniciar la vostra programació. El primer bloc serà el principal o motor bàsic perquè sense aquest no hi ha joc, el segon serà secundari tot posant aquelles coses que, tenint a veure amb el principal, el complementen, i l’últim serà accessori o d’ornamentació comptant amb aquells aspectes que arrodoniran els anteriors segons la dificultat de la programació de cada idea i la seva necessitat directa en el joc. En resum, es tracta de veure que és més important pel joc el moviment del heroi -i força més fàcil de programar- que fer aparèixer qualsevol fenomen atmosfèric per original, suggeridor, engrescador o versemblant ens sembli pel propi joc -de segur que aspectes com aquests el faran de gran qualitat però no deixaran de ser complementaris

A continuació us ensenyem com va quedar la nostra distribució segons la importància que vàrem donar-li, la dificultat de la seva programació i la influència de cada apartat en el propi joc:

Inici del bloc principal
1. Moure’s amunt, avall, esquerra i dreta
2. Que hi haurien altres avions enemics
3. Que volíem poder disparar-los per aconseguir puntuació
4. Que arribéssim a una pista final a cada nivell per aterrar
5. Que només disposéssim d’un temps en concret per fer-ho (assoliment del nivell)

Inici del bloc secundari
6. Que es fes de nit durant el vol del nostre heroi i disposés d’una llum
7. Que també volíem sobrevolar el mar i la terra
8. Que tinguéssim la possibilitat de disposar de varis tipus de tir
9. Que voldríem que al mar hi haguessin més enemics com ara destructors
10. Que a la terra volíem tancs i bateries antiaèries

Inici del bloc accessori
11. Que voldríem carregar combustible d’un avió mentre volem
12. Que apareguessin núvols, zepelins i globus aerostàtics que ens donessin bonificacions
13. Que a cada nivell hi haguessin condicions climàtiques a superar: pluja, neu, vent

Com podreu observar només parlem d’idees força i no de concrecions perquè, per exemple, no hem contemplat encara si tindrem 1, 3 o 5 vides, si el temps de joc per assolir l’objectiu de cada nivell serà de 90 segons o la quantitat d’enemics a mostrar en pantalla perquè aquí només es tracta de fer un esbós general sobre paper del nostre videojoc per, amb deteniment, anar-lo completant. Cal adonar-se com hem tingut present cada dificultat i l’hem distribuïda segons el seu grau de complicitat amb l’entorn, sent el 13 -d’acord amb això, l’aspecte més difícil d’implementar i el més prescindible pel propi entreteniment. Amb tot, certes vegades, podem trobar-nos en què la complicació per programar la trobem ja en les primeres posicions; en aquests casos hauríem de diferenciar quines parts formarien la idea principal per fer-ne més apartats i abordar-los per separat:

1. Moure’s amunt, avall, esquerra, dreta

1.1. Moure’s amunt

1.2. Moure’s avall

1.3. Moure’s esquerra

1.4. Moure’s dreta

Aquí no seria necessària aquesta distribució perquè els entorns per programar que utilitzem disposen de certs comportaments definits, per simular aquest desplaçament, sense haver de programar pràcticament res però us la mostrem perquè en tingueu una idea del esquema gràfic que volem exemplificar

En aquest punt podríem iniciar la nostra programació i de fet així ho vàrem fer, tot utilitzant per simular al nostre heroi qualsevol clip-art o sprite trobat a la Xarxa o, per exemple, uns quadres de color pels enemics que ja canviaríem per altres de definitius que haguéssim dibuixat, més endavant, perquè el més important ara és la confecció del motor del joc, amb les instàncies que hi participen, centrant-nos per fer-ho en els aspectes formals a tenir en compte pel seu correcte desenvolupament comentats a les entrades d’Anàlisis d’un videojoc i Els nivells, habilitats i aprenentatge. També ara volem fer-vos esment de la necessitat de tenir un projecte principal i varis de secundaris, és a dir, una plantilla mare amb tot plegat i unes altres a mode de prova, assaig o testeig en blanc. A què ens referim? Doncs si es tractés de fer un llibre, per exemple, primer tindríem que cercar un tema o argument per poder anar desenvolupant els capítols per revisar a mode de test, narrativa o guió. Aquí faríem quelcom de semblant: partint del document de la nostra planificació hauríem de vestir no només el motor propi del entreteniment sinó també els nivells que serien els espais on el motor funcionaria a mode de petita història. Cada nivell faria d’equivalent al capítol i podríem trobar-nos amb problemes propis del mateix o de la programació que no sabríem solucionar a la velocitat desitjada. Aquí entraria això de fer servir projectes fills o a “títol de prova” per, conservant l’original, trobar solucions parcials als problemes més concrets i passar-los al principal una vegada subsanats: en el nostre cas no sabíem com fer un checkpoint i, per no embrutar de codi inservible l’aplicació perdent il·lusió més temps, ho vàrem fer en un arxiu fill tot optant per establir un sistema de guardat del propi joc que no tingués en compte ni les hordes enemigues ni les seves armes, és a dir, que no les salvés; però sí la puntuació, el temps de joc, les vides restants i el nivell -no cal dir que la solució no va ser gaire elegant però vàrem centrar-nos en fer allò que sabíem fer i, aplicar-ho, ens va semblar prou satisfactori. Si aquest problema, per exemple, l’haguéssim desenvolupat al projecte principal hauríem perdut molt més temps en carregar, jugar, provar de guardar i tornar a carregar, canviar la programació, veure si funcionava i demés; al fer-ho en un projecte nou i en blanc només necessitàvem tres instàncies per muntar la programació: el nostre heroi, l’enemic i la seva munició; més un botó. A més a més, paralel·lament, podíem seguir treballant en el programari principal altres objectius parcials que volíem assolir i no ens retirava del projecte cap de les diferents activitats que, fruit de tot desenvolupament, no sabíem -i en molts casos encara no sabem- com solucionar adequadament

Amb tot us fem saber que quan comencem un projecte, nosaltres, no només fem el document del què us hem parlat sinó que comprem una llibreta petita, d’aquestes grapades mida A5, i la dividim en tres blocs iguals -a ull: en el primer apuntem allò que volem fer, en el segon com ho podem arribar a fer amb referències a tutories o manuals més una data de caducitat per a la tasca i, en el tercer, hi fem esment de les verificacions més les actuacions pels canvis, errors o millores tot numerant cada paràgraf per refererir-nos-hi. És a dir, a l’exemple, apuntariem: 1er apartat, 1) moure l’avió del jugador; 2on bloc de la llibreta, 1) utilitzar el comportament de 8 direccions -ho hem de tenir acabat pel proper dia DD/MM/AAAA; 3er apartat, 1) veure si hi han problemes de col·lisió amb altres elements o es queda aturat i afegir una guia per evitar-ho. No cal esmentar que els dos primers apartats es desenvolupen quasi junts i el tercer en un estadi avançat del entreteniment quan es certifiquen les diferents activitats programades. Com podeu veure es tracta de registrar allò que planifiquem, fem i verifiquem més les diferents actuacions en conseqüència per tornar a definir cada acció per separat, dur-la a terme i veure com funciona fins assolir o bé, apropar-nos al màxim, als resultats què realment cerquem -quan més petites siguin aquestes tasques que volem representar més fàcilment aconseguirem el seu èxit i la motivació necessària per continuar endavant

Tot això que us mostrem no serveix de gaire si no tenim continuïtat en aquesta dedicació doncs moltes iniciatives es queden en el camí per aquest motiu. És imprescindible que hi dediquem, si ens és possible, temps de manera continuada al projecte encara que només siguin 15 minuts cada 2 ó 3 dies a fi de mantenir-lo tant viu com en constant evolució. Des d’aquí parlem tant sols d’entreteniment, d’afició no comercial o de com aprendre fent videojocs però seria adient seguir certes pautes derivades, actituds personals o recomanacions positives que us aportin cert ordre tot cercant l’hàbit a l’hora de fer-ho possible:

a) Vestir-se i demés per treballar-hi com si es tractés d’una feina on necessitem desplaçar-nos per fer-la

b) Evitar distraccions sobretot la navegació a Internet aliena a aquesta dedicació o l’ús del mòbil mentre suposadament desenvolupem

c) Confeccionar un horari a qualsevol dispositiu d’agenda on hi féssim constar que, per exemple, de 19:30 a 20:30 hi dedicarem 20 minuts al videojoc, aquí de l’avió, i provar de complir-ho

d) Ser proactiu perquè tenim moltes àrees dins de cada repte a treballar. Depèn doncs de nosaltres el fet de diversificar-les de manera lúdica perquè no necessitem sempre agafar apunts o fer guions, sempre programar o bé dibuixar o sempre fer composicions musicals cercant allò que, tenint a veure amb tot plegat, més ens motivés quan ens hi posem perquè el més important és anar avançant

e) Demanar ajuda a les diferents comunitats de programadors quan ens trobem en situacions de parada perquè no sabem per on seguir o no ens acaba de funcionar allò concret que pretenem pilotar doncs existeixen a la Xarxa una gran varietat d’elles, com ara, ComunidadID

En quan als recursos pel nostre projecte en trobem de tot tipus però us animem a que els feu vosaltres mateixos -aquests gràfics o les necessàries bases músicals- tot indicant sempre, als crèdits, tant la seva procedència com l’autor més el logotip si s’escau. A continuació us deixem varies entrades sobre aquest art però cal mirar detingudament les seves condicions d’ús perquè, algunes, comporten certs càrrecs i no són gratuïtes o estan subjectes a diferents drets d’autoria: cal parar compte!

http://www.freesound.org

http://www.newgrounds.com/audio

http://dig.ccmixter.org

http://sampleswap.org

http://www.scirra.com/freebundle.zip

http://www.kenney.nl/assets

http://www.davidhellman.net/braidbrief.htm

http://opengameart.org

http://www.iconarchive.com

http://www.spriters-resource.com/snes

http://spritedatabase.net/system/snes

http://love2d.org/wiki/Free_Game_Resources

http://www.spiralgraphics.biz/packs

« Previ «

» Més »

Comentaris tancats a Per on començar