Archive for April, 2007

Hermanos

Posted in Uncategorized on April 28th, 2007

Muchos llevamos años jugando con chismes electrónicos. Comenzando desde las brumas del tiempo, usando las máquinas de algún martirizado familiar o un despistado amiguete. Y es que ha pasado bastante más tiempo del que nos atrevemos a admitir metidos en toda esta movida.

Como en cualquier otra parte del sector del entretenimiento, algunas carreras son fulgurantes pero cortas. ¿Alguien recuerda a los Bitmap brothers? Fue, es, … qué se yo, un estudio brillante, tuvo títulos fabulosos, como Speedball2 “brutal deluxe”.

The Bitmap brothers

En este momento, según la propia wikipedia:

Speedball 2 (2007)

In October 2002, Frogster Interactive announced that it had secured the rights to remake both Speedball 2 and The Chaos Engine, another Bitmap Brothers game. While Frogster has slated both for release in 2007, little more information is available. As of November 2006, the page indicates the game will feature multi-player options. The availability of a single-player mode in this version is unknown.

Y se puede encontrar la web del susodicho juego aqui: Speedball2 - 2007. El diseño era totalmente tontunesco, pero funcionaba bien, era divertido en un contexto en que internet casi no existía y los juegos seguían corriendo bajo DOS.

Este artículo NO es una recomendación para probar Speedball2 ni mucho menos, sino una idea fugaz a comparar las viejas y las nuevas versiones. Hasta hace no tantos meses pululaba en el aire una idea digna de un publicista: el concepto next-gen. Aplicado siempre a consolas, los jugadores de PC llevan experimentándolo desde la invención del ordenador personal. Viejas franquicias, se han ido renovando según avanzaba la tecnología: desde el modesto PC-Fútbol inicial hasta las últimas versiones, desde Wolfstein3D hasta Quake - Doom 4 …

Y aquí la eterna pregunta: estas revisiones, ¿aportan algo al original? ¿Varían las dinámicas, los conceptos que contiene el juego han cambiado algo? Supongo que no tanto y al final la next-gen termina siendo como la old-school

TDD. O la vagancia ruinosa

Posted in Herramientas on April 21st, 2007

Los programadores de C++ del mundo tienen (tenemos) mucho que aprender de Java. A pesar de ser un lenguaje comparativamente joven, su masiva aceptación y su implantación en decenas (sino todas) las grandes compañías de desarrollo software del mundo han producido un buen cuerpo teórico y de herramientas.

De entre ellas hay una especialmente interesante JUnit. Es un framework de desarrollo orientado al test. Funciona muy bien y se integra sin problemas en Eclipse, NetBeans y con Ant. Sé que algunos de vosotros estaréis pensando que se me ha ido la cabeza: que ant es un remedo de make y el TDD lleva siendo una característica nativa de python desde la versión 0.0 alpha. Bien, no lo niego. Simplemente a veces cuesta darse cuenta y entrar en la dinámica.

Incluso hay una versión razonablemente limpia para Java para móviles j2meUnit. Evidentemente no funciona igual de limpiamente que la versión completa para Java. Tampoco es una JVM tan potente qué carajo.

Lo que sí me resultó curioso fue que hablando con un compañero del curro y contándole toda la instalación me soltó el clásico: no tengo tiempo de mirar esa chorrada. Qué interesante. He oído eso mismo un puñao de veces y no hay ocasión en la que esa chorrada, no termine convertida en una tecnología dominante:

Para qué estudiar Java, es un lenguaje interpretado, … qué lento!

¿Qué es eso de Python? … báh, otra chorrada de esas GNU que te gustan a tí …

etc.

Un amiguete llamaba a esto las “ultimas y gloriosas frases”. Hay algo de verdad en que nunca se tiene tiempo para nada. Lo curioso es que muchas veces, esta inversión de algo de esfuerzo te vuelve en una productividad multiplicada ^_^

The reactor

Posted in Uncategorized on April 17th, 2007

No suelo decir nada de la música que escucho. No tiene ninguna importancia. Pero he aquí que he encontrado una web curiosa con videos musicales de un grupo que creía no los tenía: Juno Reactor He visto mutant message y me ha gustado, a ver qué me decís vosotros.

The reactor

Colgando el teléfono

Posted in Uncategorized on April 15th, 2007

Lo que más me gusta es pagar el alquiler. Suele querer decir que he cobrado el mes y eso es bueno, ¿no? Más allá de lo caro que es vivir en este maldito país, con las cuatro perras que se ganan por hacer un buen y honrado trabajo, algo tendremos que hacer para llegar a fin de mes.

