Herramientas de usuario

Herramientas del sitio


distribucion_como_juego_online

Distribución como juego online

Las aventuras de AGE se pueden jugar online, directamente desde el navegador, a través de un applet que viene con el propio AGE.

Para distribuir una aventura de AGE de esta manera, es requisito indispensable que los accesos a ficheros que haga la aventura (imágenes, música, etc.) se hagan mediante el método getResource() de la clase World.

Cumplido este requisito, distribuir una aventura de AGE para jugar online es muy fácil. Sólo hay que hacer lo siguiente:

  1. Copiar en un directorio el fichero AgeCore.jar y el directorio lib del AGE.
  2. Con el directorio worlds que contenga la aventura se pueden tomar dos alternativas diferentes: o bien copiarlo también junto al AgeCore.jar y al directorio lib; o bien meterlo dentro del fichero AgeCore.jar. Si se quiere usar esta segunda alternativa, se hace así:
    1. Abrir el fichero AgeCore.jar con un programa de manejo de ficheros zip (el formato .jar es lo mismo que el formato .zip, pero renombrado. Si el programa descompresor de ficheros zip no quiere abrirlo, puedes cambiarle la extensión temporalmente a zip).
    2. Meter el directorio worlds que contenga la aventura dentro del AgeCore.jar.
  3. Crear un fichero .html basado en el ejemplo que sigue:
    <html>
    <body>
    <center></center>
    </body>
    </html>
     
    <html> 
    <body> 
    <div align="center" style='position: relative; min-height: 95%; min-width: 95%'> 
    <applet code = "eu.irreality.age.swing.applet.SwingSDIApplet"
        archive = "AgeCore.jar,lib/bsh-2.0b4.jar,lib/commons-cli-1.2.jar,lib/basicplayer3.0.jar,lib/svgSalamander.jar"
        width = "750"
        height = "95%"
        align = "center">
        <param name="worldUrl" value="worlds/Morluck/world.xml"/>
        <param name="java_arguments" value="-Xmx300M"/>
    </applet>
    </div> 
    </body> 
    </html>

    Haciendo los cambios siguientes:

  4. Donde pone “worlds/Morluck/world.xml”, debes cambiarlo a la ruta correspondiente al fichero world.xml de tu aventura dentro del archivo .jar.
  5. Donde pone “AgeCore.jar,lib/bsh-2.0b4.jar,lib/commons-cli-1.2.jar”, debes añadir (separadas por comas) las rutas a las bibliotecas adicionales que utilice tu aventura. Por ejemplo, si tu aventura tiene música en formato ogg, tendrás que añadir la biblioteca que toca música en formato ogg. He aquí una tabla de las bibliotecas que necesitas añadir en cada caso:
Biblioteca Cuándo hace falta
lib/bsh-2.0b4.jar Necesaria siempre
lib/commons-cli-1.2.jar Necesaria siempre
lib/basicplayer3.0.jar Necesaria siempre (no debería serlo, este requisito se quitará en el futuro)
lib/commons-logging-api.jar Aventuras con audio mp3, ogg y/o speex
lib/jl1.0.jar Aventuras con audio mp3, ogg y/o speex
lib/tritonus_share.jar Aventuras con audio mp3, ogg y/o speex
lib/jogg-0.0.7.jar Aventuras con audio ogg
lib/jorbis-0.0.15.jar Aventuras con audio ogg
lib/vorbisspi1.0.2.jar Aventuras con audio ogg
lib/jspeex0.9.7.jar Aventuras con audio speex
lib/micromod.jar Aventuras con audio en formato mod
lib/mp3spi1.9.4.jar Aventuras con audio en formato mp3
lib/miglayout-core-4.2.jar Aventuras que usan frames (desde AGE 1.3.2)
lib/miglayout-swing-4.2.jar Aventuras que usan frames (desde AGE 1.3.2)
lib/svgSalamander.jar Necesaria siempre hasta la versión 1.3.0b de AGE (en la versión 1.3.1 y posteriores, sólo en aventuras con gráficos en formato svg)

Una vez completados estos pasos, deberías poder jugar la aventura localmente, abriendo en tu navegador la página HTML que has creado. Sólo falta el directorio completo (incluyendo la paǵina web, el fichero AgeCore.jar y el subdirectorio lib) a tu servidor web, y ya se podrá jugar a tu aventura a través de internet, accediendo a la URL de la página HTML.

Nótese que si quieres crear páginas para jugar varios mundos distintos, no necesitas subir al servidor distintos directorios con copias del fichero AGECore.jar y el subirectorio lib. Basta con subir una sola copia, que todos los mundos a jugar estén en el directorio worlds (esté éste metido dentro de AgeCore.jar o fuera), y crear una página HTML para cada mundo que especifique la ruta al mismo en el parámetro worldUrl.

La diferencia entre poner el directorio worlds dentro del AgeCore.jar o fuera está en los tiempos de carga. Si se pone dentro, el fichero .jar, que es lo que hay que descargarse al empezar a jugar la aventura, será más grande. Esto supone una espera inicial más larga; pero a cambio, los posibles elementos multimedia que tenga el juego se mostrarán más rápido una vez superada esta espera inicial, ya que están todos dentro del .jar. Si se pone fuera, sucederá lo contrario: la espera inicial será más corta; pero a cambio, cada vez que se utilice un nuevo fichero multimedia habrá que bajarlo del servidor por lo que se producirá una espera adicional.

distribucion_como_juego_online.txt · Última modificación: 2014/12/23 23:40 por al-khwarizmi