¿Qué es y porqué existe el HomeBrew?


Existe un tipo de software denominado homebrew, el origen del uso de esta palabra se remonta al año 1975 donde el denominado Homebrew Computer Club celebró su primer encuentro en el garaje de uno de sus miembros en California, los miembros de este club eran aficionados al por entonces aclamado ordenador Altair 8800, algunos de los miembros más destacados de este club son: Steve Jobs y Steve Wozniak que a posteriori fundadoronde la multinacional Apple Inc. En la reuniones que celebraban se intercambiaban todo tipo de conocimientos técnicos en hardware y software.

En español el término homebrew podría traducirse por software casero, es decir son programas, aplicaciones o juegos realizados por usuarios a nivel experimental o amateur, dichas creaciones realizan o amplían determinadas funciones de una consola.

Los fabricantes de consolas no quieren bajo ningún concepto que los usuarios desarrollen juegos pues ellos exigen a las desarrolladoras de videojuegos como UbiSoft, >PolyPhony Digital<, etc. el pago de carísimas licencias o royalties (comisiones) sobre las ventas por desarrollar un juego para su plataforma. Es decir que cobran primero a la productora del juego por el software de desarrollo o Developer kit, luego por la licencia para sacar determinado título al mercado y luego al usuario final por adquirir el juego, un negocio totalmente redondo.

Las grandes compañías que desarrollan videojuegos pagan de buen grado esas grandes sumas de dinero pues así se garantizan la no existencia de pequeñas desarrolladoras que con menos medios, mucho esfuerzo y altas dosis de originalidad puedan llegar a sacar al mercado un buen título que haga temblar la estabilidad de los grandes cuyo coste de mantenimiento en el mercado es muy alto debido a su gran tamaño.

Un usuario avanzado, un desarrollador autónomo no puede permitirse pagar la licencia para poder desarrollar un videojuego para una determinada consola, además las licencias las venden a cuentagotas para poder tener controlados los títulos que ellos consideran son los correctos para su sistema de juegos y además limitan a su voluntad la vida de su consola, que sacan una nueva consola al mercado... pues no venden más licencias de la anterior y así se aseguran que todos trabajen para la nueva consola.

El homebrew llega a poderse introducir en las consolas normalmente a través de pequeños descuidos de seguridad en las mismas que permite reventar su seguridad para poder cargar y ejecutar el código casero en ellas. La distribución de los programas homebrew suele ser gratuita y una simple búsqueda en Google puede darte fáciles pistas de como hacerte con cualquier aplicación homebrew que necesites.


¿Qué consolas disponen de HomeBrew?

De las consolas actuales, esas que llamamos de nueva generación, las únicas que a día de hoy está ejecutando código homebrew es la Sony PSP y la >Nintendo DS<.

Sobre las consolas de Sony, la reina del homebrew es la PSP es una consola que tardó menos de un mes en petarse, es decir en reventar su débil sistema de seguridad, desde entonces se han podido ver numerosas aplicaciones caseras para esta consola entre las que destacamos los excelentes emuladores que te permiten jugar con cualquier juego de Neo-Geo o cualquier R.O.M. de M.A.M.E. en tu consola portátil.

Para Nintendo DS existen programas de todo tipo, por algo es la consola más vendida de todas las portátiles, entre ellos destacamos el popular reproductor de música en formato MP3 WinAmp así como los emuladores como [[pomDS]] que emula un ordenador Apple de primera generación o el reciente [[SvIP]] que permite utilizar la Nintendo DS como si fuese un teléfono móvil a través de IP gracias al aprovechamiento de la conectividad WiFi que incorpora la consola.

La consola portátil anterior de Nintendo, la GameBoy también dispone de su cultura homebrew.

La consola de salón de Nintendo >GameCube< también dispone de Homebrew, no así de momento la >Nintendo Wii< aunque según se oye en la >scene< muy pronto se podrá cargar software casero a través de memorias SD.


La >Xbox Classic<, una consola de juegos que si vendió algo fue quizá por su capacidad de ejecutar código casero, aún si bien para conseguir ejecutar código debías instalarle un chip. Alguno de los programas caseros emblemáticos que se podían ejecutar en esta máquina eran M.A.M.E el emulador de máquinas de bar por excelencia que te abría las puertas a disfrutar de las máquinas de antaño en la TV de tu casa con tan sólo encender la consola y ejecutar el emulador con cualquier R.O.M. que tuvieses instalada en el disco duro de la consola o bien a través de algún DVD grabado.

Por otro lado se desarrolló el llamado Xbox Media Center, un software casero que convertía tu Xbox en una máquina capaz de reproducir todo tipo de medios de video y audio, incluido el el popular DIVX, muchos cambiaban el disco duro de su consola, que era de unos 8 gigas escaso por uno mucho mayor, en aquella época hasta 120 Gb. para literalmente llenarla de MP3 a través de la conexión ethernet que disponía la consola y disfrutar de horas y horas de música enlatada.

El exceso de sistemas de protección incorporados en la consola de última generación de Microsoft, la >Xbox 360< ha sido suficiente hasta el momento para convertirla en una auténtica fortaleza que evita la ejecución de homebrew, aún existiendo unos pocos >chips< para esta consola así como una modificación del firmware del lector que permite cargar copias de seguridad la scene aún no ha dado con la fórmula mágica para poder introducir software casero.


¿Qué necesito para crear mis propios juegos homebrew?

Necesitas un buen kit de desarrollo, entendiéndose como kit el conjunto de herramientas o programas necesarios para todos los procesos de desarrollo del videojuego.

El kit de desarrollo o developer kit suele contar con los siguientes elementos:

Editor de código fuente,el depurador o debugger, las librerías gráficas, de sonido y de entrada de datos necesarias y el compilador encargado de realizar el ejecutable.

Además si vas a desarrollar software para una plataforma que no es la misma que en la que estás escribiendo el juego, lo más probable o interesante es que dispongas de un emulador para poder comprobar el desarrollo conforme lo vas creando.

Dependiendo del dispositivo necesitarás programar en un lenguaje u otro siendo el más común el lenguaje C++ no obstante para programar para dispositivos telefónicos, es decir juegos o aplicaciones para móviles, estos suelen desarrollarse en lenguaje Java.


Si desarrollas tanto en PC como en Mac como en Linux, existe un entorno de desarrollo multiplataforma totalmente gratuito llamado Eclipse que es fenomenal aunque algo complejo en cuanto a instalación y creación de los primeros proyectos, superado este primer bache Eclipse te dará muchas alegrías.