Tag Archives: isagoras

Normalment em fa força vergonya veure’m filmat, i aquest cas no és una excepció. Si a això hi sumem el meu anglès i els problemes de comunicació derivats, el còctel és explosiu, però no volia deixar de compartir-ho amb vosaltres. Podeu veure la resta d’informacions post-conference aquí.

Comparteix a:

Accions:

fes-me un Flattr!

Sindicació

Sindicació RSS
Posted in 3D, blender, Programari lliure | Tagged , , , | 6 Comments

En aquesta entrada vull explicar-vos el procés de desenvolupament que va implicar el joc Isagoras, del qual us he parlat ja en altres posts. Intentaré cobrir tots els aspectes que em van tocar més de prop, des que l’Agustí m’ho va proposar fa ja quasi un any i mig fins ja poquet quan estàvem treballant en els últims temes de la interfície. Tot i que, tampoc us enganyaré: aquesta entrada és una mena de guió de la xerrada, per dir-ne d’alguna manera, que faré d’aquí a pocs dies a la Blender Conference, a Amsterdam, i com que només tinc vint minuts i ja està bé que sigui així, només tocaré els aspectes més rellevants i més clarament relacionats amb el treball amb Blender que vaig fer.

Bé, jo vaig començar a sentir a parlar de tot això més o menys el maig de 2009, quan arrel de la publicació dels cursos de Blender que imparteixo a la Casa Orlandai, una companya del màster em va parlar d’un amic seu, l’Agustíl que estava buscant algú especialista en 3D per desenvolupar aquesta part en el joc que tenia en projecte. Després dels mails de presentació de rigor, l’Agustí em va ensenyar aquest vídeo de sota com a “prototip” del que ell volia fer. Confesso que veient això, tot i que ja sabia que es tractava de naus prefabricades, vaig preguntar-me per què em necessitaven a mi:

Es tractava, doncs, de fer un joc basant-se en l’engine, el motor, que l’Agustí havia programat per a XNA, que si no m’equivoco és la plataforma sobre la qual funcionen els jocs de la XBOX, una mena de DirectX de Windows, però per la consola. Perquè vaja, per si no ho sabíeu, aquest joc havia de ser per aquesta consola. Des del principi ja teníem clar que era un projecte que fèiem, principalment, per amor a l’art. El joc es vendria en un marketplace anomenat IndieGames, propi de Microsoft, i que facilitava que desenvolupadors independents publiquessin els seus propis jocs, participant d’una part significativa dels guanys. No obstant, com que no hi havia cap garantia de guanyar-hi res, valia la pena començar ja amb aquesta mentalitat.

El desenvolupament inicial

Aquesta i altres coses les vam anar xerrant a les trobades inicials, amb l’Agustí i una altra persona que per raons que no vénen al cas va deixar l’equip. L’Agustí va preparar un GDD (Game Design Document) que havia de servir per explicar la història i els personatges que hi havia darrere el joc. Encara que ell després m’hagi manifestat que té la sensació d’haver destinat massa temps a aquella part, a mi em va ser força útil de cara a la part que també llavors em tocava desenvolupar a mi: el desenvolupament gràfic i visual de tot allò que, narrativament, ja existia.

Calia doncs, establir l’aspecte gràfic de:

  • les naus dels bons
  • les naus dels enemics
  • els personatges bons: El capità Crozier, la protagonista Crow, i un piloto genérico que, pobre, no tenia altre destí que ser això, un pilot genèric i anònim.
  • Alguns personatges dolents, tot i que ens ventilàvem la necessitat de definir el look de la majoria de personatges dolents a través del recurs de dir que eren uns alienígenes dels quals es desconeixia fins i tot la tecnologia que permetia governar les naus sense ningú que les conduís. Eren una mena de megazero, vaja, sense cap ni peus.

La Crow

Pel fet de ser la protagonista, el disseny de la Crow va implicar més discussió, revisió i reflexió que no pas els altres, i per això us en mostro aquí l’evolució.

Primer disseny de la CrowSegon disseny de la Crow, amb un aire més durTercera versió de la CrowVersió definitiva de la Crow

Els altres personatges

Per ordre, el capità Crozier, mentor de la Crow, el piloto genérico (si us pregunteu per què alguns noms tenen un ressò en castellà o són castellans, bé, són causes atribuïbles a treballar i parlar de manera quotidiana d’aquests personatges, entre persones algunes de les quals eren castellanoparlants, res de què m’hagi de justificar per altra banda ;-) ), i la líder separatista, una dona ja madura, intel·ligent i amb un punt d’atractiu però mesquina i, evidentment, menyspreable :) .

