Debido a una reunion del Hacklab hoy y sobre una minigameparty, debido a la chatarra informatica ;) que tenemos en el local y a que el que escribe no tiene portatil. Se acordo de jugar al starcraft. La cuestion es buscar la tematica hacklab y no rendirnos ante el software propietario…y encima de blizzard con lo cabrones que estan hechos y las perradas que le han hecho a GNU/Linux ¬_¬ .
Entonces pensando, que te piensa, creo que la mejor solucion seria buscar algo que tire en lo que hay ahi y la cosa esta dificil chicos xD. Y pensando pensando se me han pasado por la cabeza que sino videojuegos de estrategia basados en las Ncurses (link de la wikipedia). Pero claro tienen que ser para Ncurses, no vale florituras como aalib o libCaca para convertir a ascii un juego de estrategia grafico de GNU/Linux porque las maquinas se nos frien, y mucho menos vale hacer la carambola de usar el starcraft bajo winex (alias cedega) para emular m$windows y despues tirar de alguna libreria de las anteriores porque al final acabaria ardiendo el local xD.
Y cuantos conozco de estrategia y de Ncurses….mitico dopeWars. Y no conozco ninguno mas…¿Se admiten sugerencias :) ?.
Pero claro el chiste esta en que hay que buscar un sustituto al starcraft para terminal, y el DopeWars no lo cumple porque:
- Es de estrategia comercial (gestion comercial de drogas varias xD), y el otro es un juego de estrategia de accion.
- Es de estrategia “por turnos” y el otro es un juego de estrategia en tiempo real.
- Es en modo texto (claro no te jode xD), el otro es graficos en isometrica (2D pal caso).
Y bueno pues como dice el refran “si no tienes herramienta bien vale una motosierra”, asique vamos a ver cuales son los requisitos del juego:
- que sea estrategia en tiempo real
- que sea grafico pero que sea en terminal
- que no chupe muchos recursos, asi que descarado en C…o ensamblador xD
- que sea online
- que sea jugable…..uff lo mas dificil
Y bueno lo de las Ncurses no son moco de pavo para hacer videojuegos, porque aqui teneis un par de ejemplos:

Dope Wars


