CAAD
http://foro.caad.es/

Cómo hacer una aventura de texto
http://foro.caad.es/viewtopic.php?f=8&t=5205
Página 1 de 1

Autor:  agnas [ 27 Abr 2012 04:11 ]
Asunto:  Cómo hacer una aventura de texto

How to make a Text Adventure es un corto articulo sobre el tema, de los muchos que abundan y aparecen de vez en cuando. Este me llamó mucho la atención por la mención sobre la facilidad con que se puede representar los objetos programando en javascript. Yo uso javascript y jquery cotidianamente y curiosamente nunca había pensado en lo poderosa que es su sintaxis y su potencial para programar aventuras.

Autor:  saimazoom [ 27 Abr 2012 05:57 ]
Asunto:  Re: Cómo hacer una aventura de texto

Yo lo estoy usando para programar una mini CYOA y la facilidad de la sintaxis (aunque un poco pervertida) al crear objetos con propiedades distintas de la clase me gusta bastante. Para mi es el sustituto de Inform-6 si tuviese una buena librería base para parsear el input del jugador, mucho se podría clonar de I6 pero la parte de vocabulario habría que reescribirla entera pues tiene un formato totalmente distinto del resto del código I6.

En cualquier caso lo que me echa para atrás es la obsolescencia programada y la compatibilidad entre plataformas/navegadores de Javascript. El código javascript cuando es medianamente complejo se convierte en algo de usar y tirar, dentro de 3-4 años ya no funcionará o habrá algún navegador donde haga cosas inesperadas. Puedes paliar el problema usando librerías como JQuery, pero igualmente te obliga mantener/actualizar el código que hayas escrito y siempre puede haber alguien con un ordenador antiguo que no pueda jugar debido a esos cambios. (¿Quién puede ejecutar hoy sin errores código JS de principios de los 2000?).

Autor:  Eliuk Blau [ 27 Abr 2012 07:03 ]
Asunto:  Re: Cómo hacer una aventura de texto

saimazoom escribió:
En cualquier caso lo que me echa para atrás es la obsolescencia programada y la compatibilidad entre plataformas/navegadores de Javascript. El código javascript cuando es medianamente complejo se convierte en algo de usar y tirar, dentro de 3-4 años ya no funcionará o habrá algún navegador donde haga cosas inesperadas. Puedes paliar el problema usando librerías como JQuery, pero igualmente te obliga mantener/actualizar el código que hayas escrito y siempre puede haber alguien con un ordenador antiguo que no pueda jugar debido a esos cambios. (¿Quién puede ejecutar hoy sin errores código JS de principios de los 2000?).


Qué interesante reflexión. :)

Autor:  Johan Paz [ 27 Abr 2012 13:09 ]
Asunto:  Re: Cómo hacer una aventura de texto

Sí... el JS es un lenguaje para hacer cosas que acaban en la basura...

:)

Perdón, no me podía resistir.

JS está en fase de estabilización desde mi punto de vista, si hay algún problema de esos en el futuro creo que básicamente tendrá un único culpable: Microsoft.

Autor:  dddddd [ 27 Abr 2012 14:32 ]
Asunto:  Re: Cómo hacer una aventura de texto

En general, la programación basada en prototipos que permite JS me parece que se adapta bastante bien a la definición de objetos y comportamientos (hablando de lenguajes de propósito general, sin tener en cuenta lenguajes específicos tipo i7). Por ejemplo, no tener que crear clases explícitamente puede ser una ventaja para muchos (desde el punto de vista de programador sin GUI, RAD u otras facilidades). Me parece haber leido en alguna parte que i6 utiliza también ese paradigma.

Lo mismo pasa con las funciones anónimas, que permiten ir directamente al grano en ciertas situaciones. De hecho, como comenta el artículo, python no las tiene y eso hace parecer un poco boilerplate ciertas declaciones en pyphiverses (realmente apenas molesta [básicamente crear una closure def tmp() y asignarla, en vez de poner directamente la function(){}]).

