CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 01 Oct 2020 05:49

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 16 mensajes ]  Ir a página 1, 2  Siguiente
Autor Mensaje
NotaPublicado: 24 Abr 2010 13:51 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

Registrado: 15 Dic 2004 21:28
Mensajes: 2302
Esto venía del hilo: http://foro.caad.es/viewtopic.php?p=45839#p45839

Al-Khwarizmi escribió:
Recordar esto me hace pensar que sería muy interesante hacer un módulo para rebot que hiciera esto, y así tener esa funcionalidad web integrada en rebot. ¿Esto sería técnicamente posible dado el diseño de rebot, o sería problemático?


Si no recuerdo mal el funcionamiento de phparun, la principal diferencia entre él y Rebot era que phparun funcionaba sin tener en ejecución la aventura durante toda la sesión, esto es, cada vez que se le enviaba una entrada lanzaba una instancia de arun que moría una vez dado el resultado (cargando y guardando los estados, supongo), este enfoque es más similar a como funciona la web aunque puede tener problemas de rendimiento.

Rebot funciona cargando la aventura al principio y se mantiene en ejecución hasta que acaba la sesión, aunque esto no es tan similar a como funciona la web tiene mejor rendimiento y funciona mejor para distintos protocolos heterogéneos (chats, mud, etc.). En cualquier caso, creo que no habría problema para adaptarlo para funcionar en la web sin mayores problemas, y podría hacerse de varias maneras:

1- Creando un módulo para Rebot que sea en sí mismo un servidor web, atendiera las peticiones y devolviera los resultados de cada acción.
*Ventajas: diseño limpio y compacto.
*Desventajas: hay que currarse la funcionalidad de servidor web (aunque por supuesto se usuaría alguna librería que ya lo implementara); si ya hay otro servidor web en la máquina necesitaría funcionar por otro puerto, o tener una redirección HTTP del servidor web principal.

2- Creando un módulo para Rebot que atienda a un CGI, no tengo muy claro exactamente cómo pero la idea general sería que las peticiones vinieran a través del servidor web principal que ya hay en la máquina (apache o el que sea) y fueran enviadas a un CGI propio de Rebot que se comunicara con él.
*Ventajas: aprovechamiento de un servidor web existente, todo más estandarizado y mayor facilidad para crear la página.
*Desventajas: no sé muy bien cuál sería el diseño del módulo/CGI, el módulo tendría que ir en Perl (como Rebot) pero el CGI podría tener que estar escrito en el lenguaje que soportara el servidor web (posiblemente PHP), ¿y cómo se comunicaría el módulo con el CGI?

Hay que recordar que Rebot es software libre con todos los fuentes disponibles, así que animo y apoyo a cualquiera que quiera participar en su desarrollo, o simplemente tenga ideas que puedan servir.

Mas información sobre Rebot:
http://aventuras.presi.org/rebot
http://savannah.nongnu.org/projects/rebot
http://wiki.caad.es/Rebot


Arriba
 Perfil  
 
NotaPublicado: 24 Abr 2010 14:38 
Desconectado
Archivero
Archivero

Registrado: 19 Nov 2008 12:32
Mensajes: 268
¿y qué te parece que, así como usas pipes (o similar) del lado interprete-rebot; tambien lo uses del lado rebot-browser? Que tal hacerlo en javascript?(me refiero al extremo 'usuario')

_________________
I7 Spanish / Notas de desarrollo


Arriba
 Perfil  
 
NotaPublicado: 24 Abr 2010 16:00 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5312
Ubicación: Coruña
Creo que este proyecto es muy interesante, ya que así sabríamos que cualquier aventura de texto podría jugarse a través de web siempre que fuese compatible con rebot. Esto eliminaría la necesidad de crear un intérprete server-side específico para cada plataforma (salvo para multimedia), ahorrando mucho trabajo actual y futuro, aparte de ampliar la utilidad del propio rebot.

Sobre lo de colaborar, por desgracia no sé gran cosa de PHP ni de Javascript, así que personalmente no lo veo muy factible. Por supuesto siempre podría aprender pero llevaría su tiempo, y creo que en mi caso ese tiempo está mejor invertido en atender a las mejoras pendientes de AGE a las que tampoco le dedico todo el que me gustaría.

Pero si hay alguien que quiera dedicar tiempo a hacer algo útil para la comunidad, le aconsejo que se apunte a esto porque realmente me parece un proyecto muy útil.

Sobre la forma de comunicación con el CGI, a mí también lo primero que se me vino a la cabeza son las pipes; parece lo más natural, ¿no? Y sobre el lenguaje, tampoco es tan raro que los servidores soporten CGI's en perl, ¿no? La verdad es que hace muchos años que no ando hurgando en CGI's; pero antes lo más habitual era que soportaran tanto PHP como perl, igual estoy desactualizado.

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
NotaPublicado: 24 Abr 2010 17:34 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

