<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2628046590014959960</id><updated>2011-10-17T02:23:06.719+02:00</updated><category term='Proyectos'/><category term='Python'/><category term='Programación'/><category term='Desarrollo web'/><category term='Herramientas'/><category term='Videojuegos'/><category term='Paige'/><title type='text'>Si (no sabes cómo) funciona, no lo toques.</title><subtitle type='html'>Sitio personal de Áureo Ares.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://robeman.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2628046590014959960/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://robeman.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Áureo Ares</name><uri>http://www.blogger.com/profile/06355503703875276010</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2628046590014959960.post-6171992845521217053</id><published>2011-02-16T18:22:00.002+01:00</published><updated>2011-02-16T20:51:09.814+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Paige'/><category scheme='http://www.blogger.com/atom/ns#' term='Videojuegos'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='Proyectos'/><title type='text'>Paige: Moviendo personajes.</title><content type='html'>Por fin tengo un rato para actualizar esto.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Estuve dándole vueltas al tema del control del personaje y poco a poco va tomando forma el módulo controller. Aún no me acaba de convencer del todo, pero ya irá mejorando.&lt;/div&gt;&lt;div&gt;Se trata básicamente de crear un controlador para cada jugador y asignarle un personaje. Luego se van asignando eventos de pulsación de teclas (sólo teclas de momento) a funciones que afectarán a dicho personaje.&lt;/div&gt;&lt;div&gt;Sobre la gestión de colisiones..., menudas locuras he estado haciendo, hasta que me dí cuenta de que estaba cometiendo un error que parece ser (por lo que he leído luego en otros sitios) muy típico de novatos en esto de la programación de videojuegos: comprobar la colisión después de haber movido al personaje en lugar de hacerlo antes. En otras palabras, yo me preguntaba "¿ha chocado?" cuando lo que debería preguntarme es "¿chocaría?". Cuando caí en la cuenta fue muy rápido de implementar.&lt;/div&gt;&lt;div&gt;Como siempre, me queda el consuelo de que no volveré a caer en un error de ese estilo.&lt;/div&gt;&lt;div&gt;Por último, he estado pensando en la cantidad de información que voy a tener que guardar sobre los mapas. Cuando empiece a pensar en un juego "de verdad" tendré que almacenar mucho más que el propio escenario: necesitaré los objetos y personajes no jugadores&amp;nbsp;(NPC's)&amp;nbsp;que aparezcan en él, las coordenadas donde aparecerán, las acciones que realizarán... En fin, que toca pensar en bases de datos.&lt;/div&gt;&lt;div&gt;Antes creo que voy a tratar de implementar el "scrolling" de los mapas para poder mover a los personajes por mapas que excedan la resolución de la pantalla. Después comenzaré a pensar en el modelo de datos.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2628046590014959960-6171992845521217053?l=robeman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robeman.blogspot.com/feeds/6171992845521217053/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://robeman.blogspot.com/2011/02/paige-moviendo-personajes.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2628046590014959960/posts/default/6171992845521217053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2628046590014959960/posts/default/6171992845521217053'/><link rel='alternate' type='text/html' href='http://robeman.blogspot.com/2011/02/paige-moviendo-personajes.html' title='Paige: Moviendo personajes.'/><author><name>Áureo Ares</name><uri>http://www.blogger.com/profile/06355503703875276010</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2628046590014959960.post-9047353073452021706</id><published>2011-01-24T21:57:00.000+01:00</published><updated>2011-01-24T21:57:31.690+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Paige'/><category scheme='http://www.blogger.com/atom/ns#' term='Videojuegos'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='Proyectos'/><title type='text'>Paige: Creando los personajes.</title><content type='html'>Ya tenemos escenario (o algo así). Toca poner personajes en él. Para ello he creado una clase base a partir de la cual crear las clases para los distintos tipos de personajes. Aclaro que cuando me refiero a personajes quiero decir cualquier personaje que aparezca en el juego, no sólo el del jugador.&lt;br /&gt;&lt;br /&gt;La principal diferencia entre los distintos tipos de personajes va a ser el movimiento. De momento voy a distinguir entre el movimiento tipo puzzle (el personaje se mueve tile por tile, no puede parar de moverse entre dos tiles) y el movimiento normal (el personaje se mueve "libremente", sin la restricción anterior). He comenzado por implementar el movimiento normal ya que el movimiento tipo puzzle será un caso especial de éste.&lt;br /&gt;&lt;br /&gt;El problema vendría al realizar juegos de plataformas, en los que el personaje sólo se mueve de izquierda a derecha y además "salta". Éste caso lo voy a dejar para más adelante, tengo que estudiar cómo implementar el tema de la "gravedad".&lt;br /&gt;&lt;br /&gt;Por otra parte he creado una clase Player para el caso especial del jugador. He hecho algunas pruebas de movimiento, de animación e incluso de cambios de velocidad (para andar y correr, por ejemplo). Ya ayer subí los avances del &lt;a href="http://code.google.com/p/paige/"&gt;proyecto&lt;/a&gt;. Para la prueba uso las flechas del teclado para mover al personaje y la tecla Z para "correr".&lt;br /&gt;&lt;br /&gt;Lo siguiente que quiero hacer es buscar alguna manera un poco más elegante de implementar el control del personaje y comenzar con la gestión de colisiones.&lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2628046590014959960-9047353073452021706?l=robeman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robeman.blogspot.com/feeds/9047353073452021706/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://robeman.blogspot.com/2011/01/paige-creando-los-personajes.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2628046590014959960/posts/default/9047353073452021706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2628046590014959960/posts/default/9047353073452021706'/><link rel='alternate' type='text/html' href='http://robeman.blogspot.com/2011/01/paige-creando-los-personajes.html' title='Paige: Creando los personajes.'/><author><name>Áureo Ares</name><uri>http://www.blogger.com/profile/06355503703875276010</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2628046590014959960.post-7803479122909890070</id><published>2011-01-19T19:19:00.003+01:00</published><updated>2011-01-22T14:14:11.486+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Paige'/><category scheme='http://www.blogger.com/atom/ns#' term='Videojuegos'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='Proyectos'/><title type='text'>Paige: Creando el escenario.</title><content type='html'>Todo juego necesita un escenario, por simple que sea. Como era de esperar, voy a utilizar escenarios en 2D.&lt;br /&gt;&lt;div&gt;En principio he pensado en un escenario compuesto por una imagen de fondo y un mapa de tres capas basado en &lt;a href="http://es.wikipedia.org/wiki/Tile"&gt;tiles&lt;/a&gt;. ¿Por qué tres capas? Pues porque las usaré para representar lo que está por detrás de los personajes, lo que está al mismo nivel y lo que está por delante. Combinado con un fondo creo que se pueden crear mapas decentes para casi cualquier tipo de juego.&lt;/div&gt;&lt;div&gt;En realidad voy a utilizar una cuarta capa para las colisiones con el escenario, que no se dibujará en pantalla ya que servirá para saber por qué partes del escenario no se pueden mover los personajes. Al principio pensé en considerar que el personaje colisionaría con todo lo que estuviese en la capa intermedia (supuestamente a su mismo nivel), pero creo que va a ser útil tenerlo por separado.&lt;/div&gt;&lt;div&gt;Existen bastantes herramientas para generar mapas basados en tiles, como &lt;a href="http://www.tilemapper.com/"&gt;Tile Mapper&lt;/a&gt;, &lt;a href="http://www.tilemap.co.uk/mappy.php"&gt;Mappy&lt;/a&gt; o &lt;a href="http://www.mapeditor.org/"&gt;Tiled&lt;/a&gt;. Como no voy a meterme en mapas muy complejos y Tiled me ha gustado bastante, me quedo con él. En su &lt;a href="http://sourceforge.net/apps/mediawiki/tiled/index.php?title=Examining_the_map_format"&gt;wiki&lt;/a&gt; se explica el formato que utiliza y en&amp;nbsp;&lt;a href="http://razonartificial.com/2010/04/engine-iv-tiled-map-editor/"&gt;Razón Artificial&lt;/a&gt;&amp;nbsp;hay un buen ejemplo de cómo usarlo, entre otros artículos y tutoriales muy interesantes.&lt;/div&gt;&lt;div&gt;En cuanto al código, ya he subido la primera versión de las clases que gestionarán los mapas. Al proyecto le he llamado &lt;a href="http://code.google.com/p/paige/"&gt;Paige&lt;/a&gt; y cualquiera queda invitado a colaborar.&lt;/div&gt;&lt;div&gt;Comento brevemente su estructura:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;La clase Map es la que se encarga de cargar los mapas y dibujar en pantalla el fondo y las distintas capas.&lt;/li&gt;&lt;li&gt;La clase Tileset carga las imágenes de los tileset y las "trocea" para obtener la tabla de tiles individuales, además de dibujar tiles en la pantalla.&lt;/li&gt;&lt;li&gt;La clase Layer carga las capas del mapa y las dibuja en pantalla.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;También he subido unas imágenes y un mapa de prueba para ir viendo los resultados. De momento el mapa debe ser del mismo tamaño que la pantalla, más adelante trataré el tema del "scrolling". El siguiente paso será el personaje.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2628046590014959960-7803479122909890070?l=robeman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robeman.blogspot.com/feeds/7803479122909890070/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://robeman.blogspot.com/2011/01/ngn-creando-el-escenario.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2628046590014959960/posts/default/7803479122909890070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2628046590014959960/posts/default/7803479122909890070'/><link rel='alternate' type='text/html' href='http://robeman.blogspot.com/2011/01/ngn-creando-el-escenario.html' title='Paige: Creando el escenario.'/><author><name>Áureo Ares</name><uri>http://www.blogger.com/profile/06355503703875276010</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2628046590014959960.post-2848595331075599621</id><published>2011-01-17T19:03:00.002+01:00</published><updated>2011-01-22T14:13:10.501+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Paige'/><category scheme='http://www.blogger.com/atom/ns#' term='Videojuegos'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='Proyectos'/><title type='text'>Python y videojuegos, ¿por qué no?</title><content type='html'>Últimamente he empezado a interesarme por la programación de videojuegos. Lo cierto es que nunca me he topado con un juego escrito en Python salvo buscándolo específicamente, tal vez porque seguramente no sea el lenguaje más adecuado para ello. En cualquier caso me han entrado ganas de probar cómo sería eso de desarrollar un videojuego y Python se me hace muy cómodo para probar cosas nuevas, así que he decidido darle una oportunidad.&lt;br /&gt;&lt;br /&gt;Leyendo tanto sobre programación de videojuegos en general como temas más específicos de Python (principalmente &lt;a href="http://www.pygame.org/"&gt;pygame&lt;/a&gt;) he encontrado tantas cosas que llamaban mi atención que me he saturado. Aún no había resuelto cómo dibujar el escenario y ya me encontraba debatiendo conmigo mismo qué algoritmo de búsqueda de caminos implementar para los enemigos.&lt;br /&gt;&lt;br /&gt;Al final he optado por hacer un experimento: voy a desarrollar al mismo tiempo una especie de "motor" y un videojuego, de manera que iré implementando funciones en el motor según las vaya necesitando, aunque trataré de hacerlo lo más general posible de manera que sirva para otros tipos de juegos. Para no partir totalmente de cero voy a basarme en pygame.&lt;br /&gt;&lt;br /&gt;Ya he visto algunas cosillas por ahí parecidas a lo que quiero hacer, pero como lo que realmente me interesa es aprender prefiero hacerlo yo mismo desde el principio, aunque investigue cómo lo hacen los demás, claro está. El código del motor lo alojaré en Google Code y aquí iré comentando la experiencia. No tengo intención de hacer una especie de tutorial, sino más bien comentar las dificultades que encuentre, decisiones a las que me enfrente, errores que cometa, etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2628046590014959960-2848595331075599621?l=robeman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robeman.blogspot.com/feeds/2848595331075599621/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://robeman.blogspot.com/2011/01/python-y-videojuegos-por-que-no.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2628046590014959960/posts/default/2848595331075599621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2628046590014959960/posts/default/2848595331075599621'/><link rel='alternate' type='text/html' href='http://robeman.blogspot.com/2011/01/python-y-videojuegos-por-que-no.html' title='Python y videojuegos, ¿por qué no?'/><author><name>Áureo Ares</name><uri>http://www.blogger.com/profile/06355503703875276010</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2628046590014959960.post-242903943733109544</id><published>2010-07-06T20:44:00.000+02:00</published><updated>2010-07-06T20:44:59.999+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><category scheme='http://www.blogger.com/atom/ns#' term='Desarrollo web'/><title type='text'>¿De quién aprendo?</title><content type='html'>Estaba preparando la siguiente clase de &lt;a href="http://www.w3.org/Style/CSS/"&gt;CSS&lt;/a&gt; para un amigo cuando he pensado: ¿Cuánto hace que no escribo en el blog?&lt;br /&gt;&lt;br /&gt;Estoy dando clases de desarrollo web a un amigo (y a mi padre, que ha aprovechado para apuntarse). Empezamos por &lt;a href="http://www.w3.org/TR/html401/"&gt;HTML 4.01&lt;/a&gt; (aunque tal vez debería haber ido directamente al &lt;a href="http://www.w3.org/TR/xhtml1/"&gt;XHTML&lt;/a&gt;) y me gustaría llegar al menos a lo más básico de bases de datos con MySQL, si esque no se me quedan por el camino.&lt;br /&gt;&lt;br /&gt;La verdad es que conozco a muchas personas que desarrollan sitios web, desde páginas muy sencillas hasta complejas aplicaciones web, y por alguna razón las que (en mi opinión) lo hacen no sólo con mayor soltura, sino también con mayor corrección, son aquellas que han aprendido por sí mismas. De acuerdo, suena bastante raro viniendo de alguien que precisamente se encuentra enseñando a otras personas, pero es la verdad. Probablemente se deba a que los únicos que de verdad se leen las especificaciones y documentaciones oficiales son los autodidactas.&lt;br /&gt;&lt;br /&gt;Yo personalmente prefiero leer la documentación completa en lugar de que alguien decida por mí qué partes son las que me interesan, y analizar qué es lo que más se utiliza (y si es bueno o no) leyendo código de otras personas.&lt;br /&gt;&lt;br /&gt;En el caso concreto de HTML creo que la especificación se digiere bastante bien. Una vez leída y comprendida, si pasas a leer manuales y demás probablemente aprendas cómo los demás hacen cosas que no se te ocurrirían fácilmente, pero podrás distinguir quién hace las cosas bien y quién no. Es decir: sabrás de quién debes aprender. Bien es cierto que en este caso no estamos hablando exactamente de un estándar, sino de una recomendación del &lt;a href="http://www.w3c.es/"&gt;W3C&lt;/a&gt;, pero el mundo sería mucho más bonito si todos hiciésemos caso a estas buenas personas, y digan lo que digan creo que nadie me hará cambiar de opinión. Claro que hay otros casos en los que la especificación no es tan fácil de digerir (&lt;a href="http://en.wikipedia.org/wiki/ECMAScript"&gt;ECMAScript&lt;/a&gt; para mí fue un infierno), pero si uno sabe buscar siempre se encuentra algún punto por el que empezar.&lt;br /&gt;&lt;br /&gt;Lo que quiero decir con todo esto es que cuando aprendes de otra persona, normalmente dependerá mucho de quién te enseñe, pero si decides aprender por ti mismo lo mejor es empezar siempre por la documentación oficial.&lt;br /&gt;&lt;br /&gt;Los principales inconvenientes suelen ser el tiempo (generalmente es más rápido leer un manual que te explique lo que necesitas saber y deje de lado lo que sea prescindible) y el idioma (todos sabemos que en Internet la información de mayor calidad suele encontrarse en inglés) pero en este mundillo uno está prácticamente obligado a "aprender a aprender" (y a actualizarse) y al menos comprender el inglés escrito.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2628046590014959960-242903943733109544?l=robeman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robeman.blogspot.com/feeds/242903943733109544/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://robeman.blogspot.com/2010/07/de-quien-aprendo.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2628046590014959960/posts/default/242903943733109544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2628046590014959960/posts/default/242903943733109544'/><link rel='alternate' type='text/html' href='http://robeman.blogspot.com/2010/07/de-quien-aprendo.html' title='¿De quién aprendo?'/><author><name>Áureo Ares</name><uri>http://www.blogger.com/profile/06355503703875276010</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2628046590014959960.post-1041904670447638611</id><published>2010-04-07T23:55:00.000+02:00</published><updated>2010-04-07T23:55:29.231+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Herramientas'/><category scheme='http://www.blogger.com/atom/ns#' term='Proyectos'/><title type='text'>Eithne</title><content type='html'>Finalmente he decidido probar &lt;a href="http://code.google.com/"&gt;Google Code&lt;/a&gt;&amp;nbsp;para alojar mis proyectos.&amp;nbsp;He empezado por &lt;a href="http://eithne.googlecode.com/"&gt;Eithne&lt;/a&gt;&amp;nbsp;ya que me parece el más interesante.&lt;br /&gt;&lt;br /&gt;Se trata de un sistema para realizar inventarios de equipos en red. Recoge toda la información sobre el hardware de los equipos de una red, la almacena en una base de datos y genera informes. Es totalmente independiente del software instalado en los equipos ya que utiliza PXE&amp;nbsp;para arrancar un sistema propio y ejecutar la aplicación cliente. Pero la parte técnica la iré desarrollando en la documentación y en la &lt;a href="http://code.google.com/p/eithne/w/list"&gt;wiki del proyecto&lt;/a&gt;, aquí prefiero hablar de otras cosas.&lt;br /&gt;&lt;br /&gt;Cuando me planteé la idea original me recordaba un poco al famoso Everest para Windows, de modo que decidí ponerle al proyecto el nombre de un volcán: Etna. Eithne (pronunciado "etna") significa "núcleo" en gaélico, de modo que no se me ocurre mejor nombre para el módulo principal de la aplicación. El resto de módulos son Catherine (Gather Info), Ansley (Translate), Adhara (Supervise) y Nancy (Fancy Output). A quienes ya me conocen no les sorprenderá que todos sean nombres femeninos.&lt;br /&gt;&lt;br /&gt;La mayor parte está escrita en Python y utiliza una base de datos MySQL. Los módulos tratan de ser lo más independientes posible.&lt;br /&gt;&lt;br /&gt;Aún no tengo ideas para un logotipo, de modo que acepto sugerencias.&lt;br /&gt;&lt;br /&gt;Por otra parte, he creado otro proyecto en Google Code llamado &lt;a href="http://sdragontools.googlecode.com/"&gt;SDragonTools&lt;/a&gt;&amp;nbsp;para compartir algunos ejemplos de herramientas para hacer la vida más fácil en The Seventh Dragon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2628046590014959960-1041904670447638611?l=robeman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robeman.blogspot.com/feeds/1041904670447638611/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://robeman.blogspot.com/2010/04/eithne.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2628046590014959960/posts/default/1041904670447638611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2628046590014959960/posts/default/1041904670447638611'/><link rel='alternate' type='text/html' href='http://robeman.blogspot.com/2010/04/eithne.html' title='Eithne'/><author><name>Áureo Ares</name><uri>http://www.blogger.com/profile/06355503703875276010</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2628046590014959960.post-5720876479302525845</id><published>2010-04-07T02:00:00.004+02:00</published><updated>2010-07-06T20:46:32.915+02:00</updated><title type='text'>Sobre mí.</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;i&gt;"Si funciona, no lo toques."&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;¿Cuántas veces me lo habrán dicho (y cuánta razón tenían a veces) y aún así lo habré tocado? No puedo evitarlo. Si sé que algo puede ser mejor no logro dejarlo como está. Si no entiendo algo tengo que destriparlo. Las cosas que funcionan sin saber cómo me ponen nervioso.&amp;nbsp;Hay quien dice que es algo bueno y hay quien opina lo contrario, pero supongo que las cosas nunca son blancas o negras, simplemente son..., como son. Y yo soy así.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;Me llamo Áureo Ares, soy administrador de sistemas informáticos y dedico la mayor parte de mi tiempo libre a la programación. La finalidad de este blog es principalmente organizar un poco mis cosas en un sólo sitio web y dar a conocer mis trabajos. Si encuentras algo de tu interés, te invito a colaborar en cualquiera de mis proyectos de código abierto.&amp;nbsp;Si el motivo de tu visita es profesional te invito a visitar mi&amp;nbsp;&lt;a href="http://www.aureoares.es/curriculum"&gt;currículum vítae&lt;/a&gt;&amp;nbsp;y mis&amp;nbsp;&lt;a href="http://robeman.blogspot.com/2010/04/proyectos-y-herramientas.html"&gt;proyectos&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;En cualquier caso, bienvenido.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2628046590014959960-5720876479302525845?l=robeman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2628046590014959960/posts/default/5720876479302525845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2628046590014959960/posts/default/5720876479302525845'/><link rel='alternate' type='text/html' href='http://robeman.blogspot.com/2010/04/si-funciona-no-lo-toques.html' title='Sobre mí.'/><author><name>Áureo Ares</name><uri>http://www.blogger.com/profile/06355503703875276010</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2628046590014959960.post-3456875174644052168</id><published>2010-04-06T23:57:00.008+02:00</published><updated>2011-01-24T22:01:33.578+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Herramientas'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><category scheme='http://www.blogger.com/atom/ns#' term='Proyectos'/><title type='text'>Proyectos y herramientas.</title><content type='html'>&lt;a href="http://eithne.googlecode.com/"&gt;Eithne&lt;/a&gt; - Sistema de inventario de equipos en red.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/p/paige/"&gt;Paige&lt;/a&gt; - Motor de desarrollo de videojuegos basado en pygame.&lt;br /&gt;&lt;br /&gt;&lt;s&gt;SDragonTools&lt;/s&gt;&lt;s&gt; - Herramientas para el juego The Seventh Dragon.&lt;/s&gt; (Cancelado)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2628046590014959960-3456875174644052168?l=robeman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://robeman.blogspot.com/feeds/3456875174644052168/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://robeman.blogspot.com/2010/04/proyectos-y-herramientas.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2628046590014959960/posts/default/3456875174644052168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2628046590014959960/posts/default/3456875174644052168'/><link rel='alternate' type='text/html' href='http://robeman.blogspot.com/2010/04/proyectos-y-herramientas.html' title='Proyectos y herramientas.'/><author><name>Áureo Ares</name><uri>http://www.blogger.com/profile/06355503703875276010</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
