Guía para colaboradores

Tu ayuda no sólo es útil, ¡es necesaria!

Esta breve guía te ayudará a colaborar en el mantenimiento de la Web de Extensiones Hispanas para Inform 7, que forma parte del proyecto comunitario y colaborativo iniciado por GrendelKhan como referencia universal de recursos, extensiones y tutoriales de Inform 7 para hispanohablantes.

Desde su aparición en 2006, el sistema de creación de ficción interactiva Inform 7 ha ido enriqueciéndose con las aportaciones de su ingente comunidad de aficionados, principalmente angloparlantes, en forma de librerías y extensiones. Desde el tratamiento de conversaciones, al comportamiento de los personajes, sistemas de interacción con objetos complejos o mejoras en el parseado de la entrada del jugador, estos colaboradores han hecho de Inform 7 sistema más popular de creación de ficción interactiva hoy día.

Desde el mundo hispanohablante, un puñado de pioneros consiguió la adaptación de la librería base para programar relatos en español, así como la publicación de algunas extensiones traducidas o de nuevo cuño, que ponían al alcance del programador hispano parte de la potencia expansiva del sistema.

Desgraciadamente, aún queda mucho por hacer, y ahí es donde entras tú, oh filántropo y generoso colaborador, para enriquecer el acervo cultural de nuestra comunidad.

Sobre traducciones y extensiones inéditas

¿Echas en falta alguna funcionalidad concreta? ¿Te gustaría ver características o posibilidades más allá del contenido del manual oficial, que desearías poner al alcance de todos los usuarios?

Bien, para empezar mira si hay algo parecido en esta Web. Si crees que podrías mejorarlo o darle un enfoque más creativo, contacta con su autor, proponle mejoras, debate los pros y los contras. Nadie quiere un montón de extensiones todas parecidas de autores diferentes. Decidid entre los dos quién se encargará de implementarlas, igual se entusiasma con tu idea y se pone a implementarla al minuto, o quizás decide que sí, que muy bien, pero no tiene tiempo para hacer los cambios, cediéndote a ti el testigo.

Por otra parte está la web anglo de extensiones, donde podrás encontrar todas las aportaciones de esa importante comunidad. Hey, ahí hay bastante tomate. La mayoría de los aspectos imaginables de una simulación de ficción interactiva tienen alguna extensión al respecto, desde la forma de modelar el mundo de juego hasta aspectos de metaprogramación como el parseado de cadenas. Busca tranquilamente, prueba alguna de ellas con la versión inglesa de la librería, y si cubre tus expectativas, lánzate a una traducción. Comprueba antes, por supuesto, que no se te haya adelantado un compatriota, siendo en ese caso la situación igual a la del párrafo anterior.

Recomendaciones para una buena traducción

    • Si vas a publicarla como una versión traducida de la extensión, limítate a precisamente a eso. Puede ser que haya algo que no te gusta o partes de la implementación algo flojas que crees que podrías mejorar: no lo hagas. Puede que algunos mensajes queden sosos y te resistes a la traducción literal para sustituirlos por todo el talento de tu pluma: no lo hagas. Si lo que estás buscando es una versión mejorada de la extensión, hazlo, pero avisa a tus usuarios que se trata de eso, para evitar confusiones. Publícala con un nombre modificado, con tu autoría y la del autor original, e indica claramente que se trata de algo más que una traducción.

    • Si ya has hecho una traducción de una extensión es muy probable que te conviertas en el Mantenedor Oficial(tm) de la misma. En ese caso los usuarios te agradecerán que estés al tanto de las mejoras y actualizaciones que vaya publicando su autor original para implementarlas en tu traducción, de forma que esté siempre al día. Te puedes valer de alguna de las herramientas de diferencias de ficheros para detectar los cambios, que alguna vez no pasan de un par de líneas. Para estar al día de las publicaciones y actualizaciones de la web oficial de extensiones inglesas, puedes afiliarte al noticiero RSS donde se informa regularmente de los cambios.

    • Tus usuarios te agradecerán que traduzcas la documentación, aunque no es obligatorio para que sea usable. De hecho, es de agradecer que incluso aquellas extensiones que no requieren traducción por no generar mensajes, tengan su documentación en español para facilitar el acceso a los que no somos expertos con la lengua de Thackeray.

Publicando la extensión

Bien, ya tenemos nuestra flamante extensión o traducción lista para usar, y la queremos ofrecer de forma altruista a la comunidad hispana.

Para poder hacer cambios, lo primero es solicitar a alguno de los actuales colaboradores que comparta el archivo de hoja de cálculo online que se utiliza para alimentar el árbol de extensiones. Tampoco está de más solicitar compartición de la misma Web, por si en el futuro deseas hacer otro tipo de contribución, siempre agradecida.

Una vez obtenidos los permisos pasarás a formar parte de pleno derecho y con las mismas posibilidades, incluyendo la posibilidad de compartir permisos con otros usuarios, del selecto club de mantenedores de la página.

