todo sobre programación de inform7

114 mensajes, 4 páginas: 1  2 3 4 ↖ Volver a la lista de temas

1. alexis17,

hola, creo este hilo para aquellos que están interesados en hacer juegos de ficción interactiba, así como los juegos de jarol. uno de sus juegos, andibo por aquí hace meses. la benganza de yan. este querido juego, está en inform7. al igual que regreso a ledén, saboteur, el último jedi, cangrejo, etc.
más que nada, es para aprender a hacer juegos como los que mensioné anteriormente. si les gusta la idea, les imbito a hacer preguntas o compartir algún juego si es que ya conocen esta programación. un saludo y pues nada. a comenzar.

2. f-j-e,

como funciona esto?

3. Circuit_Bending,

Buenas, yo allá por 2011 empecé con esto de la ficción interactiva y con la programación Inform. AHora mismo no tengo nada mío para mostrarles. A mí no me interesa mucho hacer aventuras como las que mencionaste recién, pero sí aventuras clásicas de solo texto (véase aventuras de los 90 y primeros 2000 para máquina Z o MS DOS) o aventuras modernas como la noche del ensayo, que sigue siendo todo texto. También los libros interactivos... Ahora mismo no sé cómo se creará un librojuego en Inform, la documentación está más orintada a una aventura conversacional.

4. alexis17,

a ver, como explicarte.
inform7 es un lenguaje de programación.
es un programa que tienes que instalar, que al abrirlo te hace tres preguntas que están en inglés. reabrír juego, crear un nuevo juego, o buscar juego. (esto es según lo recuerdo) si le damos a crear nuevo juego, aparece una hoja en blanco. al igual, que un blog de notas.
en ese espacio, para comesar y si queremos el juego en español, pondremos entre paréntesis.
(in spanish).

si queremos hacer una habitación, o más bien un mapa, hacemos lo siguiente.
habitación is a room.
si queremos agregarle una descripción a la habitación, colocamos lo siguiente.
the description is. y entre comillas, la descripción. cuando terminamos la descripción, cerramos la comilla, y colocamos un punto.
el ejemplo quedaría así:
habitación is a room. the descripción is " ".

si queremos hacer un obgeto, hacemos lo siguiente.
por ejemplo:
celular is a thing.
y si queremos agregarle la descripción, colocamos lo mismo que en el ejemplo anterior. para que quede así:
celular is a thing. the descripción is " ".
si queremos por ejemplo. agarrar algo, o hacer un obgeto que puedas tomar y trasladar, colocamos.
un tab, y pegado a ese signo, lo siguiente. celular is in portable.
o si queremos hacer un botón y al botón queremos precionarlo, hacemos lo siguiente:
insthead of pushing botón:
y si queremos que diga algo al pulsarlo, hacemos esto.
colocamos un tab, y pegado lo siguente. say (separado) "pulsas el botón".
si queremos por ejemplo atacár a alguien, hacemos lo siguiente.
instead of attacking rafles:
(es solo un ejemplo) bueno. es todo por esta clase mi niños. jasjas. espero que les sirba. no tengo el link todabía para pasarles de los programas que hay que instalar. pero si alguien los tiene, que por fabor los pase. gracias de ante mano y espero, que alla respondido su pregunta. xd.

5. f-j-e,

parece interesante

6. pablo-pena,

Hola. yo llegué a usar inform7 pero lo sierto es que nunca le entendí. entendí mas al InformATE! verción 6 pero en esa no podía asignarle una o mas acciones a un objeto o sugeto y me desanimé así que lo dejé xd

7. alexis17,

en el inform7 se puede hacer eso que quieres. o más bien, querías. para recompilar lo que creaste, para ver si quedó todo bien, se hace con f5. y para cargarlo al juego, f9 o f10. no recuerdo.

8. Rayo,

valla se escucha genial, pero no se que tan factivle sea que me meta a programar, ya que apenas empesé el bachillerato en la carrera de programación

9. sukil,

Regreso al edén, que recuerde, está en Inform 6 oInformATE, no Inform7.

10. rand-Althor,

@rayo, este no es un lenguaje de programación como tal.
Aver, aver, que mientras explico esquivo a los fanboys de esta cosa.
Si bien vas definiendo mediante la escritura, ciertos parámetros del juego, tales como objetos, rooms, descris y tal, yo lo veo mas como un motor para crear, que un lenguaje de programación como tal, me suena mas a un audiogame macker, o si quieres algo mas moderno, el 2d platformer, que servía para crear mapas, con un motor ya establecido.
Lenguajes de programación son por ejemplo jaba, python, c, html, bgt, etc.