Programar juegos en Java para teléfonos móviles es tan honrado como ser Juez de la audiencia nacional o abogado del estado … bueno, … quizá algo menos reconocido … no, … totalmente ignorado, … ¡pero igual de honrado! Y hay un momento en el devenir de cualquier proyecto software en el que te ocurre algo sorprendente: ¡cuelgas la máquina!

Dénme todos la enhorabuena porque esta misma tarde he logrado zumbarme mi primer teléfono móvil. Un fantástico Z530 que la compañía ha comprado para testar la producción en las series shell de SE. En caso de que:

1. Alguien me lea
2. Ese ‘alguien’ además me conozca

… sabrá algo con seguridad, detesto los putos teléfonos. En general detesto cualquier cosa que esté fuera de internet ó que para acceder a la red tenga que pagar un impuesto revolucionario[1] Sin embargo esta máquina me empieza a caer bien, es robusta, está bien pensada, qué carajo: ¡Sony te hago una publicidad cojonuda, regálame una PS3 pero ya!

Pero hoy ha ocurrido lo impensable, mientras levanto una conexión serie vía Bluetooth, todo en java: ¡la máquina se ha tostado!

Jolly Roger flagship

La experiencia general con Bluetooth, según la gente que me rodea es descorazonadora. Las pilas de comunicaciones se caen. Son difíciles de gestionar y, en general, pretenden ser tan automáticas y simples que terminan haciéndose aplicaciones de control tontunescas, dignas de un Mac. Veremos si esta aplicación nuestra logra ir un poco más lejos de lo habitual y hacer algo decente que no se caiga constantemente.


[1] Como son las putas tarifas 3G - GSM - WAP y demás basura.

God of War 2 (parte 1)

Posted in Design on April 14th, 2007

Un buen videojuego tiene un poco de todo. Es como un novelón, igual que una película excelente, similar a un clásico del teatro. Y al igual que en el resto de los géneros, no vale con mezclarlo todo. Por si has estado bajo una piedra: GoW, GoW2.

La historia de ambos videojuegos es lisérgica. Si pretendes encontrar una aproximación respetuosa a la mitología griega, este no es tu juego en absoluto. Dicho rápido se trata de sendos culebrones de venganza. En ambos el personaje es manipulado; llevado como un títere a lo largo de un interminable (y bastante rectilíneo) camino de destrucción y termina en un gran boom final. Sin embargo es divertido.

Queda claro que la historia es caca, ¿las dinámicas son excepcionales o novedosas? Recopilemos:

El personaje cuenta con 3 parámetros principales:
1. Vida
2. Mana
3. Furia: la obtienes machacando enemigos, luego puedes consumirla en ráfagas-de-destrucción-masiva.

Y el jugador a lo largo del juego podrá:
1. Machacando botones: abrir puertas, bloqueos de espadas
2. Secuencias de pulsación: fatalities, ‘echar un polvo’
3. Empujar un bloque: puzzles de posición y orden de acciones.
4. Pulsadores / palancas: te acercas y R1
5. Combate: desarrollado con secuencias de hasta 3 botones
6. Inventario: se cuenta con varias armas, algunas son superiores para ciertos enemigos aunque tan apenas se nota.
7. ‘Magias’: se escoge el hechizo. Todos son de ataque.
8. Existe un shooter en el juego muy sencillo. Vuelas sobre pegaso.
9. Colgarse de ganchos y argollas en el techo

Hasta aquí parece un híbrido entre Double Dragon y el Príncipe de Persia. Lo que está claro es que tiene un montón de pequeños elementos y eso potencialmente hace un buen videojuego. Veamos un contra ejemplo, Bullet Witch. Se trata de un shooter con bruja, aunque hablo más o menos de oídas puedo aventurar cómo se hizo el diseño:

“¿qué tal si hacemos un shooter en tercera persona, pero que tenga magia? … ¡Ya sé le añadiremos una tía ligera de ropa! … ¡Cáspita, mejor que sea una bruja! ¡Y que dispare con la escoba! jjajajaj … ¿a que no hay cojones de proponerle esto al jefe? … “

El resto es historia, claro está.

La sensación general que me queda es que las etapas de preproducción no se cuidan tan apenas. Se buscan argumentos y dinámicas generales, únicamente para acceder a un editor[1]. No se profundiza en su interacción. Mi punto aquí es el siguiente: un videojuego excelente probablemente tuvo una preproducción en profundidad, un videojuego mediocre o malo, seguro que carece de preproducción.

