SPAC
Portada > Webzine > Sección objetiva > A. técnicos > ¿Qué variante de o lenguaje de programación basado en Inform debería (...)

¿Qué variante de o lenguaje de programación basado en Inform debería utilizar?

Miércoles 29 de diciembre de 2010, por Gregoire


Bueno, parece que ya has comenzado a decidirte, lo cual es un buen paso. Pero seguramente se te esté presentando lo que para los nuevos potenciales creadores puede ser una complicación; en el caso de Inform hay varias ramas para utilizar disponibles en español y no terminas de decidir cuál utilizar. Pero no te preocupes pues más de una vez se han recibido en los foros usuarios vacilantes en cuanto a esto debido muchas veces a la abrumadora cantidad de información que reciben al principio, habiendo logrado decidirse en la mayoría de los casos.

Probablemente has llegado aquí a través del resumen de sistemas de autoría más usados presente en la sección de autores. Ahora que ya tienes claro que lo que quieres es alguna variante de Inform, me centraré en explicarte las diferencias, ventajas y desventajas que deberías tener en cuenta para decidirte entre Inform 6 con INFSP, Inform 7 con INFSP o InformATE.

Inform 6 con INFSP

Inform 6 es un lenguaje de programación orientado a objetos, lo que significa que casi cualquier cosa que forme parte del juego (excepto el vocabulario) constituye un objeto. Este lenguaje es muy utilizado por quienes gustan de programar ya que trabajan directamente con el lenguaje, es decir sin envoltorios (véase Inform 7 más abajo).

INFSP es un conjunto de librerías que corriendo sobre el Inform 6 original hacen que los juegos hablen y entiendan español.

- Ventajas
Habiéndose hecho hincapié en los archivos de definición de idioma más que en modificar el núcleo del sistema existen las siguientes ventajas:

  • Toda la documentación disponible en inglés (incluso el DM 4 que es el manual oficial de I 6) es válida;
  • Muchas extensiones creadas por otras comunidades son compatibles cuando se programa en español;
  • Al usar el mismo código, es relativamente fácil traducir juegos a otros idiomas;
  • INFSP es compatible con la última librería de Inform 6 (6/11).

- Desventajas

  • El código se escribe totalmente en inglés;
  • A pesar de existir ejemplos y buenos tutoriales, no existe aún un manual en español.
JPG - 30.8 KB
Captura de "El cristal rojo"
Captura de la aventura "El cristal rojo"

- Código de ejemplo


    object cerilla “cerilla”,
    with name ‘cerilla’ ‘fosforo’,
    description “Una cerilla común y corriente de las que se utilizan en la actualidad;
    un palito de cartón rígido con una mecha en uno de sus extremos para poder encender.”,
    has female switchable;

También puedes consultar el código fuente de Vampiro para este lenguaje.

InformATE

Inform ahora totalmente en español (InformATE), es una reconstrucción casi total de las librerías de Inform 6. Posibilita la escritura de gran parte del código en español ya que tiene los identificadores traducidos, lo que en cierta forma facilita el aprendizaje y lectura del mismo. La excepción está en ciertas palabras reservadas del compilador. En referencia a esto, ten en cuenta que las modificaciones de InformATE radican en el núcleo; el lenguaje de programación sigue siendo Inform y por tanto el compilador es el mismo que se utiliza para el Inform 6 original.

- Ventajas

Escritura de gran parte del código en español facilitando su lectura y el aprendizaje del lenguaje;

  • Incluye características no presentes en el Inform 6 original útiles para el idioma español. INFSP (ver más arriba) las trae, pero bastantes basadas en el modo en que aquí fueron implementadas (su forma original);
  • Además de ejemplos y tutoriales, existe el manual en español DocumentATE;
  • Dada la cantidad de años que lleva este sistema en nuestra comunidad se han desarrollado bastantes extensiones para el mismo. Muchas de estas fueron reconvertidas para usarlas en INFSP;
  • Los nombres de acciones y otros recursos útiles para la depuración están traducidos;
  • La información introductoria que muestra la revisión del juego, el número de serie y la versión de librería y compilador con que se creó aparece en español. No siendo posible internacionalizar estos datos a través de los módulos de idioma estándar y por ende debiendo tocar el núcleo del sistema para lograrlo cuando la filosofía de INFSP radica en dejar el núcleo del parser lo más intacto posible, la presentación de esta información no está traducida en INFSP;
  • Hay un buen instalador para Windows que incluye todo lo necesario para programar en InformATE, incluso extensiones. Además agrega en el menú contextual de los archivos INF en el Explorador de Windows opciones para lanzar la compilación, haciendo además la salida de la misma más manejable al presentarse en un cuadro de edición de una ventana corriente en vez de directamente en el símbolo del sistema.

- Desventajas