11. Circuit_Bending,

En realidad es un lenguaje de programación demasiaaaaaado simplificado.
Gatito, si hago un tiempo y aún no les pusiste acá a los chicos para que descarguen, lo busco con tranquilidad en el CAAD y lo paso. Y hay más, mucho más. Van a querer hacer un mapeado, conexión ente salidas, PNJ:..
Recuerden los que no saben que ya no hablamos de audiojuegos, (aunque claro, si quieren una vez que aprenden hacen una suerte de audiojuego controlado mediante escritura de órdenes o menús numéricos) pero esto es para hacer ficción interactiva. Porque pueden haber quienes no conozcan el género... Yo pensé hacer un hilo al respecto.

12. oscar93,

yo tengo ganas de hacer algo con inform 7, me gustaría leerme la documentación y tener el programa.

13. Circuit_Bending,

Che chicos, anduve por la sección de descargas del Caad, encontré mucho Inform y sus variantes dando vueltas pero no Inform 7. Después más tranqui busco ahí fuera.

14. BOFH,

Voy a ser muy cruel: No vais a conseguir nada si nisiquiera sabeis buscar en google.
https://sites.google.com/site/inform7sp/inform-7/1-empezando-en-inform

15. alexis17,

hola gente, disculpen mi ausencia. me abía quedado sin internet móvil. los muchachos más arriba se expresaron más bien que yo en lo que quería decir. y bueno, gracias por pasar el link ese, para las personas que lo quieren. espero que el hilo siga en paz, asique... nada chicos. que siga y a ver si entre todos los que quieren, hacemos un audio juego interactibo, entre todos. claro, si les gusta la idea. un saludo.

16. la_princesa_joha,

muy interesante el hilo, me parese genial eso de hacer un audiojuego. saludos

17. alexis17,

gracias princesa.
bueno, para aquellos que quieran saver más de inform7, pego lo que decía esa página aqi para que lo leean los que les interesa y no puedan ir a la página:
Inform 7 es una potente herramienta de autoría con la que podrás programar tus propios relatos de ficción interactiva y publicarlos on-line. Inform 7 posee un lenguaje de programación parecido al inglés, con el que se pueden crear frases que el programa entiende y ejecuta sin necesidad de grandes alardes en programación. El siguiente tutorial está pensado para alguien que se inicia en la programación de ficción interactiva por primera vez, pero que ya ha jugado previamente a alguno de estos juegos. Todo lo que necesitas lo encontrarás aquí, así que ¡manos a la obra!
Para poder escribir nuestros propios relatos interactivos con Inform 7, previamente deberemos instalar el programa junto con las extensiones para la traducción al español. ¡Ojo! La traducción al español es para el motor del juego, no para el IDE; el Spanish solo traduce al español la librería del juego, para que se pueda jugar en español. El IDE de Inform 7 está en inglés, así como su sintaxis de programación, hay que tener esto en cuenta. Para ello debemos ir a la web de Inform 7 y descargar la versión más reciente en la sección de "download":  (la actual, con la que se escribe este tutorial, es la 6G60).
Después de descargar Inform 7, procederemos a descargar las extensiones hispanas para poder empezar a trabajar con él. Vayamos pues al repositorio de INFSP7 (Inform 7 Spanish) y descarguemos la versión más reciente del archivo Spanish.i7x (si no estás muy seguro, fíjate en la fecha del Uploaded) y la Basic Screen Effects SP.i7x. Con esto, ya podemos empezar a programar, pero además nos bajaremos el resto de extensiones y las guardaremos por el momento, más adelante utilizaremos algunas de ellas.
Siempre puedes encontrar material actualizado, además de tutoriales y más información, en el blog oficial de Inform 7 Spanish y en su wiki (una fuente valiosísima para programar de forma ordenada). Date cuenta que en la wiki, al ser comunitaria, todos los programadores y usuarios de Inform 7 podemos colaborar, por ejemplo, en la creación y traducción de extensiones para Inform 7, así como en la publicación de nuestros códigos fuente. No hay una persona al cargo de Inform 7, toda la comunidad de usuarios colabora para mantenerlo al día. Y ahora,  ¡vamos a instalarlo todo correctamente!

Instalación del programa
0_Inform7_mac_install attredir…
Tanto si eres de Windows como de Mac, la instalación es bien sencilla. Doble click sobre el archivo que nos acabamos de descargar (por ejemplo, en Mac el I7-6G60-OSX.dmg y en la ventanita que sale a continuación, arrastrar el icono a la carpeta Applications). En Windows, simplemente hay que aceptar. Los que tengan Linux, ya sabrán lo que hacer.
Una vez instalado el programa, lo ejecutamos y nos saldrá una pantalla de bienvenida:

0_Inform7_welcome attredirects…

Haremos click en "Start a new project" y creamos un nuevo proyecto, al cual daremos nombre...

0_Inform7_newproject attredire…
...por ejemplo para empezar creamos el proyecto "Prueba".
Nota: En Windows te preguntará dónde guardarlo, por defecto el programa elegirá la carpeta "Mis documentos" del usuario.
0_Inform7_prueba attredirects=…
Aceptamos y entraremos en el editor, donde vamos a estar la mayor parte del tiempo programando.
1_pantalla_inicio attredirects…
Instalación de las extensiones
Observarás que la pantalla se divide en dos mitades: el editor y la ayuda (Source/Contents), y podremos dividirlas a nuestro gusto. La parte derecha de la pantalla aparece repleta de contenidos: son los capítulos de la ayuda, que podrás consultar siempre que quieras a través de la pestaña "Documentation". Pero antes de empezar a teclear, habrá que instalar las extensiones al español. Para ello, ve a File/Install Extension, busca la extensión Spanish.i7x y la Basic Screen Effects SP.i7x que te has descargado previamente, e instálalas.
1_Install_extension attredirec…

A continuación haremos una pequeña prueba, para comprobar que todo está instalado correctamente. Escribe este pequeño programa:

Include Spanish by Sebastian Arg.
Include Basic Screen Effects Sp by Emily Short.

Sala is a room. The description is "Esta es la primera sala del juego."

Dale al botón Go! y observa lo que ocurre. A este proceso se le llama compilación, lo que acabamos de hacer es compilar el juego, o sea, comprobar que no hay ningún error de sintaxis y ejecutar lo programado. Fíjate que la pantalla de ayuda ha cambiado y ahora muestra el juego, con el que podemos empezar a probar cosas. Por ejemplo, aunque no hayas programado más que tres líneas de código, la librería de Inform ya trae por defecto numerosas acciones, tales como "cantar", "saltar", "atacar", etc.

1_compilaci%C3%B3n attredirect…

Si no te ha salido la anterior pantalla, revisa tu código correctamente y asegúrate de que has instalado las extensiones más recientes.

Errores
¿Y qué pasa si hay un error? Vamos a forzar un error, para que veas lo que sucede. Imaginemos que te equivocas en "room", y que escribes la siguiente línea de código:

Sala is a rom.

Observa que te has dejado una o" en "room. Pero no nos hemos dado cuenta, y le damos a compilar. ¡Inform 7 da error! En efecto, nos sale un texto que lo confirma: "Problem. The sentence 'Sala is a rom'   appears to say two things are the same - I am reading 'Sala' and 'rom' as two different things, and therefore it makes no sense to say that one is the other: it would be like saying that 'House is Wilson'. It would be all right if the second thing were the name of a kind, perhaps with properties: for instance 'Princeton Plainsboro is a lighted room' says that something called Princeton Plainsboro exists and that it is a 'room', which is a kind I know about, combined with a property called 'lighted' which I also know about."

0_error attredirects=0

El anterior texto dice algo así como "Problema. La sentencia 'Sala is a rom' parece que diga que dos cosas son lo mismo - Yo leo que 'Sala' y 'rom' son dos cosas distintas...". ¡Claro! Porque "rom" no lo entiende, no está en su sintaxis ni tampoco es algo que hayamos programado nosotros. Lo que no te dice Inform 7 en sus informes de error es la solución del mismo, sino que te da la información de porqué hay un error, pero en este caso no nos ha dicho "¡Hey! Parece que quisiste crear una habitación nueva y te equivocaste en una o". La forma correcta sería:

Sala is a room.

Es tarea nuestra descubrir el error, y por eso te recomiendo que compiles tu código contínuamente, para descubrir los errores in situ. No esperes a compilar cuando tengas un código muy largo, porque lo más normal es que tengas varios errores agazapados, y... ¡da más pereza arreglarlos todos a la vez! Todos los informes de errores aparecen en la pestaña "Errors" del IDE, y puedes revisarlos en cualquier momento hasta la próxima compilación. Recuerda que, ante cualquier duda, no estás solo: tienes a toda la comunidad del CAAD a tu disposición para ayudarte con la programación de tu juego; puedes plantear tus dudas dirigiéndote al foro del CAAD dedicado a Inform.
 
