Programación de videojuegos para móviles

Videojuegos para móviles
El mundo de los videojuegos lleva muchos años dando ingentes cantidades de dinero a desarrolladores y empresas de software. Quizá no tanto en España, es verdad, pero la razón no es otra que la falta de calidad, originalidad y, sobre todo, presupuesto para su producción. Muchas veces la calidad y la originalidad van muy de la manita con el presupuesto, ya que, si no hay pelas, no hay tiempo que invertir, ergo no hay neuronas que quemar para que el movimiento de esa patada circular voladora no parezca una transición cutre entre dos sprites en distintas posiciones.
No señores, en España no hay una industria videojueguil al estilo yanqui o nipón. Y es una pena, porque el talento que se pierde sólo por no querer (o no saber) aprovechar el tirón del mercado, vale mucho más que los millones de euros que se invierten en superproducciones de motor gráfico encorsetado en las que lo mismo da matar aliens que vacas radiactivas voladoras.
Un dato: España está a la cola (pero a la cola, cola) en desarrollo de videojuegos. Otro dato: España es el cuarto mercado europeo en cuanto a número de ventas de videojuegos (detrás de Reino Unido, Alemania y Francia). ¿Qué está pasando? ¿Nadie le da al coco para ver el negocio?
Es cierto que existen honrosas excepciones, por supuesto, como Pyro Studios y Virtual Toys, que son, entre otras pocas, dos de las empresas españolas punteras en desarrollo de videojuegos para las distintas plataformas. Pero el problema de la financiación y la distribución sigue siendo acuciante. Y en este país no se está por la labor.
Recuperar la esencia de los ochenta, cuando firmas como ERBE, Topo Soft, Dinamic, Opera Soft o Zigurat llevaron a la cumbre al software español con títulos como «Abu Simbel Profanation», «La abadía del crimen», Army Moves», «Las tres luces de Glaurung» o «París Dakar», ya parece una misión imposible. ¿O no? Y es que parece que la industria da un respingo y se pone en pie gracias a los videojuegos para dispositivos móviles, más concretamente para teléfonos celulares.
El mercado español de videojuegos ha asomado la cabeza y se centra en el desarrollo para móviles, considerado como uno de los segmentos de mayor crecimiento a nivel mundial, junto con los juegos Flash para la Web. Estos productos requieren inversiones mínimas frente a los miles de euros que se necesitan para desarrollar un juego para una consola normal; a excepción de la plataforma PlayStation que, además de esos miles de euros, necesitarás varias cajas de analgésicos, antiácidos y, probablemente, un par de mesecitos en algún que otro centro psiquiátrico si consigues finalizar el proyecto (esto es debido a la propia política de Sony, que sólo quiere juegos de calidad desarrollados por empresas con mucha pasta y mucho tiempo libre, como vino a decir recientemente Kazuo Hirai, directivo de la multinacional).
El creciente desarrollo de dispositivos y redes móviles y el perfil de los consumidores de videojuegos en España son los ingredientes perfectos para un cóctel explosivo en el mercado de los videojuegos. Además, la inversión de producción se ha reducido tanto que cualquiera en su casa con un ordenador puede desarrollar un videojuego para móvil prácticamente con un mínimo esfuerzo y una curva de aprendizaje muy suave. ¿Qué es necesario? ¿Me puedo forrar con esto? ¿Me haré multimillonario y las chicas del Bar Coyote se me tirarán al cuello?
Tranqui, tranqui. Vamos por pasos.
Los juegos para móvil están, prácticamente el 99%, programados en J2ME, un subconjunto del lenguaje Java con las principales bibliotecas reconfiguradas para ser adaptadas al hardware de los móviles. El lenguaje Java, inventado por Sun Microsystems a mediados de los años noventa originalmente para controlar lavadoras y otros electrodomésticos, fue rápidamente portado al ámbito informático debido a su robustez y, sobre todo, a la independencia de la plataforma en la que se ejecute, ya que, por medio de consolas virtuales, un programa desarrollado en Java puede ejecutarse de igual manera en un PC bajo Windows, en un sistema operativo Linux, en un Mac, en un teléfono móvil, en un Pocket PC, etcétera.
Esta característica ha conseguido que Java se convierta de facto en un estándar de programación de aplicaciones para teléfonos móviles, porque todos los desarrolladores de sistemas operativos para celulares incorporaron compatibilidad con este lenguaje desde el minuto cero.
La edición Java 2 Micro Edition (J2ME) se desarrolló con el propósito de habilitar aplicaciones Java para pequeños dispositivos con capacidades restringidas, ya sean gráficas, de procesamiento o de memoria. Posee unos componentes básicos adaptados de su hermano mayor y otras virtudes dirigidas específicamente a las características intrínsecas de un teléfono móvil, como manejo de redes telefónicas, conectividades varias o conexión GPS.
Para desarrollar un programa, juego o no, en J2ME sólo será necesario cualquier editor de texto ASCII plano (léase el Bloc de notas de Windows), un copilador estándar de Java y las API de configuración, todo ello descargable desde el sitio web para Java de Sun Microsystems.
Además de lo anterior, necesitaremos, como es obvio, unos conocimientos de programación en Java desde básicos hasta profesionales, en función de la aplicación que queramos desarrollar. Y, por supuesto, un teléfono móvil para poder cargar nuestro proyecto cuando esté compilado, depurado, libre de errores y comprobado en un emulador. ¿Dónde puedo adquirir los conocimientos para desarrollar mi propio juego? Pues mira, no me voy a andar por las ramas, aquí: http://www.lcc.uma.es/~galvez/ftp/libros/J2ME.pdf. Este es un libro muy bueno, en formato PDF, dedicado exclusivamente al desarrollo para la plataforma J2ME y escrito por ingenieros informáticos de la Universidad de Málaga.
Como se puede comprobar, con una serie de conocimientos y algunas herramientas de desarrollo gratuitas podemos embarcarnos en la programación de nuestro primer juego en Java. Coste cero; tiempo mucho. ¿Qué hacemos después? Venderlo, por supuesto. No nos vamos a quedar con nuestro flamante juego instalado en nuestro móvil sin que el resto de la humanidad disfrute de nuestra genial creación.
Pues sí, los juegos Java para móviles son más fáciles de colocar en el mercado de lo que te crees. Existen empresas como Greystripe que se dedican a distribuir juegos para móviles de manera gratuita financiados por publicidad incluida en el propio juego, lo que llaman los cursis ad-supported mobile games. Esta empresa que os comento en concreto es propietaria del portal GameJump, el cual se dedica a la distribución de juegos gratis para móviles en los que se incluye publicidad. Este modelo de negocio, terriblemente menospreciado y vilipendiado en un principio, está haciendo de oro de Greystripe: servir anuncios en momentos concretos del juego que no interrumpan la partida, como por ejemplo al principio y al final de la misma, entre niveles o fases, etc., a cambio de disponer del juego sin soltar un euro.
Lo bueno del tema es que la mayoría de los desarrolladores de los juegos de GameJump son pequeños programadores independientes (como tú o como yo) con dificultad para distribuir sus títulos mediante grandes operadoras nacionales y que aquí encuentran un hueco para hacerse megafamosos y muchimillonarios… o al menos un poquito. O si no, otra opción, podría ser vender tus propios juegos de manera particular o por medio de un página web propia, algo más engorroso y con menos repercusión, pero mucho más ventajoso si cuaja.
Visto lo visto, si a alguien le apetecía meterse en este mundo y siempre había pensado que esto es terreno vedado a grandes compañías y gurús megabíticos, que sepa que es un mundo al alcance de cualquiera y, sobre todo, una profesión muy divertida. A ver quién no quiere ganar pasta pasándose el día jugando, ¿eh? Un placer, digo.
Llega el JPEG XR ¿para quedarse?

