CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 21 Nov 2017 12:57

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 16 mensajes ]  Ir a página 1, 2  Siguiente
Autor Mensaje
NotaPublicado: 03 Jul 2015 09:55 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4614
Hola!

Logros

Aquellos que jugáis juegos de Steam y otras plataformas estaréis acostumbrados a los sistemas de logros. Para aquellos que no, se trata de objetivos secundarios en determinados juegos, o a veces incluso primarios, que llevan al jugador a conseguir tal o cual logro por puras razones lúdicas o por razones competitivas. Por ejemplo, hay juegos en los que matar a un determinado jefe de area no resulta en un logro, pero matarlo sin matar antes a sus guardaespaldas sí. También puede haber logros por exploracion (visitar x sitios), por misiones (completar x misiones), etc.

En general, desde el punto de vista del autor del juego, el sistema de logros crea (no para todos los jugadores pero sí para muchos), una necesidad de re-jugar un mismo juego, o jugarlo en profundidad.

Mientras definía ngPAWS vi que realizar un sistema de logros así sería relativamente fácil (a la hora de generar el logro en la propia aventura) pero sería complicado mantenerlo online como ocurre por ejemplo con los logros de Steam, los de Battlle.net , etc. Sería complicado porque para mantener algo así hace falta un servicio central que almacene los logros, y en el que deberíamos estar autenticados, porque el logro se graba con el nombre/nick del usuario, y así puedes ver quien fue el primero en tal o quien ha abierto tales logros.

Mi idea original fue plantear un servicio online para ngPAWS, pero antes de "montarmelo yo solo", me gustaría que otros autores de parsers me diérais vuestra opinión, o incluso saber si queréis participar en crear un servicio, colaborando en la definición de la parte servidor, y añadiendo el soporte a vuestros parsers. En concreto creo que es fácil de implementar para AGE y fi.js (de hecho este último y ngPAWS podrían usar la misma). Inform, es más complicado, pero se puede pensar como hacerlo para algún intérprete en concreto (Parchment o Quixe)

Los que no sois autores de parsers, también podríais colaborar al menos aportando ideas, y contestando a nuestras dudas sobre si deberíamos hacerlo así o asá.

Otros tracking

Por otro lado, como sabéis algunos en mis pruebas de betatesting de Colditz para ngPAWS (que saldrá pronto) añadí cierto nivel de tracking de respuestas sin contestación, con el objetivo de poder ver que cosas escriben los jugadores y quedan sin respuesta (es decir con la respuesta "no puedes hacer eso", "no te entiendo", etc.). Para ello utilicé una herramienta open source muy similar a Google Analytics llamada Piwik. Lamentablemente usé una solución muy provisional y me quedé sin los datos (instale el piwik en una raspberry pi en mi casa y la tarjeta SD en cuestión murió sin un triste backup).

Por eso me planteo la posibilidad de que de nuevo nos pongamos de acuerdo con un método de tratar esto entre los autores de parsers, en lugar de acabar con 3 soluciones, y planteemos el uso.

Trackear el CAAD

Por último pero no menos importante, hace tiempo se hablo de poner una herramienta open source en la web del CAAD para analítica web, que nos diga al menos de donde vienen las visitas, cuales son las páginas más visitadas, por donde entra la gente al CAAD, etc. Se que hay otras pero Piwik me ha parecido que no tiene nada que envidiar a Google Analytics, y solo requiere montar una BBDD mysql que ya tenemos, y marcar las páginas (añadiendo un pequeño código <script>). Todos los datos quedan en nuestro poder y no en poder de Google, y Piwik se puede configurar incluso para aplicar el requerimiento do-not-track que hacen algunos navegadores si el usuario así lo decide, por lo que no invadiríamos la privacidad de nadie que no lo quiera. ¿Nos animamos?

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


Arriba
 Perfil  
 
NotaPublicado: 03 Jul 2015 18:21 
Desconectado
Archivero
Archivero

Registrado: 19 Nov 2008 12:32
Mensajes: 268
Pues no me doy idea de cómo implementarlo desde I7 o desde su capa intérprete, pero me parece una buena iniciativa.

(hay algo de interfaz I7-JS hecho con Vorple, tendria que mirarlo)

_________________
I7 Spanish / Notas de desarrollo


Arriba
 Perfil  
 
