{"id":1223,"date":"2024-11-08T00:00:00","date_gmt":"2024-11-07T23:00:00","guid":{"rendered":"https:\/\/programaraciegas.net\/?p=1223"},"modified":"2024-10-16T07:45:25","modified_gmt":"2024-10-16T05:45:25","slug":"crear-aventuras-conversacionales-con-inform7","status":"publish","type":"post","link":"https:\/\/programaraciegas.net\/?p=1223","title":{"rendered":"Crear aventuras conversacionales con Inform7"},"content":{"rendered":"<p>Las <a href=\"https:\/\/programaraciegas.net\/?p=1207\">aventuras conversacionales<\/a>, tambi\u00e9n conocidas como juegos de texto interactivo, son un g\u00e9nero de videojuegos que se origin\u00f3 en los primeros d\u00edas de la inform\u00e1tica. En estos juegos, los jugadores interact\u00faan con un mundo virtual utilizando comandos escritos en lenguaje natural, lo que les permite explorar entornos, resolver acertijos y avanzar en la narrativa. Uno de los motores m\u00e1s populares para crear este tipo de experiencias es <a href=\"https:\/\/es.wikipedia.org\/wiki\/Inform\">Inform<\/a>, y en su versi\u00f3n m\u00e1s reciente, <a href=\"https:\/\/ganelson.github.io\/inform-website\/\">Inform7<\/a>, se ha consolidado como una herramienta poderosa y accesible para desarrolladores, escritores y entusiastas del dise\u00f1o de juegos narrativos.<\/p>\n<h2>Historia de Inform<\/h2>\n<p>El origen de <strong>Inform<\/strong> se remonta a principios de los a\u00f1os 90, cuando Graham Nelson cre\u00f3 el primer compilador de Inform como una herramienta para escribir juegos compatibles con el formato Z-machine, el mismo que fue usado para juegos cl\u00e1sicos de la compa\u00f1\u00eda <a href=\"https:\/\/es.wikipedia.org\/wiki\/Infocom\">Infocom<\/a>, como <a href=\"https:\/\/es.wikipedia.org\/wiki\/Zork\">Zork<\/a>. Este formato fue un est\u00e1ndar para las aventuras conversacionales, permitiendo que los juegos se ejecutaran en una amplia variedad de plataformas.<\/p>\n<p>En 2006, Nelson lanz\u00f3 <strong>Inform7<\/strong>, una nueva versi\u00f3n del motor, dise\u00f1ada desde cero para hacer la creaci\u00f3n de aventuras conversacionales m\u00e1s intuitiva y accesible. Mientras que las versiones anteriores requer\u00edan un conocimiento profundo de programaci\u00f3n, Inform7 utiliza un lenguaje de dise\u00f1o de juegos casi natural, lo que permite que los creadores describan mundos y reglas en ingl\u00e9s, similar a la forma en que escribir\u00edan una novela.<\/p>\n<h3>Caracter\u00edsticas principales de Inform7<\/h3>\n<p>Inform7 se distingue por su enfoque basado en el lenguaje natural, lo que facilita la creaci\u00f3n de mundos interactivos con reglas definidas sin necesidad de una programaci\u00f3n complicada. Algunas de las caracter\u00edsticas m\u00e1s destacadas de la herramienta son:<\/p>\n<p>\u2022 Lenguaje natural: Los juegos se escriben en una sintaxis que se asemeja mucho al ingl\u00e9s com\u00fan. Esto permite que los desarrolladores, incluso aquellos sin experiencia en programaci\u00f3n, puedan dise\u00f1ar escenarios, personajes y eventos de una manera intuitiva. Por ejemplo, una instrucci\u00f3n como \u00ab<em>The kitchen is a room. The player is in the kitchen<\/em>.\u00bb es perfectamente v\u00e1lida y crea un espaio jugable en el que el jugador puede interactuar.<br \/>\u2022 Un potente sistema de reglas: A pesar de su apariencia sencilla, Inform7 esconde un potente sistema de reglas y l\u00f3gica que permite la creaci\u00f3n de interacciones complejas. Se pueden definir comportamientos para objetos y personajes, establecer condiciones y consecuencias, y gestionar interacciones din\u00e1micas entre elementos del juego.<\/p>\n<p>\u2022 Soporte multiplataforma: Los juegos creados con Inform7 se exportan en formatos como Glulx o Z-machine, lo que permite que se ejecuten en una variedad de int\u00e9rpretes y plataformas, desde ordenadores de escritorio hasta dispositivos m\u00f3viles.<\/p>\n<p>\u2022 Facilidad para la narrativa: Con un fuerte enfoque en la narrativa, Inform7 es ideal para escritores que desean explorar la creaci\u00f3n de historias interactivas, permiti\u00e9ndoles centrarse en la trama y los personajes en lugar de en los detalles t\u00e9cnicos de la programaci\u00f3n.<\/p>\n<h3>Soporte para aventuras en espa\u00f1ol<\/h3>\n<p>Aunque Inform7 est\u00e1 dise\u00f1ado principalmente para trabajar con el idioma ingl\u00e9s, existen extensiones para incluir soporte para la creaci\u00f3n de aventuras conversacionales en espa\u00f1ol y otros idiomas. Esto ha sido posible gracias a la comunidad de desarrolladores y traductores que han trabajado en extensiones y adaptaciones que permiten que el motor entienda y genere texto en espa\u00f1ol.<\/p>\n<p>La comunidad que se ha formado alrededor de Inform ha contribuido a expandir el uso de la plataforma en m\u00faltiples lenguas, enriqueciendo el panorama de aventuras conversacionales a nivel global.<\/p>\n<h2>\u00bfC\u00f3mo jugar a una aventura creada con Inform7?<\/h2>\n<p>Para poder jugar a una aventura conversacional creada con Inform7 necesitamos un int\u00e9rprete compatible con Inform como pueden ser <a href=\"https:\/\/es.wikipedia.org\/wiki\/Glulx\">Glulx<\/a> o <a href=\"https:\/\/www.ifwiki.org\/Frotz\">Frotz<\/a>.<\/p>\n<p>Estos int\u00e9rpretes suelen utilizar la consola del sistema o la Terminal para mostrar el texto de las aventuras aunque hay versiones de GGlulx y Frotz para Windows, iPhone, Android o p\u00e1gina Web.<\/p>\n<h2>Instalaci\u00f3n del entorno de desarrollo<\/h2>\n<p>Actualmente Inform7 se distribuye como un IDE o entorno de desarrollo. Esta aplicaci\u00f3n permite la creaci\u00f3n y depuraci\u00f3n de una aventura conversacional incluyendo la posibilidad de utilizar extensiones creadas por otros creadores o crear nuestras propias extensiones. Gracias a las extensiones Inform7 puede crecer para mostrar gr\u00e1ficos, reproducir sonidos o incluir otros idiomas como el espa\u00f1ol.<\/p>\n<p>Puedes obtener la \u00faltima versi\u00f3n de Inform7 desde la <a href=\"https:\/\/github.com\/ganelson\/inform\/releases\">p\u00e1gina del proyecto Inform7<\/a>. La versi\u00f3n actual es la <a href=\"https:\/\/github.com\/ganelson\/inform\/releases\/tag\/v10.1.2\">10.1.2<\/a>. Se distribuyen versiones de <a href=\"https:\/\/github.com\/ganelson\/inform\/releases\/download\/v10.1.2\/inform_10_1_2_macOS_1_82_3.dmg\">Inform7 para Mac<\/a>, <a href=\"https:\/\/github.com\/ganelson\/inform\/releases\/download\/v10.1.2\/Inform_10_1_2_Windows.zip\">Inform7 para Windows<\/a> e Inform7 para distintas versiones de Linux.<\/p>\n<p>El IDE viene por defecto con soporte para idioma ingl\u00e9s. es necesario obtener las <a href=\"https:\/\/github.com\/sarganar\/I7-Spanish\/releases\">extensiones de Inform7 para espa\u00f1ol<\/a>. En el momento de escribir este art\u00edculo la versi\u00f3n actual es la <a href=\"https:\/\/github.com\/sarganar\/I7-Spanish\/archive\/refs\/tags\/230807.zip\">extensi\u00f3n para espa\u00f1ol R10.1<\/a>.<\/p>\n<p>Dentro del fichero comprimido en zip para las extensiones en espa\u00f1ol se incluye un fichero readme con instrucciones para instalar las extensiones de forma local.<\/p>\n<h2>Un simple ejemplo<\/h2>\n<p>Veamos un simple ejemplo de aventura en Inform7 utilizando las extensiones en espa\u00f1ol.<\/p>\n<p>Abre el IDE de Inform7 y crea un proyecto de nueva aventura llamado <em>Un simple ejemplo<\/em>.<\/p>\n<p>Cuando creas el proyecto en la ruta donde se guarda el proyecto encontrar\u00e1s una carpeta llamada <em>Un simple ejemplo.materials<\/em> y el fichero <em>Un simple ejemplo.inform<\/em>.<\/p>\n<p>Dentro de la carpeta <em>Un simple ejemplo.materials<\/em> debes copiar las carpetas <strong>Extensions<\/strong> e <strong>Inter<\/strong> que estaban dentro del zip de las extensiones de Inform para espa\u00f1ol. Con esto ya tenemos nuestro proyecto preparado para codificar la aventura.<\/p>\n<p>En la zona de c\u00f3digo del proyecto encontramos este c\u00f3digo inicial:<\/p>\n<pre>\"Un simple ejemplo\" by Jonathan Chac\u00f3n Barbero<br \/><br \/>Example Location is a room.<\/pre>\n<p>Borra ese c\u00f3digo y escribe el siguiente en su lugar:<\/p>\n<pre>\"Un simple ejemplo\" by Jonathan Chac\u00f3n Barbero (in spanish)<br \/><br \/>La sala is a room.<br \/>The description is \"Est\u00e1s en una sala donde no hay nada pero existe el potencial para que exista todo. Tu imaginaci\u00f3n es el poder creador de la realidad que te rodea.\".<\/pre>\n<h3>Analizando el c\u00f3digo<\/h3>\n<p>Analizando el c\u00f3digo de este primer ejemplo encontramos lo siguiente:<\/p>\n<p>\u2022 La primera l\u00ednea es donde se declara el t\u00edtulo y autor de la aventura. Adem\u00e1s indicamos que utilizaremos la extensi\u00f3n para espa\u00f1ol de Inform7.<\/p>\n<p>\u2022 Creamos el elemento <strong>La sala<\/strong> indicando que es una habitaci\u00f3n.<\/p>\n<p>\u2022 Indicamos que su descripci\u00f3n es un texto que describir\u00e1 la sala cuando nuestro personaje est\u00e9 en ella.<\/p>\n<p>Si pulsamos el bot\u00f3n de <strong>Go<\/strong> para probar nuestra aventura nuestro personaje jugador aparecer\u00e1 en la habitaci\u00f3n y podremos realizar acciones como saltar, cantar o m\u00e1s cosas que se nos ocurran. Pero nuestra sala est\u00e1 vac\u00eda. A\u00f1adir un objeto a nuestra sala es tan sencillo como escribir el siguiente texto en el c\u00f3digo de nuestra aventura:<br \/>El grano de arena is in la sala.<br \/>The description is \u00abUn grano de arena que puede ser el comienzo de todo.\u00bb.<\/p>\n<p>Con esto hemos a\u00f1adido un grano de arena a nuestra sala. Volvemos a usar la opci\u00f3n <strong>Go<\/strong> y podremos probar la aventura. Podemos coger el grano y aparecer\u00e1 en nuestro inventario y podemos soltarlo para que aparezca de nuevo en la sala.<\/p>\n<h2>Compartiendo nuestra creaci\u00f3n<\/h2>\n<p>Una vez terminada nuestra aventura podemos crear el fichero para que sea compartido con otras personas para que puedan jugar a la aventura de texto que hemos creado. Para ello debemos buscar en el men\u00fa <strong>Release<\/strong> la opci\u00f3n <em>Release &#8230;<\/em> que crear\u00e1 el fichero <strong>Un simple ejemplo.gblorb<\/strong> dentro de la carpeta <em>Un simple ejemplo.materials\/Release<\/em>. Ese fichero gblorb es el que debemos compartir para que otras personas puedan jugar a nuestra aventura. El fichero se crea utilizando el formato <em>Interactive fiction file format<\/em> que es compatible con int\u00e9rpretes como <a href=\"https:\/\/es.wikipedia.org\/wiki\/Glulx\">Glulxe<\/a> o <a href=\"https:\/\/www.ifwiki.org\/Frotz\">Frotz<\/a>.<\/p>\n<p>Ahora s\u00f3lo queda ampliar la sala para crear un mundo m\u00e1s extenso donde nuestra imaginaci\u00f3n y nuestra paciencia para aprender Inform7 ser\u00e1n el l\u00edmite de nuestra aventura.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Las aventuras conversacionales, tambi\u00e9n conocidas como juegos de texto interactivo, son un g\u00e9nero de videojuegos que se origin\u00f3 en los primeros d\u00edas de la inform\u00e1tica. En estos juegos, los jugadores interact\u00faan con un mundo virtual utilizando comandos escritos en lenguaje natural, lo que les permite explorar entornos, resolver acertijos y avanzar en la narrativa. Uno &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/programaraciegas.net\/?p=1223\" class=\"more-link\">Continuar leyendo<span class=\"screen-reader-text\"> \u00abCrear aventuras conversacionales con Inform7\u00bb<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[141,6],"tags":[499,142,55],"class_list":["post-1223","post","type-post","status-publish","format-standard","hentry","category-juegos-software-accesible","category-programacion","tag-aventuras","tag-juego","tag-texto"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/posts\/1223","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1223"}],"version-history":[{"count":0,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/posts\/1223\/revisions"}],"wp:attachment":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1223"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1223"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1223"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}