El capità CrozierPilot genèricLíder separatista

Les naus

Les naus, més encara que els personatges, eren un element definitori del joc. Comparteixo aquí alguns dels esbossos més reeixits que vaig fer:

Un dels esbossos per a la nau Europe-1El disseny definitiu de la nau IsagorasUn dels esbossos inicials per a la nau IsagorasUn caça pesatEl nostre amic el caça genèric

Sobre les eines de treball per al disseny de personatges i naus

Per a l’esbós dels personatges vaig estar treballant amb l’aplicació MyPaint, fonamentalment. Durant els darrers dos anys o any i mig he estat investigant i treballant amb diverses eines de pintura i dibuix digital, bàsicament el triplet format per:

  • GIMP apedaçat sobre la instal·lació del qual podeu trobar info aquí i aquí i descarregar d’aquí (amb binaris per a Windows i Leopard), tot i que sembla que el projecte està clínicament mort. A més a més, el set de complements anomenta Gimp Paint Studio, un conjunt de pinzells i preconfiguracions per tal d’ampliar i treure més partit de les eines per a pintura digital en GIMP. Elaborat per l’artista espanyol Ramón Miranda.
  • MyPaint
  • i Alchemy, un projecte de dibuix experimental, per dir-li d’alguna manera, també molt interessant.

Isagoras, doncs, va ser una excusa ideal per a provar la versatilitat i eficàcia d’aquestes eines.

El “cos” de la fase de desenvolupament

La part del desenvolupament que jo tenia assignada i que em va demanar més dedicació va ser, com era d’esperar, el modelatge i la texturització de les naus i altres elements d’atrezzo i escenografia: terrenys principalment.

El modelatge de les naus

El meu procés de treball, pel que fa al modelatge, consistia a agafar les imatges del disseny que heu vist anteriorment i posar-les com a fons de pantalla de l’espai de treball de Blender. Llavors m’anava dedicant a extruir formes i anar afegint detalls, jugant tant amb les vistes frontal, lateral i de planta, com amb la vista en perspectiva de la qual partia.

Vista de l\'espai de treball en Blender als inicis del modelatge d\'IsagorasSi us fixeu en la captura, podreu apreciar que utilitzo un modificador de mirror, pràcticament essencial tenint en compte que moltes de les naus eren simètriques en el seu eix longitudinal. Altres naus eren simètriques radialment, i llavors en aquests casos utilitzava l’array modifier. Un cop acabat el disseny en 3D, calia aplicar els modifiers i corregir la geometria per tal que tingués el mínim nombre de cares possibles.

En efecte aquest va ser un dels factors més determinants del treball que em va tocar fer en 3D. Ni l’Agustí ni, encara menys, jo, teníem una idea prou clara del volum d’informació geomètrica que podia aguantar l’engine d’XNA sense petar. Per tant la meva política va ser mantenir al mínim el nombre de cares possibles. En el cas de la nau Isagoras, ens vam quedar al voltant de les 800, que semblen moltes però un cop estàs modelant t’adones que de seguida s’hi arriba. Cal dir de totes maneres que també era la meva primera experiència en el que s’anomena low poly modelling, modelatge de baixa resolució en altres paraules, que és en si mateixa una àrea important dins la disciplina del modelatge i que va força de la mà amb tècniques de texturització. Per tant, segur que es pot fer molt millor que no ho vaig fer jo.

El modelatge dels terrenys

Pel que fa al modelatge dels terrenys, el procés era diferent. Partia d’una graella més o menys quadrada, subdividida a alta resolució, (32768 polígons), a la qual anava donant formes muntanyoses i irregularitats utilitzant l’sculpt tool. Ara bé, aquestes geometries calia reduirles a baixa resolució per utilizar-les al joc. Llavors, per què partia d’alta resolució? doncs per generar els mapes de normals. Els mapes de normals són una tècnica de texturització que permet utilitzar imatges per simular el relleu aparent d’una superfície, relleu que és capaç d’interactuar amb les fonts d’il·luminació de l’escena.

Per altra banda, la resta de propietats del material que en el joc caldria aplicar als terrenys (bàsicament la textura de color) era també recomanable generar-les amb base al model d’alta resolució, ja que així la manera com la geometria afectava els canvis de color i les formes de la textura tenia un grau de definició molt més gran i, per tant, en aquest cas un acabat de qualitat superior.