NotaPublicado: 03 Jul 2015 18:44 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5274
Ubicación: Coruña
Uto escribió:
Mi idea original fue plantear un servicio online para ngPAWS, pero antes de "montarmelo yo solo", me gustaría que otros autores de parsers me diérais vuestra opinión, o incluso saber si queréis participar en crear un servicio, colaborando en la definición de la parte servidor, y añadiendo el soporte a vuestros parsers. En concreto creo que es fácil de implementar para AGE y fi.js (de hecho este último y ngPAWS podrían usar la misma). Inform, es más complicado, pero se puede pensar como hacerlo para algún intérprete en concreto (Parchment o Quixe)

Me parece una idea genial, y estoy dispuesto a añadir el soporte en AGE y a colaborar en lo que pueda en el tema del servidor (al menos aportando ideas de diseño, porque me imagino que estarás pensando en usar un servidor web y LAMP y yo en todo lo que sea web estoy bastante pez).

Estos días la verdad es que estoy bastante liado, pero a partir de mediados de la semana que viene debería tener más tiempo.

Supongo que un buen equilibrio entre sencillez y generalidad sería que hubiese una web donde los autores de aventuras pudiesen dar de alta sus aventuras y crear, para cada una de ellas, los logros. Esa información se guardaría en el servidor en una base de datos, XML, o similar, y se cotejaría con las peticiones de "logro completado para el jugador X" que llegaran desde los clientes (aventuras).

Uto escribió:
Por otro lado, como sabéis algunos en mis pruebas de betatesting de Colditz para ngPAWS (que saldrá pronto) añadí cierto nivel de tracking de respuestas sin contestación, con el objetivo de poder ver que cosas escriben los jugadores y quedan sin respuesta (es decir con la respuesta "no puedes hacer eso", "no te entiendo", etc.). Para ello utilicé una herramienta open source muy similar a Google Analytics llamada Piwik. Lamentablemente usé una solución muy provisional y me quedé sin los datos (instale el piwik en una raspberry pi en mi casa y la tarjeta SD en cuestión murió sin un triste backup).

Por eso me planteo la posibilidad de que de nuevo nos pongamos de acuerdo con un método de tratar esto entre los autores de parsers, en lugar de acabar con 3 soluciones, y planteemos el uso.

También me parece muy interesante, pero aquí ya no sé si puede encajar AGE al no ser un sistema basado en web (la versión de navegador es un applet de Java). Imagino que Piwik será para web, ¿no?

_________________
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: 04 Jul 2015 09:39 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4614
Al-Khwarizmi escribió:
Uto escribió:
Mi idea original fue plantear un servicio online para ngPAWS, pero antes de "montarmelo yo solo", me gustaría que otros autores de parsers me diérais vuestra opinión, o incluso saber si queréis participar en crear un servicio, colaborando en la definición de la parte servidor, y añadiendo el soporte a vuestros parsers. En concreto creo que es fácil de implementar para AGE y fi.js (de hecho este último y ngPAWS podrían usar la misma). Inform, es más complicado, pero se puede pensar como hacerlo para algún intérprete en concreto (Parchment o Quixe)

Me parece una idea genial, y estoy dispuesto a añadir el soporte en AGE y a colaborar en lo que pueda en el tema del servidor (al menos aportando ideas de diseño, porque me imagino que estarás pensando en usar un servidor web y LAMP y yo en todo lo que sea web estoy bastante pez).

Estos días la verdad es que estoy bastante liado, pero a partir de mediados de la semana que viene debería tener más tiempo.

Supongo que un buen equilibrio entre sencillez y generalidad sería que hubiese una web donde los autores de aventuras pudiesen dar de alta sus aventuras y crear, para cada una de ellas, los logros. Esa información se guardaría en el servidor en una base de datos, XML, o similar, y se cotejaría con las peticiones de "logro completado para el jugador X" que llegaran desde los clientes (aventuras).



Sí, más o menos eso había pensado para el lado de servidor, aunque ha que añadir:

- Que el usuario debe poder registrarse y logarse en el momento del logro si es a primera vez, o declinar participar.
- Si declina participar en el sistema online los logros le saldrían en local pero no se enviarían. Ahora bien, como un logro solo puede salir una vez, sería necesario que en caso de que el usuario haya rechazado participar, el intérprete debe guardar la info en local.

Así la petición del programa de procesar un logro sería algo como esto:

1) Consultar si el jugador ya se ha logado alguna vez, y si es así detectar su id de usuario (en un navegador lo guardaríamos en una cookie después de que se logue la primera vez, en otros sistemas supongo que haría falta una especie de fichero global)

