<?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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Odisea en el desarrollo de juegos...</title>
	<atom:link href="http://pctroll.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://pctroll.wordpress.com</link>
	<description>...de un computista venezolano</description>
	<lastBuildDate>Sat, 25 Dec 2010 01:59:10 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='pctroll.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Odisea en el desarrollo de juegos...</title>
		<link>http://pctroll.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://pctroll.wordpress.com/osd.xml" title="Odisea en el desarrollo de juegos..." />
	<atom:link rel='hub' href='http://pctroll.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Me mudé</title>
		<link>http://pctroll.wordpress.com/2010/12/23/me-mude/</link>
		<comments>http://pctroll.wordpress.com/2010/12/23/me-mude/#comments</comments>
		<pubDate>Fri, 24 Dec 2010 02:30:10 +0000</pubDate>
		<dc:creator>pctroll</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pctroll.wordpress.com/?p=196</guid>
		<description><![CDATA[Para todos los lectores que me siguen por aquí, quiero comentarles que me mudé a mi propio URL: pctroll studios. Ya actualizando los artículos publicados aquí, luego de mejorarlos y traducirlos. Los espero entonces por allá.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pctroll.wordpress.com&amp;blog=7059447&amp;post=196&amp;subd=pctroll&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Para todos los lectores que me siguen por aquí, quiero comentarles que me mudé a mi propio URL: <a href="http://www.pctrollstudios.com/">pctroll studios</a>.</p>
<p>Ya actualizando los artículos publicados aquí, luego de mejorarlos y traducirlos.</p>
<p>Los espero entonces por allá.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pctroll.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pctroll.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pctroll.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pctroll.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pctroll.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pctroll.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pctroll.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pctroll.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pctroll.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pctroll.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pctroll.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pctroll.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pctroll.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pctroll.wordpress.com/196/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pctroll.wordpress.com&amp;blog=7059447&amp;post=196&amp;subd=pctroll&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pctroll.wordpress.com/2010/12/23/me-mude/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d0a825b2eaa3adbf00e28b636db0f32c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pctroll</media:title>
		</media:content>
	</item>
		<item>
		<title>Supervivencia en un Game Jam: física</title>
		<link>http://pctroll.wordpress.com/2010/12/03/supervivencia-game-jam-fisic/</link>
		<comments>http://pctroll.wordpress.com/2010/12/03/supervivencia-game-jam-fisic/#comments</comments>
		<pubDate>Fri, 03 Dec 2010 17:54:34 +0000</pubDate>
		<dc:creator>pctroll</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.pctrollstudios.com/?p=360</guid>
		<description><![CDATA[Hace tiempo les comenté sobre mi forma de ver el Global Game Jam y les recomiendo la lean si aun no lo han hecho. Esta vez quiero compartir sobre cómo sobrevivir un game jam pero en la parte logística de todo el evento y de cómo encarar ese fin de semana entre Enero y Febrero [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pctroll.wordpress.com&amp;blog=7059447&amp;post=366&amp;subd=pctroll&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;"><img class="aligncenter" title="mushrooms" src="http://img836.imageshack.us/img836/5131/mariomushroom.jpg" alt="mushrooms" width="468" height="200" /></p>
<p style="text-align:justify;">Hace tiempo les comenté sobre <a href="/?p=245">mi forma de ver el Global Game Jam</a> y les recomiendo la lean si aun no lo han hecho. Esta vez quiero compartir sobre cómo sobrevivir un game jam pero en la parte logística de todo el evento y de cómo encarar ese fin de semana entre Enero y Febrero donde nos reunimos a hacer un juego por las simples ganas de hacerlo.</p>
<p style="text-align:justify;"><span id="more-366"></span>Esta entrada va enfocada en la parte física de nosotros mismos: comida, refugio, transporte, servicios básicos, etc. Saber de antemano las condiciones en la que estaremos nos ayudará a planificar mejor el fin de semana, lo que al final trae como consecuencia un mayor disfrute del evento por cuanto estaremos enfocados en lo que más nos interesa: trabajar en nuestro juego.</p>
<h2>Duerme bien y descansa suficiente durante la semana</h2>
<p><img class="aligncenter" title="mario" src="http://img171.imageshack.us/img171/8901/mario64sleeping.gif" alt="mario" width="139" height="103" /></p>
<p>Se comienza el último Viernes de Enero. Si aun estás <span style="text-decoration:line-through;">destruido</span> cansado de las fiestas de Diciembre, más vale que <span style="text-decoration:line-through;">cojas mínimo</span> tomes un respiro. Hay que sacarle el mayor provecho a esas 48 horas,  aunque tampoco la idea es dejar de dormir y estar en vela; pero lo común  es entre tres y cinco horas de sueño.</p>
<p>Quiero  aclarar que esto depende de cada participante y no hay nada  obligatorio, todos somos solidarios; pero es normal dormir poco con la  fecha límite tan cerca (cualquier estudiante universitario que trabaje  en base a proyectos lo sabe).</p>
<h2>Revisa, con antelación, la ubicación del evento</h2>
<p style="text-align:justify;"><img class="aligncenter" title="pokemon" src="http://img703.imageshack.us/img703/7201/pokemonk.png" alt="pokemon" width="300" height="130" /></p>
<p style="text-align:justify;">Con la finalidad de estar allá de forma puntual. Esto también nos ayuda a evaluar las opciones de transporte disponible durante el fin de semana y, de ese modo, planificar la forma de ir y regresar del evento. Por ser un evento que se hace por amor al arte, no es común que los organizadores aseguren el transporte; por lo que aconsejo tomar previsiones y manifestar inquietudes a los organizadores si lo consideran necesario. Así mismo, siempre es bueno que investigues de las comodidades que hay a los alrededores (locales de comida, supermercados, farmacias, etc.).</p>
<p style="text-align:justify;">Se estila que los participantes lleguemos al menos una hora antes de dar inicio al evento para que nos vayamos conociendo, formalizar la inscripción (de ser necesario), y manifestar cualquier tipo de inquietud a los organizadores con el tiempo suficiente para que nos puedan colaborar en lo que pueda estar en sus manos. Es importante ir conociendo qué asistentes pueden aportar valor a tu equipo (si necesitas arte, sonido, programación) y con cuales sientes mayor empatía al comunicarte. Al final, siempre es bueno conocerlos a todos para tener una mayor red de desarrolladores para colaboraciones/reuniones futuras.</p>
<h2>Pregunta sobre las comodidades de la locación</h2>
<p style="text-align:justify;">La gente del Global Game Jam pide a sus sedes que como mínimo aseguren un sitio espacioso para trabajar y descansar, acceso a Internet de forma gratuita y preferiblemente puedan estar abiertas durante todo el fin de semana. Más allá de eso, hay que revisar lo que los organizadores locales nos pueden ofrecer. ¿Por qué? Para saber si es necesario llevar nuestros equipos o si, de llegar a ofrecerse, los equipos que nos puedan prestar están en la capacidad legal y técnica de tener las herramientas de desarrollo con las cuales tenemos pensado trabajar.</p>
<p style="text-align:justify;">Lo común es que cada quien lleve sus equipos, pero siempre es bueno preguntar porque puede que en nuestro caso no se requiera tal cosa.</p>
<p style="text-align:justify;">Si eres alguien exigente/cuidadoso con lo que trabaja, entonces siempre es bueno llevarnos el juego de ratón y teclado, <em>mousepad</em>, monitor, <em>puff</em> o lo que sea que podamos llevar y nos ayude a estar cómodos. Asegúrate primero de que en efecto puedes llevarlo <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> .</p>
<p style="text-align:justify;">Para el caso de la gente que necesita trabajar con música de fondo y quienes van a colaborar en la parte de sonido: <strong>lleven sus propios audífonos</strong>. Recomiendo altamente usar <a href="http://images.google.com/images?hl=en&amp;source=imghp&amp;biw=1920&amp;bih=881&amp;q=headphones&amp;gbv=2&amp;aq=f&amp;aqi=g10&amp;aql=&amp;oq=&amp;gs_rfai="><em>headphones</em></a> en vez de <a href="http://images.google.com/images?hl=en&amp;biw=1920&amp;bih=881&amp;gbv=2&amp;tbs=isch%3A1&amp;sa=1&amp;q=earphones&amp;aq=f&amp;aqi=g10&amp;aql=&amp;oq=&amp;gs_rfai="><em>earphones</em></a> por cuanto serán sesiones prolongadas (es mi responsabilidad aconsejarlos en salud jaja).</p>
<p style="text-align:justify;">Demás está decir que no necesariamente hay servicio telefónico, entonces lleva un teléfono móvil/celular con línea activa y saldo si lo crees conveniente.</p>
<h2>Planifica la estadía</h2>
<p style="text-align:justify;"><img class="aligncenter" title="zelda" src="http://img694.imageshack.us/img694/8842/lascreen.png" alt="zelda" width="190" height="125" /></p>
<p style="text-align:justify;">Teniendo claro si hay acceso para &#8220;alojarte&#8221; en las instalaciones sabrás aprovechar mejor el tiempo para desarrollar el juego.  En el caso de existir alojamiento, tomar en cuenta bolsas de dormir, colchones inflables, ropa adicional, cepillo/pasta dental, y demás objetos de uso personal. Si vas a ir y venir, es bueno que lo comentes con prudencia a tus compañeros de equipo y estés consciente que tu participación siempre es importante.</p>
<p>Digo &#8220;alojamiento&#8221; porque son condiciones especiales. Los organizadores tienen este punto como segunda o tercera prioridad; pero si tienes inquietudes, pregunta. Usualmente las sedes del Global Game Jam son universidades o instituciones educativas, por lo que se duerme en el mismo salón o en un salón espacioso cercano al área de desarrollo.</p>
<h2>Planifica las comidas</h2>
<p style="text-align:justify;">Dependiendo de la ubicación del evento, será sencillo o complicado conseguir alimento durante el fin de semana. Los organizadores suelen tener este punto con una prioridad bastante alta, pero siempre es bueno que los participantes mostremos interés; tanto con inquietudes como con colaboración, si se presentan dificultades. No obstante, el gasto corre por nuestra cuenta.</p>
<p style="text-align:justify;">Si eres alguien ansioso, recomiendo llevar tus propias chucherís, café, etc. y llevar para compartir <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</p>
<h2>Crea un presupuesto</h2>
<p style="text-align:justify;"><img class="aligncenter" title="coin" src="http://img258.imageshack.us/img258/1697/yellowcoin.png" alt="coin" width="125" height="125" /></p>
<p style="text-align:justify;">Con todo lo anterior ya tomado en cuenta, crea cierto presupuesto a partir de la información recolectada en base a nuestra investigación y de las inquietudes respondidas por los organizadores. Dejo una chuleta para tomar en cuenta:</p>
<ul>
<li>Transporte.</li>
<li>Alimentación (cena del Viernes, tres comidas del Sábado, dos comidas del Domingo) y cualquier otro <em>snack</em>.</li>
<li>Un 10% del total para cualquier emergencia.</li>
</ul>
<p style="text-align:justify;">Eso es, a mi modo de ver, lo necesario para sobrevivir un game jam. La entrada tiene cierta extensión, pero al llevarla a la práctica es mucho más sencillo y lo que busco es tener un punto de referencia lo más completo posible para que el fin de semana esté dedicado, en su totalidad, a pasar un buen rato haciendo juegos y compartiendo con personas con los mismos intereses.</p>
<p style="text-align:justify;">Crédito de las imágenes: <a href="http://www.nintendo.com/">Nintendo</a> (<em>The Legend of Zelda</em>, <em>The New Super Mario Bros</em>. y <em>Pokémon</em> son propiedad de su autor).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pctroll.wordpress.com/366/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pctroll.wordpress.com/366/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pctroll.wordpress.com/366/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pctroll.wordpress.com/366/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pctroll.wordpress.com/366/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pctroll.wordpress.com/366/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pctroll.wordpress.com/366/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pctroll.wordpress.com/366/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pctroll.wordpress.com/366/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pctroll.wordpress.com/366/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pctroll.wordpress.com/366/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pctroll.wordpress.com/366/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pctroll.wordpress.com/366/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pctroll.wordpress.com/366/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pctroll.wordpress.com&amp;blog=7059447&amp;post=366&amp;subd=pctroll&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pctroll.wordpress.com/2010/12/03/supervivencia-game-jam-fisic/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d0a825b2eaa3adbf00e28b636db0f32c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pctroll</media:title>
		</media:content>

		<media:content url="http://img836.imageshack.us/img836/5131/mariomushroom.jpg" medium="image">
			<media:title type="html">mushrooms</media:title>
		</media:content>

		<media:content url="http://img171.imageshack.us/img171/8901/mario64sleeping.gif" medium="image">
			<media:title type="html">mario</media:title>
		</media:content>

		<media:content url="http://img703.imageshack.us/img703/7201/pokemonk.png" medium="image">
			<media:title type="html">pokemon</media:title>
		</media:content>

		<media:content url="http://img694.imageshack.us/img694/8842/lascreen.png" medium="image">
			<media:title type="html">zelda</media:title>
		</media:content>

		<media:content url="http://img258.imageshack.us/img258/1697/yellowcoin.png" medium="image">
			<media:title type="html">coin</media:title>
		</media:content>
	</item>
		<item>
		<title>Primero programo, luego hago juegos</title>
		<link>http://pctroll.wordpress.com/2010/11/02/primero-programo-luego-hago-juegos/</link>
		<comments>http://pctroll.wordpress.com/2010/11/02/primero-programo-luego-hago-juegos/#comments</comments>
		<pubDate>Wed, 03 Nov 2010 01:50:05 +0000</pubDate>
		<dc:creator>pctroll</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.pctrollstudios.com/?p=336</guid>
		<description><![CDATA[Tiempo sin aparecer por el blog. Como nuevo USBista aun me estoy adaptando al ritmo de la universidad tal y como lo pueden ver aquí. A partir de las clases con Monascal, me he percatado que es de suma importancia para cualquier programador, en nuestro caso programador de juegos, conocer las herramientas que tenemos a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pctroll.wordpress.com&amp;blog=7059447&amp;post=336&amp;subd=pctroll&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><img class=" aligncenter" src="http://img7.imageshack.us/img7/9612/codegame.png" alt="cÃ³digo y juegos" width="468" height="200" /></p>
<p style="text-align:justify;">Tiempo sin aparecer por el blog. Como nuevo USBista aun me estoy adaptando al ritmo de la universidad tal y como lo pueden ver <a href="http://twitter.com/pctroll/status/28695699583">aquí</a>. A partir de las clases con Monascal, me he percatado que es de suma importancia para cualquier programador, en nuestro caso programador de juegos, conocer las herramientas que tenemos a nuestra disposición para resolver problemas. Luego de nuestra mente, la siguiente herramienta no son los motores gráficos, ni los lenguajes de desarrollo&#8230; ¡son los algoritmos!</p>
<p style="text-align:justify;"><span id="more-336"></span>Lo que nos ayuda a ser mejores programadores es tener el mayor conocimiento posible de algoritmos. De este modo, podremos atacar un mayor rango de problemas y enfrentarlos de forma eficiente. Bien sea porque necesitamos de la solución correcta o de la más rápida (usualmente es ésta última en nuestro campo). Todo problema puede ser descompuesto en sub-problemas más pequeños hasta llevarlo a un problema trivial sencillo de resolver. Algunas veces nos interesa, y otras no (ahí es cuando entra en escena el uso de motores, <em>frameworks</em>, APIs, etc.). Bien sea que <em>Halo 38479</em> tenga efectos visuales que te hagan decir que en <em>HD</em> se ve mejor que en la vida misma, pasando por el efecto del balón en <em>FIFA</em> 2100pre (chiste interno Venezolano), hasta llegar a los zombies de <em>Left 4 Dead</em>. Los unas con principios matemáticos, estadísticos, físicos, etc&#8230; todo se resume en eso; al-go-rit-mos.</p>
<p style="text-align:justify;">Los que tienen ya cierto conocimiento del tema probablemente estén familiarizados con las competencias o maratones de programación. Participar en ellos, como un medio para lograr nuestro fin, es sencillamente invaluable. Todo el que pueda debería hacerlo al menos un par de veces. Participar, y entrenar, para los maratones es bien positivo por dos razones; 1) te ayuda a elevar tu nivel de abstracción para re-plantear los problemas a fin de que puedas resolverlos de forma eficiente y 2) lograr hacerlo en un lapso bien restringido.</p>
<p style="text-align:justify;">¿Resultados? Un mejor desempeño en el producto final y personal. Cualquiera que haya participado en un <a href="/?p=245">Game Jam</a>, o está en la industria, lo sabe. Un juego que está desarrollado con algoritmos eficientes tiene mejor respuesta ante el jugador, corre en una mayor cantidad de equipos (en el caso de computadoras personales) y esto se traduce en éxito del juego que, a su vez, es beneficio monetario para la casa. Por otra parte, tener habilidad para resolver problemas de manera rápida nos ayudará  pasar menos horas extra frente al trabajo y más tiempo con el ocio/entretenimiento (así éste último sea seguir programando cualquier otra cosa).</p>
<p style="text-align:justify;"><img class="aligncenter" title="juguete" src="http://img195.imageshack.us/img195/4795/penguina.jpg" alt="juguete" width="150" height="126" /></p>
<p style="text-align:justify;">Sin embargo, estudiar algo de forma purista puede tornarse un poco aburrido y para ellos hay soluciones interesantes. Recordemos que nosotros queremos programar juegos, por lo que tenemos una herramienta a nuestro favor. Algunos algoritmos nos pueden ayudar a crear juegos tipo <em>puzzle</em>; tal el es el caso de <a href="http://en.wikipedia.org/wiki/Breadth-first_search"><em>BFS</em></a> (o búsqueda en <a href="http://es.wikipedia.org/wiki/BÃºsqueda_en_anchura">anchura</a>). Este algoritmo para recorrer grafos es el idóneo a aplicar al desarrollar el juego <a href="http://es.wikipedia.org/wiki/Buscaminas">Buscaminas</a>. Así como ése, hay otros ejemplos con áreas de interés bien definida; Inteligencia Artificial, Computación Gráfica, etc. A fin de adquirir experiencia, tanto en algoritmia como programación de juegos es recomendable hacer pequeños demos o &#8220;juguetes&#8221; en la medida de lo posible.</p>
<p style="text-align:justify;">Ok <del>troll</del> Jorge, estoy convencido; ¿y por dónde comienzo? Mi actual profesor de algoritmia ya tiene un <a href="http://throwingcodes.blogspot.com">blog</a> dedicado al tema de los maratones. Mi recomendación es que lo lean y le hagan preguntas sobre lo que va escribiendo, o le pidan abordar algún tema de interés. Estoy convencido que, dentro de sus posibilidades, hará todo lo posible para atender sus inquietudes. Para quien tenga muy poca o ninguna experiencia, <a href="http://throwingcodes.blogspot.com/2010/10/vine-vi-venci.html">ésta</a> es la entrada que deben leer en su blog para comenzar.</p>
<p style="text-align:justify;">Sólo me resta decirles que disfruten sus sesiones de estudio, programación y me digan luego cómo les resultó el experimento.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pctroll.wordpress.com/336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pctroll.wordpress.com/336/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pctroll.wordpress.com/336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pctroll.wordpress.com/336/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pctroll.wordpress.com/336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pctroll.wordpress.com/336/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pctroll.wordpress.com/336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pctroll.wordpress.com/336/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pctroll.wordpress.com/336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pctroll.wordpress.com/336/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pctroll.wordpress.com/336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pctroll.wordpress.com/336/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pctroll.wordpress.com/336/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pctroll.wordpress.com/336/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pctroll.wordpress.com&amp;blog=7059447&amp;post=336&amp;subd=pctroll&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pctroll.wordpress.com/2010/11/02/primero-programo-luego-hago-juegos/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d0a825b2eaa3adbf00e28b636db0f32c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pctroll</media:title>
		</media:content>

		<media:content url="http://img7.imageshack.us/img7/9612/codegame.png" medium="image">
			<media:title type="html">cÃ³digo y juegos</media:title>
		</media:content>

		<media:content url="http://img195.imageshack.us/img195/4795/penguina.jpg" medium="image">
			<media:title type="html">juguete</media:title>
		</media:content>
	</item>
		<item>
		<title>El Global Game Jam según pctroll</title>
		<link>http://pctroll.wordpress.com/2010/08/27/global-game-jam-segun-pctroll/</link>
		<comments>http://pctroll.wordpress.com/2010/08/27/global-game-jam-segun-pctroll/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 19:58:05 +0000</pubDate>
		<dc:creator>pctroll</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.pctrollstudios.com/?p=245</guid>
		<description><![CDATA[Luego de haber participado en los dos Caracas Game Jam (parte del Global Game Jam), considero que tengo cierta experiencia adquirida y que, desde luego, vale la pena compartir. Esta entrada refleja mi percepción de lo que es el Global Game Jam, por lo que te invito a participar en uno para que tengas la [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pctroll.wordpress.com&amp;blog=7059447&amp;post=245&amp;subd=pctroll&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><img class=" aligncenter" src="http://a.imageshack.us/img834/55/globalgamejam.jpg" alt="Logo Global Game Jam" width="468" height="200" /></p>
<p style="text-align:justify;">Luego de haber participado en los dos <a href="http://www.caracasgamejam.com/">Caracas Game Jam</a> (parte del <a href="http://www.globalgamejam.org/">Global  Game Jam</a>), considero que tengo cierta experiencia adquirida y que,  desde luego, vale la pena compartir. Esta  entrada refleja mi percepción de lo que es el Global Game Jam, por lo que te invito a  participar en uno para que tengas la propia.</p>
<p style="text-align:justify;"><span id="more-245"></span>En pocas palabras, el Global Game Jam  <strong>es un evento social</strong> donde varias  personas se reúnen el último fin de semana de Enero con la excusa/reto de hacer un juego  en 48 horas. Digo esto porque desde fuera, e incluso desde dentro,  puede llegar a ser visto como una competencia donde hay ganadores y  perdedores. Realmente eso no es así, o afortunadamente en Venezuela no  lo he percibido. <strong>Todos ganan</strong> por dos sencillas razones: diversión  y aprendizaje. Quien entre en un Game Jam por aquello de que <em>&#8220;yo soy  <span style="text-decoration:line-through;">el chivo que más mea</span> mejor que tú y te lo quiero lanzar en cara&#8221;</em>,  considero está  <del>meando fuera del perol</del> desubicado en la vida.</p>
<p style="text-align:justify;">El principal beneficio de todo esto, sobretodo en países donde la industria de los juegos se encuentra en desarrollo, es  la oportunidad de conocer personas con tus propios intereses; gente creativa y talentosa y, desde luego, es lo que más disfruto. He podido formar lazos de amistad, con buena parte de los participantes, que va más allá de la computación y los juegos. Por otra parte, es una excelente oportunidad para poner tus habilidades a prueba y, sobre todo, aprender de los otros participantes.</p>
<p style="text-align:justify;">Cada año, el Global Game Jam tiene una temática distinta a la cual se le agregan requerimientos adicionales obligatorios y otros requerimientos especiales de valor agregado. Contrariamente a los que muchos podrían pensar, estas limitantes ayudan a crear un juego de manera, si se quiere, más rápida. ¿Cómo? Al estar nuestra imaginación enfocada en la temática y requerimientos, es más sencillo buscar la forma de explotar todos los recursos a fin de lograr el objetivo. Esto no es algo que digo yo, sino toda la comunidad; por ejemplo la gente del <a href="http://www.experimentalgameplay.com/">Experimental Gameplay Project</a> en su publicación de <a href="http://www.gamasutra.com/features/20051026/gabler_01.shtml">Cómo hacer un prototipo de juego en 7 dís</a> (artículo en Inglés):</p>
<blockquote>
<p style="text-align:justify;">Nuestros juegos más exitosos nacieron de temas o <em>juguetes</em> específicos, como &#8220;gravedad&#8221; o &#8220;enjambre&#8221; o &#8220;haz un juego destinado a un público predominantemente femenino&#8221;. De alguna forma, fue más sencillo ser creativo cuando hubo restricciones.</p>
<p style="text-align:justify;">Adicionalmente, con un equipo donde todos están generando prototipos acerca de un mismo tema, y de forma simultánea, había cierta garantía que evitaríamos atacar la misma mecánica. De este modo, nos retamos a explorar y realmente sacarle todo el jugo al tema a fin de obtener todas las mecánicas posibles.</p>
</blockquote>
<p style="text-align:justify;">Dada la temática, es hora de comenzar a reunirse en equipos si aun no posees ninguno. Dependiendo de la magnitud del evento, hay una presentación de cada uno de los participantes previo al inicio oficial del jam. Por otra parte, usualmente la lista de participantes tiene un campo destinado a colocar la especialidad de cada uno para ubicar de forma más sencilla a ese recurso que te hace falta (programación, arte, sonido); así como también distintivos para colocarte en un sitio visible con tu nombre y especialidades.</p>
<div class="wp-caption aligncenter" style="width: 310px"><img src="http://a.imageshack.us/img203/1129/ccsgj2009badge.jpg" alt="Mi distintivo del Caracas Game Jam 2009" width="300" height="225" /><p class="wp-caption-text">Mi distintivo del Caracas Game Jam 2009</p></div>
<p style="text-align:justify;">La idea  de reunirse en equipos es por la sencilla razón de que un trabajo en  equipo, dada las condiciones, puede resultar más provechoso que el  trabajo en soledad. Eso es así y punto (ejm: empresas, matrimonios,  sociedades, estudios). Se asemeja a la división por grupos de trabajo  para entregar en un proyecto académico y no a la división por equipos en  una liga de fútbol (donde se lucha por una copa), por ejemplo. Digo esto porque hay gente que deja de participar porque &#8220;su equipo&#8221; no está completo. Insisto, es un evento social; por lo que es muy positivo que nuevos equipos y amistades se formen a partir del mismo.</p>
<p style="text-align:justify;">Todo el evento, como lo indiqué en un principio, dura 48 horas. <strong>Estas 48 horas engloban todo el proceso de desarrollo de un juego</strong> (origen de la idea,  planificación, desarrollo -código, arte, música- y lanzamiento). ¿Lanzamiento? Sí, hay que subir los fuentes y ejecutable del juego al  servidor del Global Game Jam. No tendrá los bombos y platillos de Halo  3, pero es un lanzamiento y tienes alrededor de 60 minutos para subir los fuentes y luego se presentan los juegos a todo el público asistente. La oportunidad se presta para la recomendación de oro: a pesar de la presión del tiempo, invierte algunos minutos en planificar la organización de los archivos con tu equipo, ya que existe un  estándar a cumplir para subir el juego desarrollado.</p>
<p style="text-align:justify;">El lanzamiento de los juegos del Caracas Game Jam 2010 contó con el lente de <a href="http://www.elchiguireliterario.com/">Ciro Durán</a> para dejar el recuerdo y compartirlo con la comunidad.</p>
<ul>
<li><a href="http://www.youtube.com/watch?v=XSRy7O2iSnw">Normal</a>.</li>
<li><a href="http://www.youtube.com/watch?v=Huy0bVlpELo">Mousing Around</a>.</li>
<li><a href="http://www.youtube.com/watch?v=WT2eahtAi5g">Rally^3</a>.</li>
<li><a href="http://www.youtube.com/watch?v=_juWIq9Wijw">Sym-0</a> (en el cual participó su <span style="text-decoration:line-through;">troll favorito</span> servidor).</li>
</ul>
<p style="text-align:justify;">Dependiendo de la sede y la organización, puede haber invitados especiales de los cuales recibir <em>feedback</em> e incluso <a href="http://globalgamejam.com/sites/default/files/GGJNewsletter01.pdf">ofertas de empleo</a> (buscar <em>&#8220;Deception Wars&#8221;</em>). Ciertamente son casos bien puntuales, pero es un ejemplo de lo que se puede alcanzar al decir &#8220;sí&#8221; a un fin de semana diferente.</p>
<p style="text-align:justify;">Imagen: <a href="http://www.globalgamejam.org/">Global Game Jam</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pctroll.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pctroll.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pctroll.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pctroll.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pctroll.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pctroll.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pctroll.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pctroll.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pctroll.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pctroll.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pctroll.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pctroll.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pctroll.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pctroll.wordpress.com/245/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pctroll.wordpress.com&amp;blog=7059447&amp;post=245&amp;subd=pctroll&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pctroll.wordpress.com/2010/08/27/global-game-jam-segun-pctroll/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d0a825b2eaa3adbf00e28b636db0f32c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pctroll</media:title>
		</media:content>

		<media:content url="http://a.imageshack.us/img834/55/globalgamejam.jpg" medium="image">
			<media:title type="html">Logo Global Game Jam</media:title>
		</media:content>

		<media:content url="http://a.imageshack.us/img203/1129/ccsgj2009badge.jpg" medium="image">
			<media:title type="html">Mi distintivo del Caracas Game Jam 2009</media:title>
		</media:content>
	</item>
		<item>
		<title>¡Por un código más verde!</title>
		<link>http://pctroll.wordpress.com/2010/08/16/codigo-verde/</link>
		<comments>http://pctroll.wordpress.com/2010/08/16/codigo-verde/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 13:30:11 +0000</pubDate>
		<dc:creator>pctroll</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.pctrollstudios.com/?p=113</guid>
		<description><![CDATA[Estamos en el momento &#8220;sé verde&#8221; y, como programador, considero que es una buena oportunidad de tomar en consideración los aspectos &#8220;verdes&#8221; del área. El compilador ignora los comentarios, mas no significa que deban ser ignorados por el programador. Sé parte de la ola documentando tu código; recordarás mejor tu trabajo, tendrás más amigos y [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pctroll.wordpress.com&amp;blog=7059447&amp;post=113&amp;subd=pctroll&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><img class=" aligncenter" src="http://a.imageshack.us/img16/6706/binarycode.jpg" alt="CÃ³digo binario" width="468" height="200" /></p>
<p style="text-align:justify;">Estamos en el momento &#8220;sé verde&#8221; y, como programador, considero que es una buena oportunidad de tomar en consideración los aspectos &#8220;verdes&#8221; del área.</p>
<p style="text-align:justify;">El compilador ignora los comentarios, mas no significa que deban ser ignorados por el programador. Sé parte de la ola documentando tu código; recordarás mejor tu trabajo, tendrás más amigos y estarás ayudando a crear código más verde, literalmente.</p>
<p style="text-align:justify;"><span id="more-113"></span>Hay un dicho en Inglés que dice &#8220;<em>Always write and document your code as if the person who is going to maintain it is a serial killer and knows where you live</em>&#8220; que se puede traducir a algo como &#8220;Siempre escribe y documenta tu código como si la persona que lo va a mantener es un asesino en serie y sabe dónde vives&#8221;. Efectivamente, es una <span style="text-decoration:line-through;">ladilla</span> piedra en el zapato <span style="text-decoration:line-through;">meterle mano</span> mantener un código pobremente documentado y es probable que termines <span style="text-decoration:line-through;">mentando madre</span> teniendo una mala impresión de quien lo hizo.</p>
<p style="text-align:justify;">Antes de un discurso moral y pintar escenarios utópicos de programación, quiero dejar algo bien claro a todo aquel que comienza en el área, y a quien ya tiene experiencia pues sirve para recordarlo:  leer código poco documentado es la forma de aprender en el mundo real. Al cliente le importa que el código funcione y punto. Los estándares de desarrollo son iniciativa propia de cada programador y es nuestra responsabilidad como profesionales aplicarlo (bien sea luego de cada entrega o en cada nuevo ciclo de refactorización). <strong>Tener el entregable a tiempo es prioridad número uno</strong>. Entender y documentar un código que no escribiste, mejora tus aptitudes puesto que debes ejercer las funciones de compilador y correr en frío el código que quieres entender.</p>
<p style="text-align:justify;">Hecha la aclaratoria de lo que es el mundo real, conocido también como <del>calle</del> mercado laboral; vamos a despotricar y dar lecciones de moral.</p>
<p style="text-align:justify;">Algunas personas creen en el dicho &#8220;<em>If it was hard writing it, it must be hard reading it</em>&#8220; (Si fue difícil escribirlo, debería ser difícil leerlo). Esto es  reflejo de incompetencia y mediocridad. No se está considerando que en un futuro, es bastante probable que  seas tú el que deba volver a leer ese código. Puede que pierdas tiempo valioso tratando de recordar lo que hace, en vez de concentrarte en mejorarlo/arreglarlo. Acción y reacción; así de sencillo y así de complicado.</p>
<p style="text-align:justify;">Así de sencillo; porque documentar el código te hace ir a una capa de abstracción superior para definir de forma clara y concisa el proceso que realiza un bloque de código, y sirve de referencia en el futuro. Así de complicado; porque puede resultar fastidioso debido a que <strong>muchas veces es tomado a la ligera</strong>, porque hay otras cosas &#8220;más importantes&#8221; que hacer.</p>
<p style="text-align:justify;">Así como existen normas de cortesía para la sociedad en general; documentar el código es, ciertamente, una de las mejores normas de cortesía en esta sociedad de programadores por cuanto ayuda a ubicar en contexto a quien lo lee por primera vez o, en todo caso, tener una referencia rápida sobre el bloque de código en cuestión.</p>
<p style="text-align:justify;">Como nota adicional, hazte un favor y documenta el código a medida que vayas programando. Como dice Todd Hoff &#8220;Escribe los comentarios a medida que programas. No regresarás más tarde a documentar tu código. Simplemente no lo harás. No te mientas a ti mismo, al mundo ni a tu madre diciendo que lo harás&#8221;. Doy fe de ello. Mucho código &#8220;viejo&#8221; está en mi disco esperando ser documentado, y creo que así se quedará.</p>
<p style="text-align:justify;">Es importante destacar lo significativo de ser auto explicativo. Documentar código comienza colocando nombres adecuados a las funciones y variables; nombres que sean de cierta forma <em>naturales,</em> evitando los acrónimos y contracciones. Esto puede ser todo un arte, pero el esfuerzo vale la pena.</p>
<p style="text-align:justify;">Creo que las razones para documentar quedaron bien claras. Ahora queda hablar un poco del cómo. Pues sencillo, siguiendo patrones y estándares. Ni se te ocurra reinventar la rueda en este aspecto. Sé productivo y usa lo que ya está hecho y es ampliamente utilizado. Ejemplos (enlances en Inglés):</p>
<ul>
<li><a href="http://www.possibility.com/Cpp/CppCodingStandard.html">Convenciones para C++ (por Todd Hoff)</a>.</li>
<li><a href="http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml">Convenciones para C++ en Google</a>.</li>
<li><a href="http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html">Convenciones para Java</a>.</li>
</ul>
<p style="text-align:justify;">En mi experiencia, existen tres herramientas relevantes en la generación de documentación que siguen patrones ya establecidos y aceptados por la comunidad:</p>
<ul>
<li><strong>Javadoc</strong>. Está basado en los estándares de documentación del API de Java y orientado a dicha tecnología, pero también es utilizado con otros lenguajes y herramientas.</li>
<li><strong>NDoc</strong>. Desarrollo en C# y .Net.<strong><br />
</strong></li>
<li><strong>Doxygen</strong>. Es un generador bien flexible que incluso acepta las convenciones utilizadas para Javadoc.</li>
</ul>
<p style="text-align:justify;">En este sentido, considero que es importante conocer y tener nociones básicas de las convenciones Javadoc; por ser, a juicio personal, las más utilizadas. Para respaldar esta aseveración, Eclipse, NetBeans y FlashDevelop son Editores/IDEs que manejan estas convenciones de manera bien amigable.</p>
<p style="text-align:justify;">En conclusión; siempre habrá excusas para pasar por alto los comentarios, pero queda de nuestra parte el ser profesionales. Documenta el código a medida que lo <span style="text-decoration:line-through;">echas</span> escribes, haz lo humanamente posible por aprender y aplicar estándares y por último, recuerda que el escribir buena documentación comienza por ser auto explicativo.</p>
<pre class="brush: cpp">/**
 * @author    pctroll
 *
 * THE blog IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 * Technorati token: NKVVWDWTSBAC
 */</pre>
<p style="text-align:justify;">Extracto, modificado, de la <a href="http://en.wikipedia.org/wiki/MIT_License">Licencia MIT</a>.</p>
<p style="text-align:justify;">Fotografía: <a href="http://www.sxc.hu/photo/1159615">Flavio Takemoto</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pctroll.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pctroll.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pctroll.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pctroll.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pctroll.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pctroll.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pctroll.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pctroll.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pctroll.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pctroll.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pctroll.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pctroll.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pctroll.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pctroll.wordpress.com/113/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pctroll.wordpress.com&amp;blog=7059447&amp;post=113&amp;subd=pctroll&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pctroll.wordpress.com/2010/08/16/codigo-verde/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d0a825b2eaa3adbf00e28b636db0f32c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pctroll</media:title>
		</media:content>

		<media:content url="http://a.imageshack.us/img16/6706/binarycode.jpg" medium="image">
			<media:title type="html">CÃ³digo binario</media:title>
		</media:content>
	</item>
		<item>
		<title>Troll-o-Paddles y mi comienzo con OpenGL</title>
		<link>http://pctroll.wordpress.com/2010/08/06/trollopaddles-comienzo-opengl/</link>
		<comments>http://pctroll.wordpress.com/2010/08/06/trollopaddles-comienzo-opengl/#comments</comments>
		<pubDate>Sat, 07 Aug 2010 03:33:55 +0000</pubDate>
		<dc:creator>pctroll</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.pctrollstudios.com/?p=191</guid>
		<description><![CDATA[Para aprender un poco sobre OpenGL en vacaciones, decidí arrancar con un juego basado en Pong llamado Troll-o-Paddles; algo así como Troll-o-Raquetas, en Español. Hace dos semanas comencé el proyecto haciendo un sencillo documento de diseño en Español y en Inglés para definir, de alguna forma, el alcance y esquema general del juego. Realmente no [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pctroll.wordpress.com&amp;blog=7059447&amp;post=364&amp;subd=pctroll&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><img class=" aligncenter" src="http://a.imageshack.us/img697/8052/paddlej.jpg" alt="Ping pong paddle and block" width="468" height="200" /></p>
<p style="text-align:justify;">Para aprender un poco sobre OpenGL en vacaciones, decidí arrancar con un juego basado en Pong llamado <em>Troll-o-Paddles</em>; algo así como Troll-o-Raquetas, en Español.</p>
<p style="text-align:justify;"><span id="more-364"></span>Hace dos semanas comencé el proyecto haciendo un sencillo documento de diseño en <a href="http://docs.google.com/document/edit?id=1ihTWo8ZssLIi2H7NwkC43x2KkZ0wsw2t5IZc5LpdvgA&amp;hl=en">Español</a> y en <a href="http://docs.google.com/document/edit?id=1UIAt_whK-Yk4CkkkRH8GuEmjAf72ioIiR4amRvJW47A&amp;hl=en">Inglés</a> para definir, de alguna forma, el alcance y esquema general del juego. Realmente no tomé ninguna plantilla ni referencia bibliográfica para este asunto; siento que me hubiese entorpecido el proceso. Puedo comenzar a leer y a leer del tema, comparar ideas y terminar aprendiendo mucha teoría; dejando la práctica (terminar el juego) de lado.</p>
<p style="text-align:justify;">Algo que me quedó de trabajar 6 meses en Accenture, es la organización para tener una idea de cómo manejar una <a href="http://spreadsheets.google.com/ccc?key=0Av0QoBGAkirHdEI2ZTJad0VWakc2OV95MmtXRWwwM3c&amp;hl=en&amp;authkey=COuTh9YF">lista de cosas por hacer (<em>TO-DO list</em>)</a>; y no me tomó mucho tiempo realizarla, porque justamente ya tení el esquema del juego suficientemente definido. Para estos documentos utilicé Google docs y así compartirlos de la manera más sencilla posible.</p>
<p style="text-align:justify;">Como quiero aprender a partir de las reseñas del público en general y otros programadores, decidí crear un repositorio en <a href="https://bitbucket.org/pctroll/trollopaddles">Bitbucket</a>. Esto, según yo, va a ayudar a crear un mejor código y mejor organización como programador. ¿Cómo? La presión de que mi código va a ser visto por otras personas, tanto experimentadas como no experimentadas, me obliga a tener mi código documentado y lo más limpio posible, así como crear un &#8220;producto final&#8221; estable.</p>
<p style="text-align:justify;">Si se fijan de nuevo en el <a href="http://spreadsheets.google.com/ccc?key=0Av0QoBGAkirHdEI2ZTJad0VWakc2OV95MmtXRWwwM3c&amp;hl=en&amp;authkey=COuTh9YF"><em>TO-DO</em></a>, para el momento en que termino de <strong>agregar los elementos de sonido</strong>, deberí tener un juego estable pero agregué elementos extra. Esto está hecho así para realizar el ejercicio de hacer un juego verdaderamente completo. Cuando comencé a indagar en aprender a realizar juegos, leí que esta es la parte más importante; <span style="text-decoration:line-through;">terminar el juego como Dios manda</span> tener el juego presentable. No importa cuantos prototipos tengas, si no están completos.</p>
<p style="text-align:justify;">Geoff Howland en &#8220;<a href="http://www.gamedev.net/reference/articles/article892.asp"><em>How do I make games? A path to Game Development</em></a>&#8221; (artículo destacado en GameDev.net) opina que:</p>
<blockquote>
<p style="text-align:justify;">Terminar un juego no significa apenas llevarlo a un punto donde se pueda jugar, y luego continuar con otro, esto no es un juego completo. Un juego terminado tiene una pantalla de presentación, pantalla de cierra, menú de opciones (si aplica, por lo menos instrucciones de cómo jugar y comenzar), pantalla de introducción al juego, pantalla de recompensas y tabla de puntuación (cuando aplique).</p>
</blockquote>
<p style="text-align:justify;">La meta es tener el juego listo para el 5 de Septiembre del 2010. Aun queda mucho por programar y por hacer; así que, apenas termine de traducir esta entrada, regreso a echar código un rato. Les estoy avisando sobre el avance del mismo vía <a href="http://pctroll.tumblr.com/">Tumblr</a> y <a href="http://www.twitter.com/pctrollstudios">Twitter</a>; espero sus comentarios.</p>
<p style="text-align:justify;">Fotografía: <a href="http://www.sxc.hu/profile/danzo08">Far-away brothers</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pctroll.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pctroll.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pctroll.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pctroll.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pctroll.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pctroll.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pctroll.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pctroll.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pctroll.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pctroll.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pctroll.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pctroll.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pctroll.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pctroll.wordpress.com/364/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pctroll.wordpress.com&amp;blog=7059447&amp;post=364&amp;subd=pctroll&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pctroll.wordpress.com/2010/08/06/trollopaddles-comienzo-opengl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d0a825b2eaa3adbf00e28b636db0f32c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pctroll</media:title>
		</media:content>

		<media:content url="http://a.imageshack.us/img697/8052/paddlej.jpg" medium="image">
			<media:title type="html">Ping pong paddle and block</media:title>
		</media:content>
	</item>
		<item>
		<title>Lista de 10 primeros juegos a programar</title>
		<link>http://pctroll.wordpress.com/2010/08/02/lista-10-primeros-juegos-programar/</link>
		<comments>http://pctroll.wordpress.com/2010/08/02/lista-10-primeros-juegos-programar/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 13:30:46 +0000</pubDate>
		<dc:creator>pctroll</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.pctrollstudios.com/?p=153</guid>
		<description><![CDATA[La forma de empezar a adquirir experiencia, y portafolio, es haciendo juegos. Es importante comenzar por proyectos pequeños que nos permitan entender bien de qué va el ciclo de juego (o game loop), el manejo de entradas y salidas, así como conocer y experimentar con la herramienta de desarrollo, pero lo más importante de todo: [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pctroll.wordpress.com&amp;blog=7059447&amp;post=363&amp;subd=pctroll&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><img class=" aligncenter" src="http://a.imageshack.us/img828/1951/lego.jpg" alt="lego block" width="468" height="200" /></p>
<p style="text-align:justify;">La forma de empezar a adquirir experiencia, y portafolio, es haciendo juegos. Es importante comenzar por <strong>proyectos pequeños</strong> que nos permitan entender bien de qué va el ciclo de juego (o <em>game loop</em>), el manejo de entradas y salidas, así como conocer y experimentar con la herramienta de desarrollo, pero lo más importante de todo: <strong>terminarlos</strong>. Aquí, una lista de juegos por los cuales comenzar.</p>
<p style="text-align:justify;"><span id="more-363"></span>Mi amigo Ciro Durán en su blog, El  Chigüire Literario, comenzó a publicar una serie de artículos a manera  de <em><a href="http://www.elchiguireliterario.com/2010/06/29/asi-que-quieres-hacer-un-juego-i-%C2%BFpor-donde-comenzar/" target="_blank">Guía  sensata al desarrollo de videojuegos</a></em> (en sus propias  palabras); y eso me motivó para compartir con ustedes la siguiente  lista que elaboré de 10 juegos que todo programador deberÃ­a atreverse a  desarrollar.</p>
<p style="text-align:justify;">Busqué crear una lista y mantener un orden relativamente lógico con respecto a la dificultad de los mismos. Los puntos clave en cada uno de los juegos son pistas sobre qué investigar o qué tomar en consideración. Puede extenderse e incluso combinarse los puntos de un juego con otro, tu imaginación es el límite.</p>
<h2>1 Simón / Simón dice.</h2>
<p><img class="alignnone" src="http://a.imageshack.us/img251/1126/01simon.jpg" alt="simon" width="200" height="150" /></p>
<p>Referencia: <a href="http://www.neave.com/games/simon/">Neave Games</a>.</p>
<p>Puntos clave:</p>
<ul>
<li>Familiarizarte con la herramienta de desarrollo;  biblioteca/framework/API/motor/etc.</li>
<li>Acercamiento al ciclo de juegos orientado a <strong>turnos</strong>.</li>
</ul>
<h2>2 Tic-Tac-Toe / La vieja.</h2>
<p><img class="alignnone" src="http://a.imageshack.us/img203/378/02tictactoe.jpg" alt="tic-tac-toe" width="200" height="150" /></p>
<p>Referencia: <a href="http://www.neave.com/games/tictactoe/">Neave games</a>.</p>
<p>Puntos clave:</p>
<ul>
<li>Familiarizarte con la herramienta de desarrollo; biblioteca/<em>framework</em>/API/motor/etc.</li>
<li>Acercamiento al ciclo de juego orientado a <strong>turnos</strong>.</li>
<li>Acercamiento a la <strong>inteligencia artificial</strong> a través del  algoritmo <strong>minimax</strong>.</li>
</ul>
<h2>3 Snake.</h2>
<p><img class="alignnone" src="http://a.imageshack.us/img822/7199/03snake.jpg" alt="snake" width="200" height="150" /></p>
<p>Referencia: <a href="http://www.kongregate.com/games/daniil/old-school-snake">Kongregate</a>.</p>
<p>Puntos clave:</p>
<ul>
<li>Arreglos multidimensionales (matrices).</li>
<li>Acercamiento al ciclo de juego orientado al <strong>movimiento</strong> en relación al <strong>tiempo</strong>.</li>
<li>Detección de <strong>colisiones</strong> sencillas.</li>
</ul>
<h2>4 Pong.</h2>
<p><img class="alignnone" src="http://a.imageshack.us/img801/5152/05pong.jpg" alt="pong" width="200" height="150" /></p>
<p>Referencia: <a href="http://www.2flashgames.com/play/f-303.htm">2FlashGames</a></p>
<p>Puntos clave:</p>
<ul>
<li>Acercamiento al ciclo de juego orientado al <strong>movimiento</strong> en relación al <strong>tiempo</strong>.</li>
<li>Detección de colisiones <strong><em>bounding box</em></strong> o caja de restricción.</li>
<li>Acercamiento a juegos <strong>multijugador</strong>.</li>
</ul>
<h2>5 Tron.</h2>
<p><img class="alignnone" src="http://a.imageshack.us/img96/6788/04tron.jpg" alt="tron" width="200" height="150" /></p>
<p>Referencia: <a href="http://www.baromon.com/games/Flash_Tron/Flash_Tron.htm">Baromon</a>.</p>
<p>Puntos clave:</p>
<ul>
<li><strong>Reutilización</strong> de código de proyectos anteriores.</li>
<li>Acercamiento a <strong>inteligencia artificial</strong> con algoritmos de <strong>camino más corto</strong>.</li>
</ul>
<h2>6 Tetris.</h2>
<p><img class="alignnone" src="http://a.imageshack.us/img121/3231/06tetris.jpg" alt="tetris" width="200" height="150" /></p>
<p>Referencia: <a href="http://www.google.com/url?sa=t&amp;source=web&amp;cd=2&amp;ved=0CBYQFjAB&amp;url=http%3A%2F%2Fwww.freetetris.org%2F&amp;ei=ajI9TKX7JMP78AbO6pmmBg&amp;usg=AFQjCNHntVd5nvB0MoU3ooxJ6hLHXIN0Fw&amp;sig2=2ipR_8qmD3MieNvsGIa5-Q">FreeTetris</a>.</p>
<p>Puntos clave:</p>
<ul>
<li>Arreglos multidimensionales.</li>
<li>Detección de colisiones.</li>
<li>Algoritmo de incremento de dificultad.</li>
</ul>
<h2>7 Breakout / Arkanoid.</h2>
<p><img class="alignnone" src="http://a.imageshack.us/img517/8330/07breakout.jpg" alt="breakout" width="200" height="150" /></p>
<p>Referencia: <a href="http://www.google.com/url?sa=t&amp;source=web&amp;cd=1&amp;ved=0CBkQFjAA&amp;url=http%3A%2F%2Fwww.2flashgames.com%2Ff%2Ff-473.htm&amp;ei=1zQ9TI--EML38AbarMWnBg&amp;usg=AFQjCNH4eQsanWaHCDIafKzhXJLE4TGv0Q&amp;sig2=I7rqMH1qiYu3c-9fdl1agQ">2dFlashGames</a>.</p>
<p>Puntos clave:</p>
<ul>
<li>Manejo de <em><strong>powerups</strong></em> y <strong>polimorfismo</strong>.</li>
<li>Creación y manejo de <strong>niveles</strong>.</li>
</ul>
<h2>8 Asteroids.</h2>
<p><img class="alignnone" src="http://a.imageshack.us/img12/8867/08asteroids.jpg" alt="asteroids" width="200" height="150" /></p>
<p>Referencia: <a href="http://www.goriya.com/flash/asteroids/asteroids.shtml">Goriya</a>.</p>
<p>Puntos clave:</p>
<ul>
<li>Detección de colisiones por <strong>circunferencia</strong>.</li>
<li>Aplicación de la <strong>física</strong> dentro del ciclo de juego.</li>
</ul>
<h2>9 Pac-Man.</h2>
<p><img class="alignnone" src="http://a.imageshack.us/img205/9048/09pacman.jpg" alt="pac-man" width="200" height="150" /></p>
<p>Referencia: <a href="http://www.thepcmanwebsite.com/media/pacman_flash/">The PCMan site</a>.</p>
<p>Puntos clave:</p>
<ul>
<li>Inteligencia artificial por medio del <strong>algoritmo A*</strong>.</li>
<li>Creación y manejo de <strong>niveles</strong>.</li>
<li>Creatividad para hacer un <em>remake</em> con elementos adicionales o distintos.</li>
</ul>
<h2>10 Dance Dance Revolution / Guitar Hero / Rock Band.</h2>
<p><img class="alignnone" src="http://a.imageshack.us/img39/7836/10ddr.jpg" alt="dance dance revolution" width="200" height="150" /></p>
<p>Referencia: <a href="http://www.videogamecritic.net/images/ps2/ddrmax2__dance_dance_revolution.jpg">Videogame Critic</a>.</p>
<p>Puntos clave:</p>
<ul>
<li>Creación y manejo de <strong>niveles</strong> acorde a <strong>grados de dificultad</strong>.</li>
<li><strong>Sincronización</strong> de audio y video.</li>
<li>Sistema complejo de <strong>animaciones</strong>.</li>
</ul>
<p>Puntos adicionales a experimentar por cada juego una vez que esté terminado o suficientemente avanzado:</p>
<ul>
<li>Tabla de puntuaciones.</li>
<li>Puntos de carga (especialmente para los juegos en web).</li>
<li>Interacción con redes sociales (Kongregate, Facebook, Twitter, etc.).</li>
<li>Instalador, en caso de ser un juego <em>stand-alone</em> para PC.</li>
<li>Gráficos y sonido atractivos (formar un equipo de desarrollo).</li>
</ul>
<p style="text-align:justify;">Existen otros juegos que también vale la pena revisar, pero quise hacer una lista variada y con distintos temas. Ciertamente la mayoría son <em>puzzles</em> o contienen muchos elementos de este género; pero considero que ningún juego debe ser subestimado, por más sencillo que parezca. En mi experiencia, es muy distinto tener la idea teórica de cómo funciona un juego y realmente sentarse a terminarlo; te das cuentas que hay pequeños detalles que cuentan, cosas que probablemente no tomaste en cuenta y debas refactorizar mucho código (o en su defecto cortar esquinas).</p>
<p style="text-align:justify;">Con esta entrada me queda la emoción por investigar más sobre cada género y elaborar otras listas especializadas, así como una nueva entrega con una segunda ronda de juegos igual o más variada que ésta.</p>
<p style="text-align:justify;">¿Cuesta un poco terminarlos? Nos pasa a todos. Ciro, del Chigüire Literario, ya dio una charla sobre eso y <a href="http://www.elchiguireliterario.com/2009/06/07/laminas-de-la-charla-comienza-un-videojuego-y-terminalo/">aquí las láminas</a>. Espero sus sugerencias de esta entrada.</p>
<p style="text-align:justify;">Créditos fotografía: <a href="http://www.sxc.hu/profile/danzo08">Daniel Wildman</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pctroll.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pctroll.wordpress.com/363/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pctroll.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pctroll.wordpress.com/363/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pctroll.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pctroll.wordpress.com/363/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pctroll.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pctroll.wordpress.com/363/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pctroll.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pctroll.wordpress.com/363/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pctroll.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pctroll.wordpress.com/363/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pctroll.wordpress.com/363/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pctroll.wordpress.com/363/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pctroll.wordpress.com&amp;blog=7059447&amp;post=363&amp;subd=pctroll&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pctroll.wordpress.com/2010/08/02/lista-10-primeros-juegos-programar/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d0a825b2eaa3adbf00e28b636db0f32c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pctroll</media:title>
		</media:content>

		<media:content url="http://a.imageshack.us/img828/1951/lego.jpg" medium="image">
			<media:title type="html">lego block</media:title>
		</media:content>

		<media:content url="http://a.imageshack.us/img251/1126/01simon.jpg" medium="image">
			<media:title type="html">simon</media:title>
		</media:content>

		<media:content url="http://a.imageshack.us/img203/378/02tictactoe.jpg" medium="image">
			<media:title type="html">tic-tac-toe</media:title>
		</media:content>

		<media:content url="http://a.imageshack.us/img822/7199/03snake.jpg" medium="image">
			<media:title type="html">snake</media:title>
		</media:content>

		<media:content url="http://a.imageshack.us/img801/5152/05pong.jpg" medium="image">
			<media:title type="html">pong</media:title>
		</media:content>

		<media:content url="http://a.imageshack.us/img96/6788/04tron.jpg" medium="image">
			<media:title type="html">tron</media:title>
		</media:content>

		<media:content url="http://a.imageshack.us/img121/3231/06tetris.jpg" medium="image">
			<media:title type="html">tetris</media:title>
		</media:content>

		<media:content url="http://a.imageshack.us/img517/8330/07breakout.jpg" medium="image">
			<media:title type="html">breakout</media:title>
		</media:content>

		<media:content url="http://a.imageshack.us/img12/8867/08asteroids.jpg" medium="image">
			<media:title type="html">asteroids</media:title>
		</media:content>

		<media:content url="http://a.imageshack.us/img205/9048/09pacman.jpg" medium="image">
			<media:title type="html">pac-man</media:title>
		</media:content>

		<media:content url="http://a.imageshack.us/img39/7836/10ddr.jpg" medium="image">
			<media:title type="html">dance dance revolution</media:title>
		</media:content>
	</item>
		<item>
		<title>Programación, Bohr y reflexiones</title>
		<link>http://pctroll.wordpress.com/2010/06/27/programacion-bohr-reflexiones/</link>
		<comments>http://pctroll.wordpress.com/2010/06/27/programacion-bohr-reflexiones/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 16:24:39 +0000</pubDate>
		<dc:creator>pctroll</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.pctrollstudios.com/?p=126</guid>
		<description><![CDATA[Esta fue una semana de cambios y aprendizajes que van un poco más allá de la programación y los juegos. La reflexión de esta semana comenzó con un simple problema de programación y se extiende hasta mi objetivo de vida. En mis estudios de pre-grado no tuve la necesidad de implementar el algoritmo de búsqueda [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pctroll.wordpress.com&amp;blog=7059447&amp;post=360&amp;subd=pctroll&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><img class=" aligncenter" src="http://img20.imageshack.us/img20/5200/miamiskyline.jpg" alt="image skyline" width="468" height="200" /></p>
<p style="text-align:justify;">Esta fue una semana de cambios y aprendizajes que van un poco más allá de la programación y los juegos. La reflexión de esta semana comenzó con un simple problema de programación y se extiende hasta mi objetivo de vida.</p>
<p style="text-align:justify;"><span id="more-360"></span>En mis estudios de pre-grado no tuve la necesidad de implementar el algoritmo de búsqueda binaria; fue simplemente teoría. Sin embargo, actualmente estoy recibiendo clases para refinar mis habilidades matemáticas y de programación para pulirme; por lo que naturalmente me tocó divertirme un poco con dicho algoritmo.</p>
<h3>Primera implementación</h3>
<pre class="brush: cpp;">
int trollSearch(int n, int *arr, int arraySize)
{
	int index = 0;
	while(arraySize &gt; 1)
	{
		index += (arraySize/2);
		arraySize -= (arraySize/2);
		if(*(arr+index) == n)
			return index;
		else if(*(arr+index) &gt; n)
			index -= arraySize;
	}
	if(*(arr+index) == n)
		return index;
	else
		return -1;
}
</pre>
<p style="text-align:justify;">Esta primera implementación, a pesar de no ser directamente búsqueda binaria, funciona relativamente bien. Contiene <em>bugs</em><strong> </strong>reparables, y por eso el nombre de la función es &#8220;trollSearch&#8221;. Repararla queda en la lista de cosas pendientes, el caso es continuar con el cuento.</p>
<h3>Segunda implementación</h3>
<pre class="brush: cpp;">
int binarySearch(int n, int *arr, int arraySize)
{
	int	minLim = 0, maxLim = arraySize-1, middle = 0;
	while(maxLim &gt; minLim)
	{
		// punto medio segÃºn yo
		middle = ((maxLim-minLim+1)/2 + minLim);
		if(n == arr[middle])
			return middle;
		else if(n &gt; arr[middle])
		{
			minLim = middle;
		}
		else
		{
			maxLim = middle;
		}
	}
	if(n == arr[middle])
		return middle;
	else
		return -1;
}
</pre>
<p style="text-align:justify;">Esta segunda forma sí­ es búsqueda binaria. En un principio pensé que la utilización de variables adicionales no era muy efectivo y por eso fue que salió trollSearch. Quiero hacer énfasis en las líneas 6 y 7. El &#8220;punto medio según yo&#8221; hace el cálculo, aunque un poco ofuscado. Es entonces donde un amigo, que participó en maratones, hace la observación y me refresca la memoria en matemáticas para hacer un cambio en las lí­neas antes mencionadas:</p>
<h3>Segunda implementación refinada</h3>
<pre class="brush: cpp; first-line: 6;">
    // punto medio con repaso en matemÃ¡ticas
    middle = (maxLim + minLim)/2;
</pre>
<p>Luego de una pequeña conversación vía gtalk, mi amigo me hizo referencia al <a href="http://www.lainsignia.org/2007/agosto/cyt_003.htm"><em>Problema del Barómetro</em> o <em>La Anécdota de Bohr</em></a>.</p>
<p style="text-align:justify;">Este es un ejemplo, si se quiere trivial, de que hay distintas formas de alcanzar el mismo objetivo (tal como lo expuso Bohr). Hay maneras más eficientes que otras, sencillas y ofuscadas, pero no por eso tienen menos crédito. El valor de conocer las distintas vías en las que un objetivo se puede alcanzar es, a opinión personal, una de las claves del éxito. El conocimiento es poder y no siempre la forma más efectiva de hacer algo, para una circunstancia en particular, aplica para todas las demás; por eso es bueno estar en constante aprendizaje.</p>
<p style="text-align:justify;">Si lo llevamos al contexto de este blog, la industria de los videojuegos es extensa. Hay distintas formas de llegar a ella (nuestro objetivo). Detrás de los <em>publishers</em> hay una cantidad de empresas de desarrollo con muy buenas iniciativas, muy buenas ideas, talentos como tú y yo, y especializaciones en áreas en las que somos muy buenos y no sabíamos que existían.</p>
<p style="text-align:justify;">El algoritmo de vida es único para cada uno de nosotros, vivimos en base a un lenguaje interpretado con la opción de mejorar, en tiempo de ejecución, las líneas por procesar; pero también aprendiendo de aquellas instrucciones que causaron inestabilidades en la ejecución de nuestro programa.</p>
<p style="text-align:justify;">Créditos fotografí­a: <a href="http://www.sxc.hu/profile/jovas167">Juan Vasquez</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pctroll.wordpress.com/360/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pctroll.wordpress.com/360/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pctroll.wordpress.com/360/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pctroll.wordpress.com/360/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pctroll.wordpress.com/360/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pctroll.wordpress.com/360/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pctroll.wordpress.com/360/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pctroll.wordpress.com/360/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pctroll.wordpress.com/360/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pctroll.wordpress.com/360/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pctroll.wordpress.com/360/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pctroll.wordpress.com/360/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pctroll.wordpress.com/360/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pctroll.wordpress.com/360/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pctroll.wordpress.com&amp;blog=7059447&amp;post=360&amp;subd=pctroll&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pctroll.wordpress.com/2010/06/27/programacion-bohr-reflexiones/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d0a825b2eaa3adbf00e28b636db0f32c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pctroll</media:title>
		</media:content>

		<media:content url="http://img20.imageshack.us/img20/5200/miamiskyline.jpg" medium="image">
			<media:title type="html">image skyline</media:title>
		</media:content>
	</item>
		<item>
		<title>¡Hola, mundo!</title>
		<link>http://pctroll.wordpress.com/2010/05/14/hola-mundo/</link>
		<comments>http://pctroll.wordpress.com/2010/05/14/hola-mundo/#comments</comments>
		<pubDate>Fri, 14 May 2010 12:31:05 +0000</pubDate>
		<dc:creator>pctroll</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pctrollstudios.com/?p=1</guid>
		<description><![CDATA[Pues sí, la nueva etapa del blog dice &#8220;¡Hola, mundo!&#8221;; como la célebre frase en el mundo de la programación. Si les soy honesto, quise arrancar de una vez buscando una entrada que fuese tanto funcional para mí­, como informativa para ustedes. ¿Qué quiero decir con esto? Sigan leyendo {pctroll studios} Es sencillamente el nombre [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pctroll.wordpress.com&amp;blog=7059447&amp;post=1&amp;subd=pctroll&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter" title="hola-mudno" src="http://img94.imageshack.us/img94/4335/holamundo.png" alt="foto &quot;hola mundo&quot;" width="468" height="200" /></p>
<p>Pues sí, la nueva etapa del blog dice &#8220;¡Hola, mundo!&#8221;; como la célebre frase en el mundo de la programación.</p>
<p style="text-align:justify;">Si les soy honesto, quise arrancar de una vez buscando una entrada que fuese tanto funcional para mí­, como informativa para ustedes. ¿Qué quiero decir con esto? Sigan leyendo<strong></strong></p>
<h1 style="text-align:justify;"><strong><span id="more-1"></span>{pctroll studios}</strong></h1>
<p style="text-align:justify;">Es sencillamente el nombre del blog porque pctroll.com ya estaba tomado y por lo pronto no poseo el recurso monetario para pagar más de lo que vale un dominio sin registrar. Quiero un blog sin las limitantes de WordPress.com, pero con el motor que lo impulsa (visita el blog original <a href="http://pctroll.wordpress.com/">aquí­</a>). Estaré actualizando éste con las entradas antiguas, pero paciencia; que me toca traducirlos.</p>
<h2>Objetivo</h2>
<p style="text-align:justify;">Hablar del desarrollo de videojuegos desde el punto de vista de un programador que pensaba que para hacer juegos se necesitaba estudiar en una universidad o instituto especializado en el área; y que quiere compartir sus experiencias con otras personas.</p>
<h3>Temas</h3>
<ul>
<li>Desarrollo de juegos a nivel general.</li>
<li>Programación.</li>
<li>Eventos relacionados.</li>
<li>Tecnología enfocada en el ramo.</li>
<li>Cualquier otra cosa que se me ocurra (al final del día a, es mi blog).</li>
</ul>
<h3>¿Por qué lo hago?</h3>
<ol>
<li>Porque quiero.</li>
<li style="text-align:justify;">Porque hay gente que en mi país (Venezuela) se gana la vida haciendo juegos, pero noto poca interacción de su parte hacia la comunidad entusiasta del país que quiere aprender un poco más.</li>
<li>Porque compartiendo lo que aprendo, y recibiendo comentarios, aprendo más.</li>
<li>Porque puedo.</li>
</ol>
<h3>¿Qué esperar en las entradas además de texto?</h3>
<h4>Código fuente</h4>
<pre class="brush: cpp;">
#include &quot;iostream&quot;
using namespace std;
int main() {
 cout &lt;&lt; &quot;Â­Â¡Hola, mundo!&quot; &lt;&lt; endl;
 return 0;
}
</pre>
<h4>Videos</h4>
<!-- vimeo error: not a vimeo video -->
<blockquote><p>Referencias bibliográficas o de fuentes digitales de información</p></blockquote>
<h4>Tablas</h4>
<p>[table id=1 /]</p>
<p style="text-align:justify;">Para finalizar la entrada, les comento que el blog tiene su cuenta en twitter (<a href="http://www.twitter.com/pctrollstudios">@pctrollstudios</a>), la cual difiere de mi cuenta personal (<a href="http://www.twitter.com/pctroll">@pctroll</a>) por cuanto el tipo de tweets. Les recomiendo sigan a ambas y se queden con la que más les guste al final del día. Así mismo, el link de RSS está adaptado a los idiomas; por lo que la suscripción en Español y en Inglés son distintas.</p>
<p style="text-align:justify;">Eso es todo por lo pronto&#8230; hay un <em>mod</em> de Tetris que quiero terminar y, si se fijaron, la entrada tiene distintos elementos/plug-ins/etc. que quería probar.</p>
<p>Créditos fotografí­a: <a onclick="return mugicPopWin(this,event);" oncontextmenu="mugicRightClick(this);" href="http://www.cafepress.com/geekcesorios">Geekcesorios</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pctroll.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pctroll.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pctroll.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pctroll.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pctroll.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pctroll.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pctroll.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pctroll.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pctroll.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pctroll.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pctroll.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pctroll.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pctroll.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pctroll.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pctroll.wordpress.com&amp;blog=7059447&amp;post=1&amp;subd=pctroll&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pctroll.wordpress.com/2010/05/14/hola-mundo/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d0a825b2eaa3adbf00e28b636db0f32c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pctroll</media:title>
		</media:content>

		<media:content url="http://img94.imageshack.us/img94/4335/holamundo.png" medium="image">
			<media:title type="html">hola-mudno</media:title>
		</media:content>
	</item>
	</channel>
</rss>
