CAAD
http://foro.caad.es/

AGE sin JAVA
http://foro.caad.es/viewtopic.php?f=31&t=6282
Página 3 de 3

Autor:  juanjoLeMarchand [ 10 Jun 2018 12:06 ]
Asunto:  Re: AGE sin JAVA

¡Gracias!

Tengo una duda muy tonta, pero, ¿Cómo se lanza AGE como servidor?

Y puesto a preguntar: ¿es la opción para las aventuras multijugador? ¿Usa alguna clase del núcleo que no se use en cheapage?

Mirando los ficheros que me comentas, parece que no hay demasiados mensajes en el protocolo, con lo que puede ser viable realizar las modificaciones...

Ahora mismo, lo que tuve que hacer se resumen en cambiar el InpuOutputClient para que pudiera usar AJAX con el cliente y el servidor (Servlet). Podría volver a hacerlo con un MultimediaClientInputOutput...

Me parece genial haber usado sockets TCP para la versión multijugador. A mí, me gustaría portarlo para que soporte WebSockets, o por lo menos REST. Así sería incluso más fácil crear otras interfaces para navegador, y alojar el servidor...

No sé si lo habéis comentado ya, pero con las versiones para navegador puede ser más sencillo crear interfaces personalizados por cada juego, o integrarlo en portales...

A ver si puedo avanzar poco a poco...

¡Salud!

Autor:  Al-Khwarizmi [ 10 Jun 2018 12:59 ]
Asunto:  Re: AGE sin JAVA

juanjoLeMarchand escribió:
¡Gracias!

Tengo una duda muy tonta, pero, ¿Cómo se lanza AGE como servidor?

La clave está en lanzar el ejecutable Aetheria.(bat/sh/command) en vez del Simpleage.(bat/sh/command) que se recomienda normalmente. El Simpleage es más bonito y ligero, pero es sólo cliente, el Aetheria.bat es el que incluye también el servidor.

Una vez lanzado Aetheria.bat, vas al menú "Servidor - Configuración...", marcas "Servir por AGE" y configuras el puerto.

Hecho esto, puedes lanzar una partida como servidor de dos maneras:

- Partida no dedicada (o sea, juega el servidor también): vas a la ventana de cargador de juegos, en "Opciones" marcas "Servidor AGE", y lanzas el juego.

- Partida dedicada (recomendado): vas a "Servidor - Configuración..." y agregas una partida dedicada, recuerda marcar de nuevo el protocolo de AGE en la ventana al efecto.

El kit de desarrollo de AGE tiene un juego tonto llamado CollejaLand que puedes utilizar para probar el multijugador (simplemente permite que unos jugadores le den collejas a otro). Para una aventura multijugador más elaborada, puedes usar Burbuja de dddddd: http://wiki.caad.es/Burbuja

juanjoLeMarchand escribió:
Y puesto a preguntar: ¿es la opción para las aventuras multijugador? ¿Usa alguna clase del núcleo que no se use en cheapage?

El núcleo es siempre el mismo, común a todas las interfaces (cheapage o ventanas) y a todos los modos (mono o multijugador).

Básicamente las únicas clases específicas para jugar en cliente-servidor (multijugador o no) son las que te he puesto (aparte de clases para gestionar cosas técnicas como configuración de puertos, desconexiones y temas así). De hecho, AGE sigue una arquitectura cliente-servidor incluso si se ejecuta en local. Lo único que pasa al ejecutarlo en remoto es que el servidor se comunica con un tipo de cliente que resulta ser un "AGEClientProxy", en vez de un cliente "local", pero el servidor ni se entera porque la interfaz es la misma. Por la parte del cliente, el "ServerProxy" es como un cliente más, sólo que en lugar de hacer las cosas directamente, se conecta con el servidor.

juanjoLeMarchand escribió:
Mirando los ficheros que me comentas, parece que no hay demasiados mensajes en el protocolo, con lo que puede ser viable realizar las modificaciones...

Sí, le falta documentación pero es muy sencillito. Creo recordar también que no soportaba tooda la funcionalidad (por ejemplo, sí que soporta los colores de texto, el "wait for key press" y cosas así, pero no recuerdo si el soporte de imágenes estaba completo o era sólo parcial), porque la verdad es que no es algo que la gente me pidiese ya que AGE en remoto no se usó mucho. Pero si es importante para permitir la ejecución de aventuras de AGE en el navegador, puedo ponerme la tarea de terminar los flecos que faltaban y hacer que el 100% de la funcionalidad multimedia de AGE pueda funcionar en remoto.