Captura d\'una seqüencia de models concatenats per al nivell de Com potser apreciareu, hi ha tres models diferents de terreny, els quals encaixen els uns amb els altres. Això, que pot semblar una obvietat, és la mena d’obvietats que donen més maldecaps en el desenvolupament de productes digitals (la web i altres contextos són també plens d’obvietats difícils de resoldre)

El cas és que els shoot’em up es basen en el principi que la nau, el jugador, està quiet, és a dir, no és mou més enllà dels límits de la pantalla, i són els enemics i els terrenys els que es mouen en direcció contrària. Com que la velocitat d’un cos és sempre relativa al punt de vista, i com que nosaltres ens situem en el punt de vista del protagonista, ens dóna la sensació que és ell qui és mou i va trobant-se al llarg del camí territoris desconeguts i enemics que l’estan esperant ansiosament :-) . El que això implica és que en molts jocs es crea una quantitat limitada i relativament reduida de terrenys que es van repetint en seqüències variables per donar la il·lusió del canvi, per mirar d’evitar el típic efecte que vèiem en alguns dibuixos animats, on un personatge corre i el fons es repeteix de manera del tot desacomplexada i evident.

Com bé veureu al tràiler o a altres llocs, no sempre és fàcil evitar que la repetició no sigui evident. Com més models tinguem, més possibilitats tenim de donar variació, però també és més feina a crear-los i més informació en memòria que cal carregar al joc. En tot cas, la condició principal per poder concaternar dos terrenys en 3D és, ho heu endevinat, que els seus extrems coincideixin en alçada. Tot plegat, en fi, obliga els models a reunir una sèrie de requeriments que, des dels punts de vista tant tècnic com creatiu, no són fàcils de satisfer tots alhora.

Per altra banda, com ja he apuntat, el pas a baixa resolució dels terrenys anava íntimament lligat a la conciliació de la textura i la geometria, i aquest és un aspecte que en tot cas abordaria al wiki o en un altre post.

Materials i textures, textures i materials :)

Esquema del procés de treball amb els materialsAquest esquema de l’esquerra és un intent de mostrar gràficament i clara el que implicava generar el material per a les malles en baixa resolució que jo exportava i entregava a l’Agustí.

En alta resolució creava el material i les textures que, globalment, havien de tenir l’aspecte desitjat per al model final en baixa resolució del joc. Aquestes textures eren cuinades (és a dir, el programa fa com una fotografia del resultat visual de totes les textures juntes) en relació al desplegament UV que ja havia fet del model en baixa resolució.

Paral·lelament, havia de crear un altre material per al model en baixa resolució, material que contenia la textura que s’havia cuinat a partir del model en alta resolució.

Com podeu observar, aquest procés té diversos passos. La qual cosa significava que, si hi havia alguna error en el mapeig o la creació de les textures, a vegades podia caldre recomençar el procés des d’un pas bastant inicial.

A més a més, si abans pel que fa a la geometria us posava de manifest la necessitat de conciliar-la amb la repetició en mosaic dels models, això seguia sent cert pel que fa als materials. O sigui, les textures havien de ser aptes per a ser composades en mosaic com a mínim en dos dels seus extrems.

Explicació del problema del tiling o composició en mosaic

Les dificultats vinculades a aquest procés ens van obligar a reduir a una sola aparició, o directament eliminar, alguns dels models previstos. Aquesta dificultat, tant per als models com per als materials, és la que podeu veure explicada a l’esquerra.

Cubemaps

En les pantalles dels jocs de naus i, en general en els jocs en 3D, sempre apareix alguna imatge o conjunt cromàtic que, d’alguna manera, fa de fons de l’escena. Això es pot fer de diverses maneres, i en el nostre cas ho fèiem amb un cub les cares del qual estaven texturitzades, pel seu interior, amb l’entorn que volíem simular.

En aquesta tasca, hi va haver també dificultats diverses. La primera, un tema de formats, ja que XBOX treballa amb el format dds, però en aquest aspecte vam poder trobar un plugin per a GIMP que permet exportar a aquest format. La dificultat més important, però, va raure en treure l’entrellat de les rotacions del sistema global de coordenades que cada context (aplicació de 3D, consola de jocs, etc.) utilitza. És a dir, per a un mateix model tridimensional, pot ser que allò que és l’eix de les X en un programa sigui l’eix de les Z en un altre. Això, evidentment, tenia les seves implicacions en com des de Blender s’elaboraven cubemaps amb una orientació d’eixos tal que fos la correcta quan s’importés a l’entorn de la XBOX.