La traducción de juegos se hace más complicada puesto que además de traducir los textos hay que adaptar el código;

  • El manual, a pesar de ser suficiente para hacer cosas muy buenas como prueba la gran cantidad de obras hechas con este sistema, no está terminado; No es posible aprovecharse demasiado de la documentación en inglés por las diferencias en el núcleo;
  • Muchas extensiones realizadas para Inform 6 son incompatibles por la misma razón que lo anterior;
  • La librería en que se basó InformATE es bastante antigua. Si bien InformATE ha tenido algunas pequeñas actualizaciones en el 2008, la librería en que se basa es de antes del 2004. Además hoy por hoy nadie se preocupa en realizar actualizaciones en esta variante a pesar de haber todavía usuarios que la utilizan.
JPG - 100.4 KB
Captura del último Hogar
Captura de la aventura "El último hogar"

- Código de ejemplo


  object cerilla “cerilla”,
     with nombre ‘cerilla’ ‘fosforo’,
      descripcion “Una cerilla común y corriente de las que se utilizan en la actualidad;
      un palito de cartón rígido con una mecha en uno de sus extremos para poder encender.”,
       has femenino conmutable;

También puedes consultar el código fuente de Vampiro para este lenguaje.

Inform 7 con INFSP

Y aquí hemos llegado a lo más moderno, Inform 7.
El lenguaje de programación se administra a través de lenguaje natural, más concretamente oraciones en inglés.
Esta especie de lenguaje natural no es sino un envoltorio del lenguaje utilizado en Inform 6, pero que en algunos casos facilita las cosas a quienes no usaron lenguajes de programación pero se desenvuelven con el inglés.
Inform 7 proporciona, además, un gran control sobre el mundo del juego a través de reglas.

Pero lo que realmente destaca a este sistema es un IDE propio que facilita en muchos aspectos el manejo del código, el modo de compilación, la ejecución del juego para ir probándolo durante el desarrollo y hasta proporciona en su interfaz mensajes de error más explicativos en la compilación, acceso a herramientas especiales como la creación de una página Web del relato que en las últimas versiones hasta incluye un intérprete para jugar en línea, empaquetamiento en blorb etc.
Mediante un conjunto de librerías INFSP desarrollado para Inform 7, es posible que los juegos desarrollados con este sistema hablen y entiendan español.

- Ventajas

  • Dispone de un IDE propio;
  • Se programa en lenguaje natural, lo que puede ser útil para quienes no sepan programar;
  • Inform 7 sigue todavía en desarrollo, lo que se traduce en periódicas nuevas versiones que agregan características y resuelven problemas. El equipo de desarrollo de INFSP le anda bastante cerca puesto que lo que tardan en actualizar la traducción al español tras la salida de una nueva versión de I 7 es poco;
  • Internamente el lenguaje de programación es Inform 6, por lo que si te gusta usar Inform 6 o incluso InformATE te puedes instalar I 7, coger de su carpeta el compilador y usarlo en I 6 o InformATE. La versión del compilador presente en I 7 es más reciente que la última desarrollada oficialmente para I 6 y tiene corregidos algunos problemas. Para que te des una idea, la última versión del compilador desarrollada oficialmente para I 6 es del 20/02/04;
  • Hace un tiempo se abordó la traducción del manual de Inform 7, la cual está bastante avanzada. -*Si el proceso continúa con la misma periodicidad que ahora, pronto tendrás disponible el manual de Inform 7 en nuestro idioma.

- Desventajas

  • Según los documentos escritos por el equipo de desarrollo de INFSP, hay cosas que cuesta implementar o deben hacerse cuidadosamente debido a diferencias idiomáticas con el inglés; por ejemplo si no prestas atención puedes recibir una pregunta de desambiguación que ponga “¿Cuál concretamente, la puerta blanca’s pomo o la puerta negra’s pomo?”;
  • Si estás acostumbrado a usar lenguajes de programación, el envoltorio del lenguaje Inform 6 con “lenguaje natural” puede llegar a resultarte desagradable. Por supuesto este punto es subjetivo y eres tú quien sabe qué te gusta o no;
  • No hay tantos tutoriales ni tampoco tan extensos en español a diferencia de lo que ocurre a este respecto con Inform 6 e InformATE;
  • Si metes la pata con las reglas puedes provocar que tu aventura se ejecute lento;
  • Como se dice en el resumen de la sección de autores, si no entiendes inglés la ventaja de la que alardean los creadores de Inform 7 puede convertirse en una gran desventaja.
JPG - 58.7 KB
Captura de Yan
Captura de la aventura "Yan"

- Código de ejemplo


   Cerilla is a thing. Understand cerilla as fosforo. It is female and switchable.
   Description is “Una cerilla común y corriente de las que se utilizan en la actualidad;
    un palito de cartón rígido con una mecha en uno de sus extremos para poder encender.”

También puedes consultar el código fuente de Vampiro para este lenguaje.

Fernando Gregoire

3 Comentarios


Seguir la vida del sitio  RSS 2.0: Artículos, Comentarios | Mapa del sitio | SPIP
CC Some rights reserved El contenido está disponible bajo los términos de Atribuir - Compartir bajo la misma licencia 3.0 ó 2.5 de Creative Commons.