… seguirá … cuando Kratos me deje ^_^


[1] Lo que desde un punto de vista empresarial es óptimo: se obtiene la financiación con una pequeña inversión en el desarrollo inicial.

Libertad móvil

Posted in Developing, Indy Games, Videogames on April 11th, 2007

Antes de nada: ¡hola de nuevo! Ha sido un parón largo y ligeramente dramático. Pero parece ser que vuelvo al tajo bloggero más pronto que tarde.

Llevo unas semanas trabajando en Java. Y en python. Y en PHP. Y levantando egroupware. Es obvio que ha sido una temporada movidita.

Pero me desvío, como siempre, del tema: teléfono móvil y libertad. Cada día los teléfonos son más multitarea: MP3, MP4, juegos, 3D, TV, Bluetooth, WAP, compras a través del teléfono, monedero, MMS, … ¡y también se puede hablar y enviar mensajitos de texto! Parece claro que todo este desarrollo no lo lleva a cabo únicamente el constructor del teléfono (Sony, Nokia, Motorola, …) parte ha de ser trabajo de terceros; desde el operador (Telefónica, Vodafone, Orange,…) hasta compañías mucho más pequeñas que desarrollarán software para modelos específicos ó para entornos operativos específicos.

En este momento cada operador dispone de su propio sistema operativo embebido y embarcado en cada teléfono. Cada modelo de terminal tiene sus propias características, hardware y procesador. Incluso en la misma familia de teléfonos existen diferencias. Esto nos lleva a la siguiente cuestión, ¿es económico/posible publicar software[1] independiente para un teléfono? Ahí el terreno se vuelve muy pantanoso.

En principio muchos de los fabricantes tratan de implementar una versión de la máquina virtual compatible con los estándares de Sun. De esta manera, un desarrollador independiente podría desarrollar soft en Java-móviles y luego publicarlo para descargas, ¿no? Pues sí, estamos de enhorabuena, porque efectivamente se puede desarrollar para teléfonos móviles. Sin embargo, si creíamos que se puede programar sin pasar por el aro, vamos daos.

En mi corta experiencia en móviles, estoy desarrollando un código que necesita tener acceso a Bluetooth y a cámara. El problema viene a la hora de acceder estos dos dispositivos. El modelo de seguridad que propone Sun entiende que es inseguro permitir que una aplicación Java conecte la cámara (o el Bluetooth, o se conecte a la web, o acceda a la agenda, … [2]) A causa de esto el usuario recibe dos inquietantes mensajes:

1. La aplicación no es segura desea instalarla –> esto turba mucho al usuario.
2. (cada vez que se quiere acceder a la cámara) Esta aplicación quiere abrir la cámara ¿qué te parece eso? –> esto incomoda mucho al usuario.

Como mínimo es incómodo para el usuario, ¿si? La única solución es firmar el instalador y eso significa contactar con Verisign o con Twateeeee o con quién tú quieras y pagar [3]. Como bien sabéis, Hasefroch lleva incorporando firmas a sus .exe desde hace algunos años. Así que te pones manos a la obra, primero la documentación, luego la blogosfera, luego la articulo-sfera, luego, … te encomiendas a los ángeles. Pero el teléfono sigue dándote el clásico: firma chunga, ¡pírate! Es descorazonador, es pesado, es frustrante.

Sin embargo continúas bregando y finalmente llegas a firmar un MIDlet válido. Casi parece cosa de magia, estás tocando el cielo con los dedos. Afortunadamente llega Sony-Ericsson para dar por el culo, ¿es que eres tú más listo que Sony que sabe lo que nos conviene?, lo dudo chico! Casi literalmente, thread tras thread de su foro de soporte a desarrolladores, Sony insiste: si quereis certificados válidos tendréis que pagar. ¡¡ WTF !! ¿soy un pequeño desarrollador y tengo que retratarme sólo para programar? ¡¡pero qué cojones!!

Este tipo de políticas me molestan, me ofenden, me hacen enfadar y permanecer fiel a mi viejo (pero minúsculo) teléfono ¿Para qué voy a actualizar mi máquina si no me dejan hacer nada con ella? En este punto no me queda mucho más que decir que ¡viva el IRC! ¡viva Jabber! y vivan las albóndigas de mi abuela! Pero que le den por saco a todo aquel que quiera levantar monopolios (sean portátiles o no)

[1] Entiéndase software como “software serio”, claro
[2] Es decir, las restricciones son, en muchos casos, razonables.
[3] Y a mi no me gusta pagar sólo por desarrollar, puestos a pagar, las ponemos sólo cuando toque.