Primer de tot, però, va caldre assabentar-me una mica de què anava això dels cubemaps, i em va ser força útil aquesta pàgina, malgrat que el mapeig d’eixos proposat a baix de tot no funcionava en el meu cas. També em va resultar molt interessant l’ús, observació i estudi de les explicacions i plantilles proposades a KatsBits sobre Rendering a custom skybox image using Blender 3D.

Vaig invertir força temps, doncs, investigant les possibilitats que havia après gràcies a aquests dos enllaços. No obstant, tot i que aquesta feina no va resultar del tot inútil, finalment em vaig haver de decantar per utilitzar les textures de cels que hi ha a cgtextures, perquè els cels que generava jo des de zero utilitzant aquests procesos es veien molt pixelats i/o amb bandeig a causa de l’ampliació que fa el joc sobre les imatges que constitueixen el cubemap. Això es produeix fonamentalment per l’absència de soroll que solen tenir les composicions gràfiques generades digitalment. En canvi en les textures elaborades a partir de fotografies reals, la variabilitat dels colors és prou significativa com perquè no es produeixin aquests efectes.

En composicions 100% digitals, això s’acostuma a evitar utilitzar opcions de dithering, disponible al panell de render de Blender, o bé afegint soroll artificial amb un programa com GIMP. No obstant, fins i tot utilitzant aquests recursos, la compressió del dds no jugava a favor nostre en la gestió de tot plegat, i aquest fou el motiu principal que finalment acabéssim utilitzant cubemaps ja prefabricats i d’ús lliure per a jocs de la XBOX.

Interfície i final del projecte

Una de les pantalles d\'opcions del jocEls últims dies de treball, més o menys durant els mesos de juliol i agost, els vaig dedicar a part d’anar fent petites correccions aquí i allà que l’Agustí em demanava, al disseny de la interfície. Hi havia molt poc temps i per tant en moltes coses vaig haver de ser més expeditiu o barroer del que m’hauria agradat. Però bé, si sempre anéssim pensant en tot el que ens agradaria potser mai faríem res. Prova i exemple d’aquesta manera de treballar és que vaig agafar com a motiu o patró gràfic del joc les composicions que al llarg dels mesos se m’havien anat creant com a resultat de l’ús del programa IOGraph. Aquestes composicions, doncs, feien de fons dels menús a través dels quals el jugador tria les seves opcions, nivells de dificultat, etc.

Una de les imatges exemple de la informació per als jugadors, a la part superiorPer altra banda, pel que fa a la interfície del gameplay, és a dir del moment en què realment estem jugant (les vides, els punts, les armes, i aquesta mena de coses) vaig decantar-me per quelcom molt minimalista. A més a més, a fi que les converses entre els diversos personatges no tapessin aquesta informació, i a fi que aquesta, al seu temps, no interferís amb la posició de la nau, vam decidir posar-la a la part superior de la pantalla, on el jugador no es situa mai ja que és d’on vénen els enemics normals i on es situa l’enemic final de cada pantalla.

Per cert, la interfície la vaig elaborar treballant quasi exclusivament amb Inkscape. No cal dir, que as usual, em van ser molt útil les eines d’Inkscape per a l’exportació basades en la selecció actual d’objectes.

Finalment, quan l’Agustí va valorar el joc com a acabat, el va pujar a la plataforma dins la qual començava un altre procés, de revisió i correcció de fallades de programació, en el qual com podeu comprendre no vaig tenir cap part. L’espera es va fer llarga, però tal i com us recordava al principi d’aquesta entrada, finalment tot va anar bé i el joc es publicava per a glòria de tots nosaltres. Espero que us hagi interessat la parrafada. La meva intenció era fer un seguiment més exhaustiu de tot el procés de treball, però ja que no va poder ser, confio que això ajudi a donar una idea de tota la feina implicada en un projecte com aquest.

Comparteix a:

Accions:

fes-me un Flattr!

Sindicació

Sindicació RSS
Posted in 3D, Arts visuals, blender, Programari lliure, serveis d'Imatgedart | Tagged , , , , , , , , , | Leave a comment

Prova o compra el joc Isagoras!Recordeu l’entrada de fa unes setmanes on us presentava el tràiler del joc Isagoras on he estat participant com a director artístic durant l’últim any?