Diferencia entre una imagen JPEG y una de alta definición
El nuevo formato gráfico de Microsoft llamado HD Photo (High Definition Photo), y registrado en la ISO con el nombre de JPEG XR, ya ha sido aceptado y estandarizado con la norma ISO/IEC 29199-2
Dos años después de que la empresa de Redmon comenzará los trámites para que la Organización Internacional para la Estandarización aceptara su nuevo invento, la espera ha dado sus frutos y ya está aquí el formato que revolucionará cámaras digitales, teléfonos móviles, páginas web, aplicaciones multimedia y un largo etcétera.
JPEG XR, al que también llaman Windows Media Photo, es un formato gráfico similar al JPEG pero con dos características importantísimas. La primera es que, según dicen, es capaz de reducir en un 50% el tamaño de los actuales archivos de imagen JPG; la segunda se refiere a la calidad de imagen, y es que parece ser que la pérdida por compresión es casi nula. En síntesis, este formato creará archivos de imagen JPG mucho más pequeños y con mucha mejor calidad que los actuales. La cuadratura de círculo, vaya.
El formato dispone de una paleta de colores más amplia, por lo que es capaz de capturar mayor nivel de detalle. Además su factor de compresión es mayor y posee soporte para tratamiento de imágenes desde las cámaras de fotos. Tiene la posibilidad de generar imágenes con o sin pérdida, pero aun siendo sin pérdida, los archivos resultantes son menores que los anteriores JPG.
JPEG XR ha sido recomendado por la ITU (International Telecommunication Union) y ha recibido ya el apoyo del fabricante de cámaras de fotos Hasselblad y de las compañías Foveon, ARM y Novatek. Asimismo, Adobe respalda el proyecto e introducirá el formato como una extensión para su Photoshop, lo que permitirá trabajar directamente con JPEG XR desde el software de edición fotográfica.
Lo bueno del tema, y en eso sí que ha acertado Microsoft, es que al convertirlo en un estándar cualquier empresa podrá implementarlo en sus productos, ya sean de software o de hardware. Estrategia totalmente novedosa para estos chicos que acostumbraban a inventarse formatos propietarios que sólo podían utilizarse en y desde Windows, queriendo encima vendernos la moto de que eran lo mejor de lo mejor inventado en la historia de las invenciones del mundo mundial.
De momento Windows Vista y el recién llegado Windows 7 ya soportan el formato, antes incluso de que fuera estandarizado. Además, Microsoft ofrece un SDK para usarlo en otras aplicaciones de manera gratuita. Vamos que están que tiran la casa por la window.
Ahora sólo queda esperar a ver si este nuevo estándar se convierte en algo utilizado masivamente por fabricantes y desarrolladores (particular y personalmente creo que debería ser así) o si, por el contrario, asistimos a un monumental batacazo como sucedió con el JPEG 2000. El tiempo lo dirá.
Matrículas geek (II)

