<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
xmlns:series="http://unfoldingneurons.com/"
	>

<channel>
	<title>El Chigüire Literario &#187; Programación</title>
	<atom:link href="http://www.elchiguireliterario.com/category/programacion/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.elchiguireliterario.com</link>
	<description>Videojuegos independientes y programación en español</description>
	<lastBuildDate>Wed, 17 Mar 2010 01:06:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
		<item>
		<title>Presentación de INVENTAD</title>
		<link>http://www.elchiguireliterario.com/2009/07/25/presentacion-de-inventad/</link>
		<comments>http://www.elchiguireliterario.com/2009/07/25/presentacion-de-inventad/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 05:51:09 +0000</pubDate>
		<dc:creator>Ciro</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Recursos para crear videojuegos]]></category>

		<guid isPermaLink="false">http://www.elchiguireliterario.com/?p=1522</guid>
		<description><![CDATA[Desde hace varios meses entre varios desarrolladores hemos tenido conversaciones acerca de qué hacer para crecer como industria y atraer a estudiantes universitarios al desarrollo de videojuegos. Entre todos decidimos crear una asociación que nos permitiese seguir adelante con la organización de eventos y demás actividades para ese fin.

Esta asociación se llama INVENTAD, Industria Nacional [...]]]></description>
			<content:encoded><![CDATA[<p>Desde hace varios meses entre varios desarrolladores hemos tenido conversaciones acerca de qué hacer para crecer como industria y atraer a estudiantes universitarios al desarrollo de videojuegos. Entre todos decidimos crear una asociación que nos permitiese seguir adelante con la organización de eventos y demás actividades para ese fin.</p>
<p><img class="aligncenter size-full wp-image-1531" title="inventad" src="http://www.elchiguireliterario.com/wp-content/uploads/2009/07/inventad.jpg" alt="inventad" width="432" height="188" /></p>
<p>Esta asociación se llama <a href="http://www.inventad.org/"><strong>INVENTAD</strong></a>, Industria Nacional del Videojuego, Entretenimiento y Artes Digitales, y aunque ya la habíamos presentado en el <a href="http://www.elchiguireliterario.com/1231">Ciclo de Charlas</a>, hasta ahora solamente tenía la forma de una <a href="http://groups.google.com/group/inventad">lista de correos</a>. Como lista de correos creo que fue un éxito al albergar muy buenas discusiones acerca del <a href="http://groups.google.com/group/inventad/browse_thread/thread/0fdd721030d7cdad">modelo de negocios en Venezuela</a>, <a href="http://groups.google.com/group/inventad/browse_thread/thread/5a75e717e2621b46#">piratería</a> y, en general, <a href="http://groups.google.com/group/inventad/browse_thread/thread/ae454e70783594fb">lo que está haciendo la gente</a>. Desde la primera reunión se decidió dejar como página principal la lista y, mientras tanto, ir desarrollando una página que pudiera albergar mejor estas discusiones.</p>
<p>Esta página está ahora activa en <a href="http://www.inventad.org/">http://www.inventad.org/</a>, junto con los foros de discusión en <a href="http://www.inventad.org/foros">http://www.inventad.org/foros/</a>. Queremos que esta página se convierta en la referencia de los desarrolladores de videojuegos en Venezuela, y un punto donde los estudiantes puedan satisfacer su curiosidad acerca del proceso de hacer juegos, y qué pueden hacer mientras estudian. El registro a los foros es gratuito, así que si estás interesado puedes registrarte y presentarte por allá.</p>
<img src="http://www.elchiguireliterario.com/?ak_action=api_record_view&id=1522&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.elchiguireliterario.com/2009/07/25/presentacion-de-inventad/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>pyTower: Un framework en Python para hacer juegos tipo Tower Defense</title>
		<link>http://www.elchiguireliterario.com/2009/06/23/pytower-un-framework-en-python-para-hacer-juegos-tipo-tower-defense/</link>
		<comments>http://www.elchiguireliterario.com/2009/06/23/pytower-un-framework-en-python-para-hacer-juegos-tipo-tower-defense/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 14:17:09 +0000</pubDate>
		<dc:creator>Ciro</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Recursos para crear videojuegos]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[libreria]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[td]]></category>
		<category><![CDATA[tower defense]]></category>

		<guid isPermaLink="false">http://www.elchiguireliterario.com/?p=1469</guid>
		<description><![CDATA[
pyTower es un framework hecho en Python para hacer juegos del género Tower Defense. No es un juego como tal, sino un conjunto de rutinas para armar el juego, lo cual me pareció una aproximación bien interesante para aquellos que quieran armar un juego de este tipo rápidamente.
Si alguien lo descarga y lo usa le [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.elchiguireliterario.com/wp-content/uploads/2009/06/logo_web.png"><img class="aligncenter size-full wp-image-1470" title="logo_web" src="http://www.elchiguireliterario.com/wp-content/uploads/2009/06/logo_web.png" alt="logo_web" width="159" height="158" /></a></p>
<p><a href="http://pytower.simpsus.de/">pyTower</a> es un framework hecho en Python para hacer juegos del género <a href="http://www.handdrawngames.com/">Tower Defense</a>. No es un juego como tal, sino un conjunto de rutinas para armar el juego, lo cual me pareció una aproximación bien interesante para aquellos que quieran armar un juego de este tipo rápidamente.</p>
<p>Si alguien lo <a href="http://pytower.simpsus.de/">descarga</a> y lo usa le agradezco que comparta sus experiencias por acá.</p>
<img src="http://www.elchiguireliterario.com/?ak_action=api_record_view&id=1469&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.elchiguireliterario.com/2009/06/23/pytower-un-framework-en-python-para-hacer-juegos-tipo-tower-defense/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Tutorial para comenzar a utilizar XNA 3.0</title>
		<link>http://www.elchiguireliterario.com/2009/02/25/tutorial-para-comenzar-a-utilizar-xna-30/</link>
		<comments>http://www.elchiguireliterario.com/2009/02/25/tutorial-para-comenzar-a-utilizar-xna-30/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 18:33:03 +0000</pubDate>
		<dc:creator>Ciro</dc:creator>
				<category><![CDATA[Apartados]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Recursos para crear videojuegos]]></category>
		<category><![CDATA[Blogs]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[wiimote]]></category>
		<category><![CDATA[xna]]></category>

		<guid isPermaLink="false">http://www.elchiguireliterario.com/?p=1187</guid>
		<description><![CDATA[Les dejo con un tutorial de XNA de Oh my bug! que describe cómo instalar y comenzar a utilizar la popular librería para hacer juegos en PC y Xbox360. También les recomiendo el blog, tiene muy buenos artículos, incluyendo uno sobre cómo utilizar el WiiMote en C#.
]]></description>
			<content:encoded><![CDATA[<p>Les dejo con un <a href="http://www.ohmybug.com/2009/02/primeros-pasos-con-xna-30-y-visual-studio-2008-express/">tutorial de XNA</a> de <a href="http://www.ohmybug.com/">Oh my bug!</a> que describe cómo instalar y comenzar a utilizar la popular librería para hacer juegos en PC y Xbox360. También les recomiendo el blog, tiene muy buenos artículos, incluyendo uno sobre cómo utilizar el WiiMote en C#.</p>
<img src="http://www.elchiguireliterario.com/?ak_action=api_record_view&id=1187&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.elchiguireliterario.com/2009/02/25/tutorial-para-comenzar-a-utilizar-xna-30/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Creando juegos en Python con Cocos2d</title>
		<link>http://www.elchiguireliterario.com/2009/02/25/creando-juegos-en-python-con-cocos2d/</link>
		<comments>http://www.elchiguireliterario.com/2009/02/25/creando-juegos-en-python-con-cocos2d/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 05:56:45 +0000</pubDate>
		<dc:creator>Ciro</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Recursos para crear videojuegos]]></category>
		<category><![CDATA[cocos]]></category>
		<category><![CDATA[pygame]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.elchiguireliterario.com/?p=1181</guid>
		<description><![CDATA[
Edmundito me pasó esta librería para hacer juegos en Python llamada cocos2d, una alternativa para el venerable PyGame con el que ya hemos hecho un tutorial en este blog. Aparte de los chistes fáciles que se pueden hacer a partir de la instrucción &#8220;import cocos&#8221; para comenzar a echar código no puedo sino sugerirles a [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-1182" title="irobot" src="http://www.elchiguireliterario.com/wp-content/uploads/2009/02/irobot.jpg" alt="irobot" width="300" height="225" /></p>
<p><a href="http://www.edmundito.com">Edmundito</a> me pasó esta librería para hacer juegos en Python llamada <a href="http://cocos2d.org/">cocos2d</a>, una alternativa para el venerable <a href="http://pygame.org/">PyGame</a> con el que ya hemos hecho <a href="http://www.elchiguireliterario.com/series/haciendo-cutegodchiguire/">un tutorial</a> en este blog. Aparte de los chistes fáciles que se pueden hacer a partir de la instrucción &#8220;<tt>import cocos</tt>&#8221; para comenzar a echar código no puedo sino sugerirles a los que usan Python que le echen un vistazo a esta librería que ya comienza a utilizarse para algunos <a href="http://cocos2d.org/games.html">juegos</a>.</p>
<img src="http://www.elchiguireliterario.com/?ak_action=api_record_view&id=1181&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.elchiguireliterario.com/2009/02/25/creando-juegos-en-python-con-cocos2d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Encontronazos con ActionScript 3: Creando un hola mundo</title>
		<link>http://www.elchiguireliterario.com/2008/12/20/encontronazos-con-actionscript-3-creando-un-hola-mundo/</link>
		<comments>http://www.elchiguireliterario.com/2008/12/20/encontronazos-con-actionscript-3-creando-un-hola-mundo/#comments</comments>
		<pubDate>Sat, 20 Dec 2008 20:56:33 +0000</pubDate>
		<dc:creator>Ciro</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Recursos para crear videojuegos]]></category>

		<guid isPermaLink="false">http://www.elchiguireliterario.com/?p=1080</guid>
		<description><![CDATA[
Siguiendo con la idea de esta serie de artículos, vamos a hacer el programa más pequeño posible en ActionScript 3 (AS3) que muestre el fundamento de la programación en este lenguaje. Considero que AS3 es una forma de programar para SWF muy superior a AS2.  Una nota aparte, creo que no hay que despreciar a [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.elchiguireliterario.com/wp-content/uploads/2008/12/0-presentacion.gif"><img class="size-full wp-image-1095 aligncenter" title="0-presentacion" src="http://www.elchiguireliterario.com/wp-content/uploads/2008/12/0-presentacion.gif" alt="0-presentacion" width="243" height="109" /></a></p>
<p>Siguiendo con la idea de esta serie de artículos, vamos a hacer el programa más pequeño posible en ActionScript 3 (AS3) que muestre el fundamento de la programación en este lenguaje. Considero que AS3 es una forma de programar para SWF muy superior a AS2.  Una nota aparte, creo que no hay que despreciar a AS2, pues lo seguiremos viendo durante mucho tiempo en la forma de Flash Lite u otro tipo de contenido.</p>
<p>Este artículo requiere tener algunas nociones de programación. Manejar ActionScript 2 es opcional.<br />
<span id="more-1080"></span><br />
En el <a href="http://www.elchiguireliterario.com/2008/08/18/encontronazos-con-actionscript-3-como-hacer-juegos-con-flashflexactionscript-y-flashdevelop-gratis/">artículo anterior</a> les expliqué cómo se establecía un ambiente de desarrollo con FlashDevelop y el SDK gratuito de Flex. Una buena noticia que no había anunciado en aquel entonces es que también es posible montar este mismo ambiente en Linux: el SDK viene de caja para funcionar con Linux, y FlashDevelop está disponible para este sistema operativo. Así que no hay excusas para desarrollar para el pingüino <img src='http://www.elchiguireliterario.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  .</p>
<h3>Manos a la obra</h3>
<p>Vamos a hacer un simple SWF que muestre un cuadro de texto. Lo primero que haremos en FlashDevelop será crear un proyecto nuevo en el que irá nuestro código. Hacemos click en Create New Project para esto.</p>
<p style="text-align: center;"><a href="http://www.elchiguireliterario.com/wp-content/uploads/2008/12/1-create-project.gif"><img class="size-full wp-image-1084 aligncenter" title="1-create-project" src="http://www.elchiguireliterario.com/wp-content/uploads/2008/12/1-create-project.gif" alt="1-create-project" width="326" height="202" /></a></p>
<p>Pondremos el nombre del proyecto, que lo titularemos &#8220;HolaMundo&#8221;. La ubicación del proyecto dependerá mucho de la configuración de tu máquina, pero yo recomiendo tener una carpeta con todos los proyectos.</p>
<p style="text-align: center;"><a href="http://www.elchiguireliterario.com/wp-content/uploads/2008/12/2-new-project.gif"><img class="size-medium wp-image-1085 aligncenter" title="2-new-project" src="http://www.elchiguireliterario.com/wp-content/uploads/2008/12/2-new-project-300x242.gif" alt="2-new-project" width="300" height="242" /></a></p>
<p>Puede que parezca que hacer un proyecto sea demasiado para un simple HolaMundo. Además que en Flash es simplemente cuestión de crear un .fla. Pero el hecho es que este tipo de organización ayuda mucho en el futuro. Yo en el pasado ya he tenido muchos casos de proyectos en Flash qeu vuelvo a abrir y tengo un amasijo de imágenes y .fla en distintas revisiones. Créeme que soy responsable al afirmar que esto te va a ayudar. Palabra de programador.</p>
<p>Una vez creado el proyecto veremos que ya FlashDevelop había abierto un archivo nuevo. Vamos a darle nombre de una vez a este archivo guardándolo. En este archivo lo guardaremos específicamente con el nombre de &#8220;HolaMundo.as&#8221;. Tiene importancia y luego veremos por qué.</p>
<p>Dentro de HolaMundo.es escribiremos el siguiente código:</p>
<pre class="prettyprint">package {
    import flash.display.MovieClip;
    import flash.text.TextField;
    public class HolaMundo extends MovieClip {
        public function HolaMundo() {
            var c : String = "Hola Mundo"
            agregarTexto(c);
        }
        private function agregarTexto(cadena:String) : void {
            var textField:TextField = new TextField();
            textField.text = cadena;
            textField.x = 10;
            textField.y = 10;
            stage.addChild(textField);
        }
    }
}</pre>
<p>Ahora abriremos las propiedades del proyecto haciendo click secundario sobre el proyecto <strong>HolaMundo (AS3)</strong>, y seleccionado la opción <strong>Properties&#8230;</strong> en el menú desplegable. En la primera pestaña llamada <strong>Output</strong>, tendremos especial cuidado de nombrar el archivo de salida en la opción <strong>Output File</strong>.</p>
<p style="text-align: center;"><a href="http://www.elchiguireliterario.com/wp-content/uploads/2008/12/3-project-properties.gif"><img class="size-full wp-image-1086 aligncenter" title="3-project-properties" src="http://www.elchiguireliterario.com/wp-content/uploads/2008/12/3-project-properties.gif" alt="3-project-properties" width="372" height="431" /></a></p>
<p>Cerraremos el cuadro presionando OK. Ahora probaremos la película abriendo el menú <strong>Project -&gt; Test Movie</strong>.</p>
<p style="text-align: center;"><a href="http://www.elchiguireliterario.com/wp-content/uploads/2008/12/4-test-movie.gif"><img class="size-full wp-image-1087 aligncenter" title="4-test-movie" src="http://www.elchiguireliterario.com/wp-content/uploads/2008/12/4-test-movie.gif" alt="4-test-movie" width="179" height="221" /></a></p>
<p>Si sale una ventana pidiéndote abrir la configuración del contexto de AS3, significa que no le has indicado a FlashDevelop dónde está el compilador de Flex. Vuelve al <a href="http://www.elchiguireliterario.com/2008/08/18/encontronazos-con-actionscript-3-como-hacer-juegos-con-flashflexactionscript-y-flashdevelop-gratis/">artículo anterior</a> para asegurarte que lo has hecho bien.</p>
<p style="text-align: center;"><a href="http://www.elchiguireliterario.com/wp-content/uploads/2008/12/5-as3-context.gif"><img class="size-full wp-image-1088 aligncenter" title="5-as3-context" src="http://www.elchiguireliterario.com/wp-content/uploads/2008/12/5-as3-context.gif" alt="5-as3-context" width="386" height="100" /></a></p>
<p>Si todo va bien, vas a ver en una nueva pestaña la película que hemos creado, un SWF con un cuadro de texto que dice &#8220;Hola Mundo&#8221;:</p>
<p style="text-align: center;"><a href="http://www.elchiguireliterario.com/wp-content/uploads/2008/12/6-hola-mundo.gif"><img class="size-medium wp-image-1089 aligncenter" title="6-hola-mundo" src="http://www.elchiguireliterario.com/wp-content/uploads/2008/12/6-hola-mundo-300x224.gif" alt="6-hola-mundo" width="300" height="224" /></a></p>
<h3>¿Qué hemos hecho?</h3>
<p>Con el modelo de ActionScript 3, ahora tenemos un MovieClip base (en Flash CS3 se llama Document Class). Este MovieClip es una clase que define un montón de cosas que nos permiten reproducir animaciones como las que hacíamos en Flash. En este caso lo usaremos como contenedores para mostrar gráficos en pantalla.</p>
<p>En este ejemplo sólo he creado un objeto de tipo cuadro de texto (TextField), le he puesto contenido, y le he asignado una posición. Un TextField es uno de los tantos tipos de objetos gráficos que se pueden incluir en una película. Me incliné por él debido a que es simple de utilizar y demuestra rápidamente el punto de crear objetos gráficos y agregarlos al MovieClip. Veremos en otro artículo que la adición de otros objetos gráficos es muy similar.</p>
<p>Queda entonces explicar qué significa el objeto stage dentro del código. El MovieClip base está unido a un objeto gráfico especial que representa la ventana donde se reproduce el SWF. Este objeto es el Stage, y la ventaja de definirlo así consiste en que el stage es accesible desde cualquier punto de la jerarquía de MovieClips. Esta jerarquía la expliqué en un artículo sobre <a href="http://www.elchiguireliterario.com/2008/07/20/actionscript-3-el-sistema-de-dibujo/">Display Lists</a> hace algún tiempo.</p>
<p>En un próximo artículo haremos algo un poco más complicado, creando formas y figuras y animándolas a través de código.</p>
<img src="http://www.elchiguireliterario.com/?ak_action=api_record_view&id=1080&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.elchiguireliterario.com/2008/12/20/encontronazos-con-actionscript-3-creando-un-hola-mundo/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>

		<series:name><![CDATA[Encontronazos con ActionScript 3]]></series:name>
	</item>
		<item>
		<title>Encontronazos con ActionScript 3: Cómo hacer juegos con Flash/Flex/ActionScript y FlashDevelop gratis</title>
		<link>http://www.elchiguireliterario.com/2008/08/18/encontronazos-con-actionscript-3-como-hacer-juegos-con-flashflexactionscript-y-flashdevelop-gratis/</link>
		<comments>http://www.elchiguireliterario.com/2008/08/18/encontronazos-con-actionscript-3-como-hacer-juegos-con-flashflexactionscript-y-flashdevelop-gratis/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 11:40:02 +0000</pubDate>
		<dc:creator>Ciro</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Recursos para crear videojuegos]]></category>

		<guid isPermaLink="false">http://www.elchiguireliterario.com/?p=837</guid>
		<description><![CDATA[
En este artículo explicaremos cómo hacer juegos con Flash/Flex/ActionScript y FlashDevelop en Windows sin costo monetario y completamente legal. La proliferación de herramientas que producen películas SWF ha permitido que se puedan utilizar sin mayor costo que el esfuerzo de instalar y levantar el ambiente de desarrollo. Foto por AGoK.
En la primera parte explicaremos cómo [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-839" title="Free Beer" src="http://www.elchiguireliterario.com/wp-content/uploads/2008/08/freebeer.jpg" alt="Free Beer" width="450" height="250" /></p>
<p>En este artículo explicaremos cómo hacer juegos con Flash/Flex/ActionScript y FlashDevelop en Windows sin costo monetario y completamente legal. La proliferación de herramientas que producen películas SWF ha permitido que se puedan utilizar sin mayor costo que el esfuerzo de instalar y levantar el ambiente de desarrollo. <em>Foto por <a href="http://flickr.com/photos/16038409@N02/2327138220/">AGoK</a></em>.</p>
<p>En la primera parte explicaremos cómo hemos llegado hasta acá, en la segunda parte explicaremos qué software utilizaremos para montar un ambiente gratuito de desarrollo en ActionScript, y en la tercera parte explicaremos paso a paso cómo montarlo.</p>
<p><strong>¿Cómo es eso de desarrollar SWFs gratis?</strong></p>
<p>La herramienta Flash ha pasado a lo largo de estos años de ser una alternativa para hacer animaciones en páginas web a un importante movimiento dentro de Internet para hacer aplicaciones tan o más atractivas que las aplicaciones de escritorio y con una funcionalidad similar o superior.</p>
<p>Macromedia, ahora parte de Adobe, supo desde hace ya varias versiones de Flash que debía orientar tanto la herramienta como su lenguaje de programación, ActionScript, hacia la creación de estas aplicaciones, lo que implicaba la mejora del flujo de trabajo para los programadores de oficio. La culminación de este esfuerzo son dos productos: ActionScript 3, y Flex.</p>
<p><a href="/series/encontronazos-con-actionscript-3/">ActionScript 3</a> (AS3) es más que una actualización de la versión anterior. Programar AS3 implica pensar las cosas de manera un tanto distinta de AS2, de manera mucho más explícita y con conceptos más simples de manejar. Por otra parte, Flex ha traído una nueva forma de producir películas en formato SWF (el formato al que exporta Flash), al tener el programador un mayor protagonismo para hacer aplicaciones.</p>
<p><strong>¿Qué necesitamos para hacer un ambiente gratuito de desarrollo en Actionscript?</strong></p>
<p>Para hacer este ambiente necesitamos específicamente dos programas: el SDK de Flex y FlashDevelop. Ambos se consiguen de manera gratuita.</p>
<p>Flex es un programa que, como Flash, produce archivos SWF, pero en vez de tener una interfaz gráfica, se tiene una librería de componentes y un lenguaje de programación basado en XML que permite crear aplicaciones de manera muy rápida y efectiva.</p>
<p>Flex específicamente es un compilador de ActionScript 3 cuyo producto es un SWF. Flex también trae una librería muy poderosa de componentes que permiten hacer muy rápidamente aplicaciones para Internet en Flash y con el atractivo de las aplicaciones hechas en Flash, además de otro compilador que convierte un formato de archivo XML llamado MXML en ActionScript (y de ahí a SWF). Estos dos compiladores más la librería conforman el SDK de Flex, y están disponibles gratuitamente en la página correspondiente de Adobe: <a href="http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3">http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3</a></p>
<p>Ahora, lo importante es la parte del compilador y ActionScript 3: con Flex es posible crear proyectos de cero (sin necesidad de la librería de componentes), lo cual permite hacer juegos muy pequeños sin necesidad de Flash (aunque podría necesitarse en caso de que se quieran usar dibujos vectoriales).</p>
<p>Lo único que faltaría es un IDE para programar. Flex Builder es la alternativa comercial y sin duda una de las mejores, pero el programa es pag. Al estar basado en Eclipse es realmente lo mejor para programar. Una tremenda alternativa que no se queda atrás, gratuita, y la que usaremos en este post, es FlashDevelop (<a href="http://www.flashdevelop.org/community/">http://www.flashdevelop.org/community/</a>).</p>
<p><strong>¿Cómo hacemos, paso a paso, para montar este ambiente?</strong></p>
<ol>
<li>Descargar el <strong>SDK de Flex</strong> en la página <a href="http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3">Flex 3 SDK Downloads</a>. Lo más recomendable es ir a la parte de <strong>Stable Builds</strong>, y descargar el primer enlace debajo de la columna <strong>Adobe Flex SDK</strong>. Si estás preocupado por desarrollar únicamente con herramientas libres, puedes descargar el correspondiente a  <strong>Open Source Flex SDK</strong>. El primer enlace describe con detalle <a href="http://opensource.adobe.com/wiki/display/flexsdk/Downloads">la diferencia entre ambos paquetes</a>, siendo que sólo trae código licenciado bajo la <a href="http://es.wikipedia.org/wiki/Licencia_P%C3%BAblica_de_Mozilla">Licencia Pública de Mozilla</a>. Si no sabes de que estoy hablando ahora, no te preocupes, simplemente descarga el primero y estarás bien.</li>
<li>Descargar <strong>FlashDevelop</strong>. Entra a la sección de <a href="http://www.flashdevelop.org/community/viewforum.php?f=11&amp;sid=9d0f0eca240d120e88d94565abf10e4d">Releases</a>, y descarga la última versión. Las versiones Final son las más recomendables, pero en este post trabajaré con la versión <a class="topictitle" href="http://www.flashdevelop.org/community/viewtopic.php?t=2893">FlashDevelop 3.0.0 Beta7</a>.</li>
<li>Descomprimir el <strong>SDK de Flex</strong> con tu descompresor favorito. Para este artículo crearemos un directorio en C:\flex, y allí adentro descomprimiremos el contenido de lo que descargamos en el paso 1.</li>
<li>Instalar FlashDevelop. Es un instalador común y corriente de Windows. Creará unos atajos de inicio.</li>
<li>Ejecutar FlashDevelop. Al llegar a la pantalla inicial iremos a <strong>Tools -&gt; Program Settings&#8230;</strong>. En la nueva ventana <strong>Settings</strong> nos vamos a la sección <strong>AS3Context</strong> y cambiamos la ubicación de la instalación del SDK de Flex en <strong>Flex SDK Location</strong>. Colocamos el mismo directorio donde descomprimimos el archivo del paso 3, en este caso C:\flex.
<p><div id="attachment_844" class="wp-caption alignnone" style="width: 510px"><a href="http://www.elchiguireliterario.com/wp-content/uploads/2008/08/flashdevelop-settings.gif"><img class="size-full wp-image-844" title="flashdevelop-settings" src="http://www.elchiguireliterario.com/wp-content/uploads/2008/08/flashdevelop-settings.gif" alt="Configuración de Flash Develop" width="500" height="190" /></a><p class="wp-caption-text">Configuración de Flash Develop</p></div></li>
<li>Estamos listos. Podemos crear un proyecto nuevo en <strong>Project -&gt; New Project</strong>. En la nueva ventana <strong>New Project</strong> escogemos un <strong>Default Project</strong> en la sección ActionScript 3, un directorio, y hacemos click en OK.
<p><div id="attachment_845" class="wp-caption alignnone" style="width: 499px"><a href="http://www.elchiguireliterario.com/wp-content/uploads/2008/08/flashdevelop-project.gif"><img class="size-full wp-image-845" title="flashdevelop-project" src="http://www.elchiguireliterario.com/wp-content/uploads/2008/08/flashdevelop-project.gif" alt="Vista de Proyecto de FlashDevelop" width="489" height="339" /></a><p class="wp-caption-text">Vista de Proyecto de FlashDevelop</p></div></li>
<li>En <strong>Project -&gt; Test Movie</strong> podemos probar la película que genera este proyecto por defecto. Veremos una pantalla en blanco solamente, pero eso significa que a partir de ahora podremos desarrollar en ActionScript sin ningún problema.</li>
</ol>
<p>En siguientes entregas veremos cómo se desarrollan aplicaciones con este método. La literatura recomenda por ahora es la relacionada con el <a href="http://www.adobe.com/devnet/flash/quickstart/external_files_as3/">Document Class de Flash</a> y cómo trabajar con él.</p>
<img src="http://www.elchiguireliterario.com/?ak_action=api_record_view&id=837&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.elchiguireliterario.com/2008/08/18/encontronazos-con-actionscript-3-como-hacer-juegos-con-flashflexactionscript-y-flashdevelop-gratis/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>

		<series:name><![CDATA[Encontronazos con ActionScript 3]]></series:name>
	</item>
		<item>
		<title>Encontronazos con ActionScript 3: El sistema de dibujo y los Display Objects</title>
		<link>http://www.elchiguireliterario.com/2008/07/20/actionscript-3-el-sistema-de-dibujo/</link>
		<comments>http://www.elchiguireliterario.com/2008/07/20/actionscript-3-el-sistema-de-dibujo/#comments</comments>
		<pubDate>Sun, 20 Jul 2008 15:41:30 +0000</pubDate>
		<dc:creator>Ciro</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Recursos para crear videojuegos]]></category>

		<guid isPermaLink="false">http://www.elchiguireliterario.com/?p=755</guid>
		<description><![CDATA[
Hace ya bastante tiempo que salió ActionScript 3 (AS3) y los programas que lo utilizan, como Flash CS3 y Flex 3. Hasta hace poco no había tenido el chance de revisarlos un poco, y experimentar con una técnica que voy a utilizar dentro de poco. Para aquellos que conocen ActionScript 2 (AS2), su versión 3 [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="alignnone" src="http://farm2.static.flickr.com/1105/1471414696_3235734b29.jpg?v=0" alt="Oops! - Part II by Kyle May" width="400" height="267" /></p>
<p>Hace ya bastante tiempo que salió ActionScript 3 (AS3) y los programas que lo utilizan, como Flash CS3 y Flex 3. Hasta hace poco no había tenido el chance de revisarlos un poco, y experimentar con una técnica que voy a utilizar dentro de poco. Para aquellos que conocen ActionScript 2 (AS2), su versión 3 es un campo de minas totalmente distinto <img src='http://www.elchiguireliterario.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  .</p>
<p>AS 3 cambia el concepto de dibujar cosas en la pantalla y colocar clips. El sistema de AS3 es más explícito, al crear el concepto de <em>Display List</em>. El Display List es una lista que se recorre cada vez que se dibuja un <em>frame</em> (o fotograma) en la pantalla. El recorrido de esta lista asemeja el recorrido de un árbol, en el que en el tope se encuentra la película principal, también conocido como el Stage. La lista la conforman objetos que se pueden dibujar. Algunos de ellos contienen sus propias listas de dibujo que son recorridas cuando se dibuja un frame.</p>
<p>Por ser una estructura muy similar a la de un árbol, los objetos se agregan y se eliminan en lo que llamaremos contenedores. Entonces, el proceso para crear y agregar MovieClips se simplifica:</p>
<ol>
<li>Se crea una película con una llamada a <tt>new MovieClip();</tt> y se asignan las propiedades que tenga.</li>
<li>Se agrega esta película al contenedor, como otro MovieClip o al Stage si no hay nada más en la pantalla. Esto se hace con la función <tt>addChild()</tt> en el contenedor, o addChildAt() si se quiere hacer en un lugar específico.</li>
</ol>
<p>¿Cuál es la ventaja de esta aproximación a los gráficos con respecto a AS2? Que es más fácil de comprender. El concepto de &#8220;profundidad&#8221; (depth) que había en AS2 no se utiliza aquí: el orden en el que se dibujan los objetos está determinado por el orden en el que están insertados en su respectivo contenedor.</p>
<p>AS 3 tiene un enfoque mucho más estricto que su versión anterior con respecto a la orientación de objetos. La programación en AS 3 es 100% orientada a objetos, cosa que gustará mucho a aquellos que ya programan en lenguajes como Java. Ellos van a encontrar que ActionScript 3 va a tener una forma muy similar de programación. En futuros artículos iremos complementando esta información.</p>
<p>Para saber más acerca de los Display Lists, consultar los Livedocs de Adobe concernientes a los <a href="http://livedocs.adobe.com/flex/3/html/help.html?content=05_Display_Programming_03.html">Core Display Classes</a>.</p>
<p style="text-align: right;"><em>* Foto por <a href="http://flickr.com/photos/kylemay/1471414696/">Kyle May</a></em></p>
<img src="http://www.elchiguireliterario.com/?ak_action=api_record_view&id=755&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.elchiguireliterario.com/2008/07/20/actionscript-3-el-sistema-de-dibujo/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>

		<series:name><![CDATA[Encontronazos con ActionScript 3]]></series:name>
	</item>
		<item>
		<title>Usando bitmaps en Flash</title>
		<link>http://www.elchiguireliterario.com/2008/06/01/usando-bitmaps-en-flash/</link>
		<comments>http://www.elchiguireliterario.com/2008/06/01/usando-bitmaps-en-flash/#comments</comments>
		<pubDate>Sun, 01 Jun 2008 16:43:40 +0000</pubDate>
		<dc:creator>Ciro</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Recursos para crear videojuegos]]></category>

		<guid isPermaLink="false">http://www.elchiguireliterario.com/?p=791</guid>
		<description><![CDATA[









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 [...]]]></description>
			<content:encoded><![CDATA[<p align="center">
<object width="400" height="200">
<param name="movie" value="/wp-content/uploads/2008/06/test.swf"></param>
<param name="quality" value="high"></param>
<param name="wmode" value="window"></param>
<param name="menu" value="false"></param>
<param name="bgcolor" value="#FFFFFF"></param>
<embed type="application/x-shockwave-flash" width="400" height="200" src="/wp-content/uploads/2008/06/test.swf" quality="high" bgcolor="#FFFFFF" wmode="window" menu="false" ></embed>
</object>
</p>
<p>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 <em>pixel art</em>. 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: <a href="http://llops.com/blog/2008/01/20/jugando-con-pixels-i/">Jugando con Pixels (I)</a>, y <a href="http://llops.com/blog/2008/01/27/jugando-con-pixels-ii/">Jugando con Pixels (II)</a>. Sirve también la documentación Livedocs de Adobe: <a href="http://livedocs.adobe.com/flash/9.0_es/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&amp;file=00000243.html">Las clases Bitmap y BitmapData</a>.</p>
<img src="http://www.elchiguireliterario.com/?ak_action=api_record_view&id=791&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.elchiguireliterario.com/2008/06/01/usando-bitmaps-en-flash/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Open Screen Project explicado</title>
		<link>http://www.elchiguireliterario.com/2008/05/01/open-screen-project-explicado/</link>
		<comments>http://www.elchiguireliterario.com/2008/05/01/open-screen-project-explicado/#comments</comments>
		<pubDate>Thu, 01 May 2008 14:57:58 +0000</pubDate>
		<dc:creator>Ciro</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://www.elchiguireliterario.com/?p=775</guid>
		<description><![CDATA[
Adobe acaba de lanzar el proyecto Open Screen. Aparentemente hay mucha emoción por esta noticia, e incluso salen algunas medias verdades como que Flash Player será abierto, y demás. No ayuda a la comprensión de la noticia el hecho de que esa página esté llena de un montón de palabrería corporativa, en vez de responder [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-776" title="devices_376x200" src="http://www.elchiguireliterario.com/wp-content/uploads/2008/05/devices_376x200.jpg" alt="" width="376" height="200" /></p>
<p>Adobe acaba de lanzar el proyecto <a href="http://www.adobe.com/openscreenproject/">Open Screen</a>. Aparentemente hay mucha emoción por esta noticia, e incluso salen algunas medias verdades como que Flash Player será abierto, y demás. No ayuda a la comprensión de la noticia el hecho de que esa página esté llena de un montón de palabrería corporativa, en vez de responder ciertas preguntas con un Sí o un No. Me tomo la molestia de explicar algunos puntos de esta noticia, y el alcance que puedan tener para la comunidad que desarrolla con Flash.</p>
<p>La clave del proyecto Open Screen está en las 4 cosas que hará Adobe para apoyar el proyecto (tal como lo especifica en el <a href="http://www.adobe.com/openscreenproject/faq/index.html">FAQ del proyecto</a>):</p>
<ul>
<li>Remover las restricciones del uso de las especififcaciones SWF y FLV/F4V.</li>
<li>Publicar las APIs de la capa de port de dispositivos de Adobe Flash Player.</li>
<li>Publicar el protocolo Adobe Flash Cast y el protocolo AMF para servicio de datos robusto.</li>
<li>Remover los cargos de licencia, haciendo gratis los próximos releases para dispositivos de Adobe Flash Player y Adobe AIR.</li>
</ul>
<p><strong>Las especificaciones SWF y FLV/F4V</strong></p>
<p>Como bien lo dice el FAQ, Adobe está publicando las especificaciones del formato SWF desde 1998. El problema es que esta publicación estaba sujeta a la restricción de que sólo se podían publicar programas que &#8220;escribieran&#8221; SWF; es decir, no era posible publicar programas que reprodujeran SWF (y que por ende compitieran con Flash Player). Bajo estas restricciones programas como <a href="http://www.swfmill.org/">swfmill</a> y <a href="http://www.mtasc.org/">mtasc</a> fueron publicados.</p>
<p>Esta restricción a partir de hoy ha sido levantada, por lo que de ahora en adelante será permitido publicar reproductores del formato SWF. Supongo que proyectos como <a href="http://www.gnashdev.org/">Gnash</a>, un reproducto GNU de SWF, se beneficiarán de esta noticia.</p>
<p>Con respecto al formato FLV, es un formato de archivo para medios como audio y video, el cual soporta H.264 y HE-AAC, y varios tipos de codecs para video. F4V es la versión con protección de derechos de autor de FLV. Aunque no conozco mucho sobre este formato, supongo que a partir de ahora veremos más codificadores para FLV que Sorenson.</p>
<p>Las especificaciones de SWF y de FLV se encuentran en sus respectivas páginas: <a href="http://www.adobe.com/devnet/swf/">SWF Technology Center</a>, y <a href="http://www.adobe.com/devnet/flv/">FLV/F4V Technology Center</a>.</p>
<p><strong>Device porting layer APIs para Adobe Flash Player y la remoción de los cargos de licencia<br />
</strong></p>
<p>El verdadero objetivo de todo este proyecto es entrar en el campo de los dispositivos portátiles, un campo muy competido, y sus contendores principales son las plataformas Java y BREW. El esfuerzo inicial de Macromedia (ahora Adobe) es Flash Player Lite, basado en Flash Player 4.</p>
<p>La publicación de un API para facilitar el port de Adobe Flash Player, junto con su precio gratuito para licencia, facilitará y masificará la implementación de esta plataforma en los celulares. Los fabricantes tendrán la última palabra en este asunto, pero Flash tiene la ventaja de que la barrera de aprendizaje es baja, el público desarrollador principalmente compuesto de diseñadores gráficos, y que SWF es un formato fundamentalmente vectorial (resolviendo el problema de las diferencias de resolución de los dispositivos). Yo creo que veremos más de esta plataforma en el futuro.</p>
<p><strong>Protocolos Adobe Flash Cast y AMF</strong></p>
<p>AMF es el protocolo de Adobe para hacer llamadas remotas (RPC) a servidores web. El proyecto <a href="http://osflash.org/red5">Red5</a> ya es un esfuerzo maduro en relacionar los objetos en ActionScript y los objetos en Java de un servidor. Adobe recientemente lanzó el proyecto <a href="http://labs.adobe.com/technologies/blazeds/">BlazeDS</a> para ocupar este espacio que tenía vacío. BlazeDS es un conjunto de librerías que facilita el intercambio de información entre una aplicación en SWF y un contenedor Java de aplicaciones web (tal como Red5). BlazeDS tiene código abierto, y se puede descargar en su <a href="http://opensource.adobe.com/wiki/display/blazeds/BlazeDS">página oficial</a>.</p>
<p>Por su parte, el protocolo AMF como tal ya está publicado en la <a href="http://opensource.adobe.com/wiki/display/blazeds/Developer+Documentation">página correspondiente</a>.</p>
<p>Desconozco si Adobe Flash Cast tiene que ver con RTMP (Real Time Messaging Protocol), el protocolo propietario de Adobe para transmitir streams de audio y video. De ser así, esto será un grandísimo beneficio para <a href="http://osflash.org/red5">Red5</a>, que ha tenido que sobrevivir hasta ahora haciendo ingeniería inversa del protocolo.</p>
<p>El protocolo Adobe Flash Cast todavía no ha sido publicado. Ya habrá tiempo de analizar esta iniciativa cuando publiquen este protocolo. (Y qué demonios querrán decir con todo esto <img src='http://www.elchiguireliterario.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  )</p>
<p><strong>Conclusiones</strong></p>
<p>En fin, el anuncio del proyecto Open Screen es un gran avance de Adobe en el dominio de Flash en el mercado web, y al mismo tiempo un acercamiento a la comunidad de desarrolladores que ciertamente ha contribuído con este dominio. Es un gran anuncio, eso sí, para aquellos interesados en software libre que utilice estos formatos.</p>
<img src="http://www.elchiguireliterario.com/?ak_action=api_record_view&id=775&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.elchiguireliterario.com/2008/05/01/open-screen-project-explicado/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Herramientas para hacer juegos multiplayer en Flash</title>
		<link>http://www.elchiguireliterario.com/2007/10/23/herramientas-para-hacer-juegos-multiplayer-en-flash/</link>
		<comments>http://www.elchiguireliterario.com/2007/10/23/herramientas-para-hacer-juegos-multiplayer-en-flash/#comments</comments>
		<pubDate>Tue, 23 Oct 2007 11:00:09 +0000</pubDate>
		<dc:creator>Ciro</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Recursos para crear videojuegos]]></category>

		<guid isPermaLink="false">http://www.ciroduran.com/blog/2007/10/23/herramientas-para-hacer-juegos-multiplayer-en-flash/</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p>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.</p>
<p align="center"><img src="http://www.ciroduran.com/blog/wp-content/uploads/2007/10/swf-connection.jpg" alt="Conexiones a servidores de Flash" /><br />
<em>Los SWF que publica Flash no pueden conectarse a las computadoras de otras personas. Necesitamos un servidor que haga esta tarea.</em></p>
<p>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 <strong>Flash Communication Server</strong>, luego rebautizado como <a href="http://www.adobe.com/es/products/flashmediaserver/">Flash Media Server</a>. 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.</p>
<p><a href="http://osflash.org/red5"><img src="http://www.ciroduran.com/blog/wp-content/uploads/2007/10/red5.png" alt="Red5 logo" class="alignright" /></a> Es entonces cuando podemos ver otras alternativas más económicas e igualmente útiles. La primera y más popular es el proyecto <em>Open Source</em> llamado <a href="http://osflash.org/red5">Red5</a>. 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.</p>
<p>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.</p>
<p>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.</p>
<p><a href="http://www.smartfoxserver.com"><img src="http://www.ciroduran.com/blog/wp-content/uploads/2007/10/smartfoxserver.png" alt="SmartFoxServer Lite logo" class="alignright" /></a> Otra alternativa, ya comercial, es <a href="http://www.smartfoxserver.com">SmartFoxServer</a>. 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 <a href="http://www.smartfoxserver.com/products/pro.php">PRO</a>, 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 <a href="http://www.smartfoxserver.com/products/basic.php">BASIC</a> mucho más económica y la <a href="http://www.smartfoxserver.com/products/lite.php">LITE</a> completamente gratuita. SmartFoxServer se publicita principalmente a través de la página <a href="http://www.gotoandplay.it/">gotoAndPlay()</a>, 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.</p>
<p>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.</p>
<img src="http://www.elchiguireliterario.com/?ak_action=api_record_view&id=583&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.elchiguireliterario.com/2007/10/23/herramientas-para-hacer-juegos-multiplayer-en-flash/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
	</channel>
</rss>
