«Tengo una idea para un juego y quiero protegerla»

Últimamente ha llegado gente a este sitio buscando cómo proteger las ideas que tengan para sus juegos. Puedo suponer que el tren de pensamiento es: «He pasado mucho tiempo desarrollando esta idea y poniéndola en el papel, y no quiero nadie me la robe». Y puede ser que, efectivamente, tengas toda una cuestión puesta en papel y quieras asegurarte que nadie se copie tu idea.

La verdad es la siguiente: a nadie le importa tu idea. Lo realmente importante es la implementación. Me explico en términos un poco más diplomáticos: lo realmente importante en un videojuego es tener una implementación de la idea que hayas tenido. ¿Por qué? Porque siempre en el trayecto de la idea a la implementación habrá un trecho largo, en el que verás que algunas cosas no funcionan, o las cambiarás, o agregarás cosas nuevas. El hecho es que la dinámica de las reglas de juego sólo se puede ver cuando una sesión de juego está en marcha. Y ahí está la diversión para el jugador, no está en el papel con los bocetos del juego.

En conclusión, si tienes una idea para un juego, y quieres protegerla, implementa tu idea. Llévala a un videojuego o a un juego de mesa. Un producto tangible como ello puede ser protegido por el copyright. Un simple conjunto de ideas en papel no puede serlo, más allá de el valor artístico de las páginas donde las hayas plasmado 😛 .

* Foto por C.A.P.

Usando bitmaps en Flash

[SWF]/wp-content/uploads/2008/06/test.swf, 400, 200[/SWF]

A partir de estos días estaré aprendiendo a utilizar Bitmaps en Flash. A diferencia de la programación usual en Flash, ej. dibujos vectoriales, la programación con bitmaps tiene sus particularidades. La idea es hacer cosas con un estilo pixel art. Lo retro es bonito. Estoy comenzando a leer, y conseguí una serie de 2 partes extremadamente básica para manipular Bitmaps en Flash, pero necesarias si no se conoce mucho del tema: Jugando con Pixels (I), y Jugando con Pixels (II). Sirve también la documentación Livedocs de Adobe: Las clases Bitmap y BitmapData.

Fomentando la Innovación con Brad Bird, de Pixar

The IncrediblesLa innovación es una cuestión muy curiosa. La innovación es algo que buscan las empresas, aunque suelen usarlo como un medio, para obtener un producto que los diferencie. Lo cierto es que la innovación es más bien un proceso, es algo que requiere estar encima de ello, dedicado, para poder obtener buenos resultados.

Además de ser un proceso, la innovación es riesgosa también. Implica sacar cosas que no sirven, pero también implica sacar cosas que pueden ser extremadamente exitosas. Y sin embargo, eso es algo que no se sabe mientras se está haciendo algo nuevo. El que está en esta actividad se guía por una suerte de intuición dada por la intensidad con la que está trabajando. Me refiero al estado de flujo.

En fin, todo esto viene debido a un resumen que leí de una entrevista a Brad Bird, director de las películas Los Increíbles y Ratatouille, en el que resume en 10 puntos qué se debe hacer para fomentar la innovación. Él habla de los animadores, por supuesto, pero son puntos igualmente válidos para un negocio que requiera innovar para seguir en el negocio. Los puntos son:

  1. Manejar a tus ovejas negras. Ovejas negras, aquellos que no están contentos con cómo se hacen las cosas, y quieren probar que tienen razón.
  2. La perfección es enemiga de la innovación. Cortar algunas esquinas es totalmente válido.
  3. Busca la intensidad.
  4. La innovación no ocurre en un vacío. (Esto me recuerda que me gustaría ver más gente discutiendo ideas, cualesquiera que sean)
  5. La moral alta hace barata la creatividad. Lo de siempre, gente feliz le sale la creatividad por los poros.
  6. No trates de «proteger tu éxito». No trates de «ir por lo seguro».
  7. Interacción (con otras personas) == Innovación. Es por esto que las universidad existen: para meter un montón de gente muy inteligente a discutir ideas.
  8. Alienta el aprendizaje inter-disciplinario.
  9. Deshazte de los enlaces débiles. Cito del artículo: «¿Qué retrasa a la innovación? — La gente pasivo-agresiva — aquellos que no se comunican de frente al grupo pero luego hablan mal a las espaldas — son ponzoñosos.«
  10. Hacer $$ no puede ser tu foco.