2) Si el usuario no estaba logado, lanzar una ventana de login/registr, que trabaja contra un API REST del servidor que permite ambas cosas. Aquí también se da la opción al usuario de no participar, en cuyo caso guardamos algo así como "id de usuario=0" que nos indique en el futuro que los logros van en local.

3) Si el login/registro acaba con un id de usuario válido, se lanza la petición al servidor de apuntar el logro tal, de la aventura tal, del usuario tal. El servidor responde un boolean indicando si lo ha grabado o si no (porque el usuario ya lo tenía). Si es que sí, el interprete debe mostrar el logro en pantalla.

4) Si el login registro acaba con un id =0, el proceso es el mismo pero contra el almacenamiento local.



Uto escribió:
Por otro lado, como sabéis algunos en mis pruebas de betatesting de Colditz para ngPAWS (que saldrá pronto) añadí cierto nivel de tracking de respuestas sin contestación, con el objetivo de poder ver que cosas escriben los jugadores y quedan sin respuesta (es decir con la respuesta "no puedes hacer eso", "no te entiendo", etc.). Para ello utilicé una herramienta open source muy similar a Google Analytics llamada Piwik. Lamentablemente usé una solución muy provisional y me quedé sin los datos (instale el piwik en una raspberry pi en mi casa y la tarjeta SD en cuestión murió sin un triste backup).

Por eso me planteo la posibilidad de que de nuevo nos pongamos de acuerdo con un método de tratar esto entre los autores de parsers, en lugar de acabar con 3 soluciones, y planteemos el uso.


También me parece muy interesante, pero aquí ya no sé si puede encajar AGE al no ser un sistema basado en web (la versión de navegador es un applet de Java). Imagino que Piwik será para web, ¿no?[/quote]

Piwik tiene varios interfaces, uno de ellos es un API REST a la que seguro que puedes llamar desde Java para marcar un evento.

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


Arriba
 Perfil  
 
NotaPublicado: 04 Jul 2015 09:48 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4614
tesheñes escribió:
Pues no me doy idea de cómo implementarlo desde I7 o desde su capa intérprete, pero me parece una buena iniciativa.

(hay algo de interfaz I7-JS hecho con Vorple, tendria que mirarlo)


En todo caso creo que tendría que ser a nivel intérprete, porque ni Glulx ni z-machine permiten la conexión a sitios web que yo sepa, y eso es lo que en definitiva haría falta. Es algo que se podría poner como addon de Quixe, pero habría que ver como enlazarlo desde el juego, porque es el juego el que lanza el marcado de un logro.. A priori solo se me ocurre una llamada a una función Glk que no exista que inicie el proceso, con una versión retocada de Glkote.min.js que le de soporte. No me gusta mucho porque no deja de ser un poco ñapa, quizá habría que hablarlo en los foros guiris también.

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


Arriba
 Perfil  
 
NotaPublicado: 04 Jul 2015 10:53 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 24 Dic 2010 14:37
Mensajes: 890
tesheñes escribió:
Pues no me doy idea de cómo implementarlo desde I7 o desde su capa intérprete, pero me parece una buena iniciativa.

(hay algo de interfaz I7-JS hecho con Vorple, tendria que mirarlo)


Sólo con esto, ¿no?


http://inform7.com/learn/man/WI_23_15.html


Arriba
 Perfil  
 
NotaPublicado: 04 Jul 2015 15:37 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4614
Johan Paz escribió:
tesheñes escribió:
Pues no me doy idea de cómo implementarlo desde I7 o desde su capa intérprete, pero me parece una buena iniciativa.

(hay algo de interfaz I7-JS hecho con Vorple, tendria que mirarlo)


Sólo con esto, ¿no?


http://inform7.com/learn/man/WI_23_15.html


Sería una solución para Inform, aunque obligaría de alguna manera a que otro programa estuviera corriendo en paralelo ¿no?

En la práctica es lo que ocurre en Steam , Origin o Battle.net, pero veo más difícil que alguien que abre un juego de Inform abra un segundo programa. Quizá si fuera un programa tipo... ¿como se llamaba aquel que permitia bajarse juegos y te los instalaba... me falla la memoria.

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


Arriba
 Perfil  
 
NotaPublicado: 04 Jul 2015 19:42 
Desconectado
Archivero
Archivero

Registrado: 19 Nov 2008 12:32
Mensajes: 268
aja, ¿cómo sería la petición para grabar un logro?

Creo que si lo implementas para javascript, podría lanzarse desde I7 usando las extensiones de Vorple.

_________________
I7 Spanish / Notas de desarrollo


