martes, 9 de diciembre de 2008

jueves, 27 de noviembre de 2008

Como hacer

Eximeno cuelga en el foro este interesante link (http://www.paraquenoseolviden.com) que recupera varios libros con los que muchos aprendimos a experimentar, crear e imaginar en nuestra niñez.
Destancando la colección "Cómo Hacer", a la cual añado este nuevo número:

martes, 18 de noviembre de 2008

Otros Temas

Se armó la gorda en el foro del CAAD, no es la primera vez que pasa, y como prueba esta imagen de archivo:

Hay gente que quería la sección "Otros temas" en el foro, gente que no la quería, gente que ni se ha enterado de que se estaba barajando esa posibilidad, y gente a la que le da lo mismo porque el foro que les mola es el de "Gran Hermano".

La sección se hizo finalmente, y una persona (vaya, esto no tiene iconito para subrayar) lo llenó de basura para demostrar su oposición. A partir de esta acción surje el debate y las bajas.

Un administrador que se echa para atrás tras haber dado via libre a la nueva sección aunque no fuera partidario, otro que también se retira para evitar malos rollos inesquivables...
Total, que sólo queda un admin del foro... y el dueño del dominio.

Pero... ¿¡qué es esto!? ¡parece que ya tenemos nuevos candidados para administrar el foro! Veamos en qué se basan sus campañas:

Actualización:
Ha empezado la votación para decidir la inclusión de la sección "otros temas".

jueves, 6 de noviembre de 2008

Preview Palabra Exacta

"Palabra Exacta" no será el título definitivo, pero lo es provisionalmente, para la aventura basada en Ad Verbum.
Es una aventura breve en tono de humor, dentro de una torre encantada. Repleta de retos basados en juegos de palabras: "wordplay" que dicen los guiris.

Una pequeña presentación:


(La aventura será sólo texto, sin gráficos ni sonido ¡Oh!)

jueves, 30 de octubre de 2008

Un sistema de conversación decente

De rebote, gracias al código de Ad Verbum, al fín he encontrado -casi, pero me vale- lo que estaba buscando de una forma más sencilla a como lo tenía planteado meses atrás: una forma de leer muchos trocitos dentro de una cadena de texto, y con todos los "objetos-texto reconocido" que quiera. Y lo mejor de todo es que esos trocitos ni siquiera son objetos, luego no interfieren con nada, sólo pueden interferir entre ellos, y aquí entra la buena estrategia para diseñar las raíces de vocabulario de conversación.

Para empezar unifico todos los dispares y poco útiles -a mi juicio- modos de comunicarse que hay en inform:

Extend only 'grita' replace
* -> chillar
* noun -> chillar
* 'a//' creature -> chillar
* 'a//' creature topic -> hablar
* topic -> chillar;
verb 'chilla' = 'grita';

extend 'habla' replace
* ->hablar
* noun->hablar
* topic ->hablar;

extend 'pregunta' replace
* ->hablar
* noun->hablar
* topic ->hablar;

extend 'dile' replace
* ->hablar
* noun->hablar
* topic ->hablar;

extend 'pide' replace
* ->hablar
* noun->hablar
* topic ->hablar;

[hablarSub;
"Hablas, pero nadie te responde.";
];

[comohablarsub;
"Para hablar utiliza la fórmula: DECIR TAL";
];


A continuación viene el detector de cadenas, con la pequeña pega de que hay que escribir los caracteres uno a uno, y que no puedes detectar concatenación con espacios... salvo enrevesando la fórmula con más loops.

[BeforeParsing i j thisword thislength x;
bla1=0; !marca de texto detectado
bla2=0; !marca de texto detectado
bla3=0; !marca de texto detectado
bla4=0; !marca de texto detectado
for (i=parse-->0,j=1:j<=i:j++)
{
thisword = WordAddress(j);
thislength = WordLength(j);
if ( thisword -> 0 >= 'a' && thisword -> 0 <= 'z' ){ if(hablador in location){ if(thisword->0=='v' && thisword->1=='e'
&& thisword->2=='t' && thisword->3=='e') bla1=10;

if(thisword->0=='r' && thisword->1=='i'
&& thisword->1=='o') bla2=1;

if(thisword->0=='t' && thisword->1=='o' && thisword->2=='r'
&& thisword->3=='r' && thisword->4=='e') bla2=2;

!...etc


Y por fín, el personaje hablador. El nuevo sistema de hablar se detectará en el reaccionar_antes (react_before) del personaje, ya que de momento no necesito múltiples interlocutores, y todo lo que hables te lo replicará el único PSI presente, que traga con todo, hasta con su propio nombre si lo pones. Y de paso, me fusilo el Order y el Answer, que también forman parte del club de los modos de hablar múltiples:

object hablador "PSI hablador"
with name 'psi',
react_before[;

answer, order: <
ComoHablar>;rtrue;

hablar:
if (bla1==10)print "Has dicho vete";
if(bla2==1)print "Has dicho río";
if(bla2==2)print "Has dicho torre, torreón, o torrecita";
],
!...etc



Por ahora, mucho mejor que lo que tenía, y... hecho y funcional.
(El código es para compilar en Glulx, para Z-code cambian ciertas cosas)

lunes, 27 de octubre de 2008

Ad Verbum

L'otro día Urba me convenció (tras no conseguir que le dibujara unos elfos) para hacer una versión en castellano de Ad Verbum, la premiada aventura de Nick Montfort que tiene como particularidad estar basada en juegos de palabras.

Nuestra misión consiste en recoger todos los objetos de la mansión de un brujo, estando estos objetos en habitaciones encantadas, de tal forma que tendremos que vérnoslas con el léxico inglés para hallar los comandos que podemos escribir. Y es que, por ejemplo, en la sala Norte, todos los textos están escritos con palabras que empiezan por N, y nosotros, mismamente, sólo podremos indroducir órdenes con palabras con una N delante. Luego olvidémonos de comandos como TAKE o EXIT.

En castellano quedaría algo así:
S
Salón sombrío. Sientes seis simios sarnosos sentados sobre sendos sofás silbando soporíferas saetas sevillanas. Seguidamente, sobre sólido soporte saliente, se sitúan sobrias sandalias sarracenas.
>>COGER SANDALIAS
¡Shhhhh! ¡Silencio! Sacrilegio sugerir semejantes sandeces.
>>EX SIMIOS
¡Shhhhh! ¡Silencio! Sacrilegio sugerir semejantes sandeces.
>>SENTIR SIMIOS
Son seres selváticos, salvajes, sentados sobre sus sofás. Silban sin saber solfeo, sin salero.
>>SABOREA SIMIOS
Simios sin salsa saben sosos.
>>SENTARSE SOFA
Sobre sofa se sitúa simio salvaje. Se sulfurará si sobre su sayo se sientan.


M
Muros manchados, mazmorra macabra. Momios malvados me miran mal, meditando macarrónicas monsergas, meneando maracas musicales. Mobiliario: mesa marrón, mampara moteada.
>>MANGAR MARACAS
Mala manera. Momios manifiestan: "mangantes merecen morir".
>>MATAR MOMIOS
Momios muy mortíferos, mejor me mantengo manso, menos macarra.
>>MANOSEAR MESA
Momios malhumorados me manotean manifestando: "¡manchas muebles, manos mugrientas, maldito maleducado! ¡multa millonaria!"



Lógicamente no es una traducción, ni es mi intención. Se trata de, sobre la misma idea, hacer historias distintas, y es que ya sería casualidad que se pudieran hacer los mismos juegos de palabras que en inglés. No, por tanto las salas son diferentes.

Habrá salas con más letras, y me ahorraré otros puzzles con palabras que incluye Ad Verbum que encuentro demasiado rebuscados para centrarme en sacarle el máximo jugo a los juegos de letras iniciales o palabras con una sola vocal.

Todo esto una vez hallada la forma de procesar esto con el párser, que ya veremos ya veremos... Supongo que un pawslike vendría mejor al caso, o quizá programarlo directamente en Python a pelo, sin parser.

lunes, 20 de octubre de 2008

El barco del CAAD