Organización de material
Para empezar a programar es necesario tener algún tipo de organización. Ahora que ya sabes cómo compilar y ver la ayuda del programa, querrás empezar a programar tu gran obra maestra, pero para ello se necesita un poco de orden. Para empezar ¿dónde está el juego? ¿dónde guarda Inform nuestro proyecto de prueba? El programa guarda todos los proyectos que inicies en su carpeta de proyectos, en este caso con nombre prueba.inform. Lo primero es encontrarla y localizar, a su vez, la carpeta de materiales, que se llamará "prueba Materials". Ambas deben ir siempre juntas, pues el programa buscará en la carpeta Materials todos los elementos gráficos y sonoros que pongas y que hagas referencia en tu código.
1_Install_extension attredirec…

A continuación haremos una pequeña prueba, para comprobar que todo está instalado correctamente. Escribe este pequeño programa:

Include Spanish by Sebastian Arg.
Include Basic Screen Effects Sp by Emily Short.

Sala is a room. The description is "Esta es la primera sala del juego."

Dale al botón Go! y observa lo que ocurre. A este proceso se le llama compilación, lo que acabamos de hacer es compilar el juego, o sea, comprobar que no hay ningún error de sintaxis y ejecutar lo programado. Fíjate que la pantalla de ayuda ha cambiado y ahora muestra el juego, con el que podemos empezar a probar cosas. Por ejemplo, aunque no hayas programado más que tres líneas de código, la librería de Inform ya trae por defecto numerosas acciones, tales como "cantar", "saltar", "atacar", etc.

1_compilaci%C3%B3n attredirect…

Si no te ha salido la anterior pantalla, revisa tu código correctamente y asegúrate de que has instalado las extensiones más recientes.

Errores
¿Y qué pasa si hay un error? Vamos a forzar un error, para que veas lo que sucede. Imaginemos que te equivocas en "room", y que escribes la siguiente línea de código:

Sala is a rom.

Observa que te has dejado una o" en "room. Pero no nos hemos dado cuenta, y le damos a compilar. ¡Inform 7 da error! En efecto, nos sale un texto que lo confirma: "Problem. The sentence 'Sala is a rom'   appears to say two things are the same - I am reading 'Sala' and 'rom' as two different things, and therefore it makes no sense to say that one is the other: it would be like saying that 'House is Wilson'. It would be all right if the second thing were the name of a kind, perhaps with properties: for instance 'Princeton Plainsboro is a lighted room' says that something called Princeton Plainsboro exists and that it is a 'room', which is a kind I know about, combined with a property called 'lighted' which I also know about."

0_error attredirects=0

El anterior texto dice algo así como "Problema. La sentencia 'Sala is a rom' parece que diga que dos cosas son lo mismo - Yo leo que 'Sala' y 'rom' son dos cosas distintas...". ¡Claro! Porque "rom" no lo entiende, no está en su sintaxis ni tampoco es algo que hayamos programado nosotros. Lo que no te dice Inform 7 en sus informes de error es la solución del mismo, sino que te da la información de porqué hay un error, pero en este caso no nos ha dicho "¡Hey! Parece que quisiste crear una habitación nueva y te equivocaste en una o". La forma correcta sería:

Sala is a room.

Es tarea nuestra descubrir el error, y por eso te recomiendo que compiles tu código contínuamente, para descubrir los errores in situ. No esperes a compilar cuando tengas un código muy largo, porque lo más normal es que tengas varios errores agazapados, y... ¡da más pereza arreglarlos todos a la vez! Todos los informes de errores aparecen en la pestaña "Errors" del IDE, y puedes revisarlos en cualquier momento hasta la próxima compilación. Recuerda que, ante cualquier duda, no estás solo: tienes a toda la comunidad del CAAD a tu disposición para ayudarte con la programación de tu juego; puedes plantear tus dudas dirigiéndote al foro del CAAD dedicado a Inform.
 
Organización de material
Para empezar a programar es necesario tener algún tipo de organización. Ahora que ya sabes cómo compilar y ver la ayuda del programa, querrás empezar a programar tu gran obra maestra, pero para ello se necesita un poco de orden. Para empezar ¿dónde está el juego? ¿dónde guarda Inform nuestro proyecto de prueba? El programa guarda todos los proyectos que inicies en su carpeta de proyectos, en este caso con nombre prueba.inform. Lo primero es encontrarla y localizar, a su vez, la carpeta de materiales, que se llamará "prueba Materials". Ambas deben ir siempre juntas, pues el programa buscará en la carpeta Materials todos los elementos gráficos y sonoros que pongas y que hagas referencia en tu código.

1_carpetas attredirects=0

