Finalmente, he portado el código a Amstrad CPC Basic (Locomotive Basic).
El resultado ha sido impresionante, aunque algo menos vistoso.
Finalmente, he decidido que la aventura salga primero para el Amstrad, y después, a ver si consigo arreglar el tema del Spectrum.
En Amstrad, al correr la aventura quedan 14k's libres (sobre 41), y la respuesta a "coger la espada" ocurre casi en menos de un segundo. Y con más cosas, pues he aprovechado para expandir alguna descripción y un pequeño puzzle más.
En Spectrum, sólo quedan 2.5 k's libres corriendo la aventura, y la respuesta a "coger la espada" es de unos 3 a 5 segundos. La compilación, en el Speccy, es una necesidad.
lunes, 23 de febrero de 2009
martes, 17 de febrero de 2009
Asalto y Castigo
Quizás algunos os estéis preguntando a qué viene este silencio sobre "Asalto y Castigo", la aventura que programé en Speccy para el concurso de juegos en BASIC de Bytemaniacos, y al que llegué tarde.
Ahora participará en la RetroComp, aunque eso es, en realidad, lo de menos. Probablemente, sólo aquellos de ente vosotros amantes del Speccy la apreciarán, pero eso es otro tema.
La aventura está terminada y betatesteada, mil gracias de nuevo a Jenesis, mi Betatester oficial.
¿Por qué, entonces, no la he publicado?
La respuesta es sencilla: es lentísima. Uno de los problemas del Speccy es su extrema lentitud (fue diseñado para ocupar poco [aunque en eso tampoco funciona demsiado bien]), especialmente cuando el tmaaño del código crece. Actualmente, tarda unos dos segundos en cambiar de una localidad a otra, con comandos como "e", "o", "n" o "s" (o incluso, con sus versiones largas). El problema es que tarda unos 4-5 segs. en procesar algo tan simple como "coge la espada". Esto no es un problema de diseño, todas las búsqedas que se hacen se hacen mediante búsquedas binarias. De hecho, en lo que se tarda tiempo es en recorrer la cadena para extraer acc, uno y otro, Y no se puede evitar, hay que hacerlo.
Esto abre varias posibilidades:
- Publicar la aventura tal cuál está: Es una opción posible. Al fin y al cabo, la mayor parte de la gente (si no toda), la jugará en un emulador, y suelen tener un "turbo mode" muy adecuado para estos casos. Por ahora, teniendo en cuenta que el plazo de la retrocomp está lejos, lo he descartado.
- Compilar la aventura y publicarla tanto en BASIC (para verla, reaprovechar parte del código o lo que sea), como en código máquina. Esto es lo que estoy intentando ahora mismo. Desgraciadamente, no hay un compilador para Sinclair BASIC hoy en día que funcione en PC, así que hay que hacerlo con lo que había entonces: el HiSoft BASIC compiler. Por alguna razón, aunque he conseguido compilar, no funciona. Esto solucionaría todos los problemas de velocidad.
- Publicar la aventura para Amstrad CPC. Ya había pensado en portar la aventura a Amstrad CPC Basic, Locomotive Basic, mucho más rápido. Estoy seguro de que símplemente portando el código y cambiando la parte de acceso a cadenas, la aventura será perfectamente jugable. De hecho, probablemente si la hubiera hecho para Amstrad CPC, hasta podría ser mucho más interactiva y literaria de lo que es ahora mismo (he tenido que recortar texto hasta donde me he atrevido para hacer sitio para ciertas cosas [vitales]).
Como véis, el proyecto sigue en activo como desde el principio, e insisto, la aventura está terminada y betatesteada.
Veremos cómo termina todo ésto. La aventura será publicada dentro del plazo de la RetroComp, eso seguro, aunque sea tal y como está.
Ahora participará en la RetroComp, aunque eso es, en realidad, lo de menos. Probablemente, sólo aquellos de ente vosotros amantes del Speccy la apreciarán, pero eso es otro tema.
La aventura está terminada y betatesteada, mil gracias de nuevo a Jenesis, mi Betatester oficial.
¿Por qué, entonces, no la he publicado?
La respuesta es sencilla: es lentísima. Uno de los problemas del Speccy es su extrema lentitud (fue diseñado para ocupar poco [aunque en eso tampoco funciona demsiado bien]), especialmente cuando el tmaaño del código crece. Actualmente, tarda unos dos segundos en cambiar de una localidad a otra, con comandos como "e", "o", "n" o "s" (o incluso, con sus versiones largas). El problema es que tarda unos 4-5 segs. en procesar algo tan simple como "coge la espada". Esto no es un problema de diseño, todas las búsqedas que se hacen se hacen mediante búsquedas binarias. De hecho, en lo que se tarda tiempo es en recorrer la cadena para extraer acc, uno y otro, Y no se puede evitar, hay que hacerlo.
Esto abre varias posibilidades:
- Publicar la aventura tal cuál está: Es una opción posible. Al fin y al cabo, la mayor parte de la gente (si no toda), la jugará en un emulador, y suelen tener un "turbo mode" muy adecuado para estos casos. Por ahora, teniendo en cuenta que el plazo de la retrocomp está lejos, lo he descartado.
- Compilar la aventura y publicarla tanto en BASIC (para verla, reaprovechar parte del código o lo que sea), como en código máquina. Esto es lo que estoy intentando ahora mismo. Desgraciadamente, no hay un compilador para Sinclair BASIC hoy en día que funcione en PC, así que hay que hacerlo con lo que había entonces: el HiSoft BASIC compiler. Por alguna razón, aunque he conseguido compilar, no funciona. Esto solucionaría todos los problemas de velocidad.
- Publicar la aventura para Amstrad CPC. Ya había pensado en portar la aventura a Amstrad CPC Basic, Locomotive Basic, mucho más rápido. Estoy seguro de que símplemente portando el código y cambiando la parte de acceso a cadenas, la aventura será perfectamente jugable. De hecho, probablemente si la hubiera hecho para Amstrad CPC, hasta podría ser mucho más interactiva y literaria de lo que es ahora mismo (he tenido que recortar texto hasta donde me he atrevido para hacer sitio para ciertas cosas [vitales]).
Como véis, el proyecto sigue en activo como desde el principio, e insisto, la aventura está terminada y betatesteada.
Veremos cómo termina todo ésto. La aventura será publicada dentro del plazo de la RetroComp, eso seguro, aunque sea tal y como está.
miércoles, 14 de enero de 2009
Asalto y Castigo
Este será el título definitivo de esta precuela de "El Trono de Inglaterra".
Argumento
¿Qué estbaa haciendo Ulfius durmiendo en su casa cuando Kay le despierta pq le llama el rey? En esta aventura veremos bastantes explicaciones del comportamiento de Ulfius en "El Trono de Inglaterra", en el que llega a detestar la violencia.
Parser
El juego es para Speccy, y originalmente estaba pensado para participar en una cateogoría de juegos en BASIC, así que está hecho en BASIC del spectrum.
Es tipo PAWS en el sentido de que prescinde de aquellas palabras que no sean significativas, entendiendo frases del tipo "verbo [nombre1 [nombre2]]".
Es tipo Inform en el sentido de que cada acción soportada tiene un comportamiento básico si no está contemplado lo que quiere hacer el jugador. Si el juego no entiende un verbo, avisa de ello. En ningún momento se visualiza "no puedes hacer eso", a no ser que suceda algo que yo no haya contemplado, porque la tristemente famosa frase sí que está. :-)
¿Cuándo estará listo?
La aventura está terminada, pero estoy la estoy depurando. Está en fase alfa, lo cuál quiere decir que la estoy betatesteando yo. Estará en fase beta en cuanto se la pase a mi betatester favorita (si la admite jugar, claro).
Yo le calculo, teniendo en cuenta el trabajo de la vida real, un par de meses, a lo sumo.
Otra cuestión es que me gustaría compilarla, ya que el parser tarda de 1 a 4 segundos en responder por cada acción, y hoy en día no estamos acostumbrados a eso. PAra eso me estoy viendo el compilador de BASIC de HiSoft, a ver si lo hago funcionar :-).
Espero que os guste.
Argumento
¿Qué estbaa haciendo Ulfius durmiendo en su casa cuando Kay le despierta pq le llama el rey? En esta aventura veremos bastantes explicaciones del comportamiento de Ulfius en "El Trono de Inglaterra", en el que llega a detestar la violencia.
Parser
El juego es para Speccy, y originalmente estaba pensado para participar en una cateogoría de juegos en BASIC, así que está hecho en BASIC del spectrum.
Es tipo PAWS en el sentido de que prescinde de aquellas palabras que no sean significativas, entendiendo frases del tipo "verbo [nombre1 [nombre2]]".
Es tipo Inform en el sentido de que cada acción soportada tiene un comportamiento básico si no está contemplado lo que quiere hacer el jugador. Si el juego no entiende un verbo, avisa de ello. En ningún momento se visualiza "no puedes hacer eso", a no ser que suceda algo que yo no haya contemplado, porque la tristemente famosa frase sí que está. :-)
¿Cuándo estará listo?
La aventura está terminada, pero estoy la estoy depurando. Está en fase alfa, lo cuál quiere decir que la estoy betatesteando yo. Estará en fase beta en cuanto se la pase a mi betatester favorita (si la admite jugar, claro).
Yo le calculo, teniendo en cuenta el trabajo de la vida real, un par de meses, a lo sumo.
Otra cuestión es que me gustaría compilarla, ya que el parser tarda de 1 a 4 segundos en responder por cada acción, y hoy en día no estamos acostumbrados a eso. PAra eso me estoy viendo el compilador de BASIC de HiSoft, a ver si lo hago funcionar :-).
Espero que os guste.
viernes, 2 de enero de 2009
Trabajando con BASIC
Hace bastante tiempo que no he publicado nada de nada en el blog. Por un lado, la vida real me ha tenido atrapado, como todo el mundo, pero por otro lado he estado metido en un proyecto muy interesante.
He programado en parser en Sinclair Basic. Lo empecé hace bastane tiempo, ya que lo quería para entregar una aventura al concurso de Bytemaniacos. La cuestión es: no he llegado a tiempo. Y en parte por la vida real, pero por otra parte por pensar, "bah, si ya casi está hecho", y cosas así. Aún así, me gustaría comentar un poquillo como ha sido la experiencia:
Lo divertido
El caso es que es divertido programar un parser. Claro, cuando empiezas con cosillas más complicadas, es cuando e das cuenta de que no es ninguna coña. Yo lo he hecho com una parte dedicada a procesos, y otra dedicada a respuestas. La primera prueba que hice con coger, me cogí un objeto estático (un altar de piedra) y me lo llevé conmigo. En realidad estaba previsto, arreglarlo fue cosa de una subcondición más en un IF. Ahí es donde te das cuenta de que lo importante es escribir la aventura, Los parsers ya están hechos, hay para elegir.
Las localidades y objetos las hice con Inferno. Así que la parte más pesada (los datas con las conexiones entre las localidades y cosas así), ya me las creó Inferno. Sólo tuve qu copiarlas y pegarlas en el código. Claro, porque al principio empecé programando en un Speccy +2 gris, pero al llegar al momento de fundir el parser tuve que pasarlo con el divIDE+ y al PC, y seguir con el Basin.
Lo no tan divertido
Yo no quería un parser que constantemente dijera "no puedes hacer eso". También me limité a 180 caracteres por localidad. Las últimas veces que programé características de la aventura, me ponía "2k free for BASIC".
El BASIC del Spectrum es leeeeeeeeeeeeeeeeeeento. Los que jueguen a la aventura en un speccy real podrán moverse con soltura por la aventura, pero examinar la espada tarda la friolera de 3-4 segundos en ser procesado. Lo podría hacer mejor con truquillos, pero quiero portarlo al CPC más tarde, así que sin triquiñuelas.
En fin, son cosas que pasan. Lo terminaré y lo presentaré al público, aunque no haya ningún concurso.
He programado en parser en Sinclair Basic. Lo empecé hace bastane tiempo, ya que lo quería para entregar una aventura al concurso de Bytemaniacos. La cuestión es: no he llegado a tiempo. Y en parte por la vida real, pero por otra parte por pensar, "bah, si ya casi está hecho", y cosas así. Aún así, me gustaría comentar un poquillo como ha sido la experiencia:
Lo divertido
El caso es que es divertido programar un parser. Claro, cuando empiezas con cosillas más complicadas, es cuando e das cuenta de que no es ninguna coña. Yo lo he hecho com una parte dedicada a procesos, y otra dedicada a respuestas. La primera prueba que hice con coger, me cogí un objeto estático (un altar de piedra) y me lo llevé conmigo. En realidad estaba previsto, arreglarlo fue cosa de una subcondición más en un IF. Ahí es donde te das cuenta de que lo importante es escribir la aventura, Los parsers ya están hechos, hay para elegir.
Las localidades y objetos las hice con Inferno. Así que la parte más pesada (los datas con las conexiones entre las localidades y cosas así), ya me las creó Inferno. Sólo tuve qu copiarlas y pegarlas en el código. Claro, porque al principio empecé programando en un Speccy +2 gris, pero al llegar al momento de fundir el parser tuve que pasarlo con el divIDE+ y al PC, y seguir con el Basin.
Lo no tan divertido
Yo no quería un parser que constantemente dijera "no puedes hacer eso". También me limité a 180 caracteres por localidad. Las últimas veces que programé características de la aventura, me ponía "2k free for BASIC".
El BASIC del Spectrum es leeeeeeeeeeeeeeeeeeento. Los que jueguen a la aventura en un speccy real podrán moverse con soltura por la aventura, pero examinar la espada tarda la friolera de 3-4 segundos en ser procesado. Lo podría hacer mejor con truquillos, pero quiero portarlo al CPC más tarde, así que sin triquiñuelas.
En fin, son cosas que pasan. Lo terminaré y lo presentaré al público, aunque no haya ningún concurso.
lunes, 24 de noviembre de 2008
Una comunidad demasiado centrada en los foros
Pensando sobre el pollo [por un tema pueril, pero que aún colea] que se ha montado últimamente, he llegado a una idea.
Lo cierto es que era una idea que estaba ahí, rondando, desde hacía tiempo, pero que sólo ahora he consguido materializar: el CAAD está demasiado centrado en el foro.
Y es que el CAAD no son los personajes que lo componen, ni sus relaciones entre ellos, sino las obras publicadas, el fanzine que sacamos. Las relaciones personales que surjan son un "plus", pero no debería ser lo más importante.
Al fin y al cabo, no creo que Pérez Reverte, Sánchez Dragó y otros discutan diariamente en un foro, y piensen que si el foro no funciona, la novela morirá en favor del cine ...
Lo cierto es que era una idea que estaba ahí, rondando, desde hacía tiempo, pero que sólo ahora he consguido materializar: el CAAD está demasiado centrado en el foro.
Y es que el CAAD no son los personajes que lo componen, ni sus relaciones entre ellos, sino las obras publicadas, el fanzine que sacamos. Las relaciones personales que surjan son un "plus", pero no debería ser lo más importante.
Al fin y al cabo, no creo que Pérez Reverte, Sánchez Dragó y otros discutan diariamente en un foro, y piensen que si el foro no funciona, la novela morirá en favor del cine ...
jueves, 20 de noviembre de 2008
Pollo en el CAAD
Y hace algún tiempo que escribí mi última entrada en este blog; lo cierto es que he estado ocupado creando una aventura para spectrum, que espero presentar al concurso de Bytemaniacos.
Entre tanto, uno asiste con estupor a un pelea (flamewar, se le llama últimamente, empleando el anglicismo), ante, cuidadín, la creación de un foro de "otros temas" (es decir, siguiendo con el anglicismo, offtopic), dentro del foro del CAAD.
A mi no me parece una buena idea. En todo caso, es una idea tirando a regular. Vamos, que estoy en contra. No tiene por qué ser una mala idea en un principio, aunque en la práctica supondría tener el foro lleno de SPAM (mmmm ,,, otro anglicismo).
Sin embargo, también es cierto que no me molesté ni en votar. Mea culpa, como se suele decir. Lo cierto es que no me pareció tan importante.
Finalmente, unos administradores han actuado de otra forma, otros de otra distinta, y finalmente casi todos han acabado dimitiendo.
Lo cierto es que todo esto se hubiera evitado con un moderador del foro. Las cosas auto gestionadas, automoderadas (todos somos inteligentes y considerados), son muy bonitas, pero, símplemente, no funcionan. Es muy impopular lo del moderador. En cuanto se comenta algo sobre esto, en seguida salen voces reclamando la libertad de expresión, que si el moderador es un dictador, que yo escribo lo que me da la gana ...
Es una figura, en definitiva, que no es agradable, puesto que es de lo más desagradecido que existe. Quizá se tome un moderador o no, no lo sé, pero bueno, pase lo que pase, no creo que el CAAD esté, en realidad, en ningún peligro, al menos inmediato, debido a este tipo de discusiones.
Creo que mayor peligro hay en cuanto a la escasez de jugadores de aventuras. Pero eso, ya es otra historia ...
Entre tanto, uno asiste con estupor a un pelea (flamewar, se le llama últimamente, empleando el anglicismo), ante, cuidadín, la creación de un foro de "otros temas" (es decir, siguiendo con el anglicismo, offtopic), dentro del foro del CAAD.
A mi no me parece una buena idea. En todo caso, es una idea tirando a regular. Vamos, que estoy en contra. No tiene por qué ser una mala idea en un principio, aunque en la práctica supondría tener el foro lleno de SPAM (mmmm ,,, otro anglicismo).
Sin embargo, también es cierto que no me molesté ni en votar. Mea culpa, como se suele decir. Lo cierto es que no me pareció tan importante.
Finalmente, unos administradores han actuado de otra forma, otros de otra distinta, y finalmente casi todos han acabado dimitiendo.
Lo cierto es que todo esto se hubiera evitado con un moderador del foro. Las cosas auto gestionadas, automoderadas (todos somos inteligentes y considerados), son muy bonitas, pero, símplemente, no funcionan. Es muy impopular lo del moderador. En cuanto se comenta algo sobre esto, en seguida salen voces reclamando la libertad de expresión, que si el moderador es un dictador, que yo escribo lo que me da la gana ...
Es una figura, en definitiva, que no es agradable, puesto que es de lo más desagradecido que existe. Quizá se tome un moderador o no, no lo sé, pero bueno, pase lo que pase, no creo que el CAAD esté, en realidad, en ningún peligro, al menos inmediato, debido a este tipo de discusiones.
Creo que mayor peligro hay en cuanto a la escasez de jugadores de aventuras. Pero eso, ya es otra historia ...
miércoles, 22 de octubre de 2008
Trigésimo aniversario del primer MUD
Hoy, aunque parezca mentira, hace treinta años que, por primera vez, se abrió un MUD en línea.
Los MUD, que podrían considerarse como aventuras conversacionales multijugador en línea, son precursoras de los MMORPG actuales.
Más información:
http://www.youhaventlived.com/qblog/2008/QBlog201008A.html
En barrapunto:
http://barrapunto.com/articles/08/10/22/1416216.shtml
Los MUD, que podrían considerarse como aventuras conversacionales multijugador en línea, son precursoras de los MMORPG actuales.
Más información:
http://www.youhaventlived.com/qblog/2008/QBlog201008A.html
En barrapunto:
http://barrapunto.com/articles/08/10/22/1416216.shtml
Suscribirse a:
Entradas (Atom)