Leyendo este tema del foro del CAAD, voy a hacer una prueba de esta interesante idea para insertar un código jugable dentro de un marco en una entrada de blog.
¿Funcionará? Sin, duda, de lo contrario habría borrado todo esto.
La he terminado un tanto bruscamente pues se me habían quitado las ganas de seguir, y conociéndome, si no lo remataba ya, se podía quedar años paralizado o no llegar a salir nunca.
Los niveles no están demasiado bien calibrados en dificultad, espero arreglarlo en una futura segunda versión.
Estaba tratando de recordar un juego de hace un porrón de años que jugué en el ordenador PC de unos vecinos.
Lo expuse gráficamente en StripGenerator y rápidamente llegó la respuesta, del juego base: QIX
El que yo recordaba sin duda estaba basado en QIX, pero era un clon diseñado para multijugador. De modo que entre 2 y 4 jugadores competían apiñados en torno al teclado, cada cual con su propio vector, cerrando sus áreas y tratando de no ser pillados por los rivales con un área sin cerrar.
O al menos esa es la idea que tengo y lo que estoy programando con Pygame. Lo más difícil ya lo tengo hecho, el relleno de las áreas, que me dió varios quebraderos de cabeza este domingo... hasta que dí con la maldita línea que estaba estropeando el invento, la pulga que hacía que la máquina cascase.
El resultado es éste:
Cuando se prevee el relleno de un área porque un jugador ha realizado un cierre, se ejecuta un rastreo en busca del contorno, o mejor dicho, de los dos contornos posibles.
Desde la cabeza del vector hasta el punto de despegue sólo hay un camino, pero una vez llegamos ahí...¿bordeamos el contorno en sentido horario o antihorario?
Tomamos ambos caminos, calculamos las áreas encerradas -aproximadamente mediante un algoritmo rápido que encontré googleando-, y elegimos el que encierre un área menor (de lo contrario la partida podría quedar decidida nada más empezar).
A continuación, rellenando una matriz con las coordenadas de los puntos recogidos a lo largo del contorno donde éste hace quiebro, se rellena el polígono resultante.
Si se superase el tamaño de la matriz definida el relleno quedaría incompleto. Le he puesto 250 (por ejemplo) coordenadas de límite, que creo que raramente se alcanzarán en un juego real por muchas revueltas que logre dar un jugador.
En el juego competirán hasta 4 jugadores, que parten de los 4 lados del campo de juego cuadrado.Ganará el que más halla rellenado de su color al final de la partida, debiendo para ello ir cerrando rastros de su propia cola con los bordes del campo o con los nuevos bordes creados que delimitan las zonas coloreadas por cualquier jugador (aquí líneas naranjas).
Hay tres formas de fipiarla:
1. Autoatrapamiento
2. Ser rellenado por otro jugador
3. Ser alcanzado en la cola por otro jugador antes de haber cerrado contorno.
Estas pifias te dejarán fuera de juego, pero no te quitarán los rellenos conseguidos, de modo que la partida no está necesariamente perdida.
Estaría bien poder jugar esto en red, pero al igual que ocurre el Armagetron, el lag es todo un problema, cuando tú ves que has cerrado a un rival... y luego resulta que a quien han cerrado es a tí.
Aunque el mayor problema es que ni si quiera sé hacer funcionar esto en red.
Actualización de mi web de Ficción Interactiva
-
Como he comentando recientemente, se está realizando una ingente labor para
preservar la antigua web del CADD, incluyendo por cierto el fanzine SPAC,
en ...
Dialogue Expressiveness in Mask of the Rose
-
Mask of the Rose is a dating-and-murder-mystery virtual novel set in
Failbetter’s Fallen London universe. In line with that genre, it typically
gives the p...
ECTOComp 2022
-
Hacía tiempo que tenía ganas de volver a crear un relato interactivo, tras Isla
Queimada hace un par de años. Empecé a hacer algo para la anterior
Rayuel...
El módulo de idioma español: INFSP6
-
*En esta entrada se revisa cómo utilizar el módulo de idioma español. Éste
módulo se conoce como INFSP y la última versión disponible desde sus
repositor...
Tutorial INFSP7 actualizado
-
Cinco años han pasado desde que Xavi Carrascosa publicó su tutorial
"Introducción a Inform7". Fue una linda experiencia de colaboración. Xavi
me enviaba el...
A Tuenti le molan los developers yonkis
-
Esto viene a ser en cierto modo un epílogo a mi serie de entradas sobre *mi
participación en el concurso Tuenti Challenge*. Si las leíste,
probablemente pe...
YO TENÍA UN JUEGO - La Aventura
-
Bueno,
Pues estamos de vuelta para anunciar que mi nueva aventura ya forma parte
del anuario en DVD de la revista YO TENIA UN JUEGO.
Se trata de una brev...
La Aventura Original -La novela-
-
Como todos sabéis Andrés Samudio presentó recientemente la novelización de La
Aventura Original, posiblemente el juego conversacional que más aficionados
...
Sorcery para iOS
-
Me entero vía Masquedados de la última genialidad de los chicos de Inkle:
la adaptación de los librojuegos de Brujería de Steve Jackson para iOS.
Dientes...
Akbarr, el autor y su obra.
-
Hola, gente: Soy nuevo en la lista, así que empiezo contando mi historia. A
mi este tipo de aventuras me gustaban bastante en los tiempos del Spectrum
(ha...
The Humble Bundle
-
English version below. Me encanta esto: tres videojuegos de calidad
(Anomaly, EDGE y Osmos), pagas por ellos lo que quieras, y tendrás
disponibles las vers...
Estación acuario
-
Farmer, tu jefe, y tú viajás despreocupados en vuestra nave de carga
interplanetaria. Sin embargo, un accidente comprometerá la felicidad de
vuestro viaje:...
Ahora que me acuerdo…
-
Este hilo del CAAD con la sempiterna discusión entre parsers me ha
recordado un par de desarrollos que hice hace algún tiempo de cara a mis
proyectos (ejem...
ZMPP viento en popa a toda vela
-
El proyecto de permitir que ZMPP soporte aventuras en formato Glulx de
Wei-ju Wu va viento en popa a toda vela, pronto podrán juagarse todas las
aventuras ...
Dr. Van Halen: Las Ruedas de Ezequiel
-
Suiza, Otoño de 1903
- Aquí lo tienen. Lo encontraron por casualidad más arriba, en las cumbres.
Como pueden ver está congelado desde quien sabe cuándo.- d...