juanjoLeMarchand escribió:
Ahora mismo, lo que tuve que hacer se resumen en cambiar el InpuOutputClient para que pudiera usar AJAX con el cliente y el servidor (Servlet). Podría volver a hacerlo con un MultimediaClientInputOutput...

Me parece genial haber usado sockets TCP para la versión multijugador. A mí, me gustaría portarlo para que soporte WebSockets, o por lo menos REST. Así sería incluso más fácil crear otras interfaces para navegador, y alojar el servidor...

Todo ello suena bien.

juanjoLeMarchand escribió:
No sé si lo habéis comentado ya, pero con las versiones para navegador puede ser más sencillo crear interfaces personalizados por cada juego, o integrarlo en portales...

A ver si puedo avanzar poco a poco...

¡Salud!

Supongo que con el "núcleo" funcionando, personalizar la interfaz de cada juego (aparte de lo que ya proporciona AGE en cuanto a colores, imágenes, etc.) sería cosa de editar HTML, ¿no?

Autor:  juanjoLeMarchand [ 10 Jun 2018 13:35 ]
Asunto:  Re: AGE sin JAVA

¡Magnífico!

Por pereza me viene bien poder empaquetarlo todo en un solo .war, por ahora. Eso implicaría no tener que hacer uso del protocolo para la comunicación, sino solo realizar la adaptación del InpuOutputCLient.

Puede que esto afecte al rendimiento, para muchos jugadores o mundos simultáneos...

El catálogo de juegos, es el fichero catalog.xml o mainCatalgo.xml incluido en la distribución, ¿verdad?

Tal como está ahora mismo, si hace falta más de un fichero world.xml (recursos de imágenes y demás), deben estar disponibles en el mismo servidor. Una vez que funcionen los juegos sencillos, habrá que arreglarlo, para que lo traiga de su ubicación original y lo descomprima en memoria.

Autor:  Al-Khwarizmi [ 10 Jun 2018 14:55 ]
Asunto:  Re: AGE sin JAVA

Yo decía lo del protocolo más que nada por si era más fácil, pero si ves viable hacer un InputOutputClient que funcione en web y soporte las funcionalidades del ColoredSwingClient (que es el cliente que incluye personalización de colores, tipografía, sonidos, imágenes, frames...) ya no haría falta el protocolo.

Mi desconocimiento de las tecnologías web es casi total, así que me es difícil estimar la dificultad de cada cosa.

Autor:  juanjoLeMarchand [ 16 Jun 2018 09:56 ]
Asunto:  Re: AGE sin JAVA

¡Gracias, Al-Khwarizmi!

Disculpa que haya tardado tanto, tengo unas semanas muy locas...

Es que no quiero quitarte tiempo aún, si no consigo usar el protocolo todavía. Me parece muy interesante esa posibilidad, pero voy a probar primero con la adaptación de esa clase que comentas.

Creo que he encontrado un hosting barato que me permitiría subir los juegos, o quizás almacenar el estado de las partidas, incluso. Tengo que probarlo en cuanto tenga la siguiente versión del visor web.

¿Cuál es el juego más sencillo que usa cambio de fuentes e imágenes?

¡Salud!

Autor:  Al-Khwarizmi [ 17 Jun 2018 09:58 ]
Asunto:  Re: AGE sin JAVA

Para imágenes en plan sencillo y sin cambios de fuente más que establecer una fuente por defecto al principio (creo), tienes "El karma de la cepa" (http://www.caad.es/fichas/el-karma-de-la-cepa.html) o "Wizard's Quest: Morluck's Lair" (http://www.caad.es/fichas/wizards-quest ... -lair.html). Otras aventuras con imágenes como "15 Meses y Un Día" o "La Sexta Trompeta" diría que ya son más complicadas (por ejemplo "15 Meses" usaba gráficos SVG, y "La Sexta Trompeta" dibujaba un mapa dinámico, si no recuerdo mal, y es posible que fuera escrita específicamente para el ColoredSwingClient).

Si quieres una aventura que cambie las fuentes dinámicamente durante la partida, puedes probar "Atrapada" (http://www.caad.es/fichas/atrapada.html). Usa distintas fuentes y colores, pero por lo demás no tiene nada en cuanto a multimedia se refiere.

Que tenga imágenes Y cambios de fuente dinámicos a la vez y sea sencillo, creo que no hay ninguno que yo conozca, si quieres probar todo eso a la vez supongo que necesitarás dos de los anteriores.

Página 3 de 3 Todos los horarios son UTC + 1 hora
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/