Pixar’s Brad Bird on Fostering Innovation

Tutorial de Pixel Art

Un simpático tutorial para hacer pixel art, sepas o no utilizar Photoshop, tengas o no habilidades para ilustrar. Su autor, Rich Grillati, de PixelJam, da unos cuantos tips para lograr las mejores formas con la menor cantidad de pixeles posibles. El Pixel art es muy práctico debido al estilo retro que le da a tu videojuego, y al relativo poco esfuerzo necesario para hacer algo agradable.

(Via TIGSource)

Fondos de películas animadas. Para inspiración.

Sencillamente Rob Richards agarró una buena idea y la puso en práctica.  Con una buena frecuencia, Rob en Animation Backgrounds publica uno o dos fondos que se utilizan en películas animadas de ayer y hoy, como Cenicienta, La Bella Durmiente, o el Correcaminos. Un excelente aporte para aquellos que necesitan de ideas para crear fondos para los juegos.

Justo lo recomendado si necesitas hacer fondos para juegos de aventura. Visita Animation Backgrounds.

Movimientos de personajes en Juegos RPG tipo Zelda, por Cristalab

Tutorial de Cristalab

Cristalab publicó un excelente tutorial en Flash y en español acerca de cómo lograr movimientos de personajes en un ambiente 2D, tipo juegos de RPG como Final Fantasy. El tutorial utiliza ActionScript 3, será que comencemos a movernos para esta versión los que aún estamos con AS2 😛

Foros de programación de juegos en español

He estado intentando ubicar foros de programación, específicamente de juegos, de hispanohablantes. Hasta ahora he ubicado los foros de Stratos-Ad, que está bien establecido, y con una buena cantidad de gente. De ellos mismos está el agregador Planet Stratos, con blogs de otros desarrolladores (100% recomendado). Si alguien me puede recomendar otro, puesbienvenido sea 🙂

UPDATE 1: No se me puede olvidar el foro de la IGDA Caracas, que aparentemente está muy muy quieto durante estos meses, pero espero que eso cambie.

UPDATE 2: Roberto compiló una excelente lista de foros en un solo artículo, y cito a continuación. Visita su blog y encontrarás otros tips de programación interesantes.

Foros en Español

Foros en Inglés

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.

Unity: Desarrollo de juegos 3D en Macs

Unity Logo

Unity ya ha hecho algo de ruido dentro de la comunidad desarrolladora de juegos, principalmente por ser una herramienta basada en Macs, una plataforma que tradicionalmente ha desfavorecido el desarrollo de juegos.

Unity, sin embargo, ha tomado una aproximación bastante acertada al desarrollo de un juego. Es un editor predominantemente visual, incluyendo librerías físicas (provistas por PhysX), librerías gráficas que soportan modelos 3D de populares paquetes, y scripting basado en Mono, una implementación Open Source de .NET. Lo último, en cristiano, es que se pueden hacer scripts en el lenguaje de tu preferencia, que Unity lo va a entender. Promete también acceso fácil a los shaders.

¿Alguno con Mac le ha dedicado algún tiempo a probar este programa?

Tutoriales de colisiones, OpenGL e Irrlicht en completo español en Black Byte

Ilustración de Black Byte

Los tutoriales de OpenGL en español son esfuerzos poco comunes, y por ello deben ser apreciados. Black Byte tiene en su página una serie de tutoriales de OpenGL con información bien completa, desde algunos fundamentos de proyecciones, hasta cómo sacar un contexto OpenGL en una ventana de Windows, pasando por GLUT, convenciones de la librería y animaciones. También incluye un tutorial de Irrlicht, un motor 3D de fácil uso.