<?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/"
	>

<channel>
	<title>To Game or not to Game &#187; Desarrollo</title>
	<atom:link href="http://www.aserrano.com/tag/desarrollo/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.aserrano.com</link>
	<description>Hablando de juegos y de todo un poco</description>
	<lastBuildDate>Tue, 20 Jul 2010 15:10:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Tutorial Ogre3D: Creación de un proyecto paso por paso (III)</title>
		<link>http://www.aserrano.com/2009/10/28/ogre3d-creacion-de-un-proyecto-paso-por-paso-iii/</link>
		<comments>http://www.aserrano.com/2009/10/28/ogre3d-creacion-de-un-proyecto-paso-por-paso-iii/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 20:32:20 +0000</pubDate>
		<dc:creator>Antonio Serrano</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Juegos]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Motores 3D]]></category>
		<category><![CDATA[Ogre]]></category>
		<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[engine 3d]]></category>
		<category><![CDATA[ogre3d]]></category>

		<guid isPermaLink="false">http://www.aserrano.com/?p=183</guid>
		<description><![CDATA[Una vez inicializado Ogre Procederemos a la creación de la ventana y del SceneManager. Recordemos que el gestor del escenario es un plugin especializado según el tipo de escenario y pueden ser de los siguientes tipos: ST_GENERIC: Escenarios de propósito general ST_EXTERIOR_CLOSE: Escenarios de exteriores de visibilidad media ST_EXTERIOR_FAR: Practicamente no usado ST_EXTERIOR_REAL_FAR: Escenarios de [...]]]></description>
			<content:encoded><![CDATA[<p>Una vez inicializado Ogre Procederemos a la creación de la ventana y del SceneManager.</p>
<p>Recordemos que el gestor del escenario es un plugin especializado según el tipo de escenario y pueden ser de los siguientes tipos:</p>
<ul>
<li>ST_GENERIC: Escenarios de propósito general</li>
<li>ST_EXTERIOR_CLOSE:  Escenarios de exteriores de visibilidad media</li>
<li>ST_EXTERIOR_FAR: Practicamente no usado</li>
<li>ST_EXTERIOR_REAL_FAR: Escenarios de paisajes con grandes terrenos</li>
<li>ST_INTERIOR: Escenarios de interior, por ejemplo, edificios.</li>
</ul>
<p>Veamos ya como crearlo:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">mRoot<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>initialise<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">true</span>, <span style="color: #FF0000;">&quot;Mi Ventana&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>	
&nbsp;
RenderWindow<span style="color: #000040;">*</span> window <span style="color: #000080;">=</span> mRoot<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>getAutoCreatedWindow<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
SceneManager <span style="color: #000040;">*</span>sceneMgr <span style="color: #000080;">=</span> mRoot<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>createSceneManager<span style="color: #008000;">&#40;</span>ST_GENERIC<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></pre></div></div>

<p>A continuación crearemos la cámara que nos permitirá ver el escenario desde el ángulo y con la profundidad y distancia que queramos:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">Camera<span style="color: #000040;">*</span> cam <span style="color: #000080;">=</span> sceneMgr<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>createCamera<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Camara&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
cam<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>setNearClipDistance<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">5</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
cam<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>setFarClipDistance<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1000</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
cam<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>setAspectRatio<span style="color: #008000;">&#40;</span>Real<span style="color: #008000;">&#40;</span><span style="color:#800080;">1.333333</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
Viewport<span style="color: #000040;">*</span> vp <span style="color: #000080;">=</span> window<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>addViewport<span style="color: #008000;">&#40;</span>cam,<span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
vp<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>setBackgroundColour<span style="color: #008000;">&#40;</span>ColourValue<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></pre></div></div>

<p>Hemos definido para la cámara los valores de distincia mínima y máxima y su relación entre el tamaño x e y de la ventana que hemos creado, 800/600.</p>
<p>Además hemos añadido un viewport a la cámara con fondo de color rojo. Podremos tener tantos como queramos pero recuerda que se ordenan mediante el parámetro z-order y sólo puede existir uno por cada valor de z-order. Los viewport definen los rectángulos donde se visualizarán el rendererizado de la cámara.</p>
<p>Crearíamos ahora el listener que se encargará del renderizado de los frames:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">MyFrameListener listener<span style="color: #008000;">&#40;</span>window<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
mRoot<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>addFrameListener<span style="color: #008000;">&#40;</span><span style="color: #000040;">&amp;</span>listener<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
mRoot<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>startRendering<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></pre></div></div>

<p>Es importante crear el listener antes de comenzar el renderizado de la aplicación o se nos colgará.</p>
<p><a href="http://www.aserrano.com/2009/10/26/ogre3d-creacion-de-un-proyecto-paso-por-paso-ii/">Ogre3D Paso a paso II</a><br />
<a href="http://www.aserrano.com/2009/10/31/tutorial-ogre3d-creacion-de-un-proyecto-paso-por-paso-y-iv/">Ogre3D Paso a paso (y IV)</a></p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-shr">
<ul class="socials">
		<li class="shr-comfeed">
			<a href="http://www.aserrano.com/2009/10/28/ogre3d-creacion-de-un-proyecto-paso-por-paso-iii/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.aserrano.com/2009/10/28/ogre3d-creacion-de-un-proyecto-paso-por-paso-iii/&amp;title=Tutorial+Ogre3D%3A+Creaci%C3%B3n+de+un+proyecto+paso+por+paso+%28III%29" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.aserrano.com/2009/10/28/ogre3d-creacion-de-un-proyecto-paso-por-paso-iii/&amp;title=Tutorial+Ogre3D%3A+Creaci%C3%B3n+de+un+proyecto+paso+por+paso+%28III%29" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-diigo">
			<a href="http://www.diigo.com/post?url=http://www.aserrano.com/2009/10/28/ogre3d-creacion-de-un-proyecto-paso-por-paso-iii/&amp;title=Tutorial+Ogre3D%3A+Creaci%C3%B3n+de+un+proyecto+paso+por+paso+%28III%29&amp;desc=Una%20vez%20inicializado%20Ogre%20Procederemos%20a%20la%20creaci%C3%B3n%20de%20la%20ventana%20y%20del%20SceneManager.%0D%0A%0D%0ARecordemos%20que%20el%20gestor%20del%20escenario%20es%20un%20plugin%20especializado%20seg%C3%BAn%20el%20tipo%20de%20escenario%20y%20pueden%20ser%20de%20los%20siguientes%20tipos%3A%0D%0A%0D%0A%0D%0AST_GENERIC%3A%20Escenarios%20de%20prop%C3%B3sito%20general%0D%0AST_EXTERIOR_CLOSE%3A%20%20Escena" rel="nofollow" class="external" title="Post this on Diigo">Post this on Diigo</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://www.aserrano.com/2009/10/28/ogre3d-creacion-de-un-proyecto-paso-por-paso-iii/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-misterwong">
			<a href="http://www.mister-wong.com/addurl/?bm_url=http://www.aserrano.com/2009/10/28/ogre3d-creacion-de-un-proyecto-paso-por-paso-iii/&amp;bm_description=Tutorial+Ogre3D%3A+Creaci%C3%B3n+de+un+proyecto+paso+por+paso+%28III%29&amp;plugin=sexybookmarks" rel="nofollow" class="external" title="Add this to Mister Wong">Add this to Mister Wong</a>
		</li>
		<li class="shr-mixx">
			<a href="http://www.mixx.com/submit?page_url=http://www.aserrano.com/2009/10/28/ogre3d-creacion-de-un-proyecto-paso-por-paso-iii/&amp;title=Tutorial+Ogre3D%3A+Creaci%C3%B3n+de+un+proyecto+paso+por+paso+%28III%29" rel="nofollow" class="external" title="Share this on Mixx">Share this on Mixx</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://www.aserrano.com/2009/10/28/ogre3d-creacion-de-un-proyecto-paso-por-paso-iii/&amp;title=Tutorial+Ogre3D%3A+Creaci%C3%B3n+de+un+proyecto+paso+por+paso+%28III%29" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://www.aserrano.com/2009/10/28/ogre3d-creacion-de-un-proyecto-paso-por-paso-iii/&amp;title=Tutorial+Ogre3D%3A+Creaci%C3%B3n+de+un+proyecto+paso+por+paso+%28III%29" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://www.aserrano.com/2009/10/28/ogre3d-creacion-de-un-proyecto-paso-por-paso-iii/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Tutorial+Ogre3D%3A+Creaci%C3%B3n+de+un+proyecto+paso+por+paso+%28III%29+-+http://b2l.me/7nam9&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.aserrano.com/2009/10/28/ogre3d-creacion-de-un-proyecto-paso-por-paso-iii/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tutorial Ogre3D: Creación de un proyecto paso por paso (II)</title>
		<link>http://www.aserrano.com/2009/10/26/ogre3d-creacion-de-un-proyecto-paso-por-paso-ii/</link>
		<comments>http://www.aserrano.com/2009/10/26/ogre3d-creacion-de-un-proyecto-paso-por-paso-ii/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 19:50:46 +0000</pubDate>
		<dc:creator>Antonio Serrano</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Motores 3D]]></category>
		<category><![CDATA[Ogre]]></category>
		<category><![CDATA[engine 3d]]></category>

		<guid isPermaLink="false">http://www.aserrano.com/?p=174</guid>
		<description><![CDATA[El primero de los tres parámetros que toma la función es el fichero de configuración de plugins. Dicho fichero contiene los plugins que el engine 3D Ogre va a cargar en tiempo de ejecución por lo que mi recomendación es la de cargar sólo los que el proyecto vaya a usar. Veamos el fichero de [...]]]></description>
			<content:encoded><![CDATA[<p>El primero de los tres parámetros que toma la función es el fichero de configuración de plugins.</p>
<p>Dicho fichero contiene los plugins que el engine 3D Ogre va a cargar en tiempo de ejecución por lo que mi recomendación es la de cargar sólo los que el proyecto vaya a usar.</p>
<p>Veamos el fichero de los ejemplos que vienen con ogre:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;"># Defines plugins to load</span>
&nbsp;
<span style="color: #339900;"># Define plugin folder</span>
PluginFolder<span style="color: #000080;">=</span>..<span style="color: #000040;">/</span>lib
&nbsp;
<span style="color: #339900;"># Define plugins</span>
<span style="color: #339900;"># Plugin=RenderSystem_Direct3D9</span>
<span style="color: #339900;"># Plugin=RenderSystem_Direct3D10</span>
 Plugin<span style="color: #000080;">=</span>RenderSystem_GL
 Plugin<span style="color: #000080;">=</span>Plugin_ParticleFX
 Plugin<span style="color: #000080;">=</span>Plugin_BSPSceneManager
 Plugin<span style="color: #000080;">=</span>Plugin_CgProgramManager
 Plugin<span style="color: #000080;">=</span>Plugin_PCZSceneManager
 Plugin<span style="color: #000080;">=</span>Plugin_OctreeZone
 Plugin<span style="color: #000080;">=</span>Plugin_OctreeSceneManager</pre></div></div>

<p>Vemos que carga el plugin que gestiona el renderizado OpenGL, el gestor de partículas, y 5 diferentes &#8220;Scene manager&#8221;, que serán los encargados de visualizar los escenarios y además cada uno está especializado en una forma de hacerlo diferente.</p>
<p>Además la línea pluginfolder indica de que directorios cargará dichos plugins que en este caso serán de la forma de una librería dinámica linux &#8220;.so&#8221;.</p>
<p>El tercer parámetro es del fichero de log de ogre muy útil para gestionar los posibles fallos de la aplicación que estamos desarrollando.</p>
<p>Si quisiesemos generar nuestro fichero de log sin usar este parámetro podríamos usar el siguiente código incluso antes de la inicialización de Ogre3D:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">LogManager<span style="color: #000040;">*</span> logmanager <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> LogManager<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
Log<span style="color: #000040;">*</span> <span style="color: #0000dd;">log</span> <span style="color: #000080;">=</span> LogManager<span style="color: #008080;">::</span><span style="color: #007788;">getSingleton</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>.<span style="color: #007788;">createLog</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;logogre.log&quot;</span>,<span style="color: #0000ff;">true</span>,tru,<span style="color: #0000ff;">false</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
Root<span style="color: #000040;">*</span> mRoot<span style="color: #000080;">=</span><span style="color: #0000dd;">new</span> Root<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;plugins.cfg&quot;</span>,<span style="color: #FF0000;">&quot;ogre.cfg&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></pre></div></div>

<p>&#8230;<a href="http://www.aserrano.com/2009/10/25/ogre3d-creacion-de-un-proyecto-paso-por-paso/">Ogre3D Paso a paso I</a>&#8230;<br />
&#8230;<a href="http://www.aserrano.com/2009/10/28/ogre3d-creacion-de-un-proyecto-paso-por-paso-iii/">Ogre3D Paso a paso III</a>&#8230;</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-shr">
<ul class="socials">
		<li class="shr-comfeed">
			<a href="http://www.aserrano.com/2009/10/26/ogre3d-creacion-de-un-proyecto-paso-por-paso-ii/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.aserrano.com/2009/10/26/ogre3d-creacion-de-un-proyecto-paso-por-paso-ii/&amp;title=Tutorial+Ogre3D%3A+Creaci%C3%B3n+de+un+proyecto+paso+por+paso+%28II%29" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.aserrano.com/2009/10/26/ogre3d-creacion-de-un-proyecto-paso-por-paso-ii/&amp;title=Tutorial+Ogre3D%3A+Creaci%C3%B3n+de+un+proyecto+paso+por+paso+%28II%29" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-diigo">
			<a href="http://www.diigo.com/post?url=http://www.aserrano.com/2009/10/26/ogre3d-creacion-de-un-proyecto-paso-por-paso-ii/&amp;title=Tutorial+Ogre3D%3A+Creaci%C3%B3n+de+un+proyecto+paso+por+paso+%28II%29&amp;desc=El%20primero%20de%20los%20tres%20par%C3%A1metros%20que%20toma%20la%20funci%C3%B3n%20es%20el%20fichero%20de%20configuraci%C3%B3n%20de%20plugins.%0D%0A%0D%0ADicho%20fichero%20contiene%20los%20plugins%20que%20el%20engine%203D%20Ogre%20va%20a%20cargar%20en%20tiempo%20de%20ejecuci%C3%B3n%20por%20lo%20que%20mi%20recomendaci%C3%B3n%20es%20la%20de%20cargar%20s%C3%B3lo%20los%20que%20el%20proyecto%20vaya%20a%20usar.%0D%0A%0D%0AVeamos%20el%20fichero" rel="nofollow" class="external" title="Post this on Diigo">Post this on Diigo</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://www.aserrano.com/2009/10/26/ogre3d-creacion-de-un-proyecto-paso-por-paso-ii/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-misterwong">
			<a href="http://www.mister-wong.com/addurl/?bm_url=http://www.aserrano.com/2009/10/26/ogre3d-creacion-de-un-proyecto-paso-por-paso-ii/&amp;bm_description=Tutorial+Ogre3D%3A+Creaci%C3%B3n+de+un+proyecto+paso+por+paso+%28II%29&amp;plugin=sexybookmarks" rel="nofollow" class="external" title="Add this to Mister Wong">Add this to Mister Wong</a>
		</li>
		<li class="shr-mixx">
			<a href="http://www.mixx.com/submit?page_url=http://www.aserrano.com/2009/10/26/ogre3d-creacion-de-un-proyecto-paso-por-paso-ii/&amp;title=Tutorial+Ogre3D%3A+Creaci%C3%B3n+de+un+proyecto+paso+por+paso+%28II%29" rel="nofollow" class="external" title="Share this on Mixx">Share this on Mixx</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://www.aserrano.com/2009/10/26/ogre3d-creacion-de-un-proyecto-paso-por-paso-ii/&amp;title=Tutorial+Ogre3D%3A+Creaci%C3%B3n+de+un+proyecto+paso+por+paso+%28II%29" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://www.aserrano.com/2009/10/26/ogre3d-creacion-de-un-proyecto-paso-por-paso-ii/&amp;title=Tutorial+Ogre3D%3A+Creaci%C3%B3n+de+un+proyecto+paso+por+paso+%28II%29" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://www.aserrano.com/2009/10/26/ogre3d-creacion-de-un-proyecto-paso-por-paso-ii/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Tutorial+Ogre3D%3A+Creaci%C3%B3n+de+un+proyecto+paso+por+paso+%28II%29+-+http://b2l.me/7nvj8&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.aserrano.com/2009/10/26/ogre3d-creacion-de-un-proyecto-paso-por-paso-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial Ogre3D: Creación de un proyecto paso por paso (I)</title>
		<link>http://www.aserrano.com/2009/10/25/ogre3d-creacion-de-un-proyecto-paso-por-paso/</link>
		<comments>http://www.aserrano.com/2009/10/25/ogre3d-creacion-de-un-proyecto-paso-por-paso/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 08:32:06 +0000</pubDate>
		<dc:creator>Antonio Serrano</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ogre]]></category>
		<category><![CDATA[engine 3d]]></category>

		<guid isPermaLink="false">http://www.aserrano.net/2009/10/25/ogre3d-creacion-de-un-proyecto-paso-por-paso/</guid>
		<description><![CDATA[<p>Aunque CodeBlocks tiene un template para crear tu propio proyecto, lo que pretendemos es ver de forma detallada y comprender un poco mejor como hacerlo. ... Ambas las he bajado y compilado para poder usarlas, pero valdrían perfectamente el SDK, para el ogre, y el codeblocks que viene integrado en ubuntu.</p>
]]></description>
			<content:encoded><![CDATA[<p>Para la creación de un proyecto <a href="http://www.ogre3d.org" target="_blank">Ogre3D</a> paso a paso vamos a usar Ubuntu y Codeblocks.</p>
<p>Aunque CodeBlocks tiene un template para crear tu propio proyecto, lo que pretendemos es ver de forma detallada y comprender un poco mejor como hacerlo.</p>
<p>Yo en mi caso he usado una versión de desarrollo de Ogre3D y una versión de desarrollo también de Codeblocks.</p>
<p>Ambas las he bajado y compilado para poder usarlas, pero valdrían perfectamente el SDK, para el ogre, y el codeblocks que viene integrado en ubuntu.</p>
<p>Desde codeblocks creamos un nuevo proyecto de consola, si queréis el clásico Hello World, eliminamos el cout e incluimos las cabeceras de Ogre y su espacio de nombres.</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;Ogre.h&gt;;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> Ogre<span style="color: #008080;">;</span></pre></div></div>

<p>El primer paso en cualquier proyecto Ogre es la inicialización de las librerías en la forma</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">&nbsp;
Root<span style="color: #000040;">*</span> mRoot<span style="color: #000080;">=</span><span style="color: #0000dd;">new</span> Root<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
Root<span style="color: #000040;">*</span> mRoot<span style="color: #000080;">=</span><span style="color: #0000dd;">new</span> Root<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;ogre.cfg&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
Root<span style="color: #000040;">*</span> mRoot<span style="color: #000080;">=</span><span style="color: #0000dd;">new</span> Root<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;ogre.cfg&quot;</span>,<span style="color: #FF0000;">&quot;plugins.cfg&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
Root<span style="color: #000040;">*</span> mRoot<span style="color: #000080;">=</span><span style="color: #0000dd;">new</span> Root<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;ogre.cfg&quot;</span>,<span style="color: #FF0000;">&quot;plugins.cfg&quot;</span>,<span style="color: #FF0000;">&quot;ogre.log&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
Root<span style="color: #000040;">*</span> mRoot<span style="color: #000080;">=</span><span style="color: #0000dd;">new</span> Root<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;&quot;</span>,<span style="color: #FF0000;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></pre></div></div>

<p>Cualquiera de las anteriores opciones serían perfectamente válidas, aunque yo en mi caso prefiero usar la de tres parámetros para tener una completa perspectiva de cuales son mis ficheros de configuración en uso.</p>
<p>Veamos ahora el contenido del fichero ogre.cfg, que en mi caso lo tengo de la forma siguiente</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">Render System<span style="color: #000080;">=</span>OpenGL Rendering Subsystem
&nbsp;
<span style="color: #008000;">&#91;</span>OpenGL Rendering Subsystem<span style="color: #008000;">&#93;</span>
Display Frequency<span style="color: #000080;">=</span><span style="color: #0000dd;">50</span> MHz
FSAA<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span>
Full Screen<span style="color: #000080;">=</span>No
RTT Preferred Mode<span style="color: #000080;">=</span>FBO
VSync<span style="color: #000080;">=</span>No
Video Mode<span style="color: #000080;">=</span><span style="color: #0000dd;">1024</span> x  <span style="color: #0000dd;">768</span>
sRGB Gamma Conversion<span style="color: #000080;">=</span>No</pre></div></div>

<p>Esta configuración siempre la podemos sobreescribir con una llamada al diálogo de configuración de ogre:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">&nbsp;
<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>mRoot<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>restoreConfig<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
  mRoot<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>showConfigDialog<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
  mRoot<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>saveConfig<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p><a href="http://www.aserrano.com/2009/10/26/ogre3d-creacion-de-un-proyecto-paso-por-paso-ii/">Ogre3D Paso a paso II</a></p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-shr">
<ul class="socials">
		<li class="shr-comfeed">
			<a href="http://www.aserrano.com/2009/10/25/ogre3d-creacion-de-un-proyecto-paso-por-paso/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.aserrano.com/2009/10/25/ogre3d-creacion-de-un-proyecto-paso-por-paso/&amp;title=Tutorial+Ogre3D%3A+Creaci%C3%B3n+de+un+proyecto+paso+por+paso+%28I%29" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.aserrano.com/2009/10/25/ogre3d-creacion-de-un-proyecto-paso-por-paso/&amp;title=Tutorial+Ogre3D%3A+Creaci%C3%B3n+de+un+proyecto+paso+por+paso+%28I%29" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-diigo">
			<a href="http://www.diigo.com/post?url=http://www.aserrano.com/2009/10/25/ogre3d-creacion-de-un-proyecto-paso-por-paso/&amp;title=Tutorial+Ogre3D%3A+Creaci%C3%B3n+de+un+proyecto+paso+por+paso+%28I%29&amp;desc=Aunque%20CodeBlocks%20tiene%20un%20template%20para%20crear%20tu%20propio%20proyecto%2C%20lo%20que%20pretendemos%20es%20ver%20de%20forma%20detallada%20y%20comprender%20un%20poco%20mejor%20como%20hacerlo.%20...%20Ambas%20las%20he%20bajado%20y%20compilado%20para%20poder%20usarlas%2C%20pero%20valdr%C3%ADan%20perfectamente%20el%20SDK%2C%20para%20el%20ogre%2C%20y%20el%20codeblocks%20que%20viene%20integrado%20en%20ubuntu.%0D%0A" rel="nofollow" class="external" title="Post this on Diigo">Post this on Diigo</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://www.aserrano.com/2009/10/25/ogre3d-creacion-de-un-proyecto-paso-por-paso/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-misterwong">
			<a href="http://www.mister-wong.com/addurl/?bm_url=http://www.aserrano.com/2009/10/25/ogre3d-creacion-de-un-proyecto-paso-por-paso/&amp;bm_description=Tutorial+Ogre3D%3A+Creaci%C3%B3n+de+un+proyecto+paso+por+paso+%28I%29&amp;plugin=sexybookmarks" rel="nofollow" class="external" title="Add this to Mister Wong">Add this to Mister Wong</a>
		</li>
		<li class="shr-mixx">
			<a href="http://www.mixx.com/submit?page_url=http://www.aserrano.com/2009/10/25/ogre3d-creacion-de-un-proyecto-paso-por-paso/&amp;title=Tutorial+Ogre3D%3A+Creaci%C3%B3n+de+un+proyecto+paso+por+paso+%28I%29" rel="nofollow" class="external" title="Share this on Mixx">Share this on Mixx</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://www.aserrano.com/2009/10/25/ogre3d-creacion-de-un-proyecto-paso-por-paso/&amp;title=Tutorial+Ogre3D%3A+Creaci%C3%B3n+de+un+proyecto+paso+por+paso+%28I%29" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://www.aserrano.com/2009/10/25/ogre3d-creacion-de-un-proyecto-paso-por-paso/&amp;title=Tutorial+Ogre3D%3A+Creaci%C3%B3n+de+un+proyecto+paso+por+paso+%28I%29" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://www.aserrano.com/2009/10/25/ogre3d-creacion-de-un-proyecto-paso-por-paso/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Tutorial+Ogre3D%3A+Creaci%C3%B3n+de+un+proyecto+paso+por+paso+%28I%29+-+http://b2l.me/7nkds&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.aserrano.com/2009/10/25/ogre3d-creacion-de-un-proyecto-paso-por-paso/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usando .net en Torque: ejemplo práctico (conexión a postgresql)</title>
		<link>http://www.aserrano.com/2008/04/26/usando-net-en-torque-ejemplo-practico-conexion-a-postgresql/</link>
		<comments>http://www.aserrano.com/2008/04/26/usando-net-en-torque-ejemplo-practico-conexion-a-postgresql/#comments</comments>
		<pubDate>Sat, 26 Apr 2008 07:23:35 +0000</pubDate>
		<dc:creator>Antonio Serrano</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Juegos]]></category>
		<category><![CDATA[Motores 3D]]></category>
		<category><![CDATA[Torque]]></category>

		<guid isPermaLink="false">http://www.aserrano.net/?p=28</guid>
		<description><![CDATA[Si te gusta usar .net, puedes hacer que haga algunas tareas en Torque. Esto es sólo un ejemplo de como usar .net en Torque. Todo el código fuente es gratis y lo puedes usar bajo tu responsabilidad. Si necesitas más referencias ve a la página web de MSDN o GarageGames. Alguna información ha sido extraída [...]]]></description>
			<content:encoded><![CDATA[<h3></h3>
<p>Si te gusta usar .net, puedes hacer que haga algunas tareas en Torque.</p>
<p>Esto es sólo un ejemplo de como usar .net en Torque.</p>
<p>Todo el código fuente es gratis y lo puedes usar bajo tu responsabilidad.</p>
<p>Si necesitas más referencias ve a la página web de MSDN o GarageGames. Alguna información ha sido extraída de esas páginas.</p>
<p>Para este ejemplo se ha usado Visual C# 2005, Visual C++ 2008 y las librerías de Mono (ms 2.0) para la  <a href="http://npgsql.projects.postgresql.org/index.html" target="_blank">conexión a PostgreSQL </a></p>
<p>Vamos a obtener la versión  de la base de datos  que es muy similar a hacer un &#8220;select&#8221; o un &#8220;insert&#8221;.</p>
<p>Como primer paso creamos una DLL (ClassLibrary) en C#.</p>
<p>Editamos el código fuente, añadimos el interface público y cambiamos su nombre. Este interface lo usaremos para exponer su métodos a través de COM.</p>
<p>Añadimos también la funcionalidad Postgres, en este caso, sólo un &#8220;select version()&#8221;.</p>
<p>[sourcecode lang="cpp"]</p>
<p>using Npgsql;</p>
<p>namespace Database<br />
{<br />
public interface IPGDatabase<br />
{<br />
String pgVersion();<br />
}</p>
<p>public class PGDatabase : IPGDatabase<br />
{</p>
<p>conn = new NpgsqlConnection(&#8220;Server=192.168.11.150;Port=5432;User Id=user;Password=secret;Database=DBl;&#8221;);<br />
conn.Open();</p>
<p>NpgsqlCommand command = new NpgsqlCommand(&#8220;select version()&#8221;, conn);<br />
String serverversion;</p>
<p>[/sourcecode]</p>
<p>Para exponer el interface com debemos editar el fichero AssemblyInfo.cs y cambiar la línea&#8221;[assembly: ComVisible(false)]&#8221; por &#8220;[assembly: ComVisible(true)]&#8220;.</p>
<p>Creamos ahora un nombre fuerte a nuestra DLL. Desde el prompt de Visual Studio teclea &#8220;snk.exe -k database.snk&#8221;. Copia este fichero al proyecto, edita las propiedades del proyecto y ve a la pestaña de firmar. Pincha sobre &#8220;Firmar el ensamblado&#8221; y elige el fichero recien creado.</p>
<p><a href="http://www.bworld-game.com/images/stories/project.jpg" target="_blank"><img src="http://www.bworld-game.com/images/stories/project.jpg" border="0" alt="" width="150" height="114" /></a></p>
<p>Compila el proyecto para crear la DLL Managed</p>
<p>Vamos a registrar la información de ensamblado de la DLL.</p>
<p>Desde un prompt de Visual Studio, ve al directorio donde esté la DLL y teclea</p>
<p><strong>regasm database.dll /tlb:database.tlb /codebase</strong></p>
<p><strong><br />
</strong></p>
<p>Copia este fichero al proyecto Torque</p>
<p>Crea una clase en Torque y prepárala para usarla en la consola como el ejemplo de abajo (si tienes dudas ve a la página web de GarageGames)</p>
<p>[sourcecode lang="cpp"]</p>
<p>class DBVersion: public SimObject<br />
{</p>
<p>&#8230;</p>
<p>public:</p>
<p>DECLARE_CONOBJECT( DBVersion );</p>
<p>&#8230;</p>
<p>IMPLEMENT_CONOBJECT( DBVersion );</p>
<p>&#8230;</p>
<p>ConsoleMethod(DBVersion,getVersion, const char*, 2, 2,&#8221;()Returns the postgresql.&#8221;)</p>
<p>[/sourcecode]<br />
Importa el fichero .tlb añadiendo la línea &#8220;#import &#8220;..\game\database.tlb&#8221; raw_interfaces_only&#8221;, y usa el nuevo espacio de nombres recien creado &#8220;<strong>using namespace database</strong>&#8221;</p>
<p>Si todo ha ido bien, tendremos acceso a nuestra dll managed</p>
<p>Creamos el puntero al interface y llamamos a nuestra función</p>
<p>[sourcecode lang="cpp"]</p>
<p>HRESULT hr=CoInitialize(NULL);</p>
<p>IPGDatabasePtr pIDatabase(__uuidof(PGDatabase));</p>
<p>long lResult=0;</p>
<p>pIDatabase->pgVersion(&amp;amp;bstrstring);</p>
<p>CoUninitialize();</p>
<p>[/sourcecode]</p>
<p>Como la DLL está devolviendo una cadena BSTR, necesitaremos hacer una pequeña conversion:</p>
<p>[sourcecode lang="cpp"]</p>
<p>_bstr_t _bstrstring(bstrstring);<br />
strcpy_s(version, (char *)_bstrstring);<br />
return (StringTableEntry) &amp;amp;version[0];<br />
[/sourcecode]</p>
<p>Tiempo de probarlo. Compila el proyecto, ejecuta el motor de juegos torque, abre la consola y teclea:</p>
<p>$a=new DBVersion();<br />
echo($a.getVersion());</p>
<p><a href="http://www.bworld-game.com/images/stories/database.jpg" target="_blank"><img src="http://www.bworld-game.com/images/stories/database.jpg" border="0" alt="" width="150" height="114" /></a></p>
<p><a href="http://www.bworld-game.com/source/torque.net.zip">Código fuente</a></p>
<p>¡Disfrútalo!</p>
<p>Notar que esto es sólo un ejemplo. No hay control de errores, el código se puede mejorar,&#8230;</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-shr">
<ul class="socials">
		<li class="shr-comfeed">
			<a href="http://www.aserrano.com/2008/04/26/usando-net-en-torque-ejemplo-practico-conexion-a-postgresql/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.aserrano.com/2008/04/26/usando-net-en-torque-ejemplo-practico-conexion-a-postgresql/&amp;title=Usando+.net+en+Torque%3A+ejemplo+pr%C3%A1ctico+%28conexi%C3%B3n+a+postgresql%29" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.aserrano.com/2008/04/26/usando-net-en-torque-ejemplo-practico-conexion-a-postgresql/&amp;title=Usando+.net+en+Torque%3A+ejemplo+pr%C3%A1ctico+%28conexi%C3%B3n+a+postgresql%29" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-diigo">
			<a href="http://www.diigo.com/post?url=http://www.aserrano.com/2008/04/26/usando-net-en-torque-ejemplo-practico-conexion-a-postgresql/&amp;title=Usando+.net+en+Torque%3A+ejemplo+pr%C3%A1ctico+%28conexi%C3%B3n+a+postgresql%29&amp;desc=%0D%0ASi%20te%20gusta%20usar%20.net%2C%20puedes%20hacer%20que%20haga%20algunas%20tareas%20en%20Torque.%0D%0A%0D%0AEsto%20es%20s%C3%B3lo%20un%20ejemplo%20de%20como%20usar%20.net%20en%20Torque.%0D%0A%0D%0ATodo%20el%20c%C3%B3digo%20fuente%20es%20gratis%20y%20lo%20puedes%20usar%20bajo%20tu%20responsabilidad.%0D%0A%0D%0ASi%20necesitas%20m%C3%A1s%20referencias%20ve%20a%20la%20p%C3%A1gina%20web%20de%20MSDN%20o%20GarageGames.%20Alguna%20informaci" rel="nofollow" class="external" title="Post this on Diigo">Post this on Diigo</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://www.aserrano.com/2008/04/26/usando-net-en-torque-ejemplo-practico-conexion-a-postgresql/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-misterwong">
			<a href="http://www.mister-wong.com/addurl/?bm_url=http://www.aserrano.com/2008/04/26/usando-net-en-torque-ejemplo-practico-conexion-a-postgresql/&amp;bm_description=Usando+.net+en+Torque%3A+ejemplo+pr%C3%A1ctico+%28conexi%C3%B3n+a+postgresql%29&amp;plugin=sexybookmarks" rel="nofollow" class="external" title="Add this to Mister Wong">Add this to Mister Wong</a>
		</li>
		<li class="shr-mixx">
			<a href="http://www.mixx.com/submit?page_url=http://www.aserrano.com/2008/04/26/usando-net-en-torque-ejemplo-practico-conexion-a-postgresql/&amp;title=Usando+.net+en+Torque%3A+ejemplo+pr%C3%A1ctico+%28conexi%C3%B3n+a+postgresql%29" rel="nofollow" class="external" title="Share this on Mixx">Share this on Mixx</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://www.aserrano.com/2008/04/26/usando-net-en-torque-ejemplo-practico-conexion-a-postgresql/&amp;title=Usando+.net+en+Torque%3A+ejemplo+pr%C3%A1ctico+%28conexi%C3%B3n+a+postgresql%29" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://www.aserrano.com/2008/04/26/usando-net-en-torque-ejemplo-practico-conexion-a-postgresql/&amp;title=Usando+.net+en+Torque%3A+ejemplo+pr%C3%A1ctico+%28conexi%C3%B3n+a+postgresql%29" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://www.aserrano.com/2008/04/26/usando-net-en-torque-ejemplo-practico-conexion-a-postgresql/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Usando+.net+en+Torque%3A+ejemplo+pr%C3%A1ctico+%28conexi%C3%B3n+a+postgresql%29+-+http://b2l.me/7n7j9&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.aserrano.com/2008/04/26/usando-net-en-torque-ejemplo-practico-conexion-a-postgresql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>¿Y ahora que?</title>
		<link>http://www.aserrano.com/2007/12/04/%c2%bfy-ahora-que/</link>
		<comments>http://www.aserrano.com/2007/12/04/%c2%bfy-ahora-que/#comments</comments>
		<pubDate>Tue, 04 Dec 2007 21:15:37 +0000</pubDate>
		<dc:creator>Antonio Serrano</dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Juegos]]></category>

		<guid isPermaLink="false">http://www.aserrano.net/2007/12/04/%c2%bfy-ahora-que/</guid>
		<description><![CDATA[La cuestión es &#8220;to game or not to game&#8221;. Mucho tiempo ha pasado desde mi último tetris. Ni que decir tiene que a priori parece una aplicación sencilla y realmente complicada no es, pero aún con lo sencilla que es este juego incluye casi todo lo que un juego debe incluir. Tiene su pantalla de [...]]]></description>
			<content:encoded><![CDATA[<p>La cuestión es &#8220;to game or not to game&#8221;.</p>
<p>Mucho tiempo ha pasado desde mi último tetris. Ni que decir tiene que a priori parece una aplicación sencilla y realmente complicada no es, pero aún con lo sencilla que es este juego incluye casi todo lo que un juego debe incluir.</p>
<p>Tiene su pantalla de presentación, interacción con el teclado, imágenes moviéndose, puntuaciones, etc.</p>
<p>Tengo que decir que uno de mis sueños siempre ha sido el desarrollo de un videojuego, algo más complicado que un tetris.</p>
<p>Los que no nos hemos separado mucho de ese mundo sabemos que hoy el desarrollo de un videojuego ha llegado practicamente a un estado de arte absoluto.</p>
<p>Donde antes un programador lo hacía todo, hoy en día se ha sustituido por tres desarrolladores, siete artistas gráficos y otros tres que pongan música.</p>
<p>Es la verdad practicamente el desarrollo ha pasado a un segundo plano hoy en día, y aunque sigue siendo necesario, si miramos los créditos de un juego, veremos que trabajan tanta gente como en una película, y la mayoría no son programadores. En algunos casos trabaja incluso más gente.</p>
<p>Este blog intentará, con la ayuda de todos, explicar un algunas técnicas y herramientas que podréis usar para desarrollar vuestro propio juego.</p>
<p>El resto deberéis ponerlo vosotros con tesón, paciencia y estudio&#8230;sobre todo mucho estudio.</p>
<p>Un saludo.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-shr">
<ul class="socials">
		<li class="shr-comfeed">
			<a href="http://www.aserrano.com/2007/12/04/¿y-ahora-que/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.aserrano.com/2007/12/04/%c2%bfy-ahora-que/&amp;title=%C2%BFY+ahora+que%3F" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.aserrano.com/2007/12/04/%c2%bfy-ahora-que/&amp;title=%C2%BFY+ahora+que%3F" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-diigo">
			<a href="http://www.diigo.com/post?url=http://www.aserrano.com/2007/12/04/%c2%bfy-ahora-que/&amp;title=%C2%BFY+ahora+que%3F&amp;desc=La%20cuesti%C3%B3n%20es%20%22to%20game%20or%20not%20to%20game%22.%0A%0AMucho%20tiempo%20ha%20pasado%20desde%20mi%20%C3%BAltimo%20tetris.%20Ni%20que%20decir%20tiene%20que%20a%20priori%20parece%20una%20aplicaci%C3%B3n%20sencilla%20y%20realmente%20complicada%20no%20es%2C%20pero%20a%C3%BAn%20con%20lo%20sencilla%20que%20es%20este%20juego%20incluye%20casi%20todo%20lo%20que%20un%20juego%20debe%20incluir.%0A%0ATiene%20su%20pantalla%20de%20p" rel="nofollow" class="external" title="Post this on Diigo">Post this on Diigo</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://www.aserrano.com/2007/12/04/%c2%bfy-ahora-que/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-misterwong">
			<a href="http://www.mister-wong.com/addurl/?bm_url=http://www.aserrano.com/2007/12/04/%c2%bfy-ahora-que/&amp;bm_description=%C2%BFY+ahora+que%3F&amp;plugin=sexybookmarks" rel="nofollow" class="external" title="Add this to Mister Wong">Add this to Mister Wong</a>
		</li>
		<li class="shr-mixx">
			<a href="http://www.mixx.com/submit?page_url=http://www.aserrano.com/2007/12/04/%c2%bfy-ahora-que/&amp;title=%C2%BFY+ahora+que%3F" rel="nofollow" class="external" title="Share this on Mixx">Share this on Mixx</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://www.aserrano.com/2007/12/04/%c2%bfy-ahora-que/&amp;title=%C2%BFY+ahora+que%3F" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://www.aserrano.com/2007/12/04/%c2%bfy-ahora-que/&amp;title=%C2%BFY+ahora+que%3F" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://www.aserrano.com/2007/12/04/%c2%bfy-ahora-que/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=%C2%BFY+ahora+que%3F+-+http://b2l.me/7p45g&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.aserrano.com/2007/12/04/%c2%bfy-ahora-que/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