Sobre la pega que comentan de la notación ["key"] en python (en contraste con la notación de punto de JS), es una ventaja menor y se me ocurren formas de utilizarla en python.

Interesante lo que decís sobre las incompatibilidades, pasadas y futuras posibles. Supongo que si te centras en ECMAScript puedes tener cierta seguridad de compatibilidad.

¿Están ampliándo JS cada uno por su cuenta (y/o de "mala" manera)? ¿Alguna referencia al respecto? Me interesa...

En cuanto al JS centrado en navegadores, cabe decir que no todo el JS se ejecuta en navegadores (hay motores que se pueden ejecutar independientemente y cosas como Node.js), por lo tanto no necesariamente se ha de depender de un navegador (con sus posibles incompatibilidades propietarias) para ejecutar algo creado en este lenguaje. Es decir, hay que saber diferenciar entre el lenguaje, las librerías y la plataforma sobre la que se ejecuta.

Resumiendo: En mi opinión, no es la peor de las opciones d: y no descarto hacer algún experimento al respecto (salvo que me pintéis muy negro lo de las incompatibilidades).

saimazoom escribió:
Para mi es el sustituto de Inform-6 si tuviese una buena librería base para parsear el input del jugador, mucho se podría clonar de I6 pero la parte de vocabulario habría que reescribirla entera pues tiene un formato totalmente distinto del resto del código I6.

¿Y no habría forma de automatizar la conversión?

¿Qué tiene de especial esa parte del vocabulario? Oigo alguna campana, y puede que esté totalmente equivocado: ¿Podrían ser las características nativas de la máquina Z/Glulx al respecto del almacenamiento del vocabulario las que hacen que la parte del vocabulario sea tan diferente?

Autor:  agnas [ 27 Abr 2012 16:25 ]
Asunto:  Re: Cómo hacer una aventura de texto

saimazoom escribió:
En cualquier caso lo que me echa para atrás es la obsolescencia programada y la compatibilidad entre plataformas/navegadores de Javascript. El código javascript cuando es medianamente complejo se convierte en algo de usar y tirar, dentro de 3-4 años ya no funcionará o habrá algún navegador donde haga cosas inesperadas. Puedes paliar el problema usando librerías como JQuery, pero igualmente te obliga mantener/actualizar el código que hayas escrito y siempre puede haber alguien con un ordenador antiguo que no pueda jugar debido a esos cambios. (¿Quién puede ejecutar hoy sin errores código JS de principios de los 2000?).


Sí estoy de acuerdo que hasta la fecha las incompatibilidades han sido un tremendo problema sobretodo por el niño malcriado y rebelde de Internet explorer, pero no estoy seguro que eso continúe o se profundice en el futuro. Creo que js tiende a estabilizarse y hacerse más compatible justamente para evitar los problemas que hemos tenido hasta ahora.

Autor:  Eliuk Blau [ 27 Abr 2012 20:48 ]
Asunto:  Re: Cómo hacer una aventura de texto

agnas escribió:
Sí estoy de acuerdo que hasta la fecha las incompatibilidades han sido un tremendo problema sobretodo por el niño malcriado y rebelde de Internet explorer, pero no estoy seguro que eso continúe o se profundice en el futuro. Creo que js tiende a estabilizarse y hacerse más compatible justamente para evitar los problemas que hemos tenido hasta ahora.


Sí, pero en el tiempo que le tome estabilizarse quizás incluso termine cundiendo más Dart, de Google, que tiene una especificación (basada en JS) más clara que el propio JS. xD Yo nunca le he tenido mucha confianza a JS, justamente por lo volátil que es, y dudo que en el futuro pueda tenerle confianza... pero ya veremos, a no escupir al cielo. xD

Página 1 de 1 Todos los horarios son UTC + 1 hora
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/