Siempre es bueno, antes de ponerse a programar, tener un primer boceto del relato, un argumento o guión. La tarea de ponerse delante del ordenador será la última, una vez que hayamos creado previamente sobre el papel nuestro esbozo. Y no es lo mismo escribir un relato lineal, con un principio y un final establecido, que un relato interactivo, con un principio y múltiples finales. Para profundizar en el tema te propongo leer los artículos de Johan Paz sobre "Interactivización": Interactivizar I - II - III - y IV.
Nota: Puedes encontrar más teoría en el SPAC y en la wiki del CAAD.

Una buena carpeta de proyecto debe incluir varias subcarpetas que organicen todo el material. Personalmente, por cada proyecto nuevo, además de la carpeta Materials que por defecto incluye Inform, creo cuatro carpetas nuevas: DOCS (donde pondré el argumento y los demás documentos del juego), LINKS (donde pondré enlaces a temas relacionados con el juego, así como fotos y demás material gráfico y sonoro), OLD (donde pondré las versiones antiguas y todo aquello que aún no esté muy seguro de tirar) y PUBLIC (donde pondré todo aquello que haya hecho público a través de internet, y la última versión del juego). Lógicamente, tu puedes crear tu propio sistema de organización, lo importante es que no pierdas nada y sepas en todo momento cómo está tu proyecto en caso de que lo retomes más adelante. Supongo que tienes ganas de empezar a programar. Ahora sí, ¡empieza el espectáculo!

Primeros pasos
Inform 7 es un sistema de autoría de ficción interactiva bastante potente, y en ocasiones puede parecer muy complicado. Sin embargo, es posible empezar con poco e ir subiendo gradualmente el nivel. Así que empieza con un proyecto corto y no demasiado difícil, ya irás haciendo cosas más complicadas cuando sepas moverte con soltura por el editor del programa. Vamos a crear un programa sencillo, pero que es un clásico en el mundo de la programación, el "Hola, mundo.". Abre un nuevo proyecto (o borra lo que tengas ahora en el editor) y teclea o copia el siguiente código fuente y compílalo:

"Hola mundo" by "nombre"
 
  Mundo is a room.
  When play begins, say "Hola, mundo."

¡Ahí lo tienes! Tu primer programa, solo dice "Hola, mundo." pero es un comienzo. Vayamos a cosas más complicadas. Para empezar, donde pone "nombre" pon tu nombre de autor. ¿Quieres hacerlo más bonito? ¡Por supuesto! Vamos a utilizar las extensiones instaladas, para que tu juego entienda el español y que sepa esperar la pulsación de una tecla. Borra el anterior código y compila el siguiente:

"Hola mundo" by "Xavi"

Include Spanish by Sebastian Arg.
Include Basic Screen Effects Sp by Emily Short.
 
When play begins:
clear the screen;
display the boxed quotation
"Hola, mundo.";
show the current quotation;
wait for any key;

Mundo is a room.

¿A que queda más chulo? Pues puedes hacer tantas cajas de texto como quieras, solo es ir probando. ¿Entiendes el anterior código? Está en inglés, un inglés un tanto especial, pero es bastante más entendible que un código de programación de un lenguaje como Java o C. La orden "When play begins:" quiere decir "Cuando el juego empiece:", "clear the screen;" significa "limpia la pantalla" y "wait for any key;" es "espera a la pulsación de una tecla". Si sabes inglés, evidentemente tienes una ventaja con Inform, si no, bueno... siempre puedes acudir al traductor de Google.
Nota: "When play begins:" es una Rule (una regla), que la ejecutará al inicio del relato, no es propiamente una orden, aunque esto se verá más adelante en el tutorial.

Creación del mundo
Con este pomposo título iniciamos la sección dedicada a crear y conectar las habitaciones y escenarios de nuestro juego. Pongamos por caso que tenemos que crear un mundo en el que hay un bosque, una montaña, una playa y una isla. El jugador debe empezar en el bosque, que está entre la montaña y la playa; la isla será inaccesible por el momento. El jugador será un conquistador español del siglo XIV. ¿Cómo se programa todo esto? Empecemos por el bosque:

Bosque is a room. The description is "Te encuentras en un bosque de enormes árboles."

Con la sentencia "is a room" le estamos diciendo a Inform que el objeto creado es una localidad; con "The description is" le daremos una descripción, cosa que siempre tenemos que hacer para cada objeto. A partir de este ejemplo, crea la isla. ¿Fácil, no? ¡Ahora lo complicamos! Habrá que conectar el bosque con la montaña y la playa, para hacer así un mapa del juego por donde el jugador pueda moverse. Queremos que la montaña esté al norte del bosque, y la playa al sur.