Así que lo primero, y más importante: edita esta página y añade tu nombre a la lista, para que otros usuarios se puedan poner en contacto contigo.

Actualizando los metadatos

Podrás acceder a la hoja de cálculo maestra de extensiones para modificarla una vez te hayas registrado en tu cuenta de Google Docs.

Pinchando en el documento Extensiones INFSP7 veremos algo con el siguiente aspecto:

Cada fila de la hoja de cálculo representa una extensión. Si quisiéramos modificar o actualizar alguna de ellas, simplemente nos posicionamos en la fila pertinente, y modificamos los datos. En este caso lo que queremos es añadir una nueva, para lo cual nos dirigimos al final de la hoja, a la primera fila en blanco y comenzamos a escribir los datos de nuestra extensión:

    • Nombre: el nombre que le hayamos dado (o el que tuviera, si se trata de una traducción).

    • Autor: nuestro nombre o el del autor original. Es importante respetar el mismo formato para todas las extensiones que creemos, de lo contrario el generador de extensiones los considerará como dos autores diferentes en el informe completo por autores.

    • Categoría: representa el primer nivel de categorización de nuestra extensión, el más genérico. Si se trata de una traducción, conviene ponerle el que tuviera la versión inglesa, previa traducción literal. En cualquier caso comprueba antes de escribir si existe una categoría que contemple el concepto de tu extensión para no saturar de categorías el sistema de clasificación.

    • Subcategoría: especifica en un segundo nivel el ámbito de la extensión, dentro de la categoría global. Por ejemplo, una extensión para conversaciones por menús podría tener categoría "Otros Personajes" y subcategoría "Diciendo cosas complejas". Aplican las mismas precauciones que en el apartado anterior.

    • Fecha actualización: se trata de la fecha de subida o de la última actualización en los fuentes. Si has hecho una traducción y ahora la modificas, pon la fecha de la modificación, no de la extensión original. De esta forma el cambio quedará marcado como novedad durante unos días en la consulta de extensiones de la Web.

    • Versión: para traducciones la versión original que se corresponde con la traducción. Para extensiones nuevas, deberás decidir la versión de acuerdo a la entidad de los cambios realizados.

    • Enlace: se trata de un hiperenlace para descargar la propia extensión. En este caso puedes enlazar a tu propia web si la tienes alojada allí, o subirla a esta misma Web, bajo la página "Extensiones" y luego capturar el enlace que te devuelve el Site.

    • Descripción: breve resumen de la funcionalidad que contempla, además de la información que te parezca relevante. Puedes utilizar tags html en este campo.

    • Traductor: si se trata de una traducción de una extensión en otro idioma o una adaptación, indicar el nombre del autor de la traducción, o dejar en blanco si no aplica (i.e. extensiones originales).

Una vez editados los metadatos, nos vamos a Archivo y le damos a Guardar. A partir de ese momento los cambios quedarán reflejados en la Web de extensiones. Revisa la categorización y los enlaces para ver que todo está en regla o actualiza la hoja en caso contrario.

Con esto queda finalizado nuestro proceso de colaboración, ahora toca esperar buenos y agradecidos comentarios de nuestros usuarios.

El programa de generación de contenido para extensiones

La página web con los informes de las extensiones se basa en un Gadget de Google escrito en javascript que utiliza el API de visualización de Google para obtener los datos en línea de la hoja de cálculo y mostrarlos en el informe de forma automática.

El código fuente tiene dos ficheros, alojados en la carpeta asociada a esta página.

    • El código fuente en javascript con el gadget: Extensiones I7 SP.xml.

    • El archivo de estilos CSS, "fusilado" de la Web de Graham: style_I7_ext.css.

Cualquier modificación que realices en esos ficheros no quedará automáticamente reflejada. Para ello, procede de la siguiente manera:

    1. Edita el fuente o los estilos con los cambios que consideres y almacénalos en un servidor que permita enlazarlos directamente sin llamadas javascript entre medias. En ese sentido, el servidor de google sites no vale. Puedes utilizar tu directorio Public de DropBox, o mejor aún, un servidor de pago que no corra el riesgo de volatilizar el contenido en un cambio de disco duro o por despiste.

    2. Modifica el Extensiones I7 SP.xml para que el tag de estilos apunte a la nueva ubicación del CSS (es un enlace directo).

    3. Por último, al haber cambiado de sitio el XML y amén de tener Sites los Gadgets enlazados y no almacenados, debes editar la página de extensiones, eliminar el gadget, añadir un nuevo Gadget que, esta vez, apuntará a la dirección donde lo tengas almacenado.

    4. Una vez realizado este proceso, cualquier cambio que realices sobre ellos se reflejará automáticamente en la Web, ya que los Gadgets incrustados en el Google Site enlazan a los ficheros.

Colaboradores actuales del sitio de Inform 7

Puedes contactar con alguna de estas personas para dudas o para solicitar permisos de edición en la Web.

Grendel Khan

Sarganar

Johan Paz

Mastodon