Finalment, després d’unes setmanes d’espera que ja es començaven a fer llargues ;-) , Isagoras ja ha estat aprovat i és a la venda al marketplace Indie Games. Si teniu la sort de tenir una XBOX, el podeu provar gratuïtament. En cas que no, us consolarà saber que jo tampoc en tinc :) . Ara la intrèpida Crow ja pot sortir amb el seu prototip, l’Isagoras, que quasi encara ni ha provat, per fer front a l’amenaça alienígena que, tot just començar el joc, ja elimina el planeta Terra del panorama.

Espero ben aviat poder fer un post al blog o al portafolis on explicar de manera estesa els aspectes més rellevants de la part de desenvolupament artístic del joc.

Comparteix a:

Accions:

fes-me un Flattr!

Sindicació

Sindicació RSS
Posted in 3D, blender, Programari lliure, Publicitat | Tagged , , , , , , , | 3 Comments

Fa pocs dies vam acabar definitivament el joc Isagoras, del qual us vaig parlar fa uns quants posts. Durant els últims mesos l’Agustí i jo hem estat treballant força intensament en el projecte, que el darrer hivern havia deixat així una mica fred, i sembla que la recompensa de veure-ho del tot acabat ja és a tocar. Ara el joc ja està pujat al procés de revisió de la plataforma Indie Games i només falta que sigui aprovat sense sorpreses, cosa que serà d’aquí a una setmana si tot va bé. A partir de llavors, si teniu la XBOX, afició pels jocs de naus, i 240 punts per pagar, us el podreu comprar.

De moment podeu veure aquest tràiler que he fet amb tant de cariñu com pressa amb les captures de vídeo que em va passar l’Agustí, i les músiques composades per en Jonathan i en Miguel, que he pogut descobrir millor fora del context de joc. Val la pena posar de manifest els mèrits del disseny de so en què han estat treballant aquests dos companys de Madrid. Perquè el so, i qui sonoritza, sol passar desapercebut, però realment sense la magnífica feina que ells han fet el joc no seria el mateix.

Espero que us agradi. Us recordo la web del joc, que és http://www.redcirclestudio.net.

Comparteix a:

Accions:

fes-me un Flattr!

Sindicació

Sindicació RSS
Posted in 3D, blender, Programari lliure | Tagged , , , , , | 1 Comment

Durant el darrer any he estat treballant amb l’Agustí Sancho en un joc per a la XBOX 360, la consola de Microsoft. Bé, deixant a part els dubtes existencials que em pugui provocar treballar per a una plataforma del maligne, l’experiència ha estat com a mínim interessant, i ara que estem arribant al final ha arribat el moment de mostrar-vos-en alguns resultats.

El joc és un clàssic shoot’em up, bé, de moment no és un clàssic però tot és qüestió de temps ;-) . Una nau que va passant per difererents escenaris planetaris carregant-se els enemics, com ha de ser, vaja. Ens l’hem plantejat com una manera d’enfrontar-nos a un repte real i agafar experiència en quelcom que, cada ús des de la seva àrea, ens interessava. Hi hem col·laborat dos músics, en Jonathan i en Miguel, l’Agustí com a director, dissenyador i programador del joc, i un servidor.

Jo hi he col·laborat amb la direcció artística i, sobretot, (ja que no tinc massa experiència en direcció artística i, per tant, aquest és l’aspecte que menys he pogut atendre) el modelatge i la texturització 3D de tots els escenaris, naus dels bons i enemics. Per a totes les tasques, he utilitzat únicament aplicacions de programari lliure. Principalment Blender i GIMP, i de manera més puntual Inkscape, i altres aplicacions en un entorn GNU/Linux. Senyal, per altra banda que, amb tots els seus reptes que el programari lliure encara ha de resoldre, GNU/Linux és un entorn perfectament compatible amb qualsevol altre, en aquest cas el Windows amb què treballa l’Agustí.

Una de les coses per a què més m’ha servit és per descobrir les possibilitats immenses de la texturització UV. Però si tot va bé d’aquestes coses ja n’aniré parlant més endavant. Quedeu-vos amb el vídeo aquí sota i amb la web del joc, on en podreu trobar més informació.

Comparteix a:

Accions:

fes-me un Flattr!

Sindicació

Sindicació RSS
Posted in 3D, blender, General, Programari lliure | Tagged , , , , | 2 Comments

Ei, gràcies per ser a aquesta pàgina.
Potser has notat que ha canviat una mica.
Estic "en ello".

Roy Tanck's Flickr Widget requires Flash Player 9 or better.

Get this widget at roytanck.com

Aquests continguts es publiquen amb llicència CC BY-SA, sempre que no s'especifiqui el contrari en un context més específic.