Además se ha de tener especial cuidado en no incluir nombres con acentos o eñes, aunque esto a veces es complicado, por ejemplo en nuestro juego tenemos una montaña, que lleva eñe... por lo que tenemos que llamarla "montana", ¿esto como lo arreglamos? Afortunadamente Inform nos provee de la orden "The printed name of...", gracias a esto podremos llamar a la "montana" montaña, con lo que nos quedaría un código similar al siguiente:
Bosque is a room. The description is "Te encuentras en un bosque de enormes árboles.".

Playa is south of Bosque. The description is "Estás en una larga playa desde la que se divisa una lejana isla. Puedes ver muchas palmeras por aquí.".

Montana is north of Bosque. The printed name of Montana is "Montaña". The description is "Te encuentras en una alta montaña con multitud de piedras. Desde aquí se divisa un bosque y una playa, allá a lo lejos".

Isla is a room. The description is "Has llegado a una exótica isla en mitad de la inmensidad del mar."

Compílalo y muévete por las localidades, comprueba que las conexiones son correctas... no ha sido tan difícil, ¿verdad? Puedes ver cómo va quedando el juego a través de la pestaña Index, y en la pestaña Skein podrás ver un árbol del juego. Comprueba qué pasa cuando haces click en los elementos del Skein y familiarízate con todo ello, te será útil más adelante. Ahora le toca el turno al jugador...

Creación de un personaje jugador
Para empezar, examínate en el juego, para ver tu descripción. Vaya, nuestra descripción es bastante sosa, vamos a crearnos un buen personaje, copia el siguiente código a continuación:

conquistador is a man in the Bosque. The printed name of conquistador is "Hernán Cortés". The description is "Eres un conquistador español del siglo XIV, tu nombre es Hernán Cortés y te encuentras perdido en una tierra desconocida.". The player is conquistador.

Con este código creamos el objeto "conquistador", que el jugador verá como "Hernán Cortés", que está en el bosque y, lo más importante: "The player is conquistador.", o sea, el jugador es el objeto "conquistador".

2_programar attredirects=0

Añadiendo escenarios a nuestro mundo: scenery

Si todo funciona bien, vamos a poner decorados a este nuevo mundo. Empezaremos por poner algunas palmeras en la playa, varios árboles en el bosque y piedras en la montaña. Comenzamos por los árboles, sitúa el cursor debajo de la descripción de Bosque y copia el código:

Some arboles are here. The printed name of arboles is "árboles". The description is "Los árboles son tan altos que apenas dejan pasar la luz del sol.".

La orden Some arboles are here" significa que "algunos árboles están aquí. Si quisieramos poner esto en otro sitio tal vez sea mejor poner "Some arboles are in the Bosque". Compruébalo. Compila y examina los árboles, ¡debería funcionar! Pero ahora cógelos... ¡argh! ¿Cómo es posible? ¡Estás cargando con todos los árboles del bosque! Mira tu inventario (teclea "inventario" en el juego). Llevas varios árboles. Eso no puede ser, así que habrá que poner algo que lo impida en nuestro código. Una opción es asignarle la propiedad de escenario a los árboles; otra sería que ante la orden "coger árboles" el juego dijera que no es posible, e incluso se pueden implementar las dos. Borra lo anterior y copia el código siguiente, y compílalo:
Nota: siempre tiene preponderancia la Rule "Instead of...".

Some arboles are in the Bosque. They are scenery. The printed name of arboles is "árboles". The description is "Los árboles son tan altos que apenas dejan pasar la luz del sol.".
Instead of taking the arboles, say "¡No puedes cargar con todos los árboles del bosque! Si quieres madera, tendrás que conseguirla de otra forma.".

¿Has entendido el anterior código? La sentencia "They are scenery" significa que "los árboles son escenario, y por tanto no se pueden coger". La sentencia "Instead of taking the arboles, say..." significa "En lugar de coger los árboles, di lo siguiente...". Prueba el juego con una o con otra, y con las dos opciones.

Después programa de forma similar el resto de decorados del mundo: las piedras, las palmeras... aquí está mi ejemplo para las palmeras:

Some palmeras are in the Playa. They are female and scenery. The description is "La playa está repleta de palmeras, que se inclinan hacia el mar a causa del viento.".
Instead of taking the palmeras, say "¡No puedes cargar con todas las palmeras de la playa! Si quieres madera, vete al bosque.".

Verás que he puesto una propiedad nueva para las palmeras: "female". Esto significa que Inform tratará a este objeto en femenino, ya que por defecto trata a los objetos en masculino.

Interactuando con escenarios
El ejemplo para las piedras es más complicado, puesto que el jugador sí que puede coger una piedra (pero no todas), así que esta es mi propuesta:

Some piedras are in the Montana. They are female and scenery. The description is "Puedes ver numerosas piedras por aquí y por allá.". Understand "piedra" as the piedras.

The piedra is female. The description is "Una piedra con la que podrías hacer mucho daño.".

Instead of taking the piedras:
    move the piedra to player;
    say "Coges una piedra.".

Para empezar, he tenido que crear un sinónimo de piedras: "piedra" (puesto que el jugador puede poner "coge una piedra"; esto se consigue con la orden Understand: "Understand "piedra" as the piedras.", podría poner más sinónimos, separándolos con comas, así:  "Understand "piedra", "roca" and "canto rodado" as the piedras.".
Nota: también podría utilizarse la sentencia "The plural of...", pero se verá mas adelante.

Lo siguiente ha sido crear un nuevo objeto: una piedra cualquiera. La piedra no está en ningún lado, esto es, existe pero no tiene asociada ninguna localidad, así que no le ponemos lo de "in the Montana". Y por último creamos la acción de mover la piedra al jugador cuando quiera coger piedras en la montaña, esto se consigue con la sentencia: "move the piedra to player;" que significa "mueve la piedra al jugador".  Con estas sencillas reglas ya tenemos preparado un pequeño pero eficaz mundo creado. ¡Vamos a poblarlo con criaturas!

Personajes y animales: una serpiente
He pensado en crear dos criaturas en mi mundo: un animal (que nos atacará si intentamos ir a la playa) y un náufrago (que estará en la isla). Para el animal, lo suyo es poner a una serpiente que nos corte el paso, a la cual haremos huir con la ayuda de la piedra de antes, ¡será nuestro primer puzzle!; se llama puzzle a los obstáculos que se encuentra el jugador a su paso. Veamos el código de la serpiente (copia el código y ponlo bajo las sentencias del Bosque):

The serpiente is here. The serpiente is female and an animal. The description is "Una serpiente se aproxima hacia tí desde el sur, con aspecto amenazador...".

Instead of going south in the presence of the serpiente:
    say "Intentas rodear a la serpiente para ir al sur, pero esta se abalanza hacia tí con los colmillos y...";
    end the game in death.
    
Instead of throwing the piedra at the serpiente:
    say "Lanzas la piedra a la serpiente, que retrocede asustada, perdiéndose por entre el follaje del bosque...";
    remove the serpiente from play;
    remove the piedra from play.    

Para empezar, verás que a la serpiente le hemos dado una nueva clase: animal". Esto es muy útil, puesto que nos ahorra programar un montón de cosas para hacerle entender al juego lo que es un animal. Después hemos puesto un par de rules "Instead of...", la primera hace que si el jugador quiere ir al sur en presencia de la serpiente, este se muera, gracias al "end the game in death."; y la segunda hace que si lanzamos la piedra a la serpiente, esta huya. Observarás que para ello hemos utilizado un par de verbos nuevos: going south y throwing (ir al sur y lanzar, respectivamente); es por eso que decía antes que si sabes algo de inglés lo tendrás más fácil. También verás que para eliminar objetos del juego utilizamos la sentencia "remove... from play.

Matar al jugador o finalizar la historia
En el anterior código hemos visto como matar al jugador, aunque la fórmula no es la más correcta actualmente, ya que está desaconsejado utilizar end the game in death" o ""end the game in victory", porque es una forma de acabar un juego que bebe de los antiguos juegos de aventuras, en los que o ganabas o morías. Aunque en el ejemplo se ha utilizado esta forma para que escriba la frase "Estás muerto", existen otras maneras más correctas: se puede utilizar "end the story o mejor aún: end the story saying "¡Estás muerto!", con lo que conseguimos el efecto que buscamos. Así pues, el código de la serpiente que nos mata sería así:

Instead of going south in the presence of the serpiente:
    say "Intentas rodear a la serpiente para ir al sur, pero esta se abalanza hacia tí con los colmillos y...";
    end the story saying "¡Estás muerto!".

¿Y si quisiéramos finalizar el juego con un simple Fin? Más sencillo, si por ejemplo queremos finalizar el juego cuando el jugador ponga, por ejemplo,  despertar, pondríamos lo siguiente:

Instead of waking up, end the story.

Tienes más información al respecto en el capítulo 9 de la "Documentation" del IDE de Inform 7: 9.4. When play ends, donde se explica más detalladamente como finalizar un juego y porqué es preferible una determinada sintaxis en lugar de otra.
Personajes y animales: un náufrago
La programación de personajes inteligentes (mejor dicho: personajes seudo-inteligentes, llamados normalmente PSI) es mucho más compleja que la de un animal, pero no es imposible. Eso sí, las personas que programes no serán tan inteligentes como desearías, pero sí responderán como tú las programes. Vamos a crear al personaje náufrago de la isla, que será un tipo moribundo al cual tendremos que ayudar. Ve al código y copia el siguiente fragmento bajo la sentencia de la Isla:

naufrago is a man in the Isla. The printed name of naufrago is "náufrago". The description is "Un hombre vestido con arapos está tumbado sobre la arena, moribundo.". Understand "hombre", "arapos", "moribundo" as the naufrago.

Instead of touching naufrago, say "El hombre sigue vivo, tal vez puedas ayudarle dándole un poco de agua.".
Instead of attacking naufrago, say "El hombre no representa ningún peligro.".

Veamos la primera parte del código: naufrago is a man in the Isla.", con esta sencilla pero poderosa sentencia, creamos un personaje masculino llamado náufrago en la isla. Fácil, ¿no? Si fuera una mujer diríamos "naufrago is a woman", si estuviera en el bosque "naufrago is a man in the Bosque". Así de sencillo, pero la cosa se complica cuando queremos interactuar con el personaje. Por ejemplo, si lo queremos tocar (touching), o atacarle (attacking) deberemos describir lo que sucede; esto en mi código lo he solucionado con las reglas "Instead of...". Puedes crear nuevas, por ejemplo "kissing, singing o adaptar el puzzle de la piedra con el náufrago, veamos los dos últimos supuestos:
Nota: en realidad no estamos creando reglas nuevas, sino que estamos modificando el resultado por defecto que asigna Inform 7 a la acciones, para darle nuestro sello creativo.

Instead of singing in the presence of the naufrago, say "El hombre se tapa los oídos y dice: 'Por dios, ¡haz el favor de callarte!'".
    
Instead of throwing the piedra at the naufrago, say "El hombre no representa ningún peligro.".

Antes de ejecutar el juego, ¿sabrás lo que hacen las dos últimas sentencias? En efecto, la primera quiere decir que si el jugador canta en presencia del náufrago, éste le dirá que se calle; la segunda nos dirá que no tenemos porqué lanzar la piedra al mendigo, pues no representa una amenaza.

esto es todo, ahí tienen un buen abance para comenzar su abentura interactiba. suerte y cualquier cosa, chequeen ese link, que tiene muchas cosas interesantes que yo nunca conocí. un saludo.

18. elcaballerohalcon,

perdonen. quien me regala un jueguito creaado por esta herramienta

19. sukil,

No se pueden crear audiojuegos con esto, con esto se crean aventuras de texto que podrían tener sonidos complementarios.

20. Circuit_Bending,

Genial, como al parecer hay una incompatibilidad con la actual versión de la librería spanish, a trabajar con la versión en inglés.

21. pablo-pena,

entra a caad.es y allí encontrarás infinidad de aventuras interactivas o aventuras conversacionales.

22. Circuit_Bending,

Si existiera alguna aventura más tirando a novela interactiva como veo que hay para android... Si hubiera más de una donde se encarnara a una chica, y con suere fuera erótica... Conocí un par, pero solo un par. AH, ninguna de las 2 fueron creadas en Inform7 ni para glulx.

23. elcaballerohalcon,

disculpa pablo y en esa página están abenturas en español?

24. rand-Althor,

caad es todo en español.

25. aryastarktulli,

sería lindo una abentura vasada en canción de hielo y fuego: la jugaría sin dudarlo

26. elcaballerohalcon,

a mi me gustaría jugar madrid sonbi en la pc

27. aryastarktulli,

cual es ese

28. alexis17,

canción afuego y ielo? no creo averla escuchado. pero claro, si se puede hacer na así.

29. elcaballerohalcon,

es una abentura que se basa en madrid llena de sombis. nesesitamos escapar y matarles. otra cosa traté de registrarme en el caad pero me aparese catcha. no tengo win 10 pregunto la única forma es pedir un par de ojos prestados?

30. rand-Althor,

yo a madrid zombie lo pondría en librojuegos, pero si, básicamente la idea es ir sobreviviendo y tal.
En caad no hace falta registrarse, si solamente vamos a bajar las aventuras, en todo caso, podrías provar con web bisum, y también he visto gente la cual resuelve capchas llamando a alguien por be mi elles.
pd: ya voy a volver a madrid zombie 1, a ver si lo compro para sacar todos los anuncios.

114 mensajes, 4 páginas: 1  2 3 4 ↖ Volver a la lista de temas

Responder al tema

Usted debe estar conectado para poder postear.