Herramientas para hacer juegos multiplayer en Flash

Si ya has hecho un juego para Flash, este artículo seguramente te interesará. Probablemente ya hiciste un juego para esta plataforma, y tienes curiosidad por incluir a varios jugadores en un mismo juego.

Hacer juegos multiplayer en Flash ciertamente requiere algo más que el editor de Flash, pues los compilados que se publican no poseen las capacidades necesarias para fungir de servidores. En otras palabras, no es posible hacer conexiones y obtener datos utilizando solamente los SWFs que saca Flash, debido a obvias restricciones de seguridad. En términos simples, no quieres estar recibiendo alegremente conexiones de otras partes del mundo mientras usas Flash en una página.

Conexiones a servidores de Flash
Los SWF que publica Flash no pueden conectarse a las computadoras de otras personas. Necesitamos un servidor que haga esta tarea.

Luego, la solución indicada es tener un servidor al que todos los SWFs se puedan conectar y desconectar. Inicialmente, Macromedia (ahora Adobe) lanzó el Flash Communication Server, luego rebautizado como Flash Media Server. Este servidor tiene excelentes características para desarrollar una aplicación multiusuario, ya que utiliza una versión del lenguaje Actionscript para el servidor. Ahora, estamos hablando de que una licencia cuesta varios miles de dólares.

Red5 logo Es entonces cuando podemos ver otras alternativas más económicas e igualmente útiles. La primera y más popular es el proyecto Open Source llamado Red5. Red5 es funcionalmente un clon de Flash Media Server, y está basado en Java. Requiere el ambiente de ejecución de Java (el JDK) para poder correr. Esto tiene varias implicaciones: es necesario saber bastante de Java para poder aprender los conceptos de Red5 y poder programar aplicaciones en este servidor. La otra implicación es que se requiere de una compañía de hosting que ofrezca hospedar aplicaciones en Java, cosa que sabemos no es tan común como los planes con ASP o PHP.

Con respecto al primer punto, sin embargo, Red5 ha resuelto el problema en parte ofreciendo maneras de interpretar varios lenguajes para hacer las aplicaciones. Javascript, Ruby y Python son algunos de estos lenguajes, por lo que se puede aprovechar el conocimiento que ya se tienen de estos y no tener que aprender Java.

Con respecto a la documentación, está todavía en desarrollo, y aunque hay muy buen material que viene con el servidor, hace falta organizarse, leerlo y digerirlo varias veces.

SmartFoxServer Lite logo Otra alternativa, ya comercial, es SmartFoxServer. Esta gente provee un servidor también basado en Java, pero la programación se concentra principalmente en los clientes, de acuerdo a lo leído en la documentación. Tiene también soporte para programar en Actionscript para el servidor. Su versión PRO, que es la que trae la mayor cantidad de características, tiene una licencia ilimitada por un costo mucho menor al Flash Media Server, y además ofrecen las versiones BASIC y LITE, siendo la BASIC mucho más económica y la LITE completamente gratuita. SmartFoxServer se publicita principalmente a través de la página gotoAndPlay(), en donde hay una variedad de juegos creados con su servidor, tutoriales, y un foro de soporte. En fin, no me parece una solución descabellada.

Probablemente hayan otros servidores por allí, pero al menos sé que Red5 está comenzando a formar una comunidad de gente, y es una alternativa totalmente factible para hacer aplicaciones multiusuario.

10 comentarios sobre “Herramientas para hacer juegos multiplayer en Flash”

Deja un comentario