Arriba
 Perfil  
 
NotaPublicado: 05 Jul 2015 04:27 
Desconectado
Implementador
Implementador

Registrado: 09 Jun 2010 14:50
Mensajes: 1604
Ubicación: Argentina
Uto escribió:
Quizá si fuera un programa tipo... ¿como se llamaba aquel que permitia bajarse juegos y te los instalaba... me falla la memoria.


¿Puert Aventura?


Arriba
 Perfil  
 
NotaPublicado: 06 Jul 2015 07:54 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4614
tesheñes escribió:
aja, ¿cómo sería la petición para grabar un logro?

Creo que si lo implementas para javascript, podría lanzarse desde I7 usando las extensiones de Vorple.


En principio sería un API rest a la que le pasarías el id de usuario, el id de la aventura y el id del logro, y respondería con un true/false (si es true, el logro se ha producido, si es false, no). Quizá se puede añadir el timestamp o algo así para que el juego pueda mostrar exactamente la fecha/hora que quedo registrada). Desde ngPAWS se puede implementar con una llamada ajax, desde otros parsers hay que verlo.

Por ejemplo una respuesta de éxito podría ser:

Código:
{"success":"1", "timestamp":"2892378377"}


Y una de fallo:

Código:
{"success":"0","errorcode":"1"}


Donde habría una lista de errores y el 1 es "usuario desconocido", el 2 "id de aventura desconocido", el 3 "logro desconocido", el 4 "logro ya realizado", etc.

Dependiendo de lo que devuelva la llamada, el parser mostraría el logro o no, y como mostrarlo ya es una cuestión del intérprete/parser.

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


Arriba
 Perfil  
 
NotaPublicado: 07 Jul 2015 01:00 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

Registrado: 23 Abr 2004 08:49
Mensajes: 2888
Ubicación: España (Galicia)
Hola,

A mi me parece muy bien la idea, y también la estructura del mensaje planteada. No tengo mucha idea de cómo podría hacerse en fi.js, pero desde luego, al ser JavaScript, debería ser sencillo. Contad conmigo, aunque ahora mismo no cuento con demasiado tiempo.

-- baltasar

_________________
-- Baltasar, el arquero


Arriba
 Perfil  
 
NotaPublicado: 07 Jul 2015 10:12 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4614
baltasarq escribió:
Hola,

A mi me parece muy bien la idea, y también la estructura del mensaje planteada. No tengo mucha idea de cómo podría hacerse en fi.js, pero desde luego, al ser JavaScript, debería ser sencillo. Contad conmigo, aunque ahora mismo no cuento con demasiado tiempo.

-- baltasar



No te preocupes, intentaré plantearlo para ngPAWS de modo que sea una clase a la que el juego solo tenga que llamar con un método achievement(gameID, achievementID) y ya se encargue de pedir login si es necesario. Así creo que valdrá para ngPAWS y fi.js la misma librería. Solo estate atento al hilo por si decimos alguna tontería que se podría hacer mejor de otro modo :D

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


Arriba
 Perfil  
 
NotaPublicado: 08 Jul 2015 15:26 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4614
Acabo de abrir un hilo por lo de los logros en los foros ingleses, pro buscar más consenso y colaboración:

http://www.intfiction.org/forum/viewtop ... =6&t=18330

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


Arriba
 Perfil  
 
NotaPublicado: 10 Jul 2015 17:13 
Desconectado
Archivero
Archivero

Registrado: 19 Nov 2008 12:32
Mensajes: 268
igual esto tal vez ya lo consensuaron por chat, pero mientras leia sobre el escenario server-side me vino a la mente Rebot y algunas de sus posibilidades (ej , multiplayer).

¿Tendrá cabida?


Arriba
 Perfil  
 
NotaPublicado: 11 Jul 2015 12:49 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4614
tesheñes escribió:
igual esto tal vez ya lo consensuaron por chat, pero mientras leia sobre el escenario server-side me vino a la mente Rebot y algunas de sus posibilidades (ej , multiplayer).

¿Tendrá cabida?


Es una cuestión del intérprete: si es capaz de diferenciar los jugadores y tener un id para cada uno puede grabar logros para cada uno. En definitiva el API de logros solo aceptará 4 parámetros:

userid, gameid, achievementid, stepid

El último es opcional y es para logros que requieran varios pasos que se pueden hacer en distintas partidas (por ejemplo: visitar los 5 contienentes).

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


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: No hay usuarios registrados visitando el Foro y 1 invitado


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