GPC-Slots 2 Videojuego que trae multiples juegos de casinos.
Y bueno los multiples clones del nethack, juego que por cierto siempre he andado probando pero que nunca le encontrado la gracia pese a lo famoso que es.
Me queria basar en la idea de warcraft2 en plan juego 2D, y en la usabilidad de programas de Ncurses como Elinks (navegador de terminal), Midnight Commander (clon libre del betusto pero util Norton Commander) y creo que hace poco ha salido tambien una version nativa de gaim para terminal.
Vale vamos a por un puñado de datos tecnicos interesantes, partiendo de que la terminal basica estandar o estandarizada actual es de 80×24 es decir 80 columnas y 24 filas y cada posicion cabe solo un caracter, y que aunque todavia hay terminales 2 colores (que seguro que en el hacklab alguna pantalla hay xD) se asume que pueden mostrar colores y tenemos la no desdeñable gama de 8 colores los cuales se pueden aplicar al fondo del caracter o al color del caracter, ademas de ello el color puede ser claro u oscuro, lo que hace una cuenta total de 16 colores…uff como los colores (los cuales tambien tenian el apaño de color oscuro y color claro ;) ) del spectrum y mirar que preciosidades se hacian.
Bueno y ahora unos calculos interesantes, podemos tener en pantalla 1920 caracteres que a falta de escanear el papel que escrito aqui al lado se repartirian en 3 partes del interfaz del juego:
- Mapa Principal: donde tracurrira toda la accion interesante y se vera el videojuego en todo su explendor ^_^ . Por eso sera la que mas ocupe en pantalla, el tamaño entorno a las 70 columnas y 20 filas, en principio su posicion sera desde la esquina izquierda superior hasta su extension maxima.
- Menu: Donde se podra dar instrucciones mas precisas, como construccion de estructuras y tal. Esta tendra un tamaño entorno a 10 columnas y 20 filas, y estara posicionada en la esquina superior derecha en forma de rectangulo alargado. Seria interesante meter un minimapa ahi…pero como quedaria…pues no se
- Chat: Parte tambien importante porque todo juego online que se precie tiene que tener un chat para los piques :P. Este ademas de mostrar un historico de los ultimos 3 mensajes o asi, tendria la tipica barra de desplazamiento y ademas si se puede poner en la borde de separacion con el resto de la pantalla (por economizar espacio) un par de botones para elegir aq quien mandar el mensaje. Este tendra un tamaño de 80 columnas y 4 filas aproximado y sera un rectangulo horizontal que estara abajo de la pantalla.
La pantalla a groso modo seria algo tal que asi:
+-------------+---+
| | M |
| Mapa | e |
| Principal | n |
| | u |
| | |
| | |
+-------------+---+
| Chat |
+-------------+---+
Del mapa donde estara toda la acion del juego tenemos mas o menos 70×20 que son 1400 caracteres, y salvo alguna tematica al maximo (que puede que la haya, pero no caigo en ninguna) que aproveche al maximo los caracteres, tenemos varias opciones que el tamaño mas pequeño para una unidad (edificios, vehiculos, personajes…) sea de:
- 1 caracter con lo cual estaremos aprovechando los 1400 caracteres para ver mucha extension del mapa o tener 1400 unidades pequeñas. Pero como desventaja es que seria muy austero el juego graficamente (aun mas si cabe xD) ya que tendriamos que recurrir a apaños en plan nethack de S para soldado y tal, y que el manejo con el raton es un poco incomodo ya que tendriamos que clicar sobre un caracter solo.
- 2 caracteres en vertical, algo mas se podria sacar de eso, pero nos reduce a 700 posiciones, o lo que es lo mismo a 10 posiciones posibles a lo alto y las 70 de antes.
- Y mas grandes como de 2×2 o 2×3 nos limita mucho mas.
Es dificil las situacion ya que mas tamaño de sprite menos unidades puede haber, mas dificil se podran dar las situaciones de ataques alejados. Uff es pensarlo.
Y bueno en relacion a los colores, los cuales son (negro, blanco, rojo, verde, amarillo, azul, cyan, magenta + sus la version oscuro) sin echarle mucha testiculina y usar 2 colores solo…pero seria lo suyo para ser un tio duro, tenemos que de los 16 colores de los cuales:
- hay que tener en cuenta que uno de ellos se va para el fondo que va ser violeta a matar…esto no….o negro o blanco.
- Otro color se ira para los bordes y quiza se use el mismo para el texto de los botones (que digo texto…ascii art…uff como lo tiro por lo alto xD ) y tal. Aunque tambien se podria separar sin bordes el mapa de los menus usando un color distinto de fondo…es pensarlo.
- El rojo por supuesto habra que dejarlo para explosiones o sangre.
- El verde para las plantas, aunque si es de tematica futurista quiza se podria aprovechar para los alienigenas.
Y bueno del resto de colores, que quedan que son mas o menos 4 o 5 habria que ver como se utilizan con respeto al tamaño de los “sprites” dicho anteriormente, y para que utilizarlos.
Bueno esto son aproximaciones no muy sesuras pero interesantes de por donde pueden ir los tiros, algo que se tiene claro es que se usara raton para manejarlo pero seria interesante ser capaz de hacerlo para que funcione solo con teclado…aunque no tengo ni idea de como hacer eso jugable a la cual que de accion y tiempo real.
Y finalmente del articulo y ahora tengo dos opciones:
- Que un alma caritativa en los comentarios nos diga de algun genial y desconocido videojuego de estrategia en tiempo real, en terminal, y con graficos y que sea jugable…creo que va ser mas facil pedir que se acabe la monarquia en el mundo y o que push (ya sabeis a ese que solo le votaron unos paletos pero que gobierna todo el mundo) vaya a la silla electrica xD.
- O que intente hacer algo jugable yo tirando de nCurses…ahi no es nada tampoco xD…total saco a relucir mis genes vascos y algo se hara.
En los proximos dias veremos lo que pasa, atentos a sus monitores ;).