divendres, 3 d’abril de 2009

Cas d'estudi: Gauntlet - Part I: Introducció

Be, per a despejar-me un poc vaig a començar un cas d'estudi que desenvoluparé detalladament al llarg d'estos dies. He triat el Gauntlet, ja que desde l'altre dia que el Gamer ho va comentar m'entraren ganueles.

L'objectiu es desenvolupar el Gauntlet. No vaig a calfar-me el cap i vaig a usar els gràfics i la mecànica del joc original. Si més avant es vol fer un JailGame amb història i gràfics propis, que algú propose algo.

Crec que tots coneixeu el Gauntlet, així que no vaig a comentar la mecànica del joc. El que sí comente es que ha de poderse jugar offline, like el joc original, i online, a traves d'un servidor dedicat. En principi no em planteje que el servidor puga ser un dels jugadors.

Per a aconseguir aquesta dualitat desenvoluparé unes classes proxy que em premeten interactuar amb el joc independentment de que les ordres arriven des del teclat o desde la xarxa. Com a extra, desenvoluparé altra classe proxy que permeta que el joc jugue sol amb una serie d'ordres pregrabades, like el mode demo de les recreatives. Açò implica que tindré que fer una classe sniffer que grave les ordres entre el proxy i els elements del joc, encara que es probable que, en compte de crear una classe a propòsit, clave la lògica dins la clase proxy base, de la que hereten les demés.

El joc permetrà dur fins a 4 personatges. Vaig a implementar personatges, enemics, items, etc... segons aquesta documentació. De totes formes, tampoc es l'objectiu calcar exàctament el comportament del joc original.

Usaré els gràfics del Gauntlet 2 per a PC, que puc ficar-lo al DosBox per a traure, facilment, tiles i sprites.


Ale, crec que ja no hem queda res que introduïr. Vaig a passar més temps escrivint ací que escrivint codi, així que la visibilitat del projecte serà quasi total. Mentres dure el cas d'estudi hi haurà dies que escriga varies parts, i si se administrarme be no deuria haver dia sense post. Aixó si, recordar que el cap de setmana sempre estic liat i se me fa dificil escriure, així que no promet res.

6 comentaris:

  1. osti! no te canses de crear projectes? XD
    Per cert la solucio per a implementar offline i online me pareix perfecta.
    Sobre el mode demo, podries crear un fitxer d'ordres i t'estalvies clavar codi complexe.
    La qüestió estaria en mentres jugues fer un xot de posicions i accions de tot el que esta en la partida i despres afegir els events de tot el que pasa. Aixina tindries un replay d'algo que has jugat i no seria massa complicat d'implementar, pense.

    ResponElimina
  2. BIEEEN!
    Fucking Gauntlet, lo que em va costar de traure els 200 punts de logros allà pel 2006, jo no el recordava tan xungo xD

    Es una estupidez, pero, pq no pilles els sprites y tiles del MAME? tampoc es res important pero m'ha estranyat que pillares els de la versió d'MS-DOS. Supose que per que la tindries a ma.

    Estic impacient per llegir el codi i anar mirant com va tot :)

    ResponElimina
  3. Respecte el que diu JailGamer de "fer un xot de posicions i accions de tot el que està en la partida i després afegir els events de tot el que passa" per a tindre un replay basat en una partida feta... no seria més xuli açò?:

    - polsar F10 (per exemple) per a activar el mode "registrar demo".
    - jugar un rato i que es vagen registrant en un fitxer totes les ordres i posicions i demés coses que tinga que saber el motor del joc per a reproduir una partida.
    - polsar F10 per a desactivar el mode "registrar demo".

    Així ja tens el fitxer que diu JailGamer i, si es fa ben fet, segur que aprofita per a tots els jocs que faces... després només has de desactivar aquesta característica (si vols) per a que qui jugue no faça el peiv i au.

    ResponElimina
  4. Per cert, se m'ha oblidat comentar una coseta.

    Genial http://strategywiki.org no?

    Encara no la he mirada però ha de ser de puta mare per a aprendre moltes coses sobre com fer videojocs!

    ResponElimina
  5. A vore. La solució que jo he dit, pese a que m'haja explicat mal, es la mescla del que ha dit el Gamer amb el que ha dit el Master.

    El proxy memoritza les accions (normalment equivalents a pulsacions de tecla o soltar tecla) i després les guarda a un arxiu.

    Hi haurà una versió de proxy que en compte de agafar les accions del teclat o de red, les agafarà d'un arxiu.

    No obstant, reaprofitar aquesta funcionalitat en altres jocs no pot ser copy/paste i au, ja que cada joc te les seues accions i no tenen perqué coincidir. El que si es pot fer es reaprofitar el concepte i el esquelet.

    Respecte als tiles, com ja s'ha pogut vore en subsegüents posts, al final estic agafant els tiles del Gauntlet de arcade.

    ResponElimina
  6. També pot aprofitar això per a fer las repeticiones de las mejores jugadas no? :D

    ResponElimina