Aquí un soporte digital...

... y aquí uno magnético

¡Ayuda, ayuda!

Transferencia de archivos al más puro estilo Audi
Protege tu WiFi… ¡ya!

WiFi
Cansado de ver como las redes WiFi sin ningún tipo de protección, o prácticamente nula, proliferan por nuestras ciudades, me decido a publicar este post para aclarar algunos conceptos básicos acerca de la seguridad de esos aparatitos con antena que todos tenemos ya en casa y pueden resultar muy, pero que muy, peligrosos para nuestra integridad física. (¡Joé, tas pasao! No creas, no creas).
-¡Cariño! Acaba de llegar el router de Telefónica. Vamos a enchufarlo y a empezar a descargar pelis que estoy que me subo por las paredes de aburrimiento desde que se nos ha escogorciado el Digital Plus.
Hoy en día cualquiera instala un router en su casa; es trabajo para tontos. Te llega perfectamente empaquetadito, tan blanco impoluto, tan brillante, son sus lucecitas de colores. Plug and play, oiga; que usted lo conecta aquí y allá y, cómo se lo enviamos ya configurado, pues no tiene que hacer nada de nada. A navegar se ha dicho.
Todos los proveedores de acceso a Internet envían sus aparatos previamente configurados con tus datos de acceso y con una serie de características de determinada manera que, a priori, suponen ellos que van a ser las ideales para la utilización de la conexión en tu casa o trabajo.
Has de saber que, de fábrica, la contraseña de acceso a los routers suele ser algo así como 1234, admin, 0000 o similar. El 80% de los usuarios nunca cambia esta contraseña. También has de saber que, de fábrica, la contraseña de la red inalámbrica WiFi suele ser algo así como 2nhgt5RFT9023 o similar. El 80% de los usuarios siempre cambia esta contraseña para poner una «más amigable», o directamente la desactiva.
¿Ahora te das cuenta de lo fácil que es acceder a tu ordenador? Sólo tengo que detectar tu WiFi con mi portátil y conectarme sin contraseña. Ahora accedo a la configuración de tu router con la clave 1234 y me mapeo un par de puertos o tres apuntando a tu dirección IP local. ¡Hasta la cocina, oiga!
¿Sabías que la mayor parte de las pymes tiene las redes configuradas tan mal como los usuarios domésticos? Ten en cuenta que muchas empresas no disponen de personal con conocimientos informáticos suficientes para configurar un router. Esto ya es más problemático, porque estamos hablando de poner en peligro datos muy sensibles.
Una persona que acceda a tu red puede llegar a controlar cualquier elemento de la misma. Y no sólo eso, sino que puede cometer delitos electrónicos en tu nombre, instalar troyanos que descarguen pornografía infantil, saturar tu conexión, infectarte con virus, robar tus datos y un largo etcétera. (¿Entiendes por qué decía antes lo de peligrar tu integridad física? ¡Aaaah! Ahora sí).
¿Y como hago para proteger correctamente mi WiFi? Pues ahora mismo vamos a comentar una serie de puntos imprescindibles para llegar a disponer de una seguridad del 99,99%. El 100% nunca existe en el mundo de la informática. Ten en cuenta que ofreceremos puntos escuetos de información sin ahondar en cada uno de ellos ni dar explicaciones técnicas. Probablemente, si no tienes mucha idea, deberás acudir a sitios web en los que expliquen el funcionamiento de la configuración de tu router y dónde está cada cosa, y quizá al tío Google para conocer cómo modificar algunas opciones de configuración de tu sistema operativo.
Los puntos están expuestos de menor a mayor grado de paranoia, esto es, cuanto más cumplas hacia abajo más paranoico eres con la seguridad de tu WiFi. Cumplir todos significa que algo muy rarito tienes que ocultar…
PUNTO 1. Cambia la contraseña de tu router, por el amor de Dios. Escribe una que combine letras, mayúsculas y minúsculas, y números, pero que recuerdes fácilmente; tampoco te pases.
PUNTO 2. Utiliza encriptado WEP2 como poco. Nunca dejes tu WiFi sin contraseña.
PUNTO 3. Cambia el SSID, esto es, el nombre con el que aparece tu WiFi cuando se detectan redes. Olvídate de escribir tu nombre o el de tu empresa, que a nadie le interesa.
PUNTO 4. Desactiva el broadcast, o sea la aparición pública del nombre de tu red inalámbrica. De esta manera cuando alguien busque redes, la tuya como que no existe.
PUNTO 5. Desactiva el DHCP de tu router. Esta característica hace que el propio router asigne direcciones IP a los equipos que se conecten a él. Te pones una IP fija y listo.
PUNTO 6. Activa el filtrado por direcciones MAC. Esta es la dirección fija de cualquier dispositivo de red. Es una serie de valores hexadecimales que identifican a un único dispositivo de red en todo el mundo (algo así como la matrícula de un coche o el DNI de una persona). Con esta opción podrás permitir el acceso a la red sólo a los aparatos que tú decidas: el ordenador de sobremesa, el portátil, la Wii, el pocket PC, etcétera.
PUNTO 7. Desactiva la característica de compartir impresoras y archivos en tu sistema operativo. A no ser que sea estrictamente necesario no tienes por qué compartir nada.
PUNTO 8. Desactiva el protocolo NetBios sobre TCP/IP. Con esto cierras la puerta a muchos ataques externos que intentar acceder a tu equipo vía Internet como si fuera uno más de una red LAN.
PUNTO 9. Cambia la máscara de subred de las propiedades de tu conexión para restringir el número de dispositivos en tu red. Por ejemplo, si pones 255.255.255.252 sólo admitirá dos dispositivos, configurados adecuadamente con su IP fija.
Con estos nueve puntos creo que será más que suficiente para, al menos, ponérselo muy muy difícil a los posibles atacantes o ladrones de WiFi. Aunque, como he comentado anteriormente, nada es seguro al 100%. Así que, como decían los manifiestos hacker de hace quince años, be paranoid. Es la única manera.
Cómo escribir código VB .NET puro
Habrás leído mil veces en otras tantas páginas web que a la hora de diseñar tu aplicación en Visual Basic .NET, lo ideal es olvidarse del antiguo Visual y aprender a generar código puro para el Framework .NET. El problema es que si estás en proceso de adaptación a la nueva plataforma, es más que probable que no sepas cuando estás utilizando una instrucción que viene de antiguo y cuando no.
El quid de la cuestión está en el espacio de nombres Microsoft.VisualBasic
, que Visual Studio importa por defecto a tus nuevos proyectos debido a esa sempiterna manía de Microsoft de lo que denominan «compatibilidad hacia atrás», y que a veces es tan bueno y otras veces no tanto. Al principio esto puede parecer útil en un proceso de migración, pero en última instancia te va a resultar contraproducente en tu nuevo proceso de adaptación y aprendizaje.
Vale, y entonces ¿cómo lo hago? Muy fácil, chaval. Te voy a contar un truco de cosecha propia que reducirá tu curva de aprendizaje sustancialmente.
¡Venga, venga, dime! Ya voy, no te aceleres.
Cuando escribas código procura utilizar siempre clases nativas de .NET. Yo no te voy a contar qué se puede y qué no se puede usar, lo puedes encontrar en multitud de sitios web y en la propia documentación de migración de Microsoft. Al terminar el proceso de desarrollo, vete a las propiedades de la aplicación, a la pestaña Referencias, y desactiva la casilla de verificación del espacio de nombres Microsoft.VisualBasic
. En este momento, todo tu código se llenará de preciosos errores allí donde haya un pedazo antiguo y no soportado en .NET de forma nativa.
Ahora ya puedes ir depurando cada error hasta que Visual Studio te vuelva a dejar compilar tu bonito assembly libre de código obsoleto.
¡Chupao!