Registrado: 15 Dic 2004 21:28
Mensajes: 2302
El modelo de ejecución CGI es llamar a un ejecutable cada vez que hay un hit (o entrada de datos por formulario) desde la web, pero según entiendo el CGI no puede ser el propio módulo para Rebot ya que este se carga en tiempo de ejecución y forma parte de Rebot que debe ejecutarse todo el tiempo, a menos que cambiemos el modelo y el propio Rebot sea el CGI (se lance y muera cada vez que hay un hit en la web) pero creo que eso no es viable.

Si el CGI de todas maneras va a ser un componente separado entonces da igual que no sea Perl, puede ser PHP que está más extendido en la web, o incluso, se podrían crear varios CGI en cada lenguaje para dar mejor soporte.

Código:
               [Rebot]
+-------------------------------------+ 
|                                     | 
| Nucleo---(api rebot)---modulo web--------(X)-----[CGI]-----(pipes)----[Servidor Web]----(http)----[navegador]       
|    |                                | 
+----|--------------------------------+ 
     |
     |
  (pipes)
     |
     |
 Intérprete (aventura) 

Este es el esquema con su flujo de datos, entre [] o cajas están los componentes y entre () los protocolos, el núcleo de Rebot ya usa pipes (entrada estándar y salida en fichero temporal, no era posible/portable usar al mismo tiempo la salida estándar), así queda descartado usarlas para el módulo web (protocolo marcado como X en el esquema), podría usar pipes Unix pero entonces no funcionaría en Windows, una solución sea usar ficheros temporales para esa comunicación, ¿alguna idea mejor?

En cuanto lo que comentáis de añadir funcionalidad en el navegador, no es estrictamente necesario, ahora bien, algo en Javascript sí podría mejorar la interfaz de usuario, pero eso ya escapa a mis conocimientos, tendría que hacerlo otro.


Arriba
 Perfil  
 
NotaPublicado: 24 Abr 2010 19:02 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

Registrado: 15 Dic 2004 21:28
Mensajes: 2302
Todo lo que hemos dicho sería para ejecutar una sola aventura a la vez, es decir, si alguien se conecta a la web y ya hay otro usuario jugando, el segundo usuario se conectaría a la misma instancia de la aventura que el primero. Esto puede ser lo idóneo para aventuras multijugador, pero no para monojugador en la web, ya que no es lo mismo estar en un chat hablando con más gente mientras juegas (quizá la filosofía original de Rebot) que ir a una web y encontrarte con una aventura que alguien la está jugando a mitad.

Para soportar una aventura por usuario, habría que lanzar varias instancias de Rebot, controlar las sesiones, etc. con lo cual el tema se complicaría bastante.

No recuerdo como funcionaba phparun en ese sentido.


Arriba
 Perfil  
 
NotaPublicado: 26 Abr 2010 21:28 
Desconectado
Archivero
Archivero

Registrado: 19 Nov 2008 12:32
Mensajes: 268
se que esto es harina de otro costal, pero no encuentro el hilo adecuado.

Hay un cliente IRC basado en ajax llamado qwebirc; que puede embeberse en una página cualquiera. Lo usa la red freenode, justamente donde está rebot funcionando ahora.

Con un enlace como este, puedes usar rebot desde el navegador.

_________________
I7 Spanish / Notas de desarrollo


Arriba
 Perfil  
 
NotaPublicado: 12 Feb 2011 13:39 
Desconectado
Implementador
Implementador

Registrado: 13 Feb 2005 18:57
Mensajes: 1957
Viene de viewtopic.php?p=54318#p54318
Uto escribió:
Con rebot la multimedia te puedes olvidar de ella, y sin multimedia, pyphiverses será un parser vintage desde el primer dia :D


Presi:

¿Algo impide que Rebot pueda pasar elementos multimedia encapsulados en los "mensajes", al estilo multipart del correo electrónico, etiquetas HTML/XML (<img src="data:image/png;base64...) o similar?


Arriba
 Perfil  
 
NotaPublicado: 12 Feb 2011 18:59 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

Registrado: 15 Dic 2004 21:28
Mensajes: 2302
dddddd escribió:
Viene de http://foro.caad.es/viewtopic.php?p=54318#p54318
Uto escribió:
Con rebot la multimedia te puedes olvidar de ella, y sin multimedia, pyphiverses será un parser vintage desde el primer dia :D


Presi:

¿Algo impide que Rebot pueda pasar elementos multimedia encapsulados en los "mensajes", al estilo multipart del correo electrónico, etiquetas HTML/XML (<img src="data:image/png;base64...) o similar?


No, pero la aventura debería ocuparse de todo eso.


Arriba
 Perfil  
 
NotaPublicado: 13 Feb 2011 03:33 
Desconectado
Implementador
Implementador

Registrado: 09 Jun 2010 14:50
Mensajes: 1677
Ubicación: Argentina
Ahora yo digo, ¿para qué se utiliza Rebot si este tipo de juegos no se trata de MUDs? Además, no son muchas las aventuras multijugador que no responden a este tipo de juegos.


Arriba
 Perfil  
 
NotaPublicado: 13 Feb 2011 15:50 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Fernando Gregoire escribió:
Ahora yo digo, ¿para qué se utiliza Rebot si este tipo de juegos no se trata de MUDs? Además, no son muchas las aventuras multijugador que no responden a este tipo de juegos.


Es un modo de poder compartir un mismo juego entre más de una persona.
Es el mejor modo de testear una aventura, dado que el autor ve paso a paso los intentos del jugador, por resolver cada situación.
Es un buen modo de introducir a un novato en el mundo de las aventuras, ya que no está solo delante de la máquina.

:)

_________________
Si la mentira tuviera color, todos seríamos daltónicos...


Arriba
 Perfil  
 
NotaPublicado: 13 Feb 2011 21:10 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

Registrado: 24 Ago 2007 00:41
Mensajes: 2023
Ubicación: Chile
jenesis escribió:
Fernando Gregoire escribió:
Ahora yo digo, ¿para qué se utiliza Rebot si este tipo de juegos no se trata de MUDs? Además, no son muchas las aventuras multijugador que no responden a este tipo de juegos.


Es un modo de poder compartir un mismo juego entre más de una persona.
Es el mejor modo de testear una aventura, dado que el autor ve paso a paso los intentos del jugador, por resolver cada situación.
Es un buen modo de introducir a un novato en el mundo de las aventuras, ya que no está solo delante de la máquina.

:)


Y otra más: porque es cool! :mrgreen:

_________________
Eliuk Blau
eliukblau (AT) gmail.com
http://www.caad.es/eliukblau/


Arriba
 Perfil  
 
NotaPublicado: 14 Feb 2011 01:15 
Desconectado
Implementador
Implementador

Registrado: 09 Jun 2010 14:50
Mensajes: 1677
Ubicación: Argentina
jenesis escribió:
Fernando Gregoire escribió:
Ahora yo digo, ¿para qué se utiliza Rebot si este tipo de juegos no se trata de MUDs? Además, no son muchas las aventuras multijugador que no responden a este tipo de juegos.


Es un modo de poder compartir un mismo juego entre más de una persona.
Es el mejor modo de testear una aventura, dado que el autor ve paso a paso los intentos del jugador, por resolver cada situación.
Es un buen modo de introducir a un novato en el mundo de las aventuras, ya que no está solo delante de la máquina.

:)


En ese sentido sí está bien, pero claro, siempre y cuando tenga un chat integrado.


Arriba
 Perfil  
 
NotaPublicado: 14 Feb 2011 09:13 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Fernando Gregoire escribió:
En ese sentido sí está bien, pero claro, siempre y cuando tenga un chat integrado.


Es que Rebot se ejecuta sobre un "chat", de hecho es un usuario más del chat.
Mira, yo creo que lo que tienes que hacer es pasarte un día por el canal del IRC del CAAD y pedirle a Presi que te muestre como funciona rebot, porque me da la impresión de que no lo tienes nada claro. :)

_________________
Si la mentira tuviera color, todos seríamos daltónicos...


Arriba
 Perfil  
 
NotaPublicado: 14 Feb 2011 17:55 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4651
Fernando Gregoire escribió:
En ese sentido sí está bien, pero claro, siempre y cuando tenga un chat integrado.


Al contrario, rebot esta integrado en un chat :)

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
NotaPublicado: 15 Feb 2011 01:39 
Desconectado
Implementador
Implementador

Registrado: 09 Jun 2010 14:50
Mensajes: 1677
Ubicación: Argentina
jenesis escribió:
Fernando Gregoire escribió:
En ese sentido sí está bien, pero claro, siempre y cuando tenga un chat integrado.


Es que Rebot se ejecuta sobre un "chat", de hecho es un usuario más del chat.
Mira, yo creo que lo que tienes que hacer es pasarte un día por el canal del IRC del CAAD y pedirle a Presi que te muestre como funciona rebot, porque me da la impresión de que no lo tienes nada claro. :)

En teoría ahora entiendo, era como esos robots que hubo en un momento (no sé si siguen activos) que mediante mensajería instantánea traducían textos, hacían cálculos etc. Pero efectivamente tienes razón que debería verlo en la práctica pues en una aventura me suena raro porque, ¿cómo se distingue si se va a poner un comando para el Rebot o decir algo a los usuarios humanos? Podrían usarse susurros pero creo que esa no es la idea de Rebot según comentan, la idea es compartir entre todos los resultados que van teniendo los comandos tecleados.


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 16 mensajes ]  Ir a página 1, 2  Siguiente

Todos los horarios son UTC + 1 hora


¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 6 invitados


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro

Buscar:
Saltar a:  
cron
Desarrollado por phpBB® Forum Software © phpBB Group
Traducción al español por Huan Manwë para phpBB-Es.COM