<?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-8486747274114498865</id><updated>2011-09-15T11:59:41.628-07:00</updated><category term='Biby Puzzle GM diseño'/><category term='juegos'/><category term='Concurso'/><category term='La odisea de Nubelin'/><category term='Windows Vista'/><category term='Buby Puzzle GM videojuegos'/><category term='Pusepu'/><category term='juego'/><category term='OpenCV'/><category term='programacion'/><category term='articulo'/><category term='proyecto'/><category term='diseño programacion juegos celular Gluglos'/><category term='llaveros'/><category term='GM'/><category term='ADVA'/><category term='UNLu'/><category term='reflexion'/><category term='personajes nuevo proyecto'/><category term='C++'/><category term='CGM'/><category term='game design'/><category term='mouse'/><category term='diseño programación videojuegos'/><category term='Nubelin'/><category term='diseño Odisea de Nubelin juegos'/><category term='SDL'/><category term='butterfly'/><category term='premios'/><category term='accesibilidad'/><category term='D+D Engine'/><category term='videojuegos'/><category term='flixel'/><title type='text'>Tyranus:: IndieGames</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>43</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-6816599207909158315</id><published>2010-02-11T19:29:00.000-08:00</published><updated>2010-02-11T19:29:15.691-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UNLu'/><category scheme='http://www.blogger.com/atom/ns#' term='butterfly'/><title type='text'>Proyecto Butterfly finalizado.</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_qXAg36nJhRs/S3TKvIQmtsI/AAAAAAAAAMg/i-BFkqVxxcU/s1600-h/logoButterfly.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_qXAg36nJhRs/S3TKvIQmtsI/AAAAAAAAAMg/i-BFkqVxxcU/s320/logoButterfly.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Luego de mucho tiempo permaneciendo culminado e inactivo, finalmente pude presentar el proyecto butterfly en su versión final.&lt;br /&gt;Sufrió muchos cambios a lo largo del tiempo, y maduro para llegar a poder utilizarse en PC de bajos recursos, como por ejemplo una netbook. Si bien no es una versión para usuario final, no necesita mayores ajustes para que pueda correr en diversas condiciones de luz, posición respecto a la camará, timming's y etc.&lt;br /&gt;El proyecto fue calificado con un nueve! Teniendo en cuenta que todavía se puede mejorar más. &lt;br /&gt;La buena noticia, es que al rendir este final, me he recibido de Analista, y ahora con mucha suerte y esfuerzo puede que el año que viene obtenga la licenciatura.&lt;br /&gt;Dejo para descargar el archivo ejecutable, y el trabajo escrito con una explicación del mismo.&lt;br /&gt;&lt;br /&gt;http://www.4shared.com/file/220253406/c1c10397/Butterfly.html&lt;br /&gt;&lt;br /&gt;Para poder usarlo se necesita reproducir la herramienta para lograr el aumento analógicamente, también descripto en el trabajo. Además se debe tener instalado OpenCV (https://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.0/)&lt;br /&gt;&lt;br /&gt;Un saludo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-6816599207909158315?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/6816599207909158315/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=6816599207909158315' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/6816599207909158315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/6816599207909158315'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2010/02/proyecto-butterfly-finalizado.html' title='Proyecto Butterfly finalizado.'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_qXAg36nJhRs/S3TKvIQmtsI/AAAAAAAAAMg/i-BFkqVxxcU/s72-c/logoButterfly.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-8521704027191316897</id><published>2010-01-13T20:16:00.000-08:00</published><updated>2010-01-13T20:16:28.314-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='videojuegos'/><category scheme='http://www.blogger.com/atom/ns#' term='game design'/><category scheme='http://www.blogger.com/atom/ns#' term='articulo'/><title type='text'>Rejugabilidad.</title><content type='html'>Existen varias formas de lograr la rejugabilidad en un juego. Pero antes de empezar a hablar de ello, por obligación, hay que definir a que nos referimos con este término.&lt;br /&gt;&lt;br /&gt;La rejugabilidad se refiere simplemente al hecho de volver a jugar un juego (o una fase de un juego) una vez completado el mismo. Su principal objetivo es, por lo tanto, estirar la vida útil del título por propia voluntad del jugador, viéndose incentivado por diversos factores que son el tema de discusión de este artículo.&lt;br /&gt;Hay que señalar que si bien es uno de sus objetivos, estirar el tiempo que se juega no significa darle rejugabilidad. Los aspectos que consideremos para esto deben ser aquellos que tiendan a lograr que jugador vuelva a jugar, y no que retrase el final del juego.Existe una sutil diferencia entre estirar el tiempo de juego (rejugabilidad) y estirar un juego (Añadir elementos repetitivos, dar vueltas sobre los mismo para que el jugador tarde en ganar).&lt;br /&gt;&lt;br /&gt;Algunas de las herramientas de las que voy a mencionar son: Score, Secretos, Múltiples finales, Caminos alternativos, Contenidos desbloqueables, Multiplayer, Niveles de dificultad, Selección de Escenas, Subquest, creación de contenidos, trucos y por último selección de personajes.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Score.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Una de las herramientas más utilizadas y clásicas en el mundo de los videojuegos, es el score. Sin embargo, el origen del score no es propio de los videojuegos sino que es un concepto tomado de los juegos en general. Se puede ver tanto desde un punto de vista multiplayer, en por ejemplo el fútbol donde la acción de hacer un Gol incrementa el puntaje del equipo; hasta el otro extremo desde un punto de vista single player, por ejemplo en el juego "solo uno" (juego de mesa en donde se tiene un tablero lleno de fichas y el objetivos es dejar solo una pieza en el centro, la cantidad de fichas que quedan son el puntaje y cuanto menor sea, mejor se jugó).&lt;br /&gt;&lt;br /&gt;&amp;nbsp;La idea aplicada en videojuegos es simple, asignarle un puntaje (positivo o negativo) a las acciones que se consideran oportunas para crear, a fin de cuentas, un puntaje para cada jugada.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Que satisface en el jugador.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Esta mecánica apela principalmente al sentido de la competencia que tienen los jugadores, y es por ello que es conveniente que este puntaje se pueda compartir con otros jugadores para montar una especie de desafío implícito que lo incentive a batir records. Otro aspecto del que se puede sacar provecho por medio de esta herramienta es la autosuperación del jugador.&lt;br /&gt;&lt;br /&gt;No hay que olvidarse que la competencia es una necesidad de carácter social por lo que es bueno formar la tabla de highscore que identifique quien y cuantos puntos se hicieron, de manera que se puedan comparar los resultados.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Compartir.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Sería ideal armar una tabla online donde todos los jugadores en distintas partes del mundo puedan subir su puntaje y asi posicionarse en un ranking mundial. El problema que se puede plantear es que, una vez que el juego es viejo (o adquiere cierta edad), los puntajes más altos quedan primeros en las tablas para siempre lo que podría llegar a decepcionar a nuevos jugadores por no lograr aparecer nunca. Soluciones posibles son dos&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Borrar las tablas cada cierto periodo de tiempo, lo cual es totalmente injusto para los jugadores que se pasaron horas y horas para estar arriba de todo en la lista. Un posible intento de suavizar este defecto, es pasar al primero de la lista a una lista de "Top legend", donde queda almacenado históricamente los puntajes más altos, llevada en paralelo con la lista de higscore temporal.&lt;/li&gt;&lt;li&gt;Armar categorias: por zonas, por tiempo, por edad, etc... La forma más clásica es armar puntajes por tiempo, es decir highscore del día, highscore del mes, highscore total.&lt;/li&gt;&lt;/ol&gt;Otra variante es comparar los puntajes solamente con aquellas personas que son amigos entre sí, ya sea creando un torneo o utilizando la API que proveen las redes sociales (ej: facebook).&lt;br /&gt;&lt;br /&gt;No siempre es posible compartir puntajes de manera online (ej una consola no conectada internet, un dispositivo movil, u otros motivos que pueden ser tan solo capricho de un miembro del equipo), en su lugar se pueden plantear dos estrategias distintas totalmente compatibles.&lt;br /&gt;&lt;br /&gt;Por un lado, una tabla de highscore "local" (clásicos en Arcades), para compartir con amigos y familiares.&lt;br /&gt;Otra opción es crear una especie de calificación para la jugada basada en puntaje (ej: Odin Sphere). Este consiste en la asignación de una letra por ejemplo A B C D F, o bien númerica 1..10 (menos utilizada) según el desempeño en el juego. Esto requerirá de un buen proceso de playtesting para conocer los puntajes óptimos humanamente posibles.&lt;br /&gt;&lt;br /&gt;Esta última variante actúa más bien un sentido de autosuperación que de competencia, aunque este puntaje puede ser compartido de palabra entre los jugadores.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Aspectos negativos.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Incluir puntaje en un videojuego no siempre es posible ya que suele romper atmósferas de terror, suspenso, drama, e incluso puede afectar negativamente la inmersión en el mundo del juego. El puntaje también  puede romper la ilusión de realismo, y puede llegar a obstruir en la historia si desvía demasiado la atención del jugador (Seguir juntando puntos mientras machacan a un aliado).Incluir o no un puntaje depende de estilo del juego y del mensaje que se busca transmitir (si es que hay alguno).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Implementaciones&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Se puede aplicar puntajes positivos a acciones que se quieren premiar o puntajes negativos a las que se quieren presentar como "malas".&lt;br /&gt;En los puntajes positivos, la idea es dar mayor puntaje a las acciones más dificiles, pocos probables o poco frecuentes en el juego. Otorgar puntaje a una acción puede ser útil también para darle una pista al jugador de que esta haciendo lo correcto (por ejemplo acertar los disparos en el punto débil de un Boss).&lt;br /&gt;&lt;br /&gt;Los puntajes negativos, se suelen usar para guiar al jugador por el camino que deseamos (por ejemplo moralmente), o bien en trampas donde la astucia del jugador lo premia al evadirlas (no caer en un hoyo).&lt;br /&gt;Como estrategia moral podemos citar la acción clásica de quitar muchos puntos por matar a un aliado o a un civil.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Score como dinero.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Suele utilizarse también una variante del score, donde se puede utilizar una medida paralela (o la misma) para comprar items en el juego. Estos items pueden usarse para&amp;nbsp; facilitar el juego y hasta pueden ser elementos meramente decorativos, lo ideal es que este dinero sea acumulativo para que al volver a jugar una fase siga incrementándolo.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Secretos.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Otra forma de incrementar la rejugabilidad es la introducción de secretos. Los secretos pueden ser items útiles (armas, vida) , zonas ocultas, o  incluso fragmentos de la historia. Para que este tipo de factor sea importante, es ideal mostrar la cantidad total de secretos en un nivel sobre la cantidad de secretos descubiertos, para que una vez finalizada la fase el jugador sepa si quedaron zonas sin descubrir (si lo que se quiere es rejugabilidad, y no tan solo premiar la curiosidad).&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;b&gt;Que satisface en el jugador.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Esta herramienta apela al sentido de exploración en un jugador, como también la curiosidad. Por descubrir un secreto más, el jugador puede estar dispuesto a recorrer el mapa de arriba a abajo una y otra vez.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ventajas indirectas.&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Al incluir secretos en un juego, ampliamos la atención que presta el jugador al mismo, ya que estará en la continua búsqueda de pequeños detalles que le den pistas que revelen un secreto, esto tiene como consecuencia que el jugador aprecie el diseño del nivel, y el arte puesto en el mismo, a prestar tanta atención a los detalles.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Aspectos negativos.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;La inclusión de secretos suele complicar la tarea de un level designer si no se quiere desviar la atención del jugador del flujo principal del juego. Otro aspecto a tener en cuenta es que deben estar bien ocultos y al mismo tiempo deben existir las pistas necesarias para que sean descubiertas sin exagerar ninguno de los extremos.&lt;br /&gt;Deben ser la cantidad apropiada para cada nivel, y deben poder descubrirse sin interferir con el objetivo del nivel (no es bueno que el secreto se confunda con un puzzle que permita al jugador avanzar).&lt;br /&gt;La falta de secretos luego de una exploración en lugares o tareas monótonas puede terminar convirtiéndose en un factor de decepción.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Múltiples finales.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Suele ser una tarea costosa y no es aplicable a cualquier tipo de juego, depende mucho de la historia principal (a diferencia de la mayoría de las herramientas aquí discutidas) y en general son el resultado de tomar caminos alternativos, o decisiones alternativas.&lt;br /&gt;Es importante también el factor de inmersión en el mundo del juego que se logra en el jugador, ya que dependiendo del mismo es que puede ser que el jugador este dispuesto a jugar todo desde el comienzo o simplemente volver a intentarlo desde un savepoint. Una solución elegante es crear auto-guardados ocultos que al finalizar el juego son desbloqueados, o bien utilizando un selector de niveles (luego discutido en el articulo) .&lt;br /&gt;&lt;br /&gt;Cuanto más simple y corta sea la historia(o el juego en general) más fácil suele ser la inclusión de distintos finales.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;b&gt;Que satisface en el jugador.&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Si la historia o el mundo del juego son lo suficientemente atrapantes, saber de la existencia de un final alternativo despertará curiosidad en el jugador.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Como contarlo.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;La decisión de como informar de estos finales son varias, pueden ser incluidas directamente en el mismo juego (por ejemplo con un contador de finales I wish I were the Moon), puede ser revelada por algún dialogo con un personaje, o bien puede ser el resultado de lanzar una noticia luego de publicado el juego. También se puede optar mantenerlo en secreto, y esperar a que un jugador lo descubra y corra la vos.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Caminos alternativos, mismo resultado.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Esta herramienta es similar a la anterior, parte de la idea de un camino alternativo o decisión alternativa, solo que esta vez desemboca en un mismo desenlace desde el punto de vista de la historia general. Este tipo de alternativa se debe aplicar simplemente al recorrido del nivel pero no debe afectar el desenlace final de la historia (aunque se puede modificar parte de ella).&lt;br /&gt;La curiosidad es la que juega un papel importante en este recurso, es por ello que las decisiones deben ser atractivas para que el jugador se sienta incentivado a volver a intentarlo.Un buen ejemplo son las etapas de decisión en el RE3.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Contenidos desbloqueables.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A través de un determinado score, la finalización del juego, la recolección de todos los secretos del nivel, la recolección de todos los items de cierto tipo o cualquier otro tipo de estrategia, puede tener como resultado y para incentivar tales acciones,&amp;nbsp; destrabar un contenido desbloqueable.&lt;br /&gt;Este contenido es variado y pueden ser de varias índoles. Apela al sentido de curiosidad del jugador.&lt;br /&gt;&lt;br /&gt;Pueden ser muestras de material del desarrollo del juego como concept art de niveles o personajes, e incluso pueden ser fotos del equipo de desarrollo, distintos trajes, vehículos, personajes, niveles bonus, distintos modos de juego y un gran etc.&lt;br /&gt;&lt;b&gt; &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Niveles bonus&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Crear niveles bonus que tengan un limite de tiempo, o algún tipo de puntaje, o bien fragmentos secundarios de la historia, es una buena herramienta para incentivar al jugador a seguir con nuestro juego. Estos niveles pueden ser totalmente paralelos a la historia principal, incluso no tener el menor sentido, o al otro extremo podemos contar un pequeño fragmento de la historia que ayude a cerrarla, también podemos contar algo acerca de los personajes secundarios.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Modos multiplayer. &lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Competir, cooperar, socializar, son necesidades comunes en los jugadores, y es bueno aprovechar el gameplay desarrollado, tal vez para singleplayer, proponiendo modos de juegos cooperativos o diferentes tipos de desafíos entre los jugadores. Este modo multiplayer puede estar totalmente alejado de la historia, e incluso ni siquiera concordar con el gameplay central (Ejemplo: TimeSpliters).&lt;br /&gt;El desarrollo de un modo multiplayer es un tema complejo que no pretendo abordar dada la idea del articulo, pero es importante destacar que incluir un modo multiplayer puede darle mucho valor al juego (Ejemplo Halo).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Niveles de Dificultad.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Se pueden plantear dos objetivos para incluir en un juego la selección de dificultad:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Permitir que personas no experimentadas en el genero (o que simplemente no quieran complicar las jugadas) puedan jugar el juego de acuerdo a su experiencia o deseos.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Fomentar la autosuperación, al tratar sugerir al jugador completar el juego (o nivel) en las distintas dificultades (Guitar Hero, Doom).&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;span style="font-size: small;"&gt;También puede ser utilizado para bloquear contenidos.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Selección de escenas.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Es esencial contar con un selector de niveles para permitir una rejugabilidad más relajada. Hay que darle la libertad al jugador para revivir aquellos momentos que más haya disfrutado, o bien lograr batir records o completar subquest, probar caminos alternativos, etc.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Un buen selector de niveles deberá informar sobre las estadísticas del jugador (tiempo, puntaje, secretos, etc) y mostrar imágenes descriptivas sobre el nivel de manera que el jugador pueda reconocerlo fácilmente.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Trucos.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Si bien suelen representar herramientas de debug no retiradas, usualmente pueden cumplir con una segunda función que es la incentivar al jugador a probar el juego rompiendo las reglas del mismo. Suelen cumplir deseos de exploración, la curiosidad o simplemente las ganas de comprar o adquirir todo lo que el juego posea. Estos trucos incluso pueden ser revelados al jugador como contenido desbloqueable al finalizar el mismo, o bien prohibir su uso hasta que el juego se haya concluido al menos una vez.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;SubQuests.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;Generalmente los subquest&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: small;"&gt;son herramientas para darle más vida al juego, darle libertad de decisión y estira la duración del mismo, pero también pueden considerarse como una herramienta de rejugabilidad. Los subquest deberían seguir estando activos incluso una vez finalizado el juego, de manera que un juegador vuelva a visitar niveles en que hayan quedado subquest sin completar.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;También se pueden destacar subquest del tipo en que se deben recoger/eliminar/descubir X cantidad de elementos de un mismo tipo en un nivel; para poder convertir esto en un factor de rejugabilidad debería contar con un selector de niveles que permita conocer información acerca de los subquest cumplidos.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Creación de contenidos&lt;/b&gt;&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Esta herramienta apela a la creatividad del jugador. Puede observarse dentro de cualquier genero desde un FPS (Dibujar su nombre con la marca de disparos en una pared) hasta juegos RTS ( disposición de edificios en un ciudad), el jugador buscará expresarse por medio de las herramientas que tenga disponible.&lt;br /&gt;&lt;br /&gt;Existen muchos tipos de elementos con los que el jugador puede expresarse, y es conveniente, dependiendo del contenido generado, permitir compartir las creaciones entre los jugadores.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Editor de niveles.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Una herramienta común puede ser un editor de niveles. Este editor debe ser lo más simplificado posible y al mismo tiempo debe permitirle al jugador expresar su creatividad sin romper los limites de ejecución del hardware (Poner demasiada cantidad de emisores de partículas,enemigos con IA de alto consumo de CPU, o demasiados objetos en un mismo nivel). El editor debe ser, en medida de lo posible, fácil de aprender y dominar.&lt;br /&gt;Es bueno también tener la posibilidad de exportar los niveles para que se pueda compartir con otras personas, y este factor es mejor aún, si el propio juego ofrece opciones dentro de él para hacerlo.&lt;br /&gt;&lt;br /&gt;Si el editor de niveles es demasiado completo puede no ser utilizado por el común de los jugadores, aunque atraerá la atención de level designer (o futuros level designer) los cuales crearán comunidades sobre la creación de mapas para el juego, y el juego ganará niveles de gran calidad técnica.&lt;br /&gt;&lt;br /&gt;Si el editor es limitado puede cohibir la creatividad del jugador y al mismo tiempo puede ser la oportunidad para aquellos jugadores que no dispongan del conocimiento o tiempo necesario para aprender la herramienta.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Personalización del Avatar.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Ya sea un vehículo, un personaje de un RPG, o un "Sim" si el jugador puede personalizarlo y algunas de las herramientas para hacerlo son desbloqueables se puede utilizar como factor de rejugabilidad.&lt;br /&gt;Un muy buen ejemplo de esto llevado al extremo&amp;nbsp; es el juego Spore. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Elementos propios del gameplay.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Pueden incluirse dentro del juego es si mismo herramientas que fomenten la creatividad por si solas (ejemplo Crayon Physics), donde el jugador cree elementos interactivos o simplemente visuales sobre el cual pueda actuar o admirar. Un item que le permita dejar una marca le permitirá al jugador dibujar y escribir, elementos físicos con que el jugador pueda interactuar le permitirán inventar diversas estructuras y soluciones (Trine, World of Goo ). Generalmente este tipo de rejugabilidad es un resultado imprevisto o no planeado (No es el caso de los ejemplos citados), pero no debe ser ignorado, ya que dependiendo de cuanto afecte al mundo del juego o cuan expresiva sea, puede ser un elemento que incentive al jugador a plantear diferentes soluciones en puzzles, o simplemente crear pequeñas obras de arte, y por ende volver a jugar el juego.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Elección de personajes.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Elección de personajes debe distinguirse de la elección de skin o la personalización de un avatar. El cambio del personaje deberá implicar cambio en la jugabilidad, si lo hace,&amp;nbsp; pueden plantear elementos de gameplay distintos que hagan encarar a todo el juego de manera distinta.&lt;br /&gt;Esta suele ser una herramienta típica de un RPG donde se selecciona las clases, pero no debe restringirse solo a este genero ya que es una herramienta muy poderosa. Un personaje con un gameplay distinto en un mismo mundo de juego con una misma historia puede valer la pena siempre y cuando estos factores(histora y mundo de juego) no hayan sido los centrales.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Ultimas palabras. &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Todas las herramientas aqui expuestas pueden ser utlizadas en simultaneo según se crea necesario, he incluso mezclarse para lograr crear nuevas. Sin embargo dadas la cantidad de herramientas que existen para hacerlos el articulo queda corto.&lt;br /&gt;Cabe destacar como último detalle, que si el juego no resulta adictivo o simplemente no resulta bueno, todo el esfuerzo puesto en la rejugabilidad será en vano, por lo que la introducción de elementos de rejugabilidad no deben interferir nunca con el desarrollo central del gameplay y del juego en general. &lt;br /&gt;&lt;br /&gt;Espero que te haya sido tan útil la lectura como a mí la escritura de este artículo, cualquier sugerencia, comentario, regaño es más que bienvenido!&lt;br /&gt;&lt;br /&gt;Un saludo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-8521704027191316897?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/8521704027191316897/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=8521704027191316897' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/8521704027191316897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/8521704027191316897'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2010/01/rejugabilidad.html' title='Rejugabilidad.'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-7704460038826577591</id><published>2010-01-13T11:19:00.000-08:00</published><updated>2010-03-21T07:08:32.188-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flixel'/><category scheme='http://www.blogger.com/atom/ns#' term='juego'/><category scheme='http://www.blogger.com/atom/ns#' term='Concurso'/><category scheme='http://www.blogger.com/atom/ns#' term='ADVA'/><title type='text'>A pajarito's life.</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/_qXAg36nJhRs/S04cSJprBMI/AAAAAAAAAMY/F2coc37dXQM/s1600-h/tapa.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_qXAg36nJhRs/S04cSJprBMI/AAAAAAAAAMY/F2coc37dXQM/s200/tapa.png" /&gt;&lt;/a&gt;Este juego A pajarito's life lo hice originalmente para el concurso 100x100 px, y tuvo la suerte de salir en primer lugar!&lt;br /&gt;&lt;br /&gt;El corazón del juego esta en contar una historia bien simple, tratando de exponer un background de tristeza. Para lograr este objetivo utilice grñaficos de colores grises, música melancólica y un gameplay minimista e "inmersivo". Tiempo después, y conociendo las dificultades de distribuir un juego hecho en Game Maker en otras plataformas (ademas de Windows), es que me vi incentivado aprender un poco del mundo flash. Gracias a un conjunto de scripts de AS3 llamado Flixel, pude lograr rehacer el juego en una version Flash.&lt;br /&gt;&lt;br /&gt;Pueden probarla desde acá: &lt;a href="http://www.tyranus.com.ar/play.php?id=1"&gt;A pajarito's life.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Espero que lo disfruten, eso es todo!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-7704460038826577591?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/7704460038826577591/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=7704460038826577591' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/7704460038826577591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/7704460038826577591'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2010/01/pajaritos-life.html' title='A pajarito&apos;s life.'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_qXAg36nJhRs/S04cSJprBMI/AAAAAAAAAMY/F2coc37dXQM/s72-c/tapa.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-7627673085382139418</id><published>2009-12-20T13:04:00.000-08:00</published><updated>2009-12-20T13:04:17.972-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pusepu'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='butterfly'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenCV'/><title type='text'>Butterfly (ex pusepu).</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: right;"&gt;Concluyendo el proyecto.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp;Me reuní con el profesor de Procesamiento de Imagen y Sonido para mostrarle lo que había llegado a hacer con el proyecto, y me dió un par de ideas para mejorarlo. La que mayores frutos rindió fue la de hacer un "zoom" analógico sobre el sector de interés. Con esto, me ahorro los cálculos de la detección del rostro, gano velocidad y simplifico el programa, además de obtener una mejor resolución sobre el área de interés.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Para armar este zoom, utilice una lente, un envase de yogurt, un pedazo de tela de polar negra, y una base de plastico, el resultado lo que se puede ver en las fotos.&lt;br /&gt;&amp;nbsp;Le recorte la parte de abajo del envase, y pegue allí la lente. A su vez pegue estos a la base plástica para que la cámara calce bien. Luego, al notar que la luz hacia que se refleje la webcam sobre el lente, recubrí todo con tela polar negra.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_qXAg36nJhRs/Sy6EEDsXbGI/AAAAAAAAALg/gG-JMiXAm78/s1600-h/100_2030+%28600+x+450%29.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_qXAg36nJhRs/Sy6EEDsXbGI/AAAAAAAAALg/gG-JMiXAm78/s320/100_2030+%28600+x+450%29.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Figura 1. Zoom analógico. Cámara.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/_qXAg36nJhRs/Sy6EV_dMx2I/AAAAAAAAALo/3OQ9WPYa-xs/s1600-h/100_2031+%28600+x+450%29.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_qXAg36nJhRs/Sy6EV_dMx2I/AAAAAAAAALo/3OQ9WPYa-xs/s320/100_2031+%28600+x+450%29.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&amp;nbsp;Figura 1. Zoom analógico. Lente.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Estas son las instrucciones del uso del software que se pueden ver cuando se ejecuta el mismo. Primero se debe localizar la webcam sobre el monitor, y el usuario debe estar frente a la cámara (inmóvil, dada su condición, si no se tiene dicha discapacidad tiene que imitarse la falta de movilidad quedandose siempre en el mismo lugar) ver figura 3.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_qXAg36nJhRs/Sy57zbb5NJI/AAAAAAAAALQ/nMH7_g8CM-4/s1600-h/ins_1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_qXAg36nJhRs/Sy57zbb5NJI/AAAAAAAAALQ/nMH7_g8CM-4/s320/ins_1.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Figura 3. Instruccion 1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Para que el software busque la pupila debe abrirse los párpados lo más posible por un periodo breve, un sonido indicará que se a detectado correctamente la pupila y que la se pueden relajar los parpados.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Para mover el mouse se debe indicar una dirección con la mirada. Para hacer un click se debe cerrar el ojo un periodo de tiempo superior al de un parpadeo, hasta que se escuche un sonido que indica el "click".&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_qXAg36nJhRs/Sy6C-YQ6FlI/AAAAAAAAALY/pvGjBUphavM/s1600-h/ins_2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_qXAg36nJhRs/Sy6C-YQ6FlI/AAAAAAAAALY/pvGjBUphavM/s320/ins_2.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Figura 4. Instrucción 2&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Luego de haberse tomado las medidas, una persona debe señalar marcando con el mouse la sección correspondiente al ojo, no de deben incluir las cejas ya que puede traer problemas de detección.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;A continuación un video que muestra el software en acción.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/T5OLIbUPTGU&amp;hl=es_ES&amp;fs=1&amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/T5OLIbUPTGU&amp;hl=es_ES&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;El diseño finalmente implementado es el siguiente:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_qXAg36nJhRs/Sy6J6jChd8I/AAAAAAAAALw/aqBQkHQpkOY/s1600-h/butterfly+alto+nivel.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_qXAg36nJhRs/Sy6J6jChd8I/AAAAAAAAALw/aqBQkHQpkOY/s640/butterfly+alto+nivel.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Figura 5. Diseño de alto nivel. &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;La fase de pre-adquisición es identica a la del diseño original (poner la camara, obetenr iluminación). Luego se muestran por pantalla las instrucciónes. Cuando se termina de mostrar las instrucciónes, y cuando se selecciona el area de interes, se pasa al estado detectar pupila. Su funcionamiento es tal cual la descripción de la figura 6.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_qXAg36nJhRs/Sy6M6WqahkI/AAAAAAAAAL4/8ROJyahsLa8/s1600-h/Estado+detectar+pupila.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_qXAg36nJhRs/Sy6M6WqahkI/AAAAAAAAAL4/8ROJyahsLa8/s640/Estado+detectar+pupila.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Figura 6. Estado detectar pupila.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Se comienza con la adquisición, luego de que se adquiere la imagen se aplican los filtros de media y de detección de bordes. Se aplica la transformada de Hough para detectar círculos, si se detectan círculos se comprueba si es similar al anterior, si lo es se promedia con el anterior y si supera un timer se toma una fotografía de la pupila y se pasa al siguiente estado, sino se detecta se vuelve a adquirir, y si se detecta y es diferente a los círculos que se detectaron antes, entonces se reinicia el promedio con la información del círculo actual.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_qXAg36nJhRs/Sy6QjUUQ_3I/AAAAAAAAAMA/80mex8RDDnU/s1600-h/Estado+seguir+pupila.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_qXAg36nJhRs/Sy6QjUUQ_3I/AAAAAAAAAMA/80mex8RDDnU/s640/Estado+seguir+pupila.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Figura 7. Estado seguir pupila y actualizar cursor.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;En este estado se realiza un matching por correlación. Si supera un valor minimo se actualiza la posición del cursor segun la velocidad determinada por la distancia desde el centro, siempre y cuando el centro se haya fijado, si no fue así se fija el centro hasta superar un timer. Si no se detecta la pupila se acumula un timer, si este timer llega al valor en que debe hacer click, se simula un click, sino si no supera el timer de perdida sigue con la nueva adquisición. Si supera el timer perdida se vuleve al estado anterior.&lt;br /&gt;&lt;br /&gt;Eso es todo por ahora espero sus comentarios.&lt;br /&gt;&lt;br /&gt;Un saludo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-7627673085382139418?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/7627673085382139418/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=7627673085382139418' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/7627673085382139418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/7627673085382139418'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/12/butterfly-ex-pusepu.html' title='Butterfly (ex pusepu).'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_qXAg36nJhRs/Sy6EEDsXbGI/AAAAAAAAALg/gG-JMiXAm78/s72-c/100_2030+%28600+x+450%29.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-7264878150147557878</id><published>2009-10-15T16:44:00.000-07:00</published><updated>2009-10-15T17:09:25.244-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='proyecto'/><category scheme='http://www.blogger.com/atom/ns#' term='UNLu'/><category scheme='http://www.blogger.com/atom/ns#' term='Pusepu'/><category scheme='http://www.blogger.com/atom/ns#' term='accesibilidad'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenCV'/><title type='text'>Pusepu (Nuevo enfoque)</title><content type='html'>&lt;div style="text-align: right;"&gt;&lt;span style="font-style: italic;"&gt;Mostrando los avances.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Luego de un periodo de experimentación con las herramientas y con el proyecto mismo surgieron unas complicaciones algo obvias.&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;1º: Nunca abrimos totalmente el ojo, por lo tanto la pupila rara vez se adquiere como un circulo.&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: left;"&gt;2º: El ruido en la imagen hace que se detecten falsos positivos. (Ver figura 1)&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qXAg36nJhRs/Ste0usnHtWI/AAAAAAAAAKY/YLR9E-InBZc/s1600-h/error+detectando.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 233px; height: 264px;" src="http://3.bp.blogspot.com/_qXAg36nJhRs/Ste0usnHtWI/AAAAAAAAAKY/YLR9E-InBZc/s400/error+detectando.PNG" alt="" id="BLOGGER_PHOTO_ID_5392977793141683554" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;Figura 1. Falsos positivos.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;La solución a este dilema es rediseñar algunas cosas en la aplicación.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qXAg36nJhRs/Ste1KPSZJLI/AAAAAAAAAKg/WCkrt_PZimo/s1600-h/Scope1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 169px;" src="http://3.bp.blogspot.com/_qXAg36nJhRs/Ste1KPSZJLI/AAAAAAAAAKg/WCkrt_PZimo/s400/Scope1.png" alt="" id="BLOGGER_PHOTO_ID_5392978266306454706" border="0" /&gt;&lt;/a&gt;Luego de adquirir la imagen, si no se determina el ROI entonces se vuelve a adquirir otra subimagen, si se detecta el ROI entonces se pasa al procesado.&lt;br /&gt;Hasta ahora todo igual, pero lo que cambia es el procesado que actua como una maquina de estados finitos muy simple.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qXAg36nJhRs/Ste24L53zZI/AAAAAAAAAKw/w2HOeCu1qIA/s1600-h/Diagrama_transicion+de+estados.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 427px; height: 175px;" src="http://1.bp.blogspot.com/_qXAg36nJhRs/Ste24L53zZI/AAAAAAAAAKw/w2HOeCu1qIA/s400/Diagrama_transicion+de+estados.png" alt="" id="BLOGGER_PHOTO_ID_5392980155183910290" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Si el &lt;span style="font-weight: bold;"&gt;estado es buscar ojo&lt;/span&gt; hace lo siguiente:&lt;br /&gt;Se usa la transformada de Hough para reconocer círculos si se detectan se compara con el circulo que fue detectado anteriormente (Ver figura 2.). Si no se detecta un círculo o el círculo anterior no coincide con el actual se poner el timer en 0 (cero) .&lt;br /&gt;Si el círculo se detecto se suma uno al timer.&lt;br /&gt;Si el timer supera un tiempo máximo, entonces quiere decir que se detectó el ojo, y su tamaño y posición están determinados por el promedio de las "x","y", y radio de los círculos detectados que fueron similares.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qXAg36nJhRs/Ste31IlvsgI/AAAAAAAAAK4/Luv2ID-wXJU/s1600-h/detectado.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 307px; height: 400px;" src="http://1.bp.blogspot.com/_qXAg36nJhRs/Ste31IlvsgI/AAAAAAAAAK4/Luv2ID-wXJU/s400/detectado.PNG" alt="" id="BLOGGER_PHOTO_ID_5392981202266206722" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;Figura 2. Ojo detectado.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;En el momento en que el timer llega al tiempo de espera se toma una "fotografía" del ojo.&lt;br /&gt;&lt;br /&gt;En el &lt;span style="font-weight: bold;"&gt;estado de Reconocer ojo&lt;/span&gt; se hace un matching entre la fotografía y el ROI. Si se encuentra se procede a actualizar la posición del cursor, sino se vuelve al&lt;span style="font-weight: bold;"&gt; estado de buscando ojo.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Todavía hay que ajustar unos cuantos parámetros y optimizar el código, pero el proyecto esa cada vez más sólido.&lt;br /&gt;&lt;br /&gt;Espero les siga siendo interesante, en cuanto lo termine publico la aplicación para que la prueben un poco.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-7264878150147557878?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/7264878150147557878/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=7264878150147557878' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/7264878150147557878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/7264878150147557878'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/10/pusepu-nuevo-enfoque.html' title='Pusepu (Nuevo enfoque)'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_qXAg36nJhRs/Ste0usnHtWI/AAAAAAAAAKY/YLR9E-InBZc/s72-c/error+detectando.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-4508727349276551647</id><published>2009-09-20T08:27:00.002-07:00</published><updated>2009-09-20T10:01:46.873-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='proyecto'/><category scheme='http://www.blogger.com/atom/ns#' term='accesibilidad'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenCV'/><title type='text'>PuSePu (debo cambiarle el nombre)</title><content type='html'>&lt;div style="text-align: right;"&gt;Implementando a poco.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_qXAg36nJhRs/SrZOPCJVOLI/AAAAAAAAAIw/OlSDMoZOYII/s1600-h/openCV.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 299px;" src="http://2.bp.blogspot.com/_qXAg36nJhRs/SrZOPCJVOLI/AAAAAAAAAIw/OlSDMoZOYII/s400/openCV.bmp" alt="" id="BLOGGER_PHOTO_ID_5383576424749021362" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;Figura 1. (si eso soy yo, guarden sus comentario, gracias :P)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;Como se puede ver en la figura 1, la implementación llega hasta la fase de pre-procesado, aunque faltan ajustar algunos parámetros de los filtros.&lt;br /&gt;En la imagen más grande se puede ver como el modulo de OpenCV detecta el rostro, marcado en rojo. Esto determina un primer ROI (Area de interes) que es refinado ,  el rostro se divide en 4 partes, y se toma el segundo cuarto que representan los ojos y las cejas (figura 2.).&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_qXAg36nJhRs/SrZQPrdNGRI/AAAAAAAAAI4/d-hIBzF_Kac/s1600-h/roi_ajustado.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 144px; height: 35px;" src="http://4.bp.blogspot.com/_qXAg36nJhRs/SrZQPrdNGRI/AAAAAAAAAI4/d-hIBzF_Kac/s400/roi_ajustado.bmp" alt="" id="BLOGGER_PHOTO_ID_5383578634861484306" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:85%;"&gt;Figura 2. ROI ajustado.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:100%;"&gt;Luego esa imagen es filtrada con un filtro de difuminado gausiano y se pasa a escala de grises (figura 3.)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qXAg36nJhRs/SrZRC--b4qI/AAAAAAAAAJI/TFz6yhHbf8w/s1600-h/escala+de+gris+y+difuminado.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 167px; height: 43px;" src="http://3.bp.blogspot.com/_qXAg36nJhRs/SrZRC--b4qI/AAAAAAAAAJI/TFz6yhHbf8w/s400/escala+de+gris+y+difuminado.bmp" alt="" id="BLOGGER_PHOTO_ID_5383579516274467490" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;Figura 3. Filtro smoothing y escala de grises.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;En el ultimo paso se aplica un filtro para la detección de bordes, en este caso Canny, y se obtiene la imagen de la figura 4.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qXAg36nJhRs/SrZdB3RFXqI/AAAAAAAAAJQ/OxmvNiCpAgE/s1600-h/gris+y+bordes.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 259px; height: 67px;" src="http://1.bp.blogspot.com/_qXAg36nJhRs/SrZdB3RFXqI/AAAAAAAAAJQ/OxmvNiCpAgE/s400/gris+y+bordes.bmp" alt="" id="BLOGGER_PHOTO_ID_5383592691164864162" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;Figura 4. bordes con filtro Canny.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Como se puede apreciar en esta última imagen, todavía falta reducir aún más el ruido que tiene la imagen ya que el ROI quedo perfectamente determinado en todas las pruebas.&lt;br /&gt;&lt;br /&gt;El próximo paso es la detección de los círculos (el iris y la pupila).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-4508727349276551647?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/4508727349276551647/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=4508727349276551647' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/4508727349276551647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/4508727349276551647'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/09/pusepu-debo-cambiarleel-nombre.html' title='PuSePu (debo cambiarle el nombre)'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_qXAg36nJhRs/SrZOPCJVOLI/AAAAAAAAAIw/OlSDMoZOYII/s72-c/openCV.bmp' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-2818765595817436998</id><published>2009-09-16T16:16:00.000-07:00</published><updated>2009-09-16T16:37:12.217-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='proyecto'/><category scheme='http://www.blogger.com/atom/ns#' term='UNLu'/><category scheme='http://www.blogger.com/atom/ns#' term='accesibilidad'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenCV'/><title type='text'>Puntero Por Seguimieno de Pupila (PuSePu)</title><content type='html'>&lt;div style="text-align: right;"&gt;Diseñando el software.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Luego de una fase de experimentación y de repasar conceptos, esto es lo que hay que hacer para lograr mover el mouse con los ojos (o al menos eso parece).&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_qXAg36nJhRs/SrFyIYA7siI/AAAAAAAAAIY/QlFdFTXSUL8/s1600-h/Mouse_ocular%282%29.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 434px; height: 334px;" src="http://4.bp.blogspot.com/_qXAg36nJhRs/SrFyIYA7siI/AAAAAAAAAIY/QlFdFTXSUL8/s400/Mouse_ocular%282%29.png" alt="" id="BLOGGER_PHOTO_ID_5382208517895336482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;0 - Pre-adquisición: Preparar la cámara web, obtener una iluminación mínima, y localizar al usuario a una distancia razonable. Los parámetros reales de a que distancia, cual es la iluminación óptima etc... se conocerán al finalizar el proyecto, y luego de una ardua tarea de depuración.&lt;br /&gt;&lt;br /&gt;1: Adquisición de la imagen. Obetner la imagen desde la cámara web hacia el programa. Si bien son dos o tres lineas de código, conceptualmente es importante destacarlo.&lt;br /&gt;&lt;br /&gt;2: Determinar el área de interés: Aprovechando un algoritmo que provee openCV para la detección de rostros, se puede reducir el ROI (Área de interés) a la cabeza, y luego de sacar algunas medidas determinar aún mejor en proporción al tamaño de la cabeza la seccion de la cara donde estan los ojos, para reducir más la ROI y al mismo tiempo reducir falsos positivos en la detección de circulos, como pueden ser los orificios nasales.&lt;br /&gt;&lt;br /&gt;3: Preprocesado: En esta fase se prepara la imagen con la que se va a trabajar. Se debe convertir la imagen a escala de grises para facilitar la implementación. Se debe suavizar la imagen adquirida para reducir el nivel de ruido de la imagen, y detectar bordes para reducir la cantidad de puntos que deberá verificar la transformada de Hough.&lt;br /&gt;&lt;br /&gt;4: Procesado: Se aplica la transformada de Hough y se obtienen los círculos. Posteriormente se realizará un trakcing para determinar el movimiento del cursor.&lt;br /&gt;&lt;br /&gt;5: A partir de la posición anterior y otros cálculos aún no definidos se actualiza la posición del cursor.&lt;br /&gt;&lt;br /&gt;Todavía quedan algunos cabos sueltos en el diseño, pero se irán refinando a medida de se adquiera conocimientos sobre el tema y el proyecto en sí.&lt;br /&gt;&lt;br /&gt;Los mantendré al tanto, estas entradas tiene un doble objetivo: obligarme a documentar el proyecto, y obtener feedback de parte de ustedes, y en lo posible ayudar a alguien en un futuro que se encuentre en fase de experimentación con este apasionante mundo de Procesado de imágenes digitales.&lt;br /&gt;&lt;br /&gt;Un saludo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-2818765595817436998?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/2818765595817436998/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=2818765595817436998' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/2818765595817436998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/2818765595817436998'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/09/puntero-por-seguimieno-de-pupila-pusepu.html' title='Puntero Por Seguimieno de Pupila (PuSePu)'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_qXAg36nJhRs/SrFyIYA7siI/AAAAAAAAAIY/QlFdFTXSUL8/s72-c/Mouse_ocular%282%29.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-3246146281569479164</id><published>2009-09-16T06:20:00.000-07:00</published><updated>2009-09-16T07:06:00.550-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mouse'/><category scheme='http://www.blogger.com/atom/ns#' term='accesibilidad'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenCV'/><title type='text'>Mouse ocular  (Proyecto de OpenCV)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://tecnoculto.com/wp-content/uploads/bauby.gif"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;Proyecto de DIP (digital image procesing)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Para el final de Procesamiento de Imagen y Sonido tenia que idear algún proyecto... primero  y sin mucha idea de como manejarme con OpenCV pensaba en crear un sistema que reconozca rostros y que reconozca de quien es el rostro, pero rápidamente vi los inconvenientes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Reconocimiento de rostro es una tarea compleja y ya estaba hecha ya al alcance.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://tecnoculto.com/wp-content/uploads/bauby.gif"&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Para reconocer un rostro por correlación tendría un costo computacional que no era aceptable para tiempo real, ya que tendría que leer varios bmp. La solución a esto era crear descriptores, pero no es viable para el tiempo que me queda para realizar el proyecto.&lt;/li&gt;&lt;/ul&gt;Un tiempo en stand by, y por casualidades de la vida vi la película: &lt;a href="http://www.clarin.com/diario/1998/12/24/e-03302d.htm"&gt;La escafandra y la mariposa.&lt;/a&gt;&lt;br /&gt;Esta trata de un escritor/periodista que sufre repentinamente de un ataque de &lt;span&gt;embolia masiva, lo que deja por resultado  que él no se pueda mover,  y lo unico que tiene control de su cuerpo es sobre uno de sus ojos. Una doctora le enseña un desesperante pero eficaz metodo de comunicacion por el medio del cual el protagonista puede dictarle a travez de giños.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://tecnoculto.com/wp-content/uploads/bauby.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 250px; height: 200px;" src="http://tecnoculto.com/wp-content/uploads/bauby.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;El sistema en si es el siguiente, una persona dice en voz alta y mirando atentamente al usuario (vayamoslo pasando a terminos de sistemas)  todo el abecedario ordenado bajo un cirterio que pone primero las letras más utilizadas. El usuario cierra el/los ojos en la letra que desea y tres guiños para un espacio.&lt;br /&gt;&lt;br /&gt;Como pueden ver, este método es totalmente desesperante ya que requiere de mucha paciencia de las dos partes, más aún si se considera que el protagonista escribe un libro.&lt;br /&gt;&lt;br /&gt;Esto no termina aca, sino que la pelicula esta basada en una novela autobiográfica del mismo Jean Dominique Bauby.&lt;br /&gt;&lt;br /&gt;Ya podrán ver a donde apunta esto, sería altamente deseable un sistema automatizado que reemplaze al sistema ya mencionado.&lt;br /&gt;&lt;br /&gt;A primer momento se podría pensar en toda una aplicación integrada que ayude a escribir pero... sería aún mejor desarrollar un sistema que permita mover el puntero del mouse con la vista, ya que le permitira al usuario no solo escribir, sino tambien, navegar por internet y hasta incluso jugar un videojuego (para notar el extremo de interactividad que se podría lograr)&lt;br /&gt;&lt;br /&gt;Dadas las características de openCV, y de la tecnología que tengo disponible este proyecto resulta altamente viable, y se puede lograr sin necesidad de hardware especial. Es decir necesitamos solo una webcam, y de una PC.&lt;br /&gt;&lt;br /&gt;Este proyecto no resulta solamente viable para mi final de PIyS sino tambíen para implementarlo en situaciones reales y con un presupuesto muy bajo.&lt;br /&gt;&lt;br /&gt;Eso es todo por ahora, las proximas entradas trataran sobre aspectos tecnicos del desarrollo del mismo sistema que recibe por ahora el improvisado y horrible nombre de Mouse Ocular.&lt;br /&gt;&lt;br /&gt;Espero les resulte interesante, Un saludo.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-3246146281569479164?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/3246146281569479164/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=3246146281569479164' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/3246146281569479164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/3246146281569479164'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/09/mouse-ocular-proyecto-de-opencv.html' title='Mouse ocular  (Proyecto de OpenCV)'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-7371623766226340295</id><published>2009-08-03T05:46:00.000-07:00</published><updated>2009-08-03T06:04:20.256-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Concurso'/><category scheme='http://www.blogger.com/atom/ns#' term='CGM'/><category scheme='http://www.blogger.com/atom/ns#' term='juegos'/><title type='text'>Telekinetic Jazz Coreographer</title><content type='html'>Mi juego para el mini-concurso en crecimiento de CGM.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qXAg36nJhRs/SnbdqYRx8xI/AAAAAAAAAIQ/rbp--ilW4Xo/s1600-h/servilleta.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 289px;" src="http://3.bp.blogspot.com/_qXAg36nJhRs/SnbdqYRx8xI/AAAAAAAAAIQ/rbp--ilW4Xo/s400/servilleta.png" alt="" id="BLOGGER_PHOTO_ID_5365719726199796498" border="0" /&gt;&lt;/a&gt;¿Bueno de que demonios trata este juego?&lt;br /&gt;A partir de la siguiente historia creada al azar:&lt;br /&gt;&lt;br /&gt;&lt;img src="file:///C:/DOCUME%7E1/TYRANU%7E1.AAI/CONFIG%7E1/Temp/moz-screenshot.jpg" alt="" /&gt;&lt;img src="file:///C:/DOCUME%7E1/TYRANU%7E1.AAI/CONFIG%7E1/Temp/moz-screenshot-1.jpg" alt="" /&gt;&lt;blockquote&gt;&lt;span style="text-decoration: underline;"&gt;&lt;b&gt;Telekinetic Jazz Coreographer&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El protagonista es Michael Jackson&lt;br /&gt;y su objetivo es crear&lt;br /&gt;&lt;br /&gt;caos y confusión&lt;br /&gt;en un mundo lleno de&lt;br /&gt;&lt;br /&gt;bailarinas exóticas y hip hoppers&lt;br /&gt;hay un héroe al que le gusta el jazz.&lt;br /&gt;&lt;br /&gt;El protagonista difícilmente&lt;br /&gt;puede concentrarse en sus actividades.&lt;br /&gt;&lt;br /&gt;Los personajes son muy torpes&lt;br /&gt;y son ciegos.&lt;/blockquote&gt;&lt;br /&gt;Había que crear un juego en el transcurso de una semana, el engendro de la naturaleza que salio fue este juego.&lt;br /&gt;&lt;br /&gt;Si también es de plataformas (es hora de que cambie de genero no? jeje),  la novedad en este juego es que como el personaje es ciego, no podes ver nada hasta que no lo toques con el jugador o con un baston para ciegos.&lt;br /&gt;&lt;a href="http://www.4shared.com/file/122596767/a3e32ab9/Servilleta_2_Tyranus.html"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://www.4shared.com/file/122596767/a3e32ab9/Servilleta_2_Tyranus.html"&gt;Descarga.&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;A la hora de incluir enemigos opté por hacerlos como minijuegos para agregarle un plus al juego, y siguiendo con esta lógica la final es un minijuego al estilo GuitarHero. Para mi sorpresa programar este nivel no fueron más que unos minutos, ya que el editor salió enseguida (aunque era muy rustico), lo que note que es muy complejo es hacer coordinar las "notas" con la música.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Como extra hay que destacar que el juego puede que no funcione correctamente segun las características de hardware y/o sorftware de la computadora. Si no funciona correctamente aparecerá un bug como el siguiente en el primer nivel:&lt;br /&gt;(imagen cortesía de J-Kun):&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img43.imageshack.us/img43/8563/servd.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 305px; height: 241px;" src="http://img43.imageshack.us/img43/8563/servd.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.4shared.com/file/122596767/a3e32ab9/Servilleta_2_Tyranus.html"&gt;&lt;br /&gt;&lt;/a&gt; &lt;div style="text-align: center;"&gt;&lt;a href="http://www.4shared.com/file/122596767/a3e32ab9/Servilleta_2_Tyranus.html"&gt;Descarga.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Eso es todo, espero que puedan jugarlo.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&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/8486747274114498865-7371623766226340295?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/7371623766226340295/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=7371623766226340295' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/7371623766226340295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/7371623766226340295'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/08/telekinetic-jazz-coreographer.html' title='Telekinetic Jazz Coreographer'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_qXAg36nJhRs/SnbdqYRx8xI/AAAAAAAAAIQ/rbp--ilW4Xo/s72-c/servilleta.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-7194082635983706286</id><published>2009-08-03T05:07:00.000-07:00</published><updated>2009-08-03T05:46:41.414-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Concurso'/><category scheme='http://www.blogger.com/atom/ns#' term='juegos'/><category scheme='http://www.blogger.com/atom/ns#' term='ADVA'/><title type='text'>GDD: El juego.</title><content type='html'>&lt;div style="text-align: right;"&gt;&lt;span style="font-size:130%;"&gt;Mi pequeño juego para al concurso de adva.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img195.imageshack.us/img195/182/gddeljuego.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 545px; height: 530px;" src="http://img195.imageshack.us/img195/182/gddeljuego.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Y aquí esta, GDD: El juego. ¿Pero como?¿Porque?. Cuando?&lt;br /&gt;&lt;br /&gt;Bueno la cosa es que el 8 de junio del 2009, termine este juego para el concurso Mashup Games de adva (Recordaran la correspondiente entrada al blog &lt;a href="http://iagames.blogspot.com/2009/06/cierra-el-concurso-mashup-de-adva.html"&gt;Mashup games&lt;/a&gt;).&lt;br /&gt;El genero de este juego es de puzzle-plataformas, donde el jugador deberá utilizar sus conocimientos sobre algunos juegos clásicos para poder pasar los niveles.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt; &lt;a href="http://www.4shared.com/account/file/111682093/ada835dd/GDD_El_juego__Compatible_con_vista_.html"&gt;Descarga&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;No es muy extenso creo que son como 5 o 6 niveles, pero lo especial de este juego era la estética particular, esta constaba de que todo gráfico incluido,incluso el icono, fue escaneado (aunque es cierto que hay dos cosas que no lo están, el que lo jugó ya sabe y el que no que lo descubra :P).&lt;br /&gt;&lt;br /&gt;Contó con composiciones originales de Agustina Montero Dip, y la supervision musical de Christian Fernando Perucchi.&lt;br /&gt;&lt;br /&gt;Estuve muy conforme con el resultado, y recibió algunas críticas que me gustaría destacar:&lt;br /&gt;&lt;br /&gt;Nitram Cero (de Adva), me mando un Mp con algunos comentarios me que gustaron mucho:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;# Aprovecha la dinámica de los diferentes juegos de una manera creativa para&lt;br /&gt;   resolver puzzles (en vez de solo usarla "porque si")&lt;br /&gt;# La cantidad de niveles es la justa. Buena duración (estuve como una hora jugandolo, quizás un  poco menos)&lt;br /&gt;# No es tedioso de jugar, siempre te dan ganas de seguir y seguir.&lt;br /&gt;# Es divertido y gracioso (tendrías que hacer bonus por comer todos los pajaritos :D)&lt;br /&gt;# Tiene excelentísima música.&lt;br /&gt;# Es el mas cercano a los objetivos del concurso&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Frogger (de CGM):&lt;br /&gt;&lt;blockquote&gt;Cita de: Pacman&lt;br /&gt;"come come, come come xD"&lt;br /&gt;&lt;br /&gt;La verdad es que cuando probe este juego me parecio genial por su concepto y estilo grafico. Ademas su diseño de niveles era variado y no se hacia repetitivo. Es una lastima que no haya ganado, pero alguno de los demás juegos participantes eran excelentes (no se aun quien habra ganado).&lt;br /&gt;Lo malo es que era muuuuy corto y el final era abrupto. No creo que ya lo vayas a modificar, pero con unos cuantos niveles mas hubiera estado estupendo .&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;J-Kun (de CGM):&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;[...]&lt;br /&gt;Es un poco corto, pero hubo algunos niveles que tuve que repetiar varias veces, asi que creo que eso lo compensa, algo que si me parecio raro fue el uso de la tecla ALT, ¿se te acabaron las otras teclas? no entiendo, yo le tome miedo a ALT porque antes cuando jugaba y tenia que usar ALT, eso a veces interferia con windows, como ALT+espacio, ALT+Enter, etc, y el juego se bloqueaba.... pero bueno, no paso nada.&lt;br /&gt;&lt;br /&gt;Otro detallito muy pequeño es que cuando se pinta el nivel, se alcanza a ver el nivel completo o una parte antes, después se borra y despues se empieza a pintar ,bueno, eso pasaba al principio, despues no... seguramente se tardaba leyendo el nivel, o no se, otra cosa es que a veces mario salta doble si dejas presionado salto, es decir el sonido suena dos veces y te baja el doble la barra..... y no se pero esa sombra detrás de las cosas como que no me gusto, yo lo veia un poco raro, tal vez sin la sombra se vería mejor pero eso si es gusto personal.&lt;br /&gt;&lt;br /&gt;Aunque todo eso son detalles, pero en general muy bueno y muy original.&lt;br /&gt;[...]&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Como moraleja, tambien llamado post-mortem:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Si eliges una estética, hay que cuidarla bien, cualquier detalle fuera se va a notar ( ej: la sombra).&lt;/li&gt;&lt;li&gt;Las teclas de la viaja escuela, ya no son bien recibidas porque están en desuso, no hay que olvidarse de ello.&lt;/li&gt;&lt;li&gt;Hay que saber conseguir un buen número de niveles, y saber cumplir una fecha a de entrega al mismo tiempo, es más complicado de lo que pensaba.&lt;/li&gt;&lt;li&gt;El final hay que cuidarlo, es como el final de una película, si esta mal logrado o es abrupto (como es el caso) no va a cerrar bien el juego.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Bueno el juego quedo 3º en la votación de Adva en español, y 2º en la votación en Ingles (eso que no estaba en ingles jeje). Capaz que si había una votación en alemán quedaba primero jaja.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bueno eso es todo espero que lo disfruten/lo hayan disfrutado, cualquier cosa aca pueden comentar, criticar, alagar e insultar al juego (no al creador :P).&lt;br /&gt;&lt;br /&gt;Descarga: &lt;a href="http://www.4shared.com/account/file/111682093/ada835dd/GDD_El_juego__Compatible_con_vista_.html"&gt;http://www.4shared.com/account/file/111682093/ada835dd/GDD_El_juego__Compatible_con_vista_.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&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/8486747274114498865-7194082635983706286?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/7194082635983706286/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=7194082635983706286' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/7194082635983706286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/7194082635983706286'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/08/gdd-el-juego.html' title='GDD: El juego.'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-8216641920627029128</id><published>2009-07-02T18:49:00.001-07:00</published><updated>2009-07-02T18:53:07.563-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='proyecto'/><category scheme='http://www.blogger.com/atom/ns#' term='juegos'/><title type='text'>Homenaje a los Caidos</title><content type='html'>&lt;span style=""&gt;&lt;span style="font-size: 14pt; line-height: 1.3em;"&gt;Un recuento de lo que que quedo atrás. Que tiene probabilidades de sobrevivir y quien ya esta enterrado en lo más profundo del cementerio de proyectos abandonados.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qXAg36nJhRs/Sk1juSmKIiI/AAAAAAAAAII/ZQH2FhZ3Hk4/s1600-h/caidos.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 314px;" src="http://3.bp.blogspot.com/_qXAg36nJhRs/Sk1juSmKIiI/AAAAAAAAAII/ZQH2FhZ3Hk4/s400/caidos.PNG" alt="" id="BLOGGER_PHOTO_ID_5354045178930405922" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Los nominados son (ruido de tambores):&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;Guglos!&lt;br /&gt;El vengador.&lt;br /&gt;Biby´s Puzzle.&lt;br /&gt;El señor de los ladrillos.&lt;br /&gt;Yiaco.&lt;br /&gt;El Principe Maldito.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Los que yacen en el profundo del cementerio, mi más sentido pésame:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;El señor de los ladrillos.&lt;/span&gt; &lt;i&gt;Simplemente era un juego multijudador para pasar el rato con mi novia.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;El vengador.&lt;/span&gt; &lt;i&gt;Mucho trabajo, no me llama. Si bien tiene potencial no tengo el entusiasmo para seguirlo. Desde un principio mi objetivo era plasmar la idea y ver como quedaba.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;Guglos!&lt;/span&gt; &lt;i&gt;Paso del prototipo al celular.... y murió. Los controles no terminaban de quedar comodos y decidí sepultarlo de una buena vez.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;En la cuerda floja:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;El Principe Maldito. &lt;/span&gt;&lt;i&gt;La unica razon por la que no esta en el cementerio., es porque la idea de este juego era desarrollarlo con en grupo con usuarios de CGM.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;En un futuro lejano:&lt;/b&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;Biby´s Puzzle. &lt;/span&gt;&lt;i&gt;Este juego siempre me gusto, pero le faltan algunas cosas para completarlo. El concepto tiene más para dar de sí, pero por el momento no tengo ganas ni tiempo de seguirlo.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;En un futuro cercano &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;Yiaco! &lt;/span&gt;Este cuatrimestre curse Procesamiento de imagen y sonido, y mi alocada idea es aprovechar estos conocimientos y volcarlos a visión aritificial...¿Todo esto para que?&lt;br /&gt;Para lograr detectar el rostro de una persona y su expresión, la idea es que el personaje se mueva si inclinamos la cabeza, y que salga propulsado si ponemos cara de hacer fuerza   Buceen en mi blog para más información.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-8216641920627029128?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/8216641920627029128/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=8216641920627029128' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/8216641920627029128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/8216641920627029128'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/07/homenaje-los-caidos.html' title='Homenaje a los Caidos'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_qXAg36nJhRs/Sk1juSmKIiI/AAAAAAAAAII/ZQH2FhZ3Hk4/s72-c/caidos.PNG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-4826155045036595894</id><published>2009-06-16T15:43:00.000-07:00</published><updated>2009-06-16T15:48:25.539-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Concurso'/><category scheme='http://www.blogger.com/atom/ns#' term='ADVA'/><title type='text'>Cierra el concurso Mashup de ADVA</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.adva.com.ar/blog/wp-content/mashup2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 364px; height: 273px;" src="http://www.adva.com.ar/blog/wp-content/mashup2.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Se ha abierto la votación! Los invito a probar TODOS los juegos hechos para el concurso y si se animan votarlos, eso si no voten si no probaron todos los juegos porque sino no tiene gracia.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:130%;"&gt;&lt;a href="http://www.adva.com.ar/codear-mashup-games/"&gt;Link a la página dedicada a Mashup.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;CODEAR es una serie de concursos abiertos de desarrollo de videojuegos, orientado a desarrollos amateur e independientes. El objetivo de este &lt;a href="http://www.adva.com.ar/foro/index.php?board=34.0"&gt;desafío&lt;/a&gt; fue hacer un juego que mezcle aspectos de diferentes juegos publicados.&lt;/blockquote&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-4826155045036595894?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/4826155045036595894/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=4826155045036595894' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/4826155045036595894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/4826155045036595894'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/06/cierra-el-concurso-mashup-de-adva.html' title='Cierra el concurso Mashup de ADVA'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-4373154758381218483</id><published>2009-04-22T17:33:00.000-07:00</published><updated>2009-04-28T14:23:23.730-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='reflexion'/><category scheme='http://www.blogger.com/atom/ns#' term='programacion'/><category scheme='http://www.blogger.com/atom/ns#' term='articulo'/><title type='text'>Eficiencia. Un asunto de equilibrio.</title><content type='html'>&lt;!--[if !mso]&gt; &lt;style&gt; v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} &lt;/style&gt; &lt;![endif]--&gt;&lt;o:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="PersonName"&gt;&lt;/o:smarttagtype&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:hyphenationzone&gt;21&lt;/w:HyphenationZone&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if !mso]&gt;&lt;object classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id="ieooui"&gt;&lt;/object&gt; &lt;style&gt; st1\:*{behavior:url(#ieooui) } &lt;/style&gt; &lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal  {mso-style-parent:"";  margin:0cm;  margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:12.0pt;  font-family:"Times New Roman";  mso-fareast-font-family:"Times New Roman";} a:link, span.MsoHyperlink  {color:blue;  text-decoration:underline;  text-underline:single;} a:visited, span.MsoHyperlinkFollowed  {color:purple;  text-decoration:underline;  text-underline:single;} @page Section1  {size:595.3pt 841.9pt;  margin:70.85pt 3.0cm 70.85pt 3.0cm;  mso-header-margin:35.4pt;  mso-footer-margin:35.4pt;  mso-paper-source:0;} div.Section1  {page:Section1;}  /* List Definitions */  @list l0  {mso-list-id:1675063949;  mso-list-type:hybrid;  mso-list-template-ids:1022295448 201981969 201981977 201981979 201981967 201981977 201981979 201981967 201981977 201981979;} @list l0:level1  {mso-level-text:"%1\)";  mso-level-tab-stop:36.0pt;  mso-level-number-position:left;  text-indent:-18.0pt;} ol  {margin-bottom:0cm;} ul  {margin-bottom:0cm;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Tabla normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-parent:"";  mso-padding-alt:0cm 5.4pt 0cm 5.4pt;  mso-para-margin:0cm;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:10.0pt;  font-family:"Times New Roman";  mso-ansi-language:#0400;  mso-fareast-language:#0400;  mso-bidi-language:#0400;} table.MsoTableGrid  {mso-style-name:"Tabla con cuadrícula";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  border:solid windowtext 1.0pt;  mso-border-alt:solid windowtext .5pt;  mso-padding-alt:0cm 5.4pt 0cm 5.4pt;  mso-border-insideh:.5pt solid windowtext;  mso-border-insidev:.5pt solid windowtext;  mso-para-margin:0cm;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:10.0pt;  font-family:"Times New Roman";  mso-ansi-language:#0400;  mso-fareast-language:#0400;  mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center; font-weight: bold;" align="center"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: center; font-weight: bold;" align="center"&gt;PARTE UNO:&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center; font-weight: bold;" align="center"&gt;UN POCO DE TEORÍA&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: center; font-weight: bold;" align="center"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Es usual ver&lt;span style=""&gt;  &lt;/span&gt;programadores discutir códigos para saber cual es mejor.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="text-align: center;" class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_qXAg36nJhRs/SfdyL0d9UXI/AAAAAAAAAH4/Anl6NonOxFk/s1600-h/discusion.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 170px; height: 131px;" src="http://2.bp.blogspot.com/_qXAg36nJhRs/SfdyL0d9UXI/AAAAAAAAAH4/Anl6NonOxFk/s400/discusion.PNG" alt="" id="BLOGGER_PHOTO_ID_5329854231404695922" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: center; font-weight: bold;" align="center"&gt;&lt;span style="font-size:85%;"&gt;Programadores discutiendo.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: center; font-weight: bold;" align="center"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt; Se pueden ver también varios puntos de comparación en estas conversaciones: variables auxiliares, &lt;/p&gt;&lt;p class="MsoNormal"&gt;ciclos, largo del código, complejidad, simplicidad, estructura de memorias utilizadas, etc…&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;¿Pero realmente estos son los parámetros para determinar cuando un código es mejor que otro? ¿La eficiencia lo es todo? Y apropósito: ¿Qué es la eficiencia? ¿ Se puede medir? &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Empecemos por la definición de eficiencia. Y aunque &lt;span style=""&gt; &lt;/span&gt;todos ya la sabemos de memoria, vale la pena recordarla para dar un punto de partida a esta reflexión.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i style=""&gt;&lt;blockquote&gt;Eficiencia: Capacidad de alcanzar los objetivos y metas programadas con el mínimo de recursos disponibles y tiempo, logrando su optimización. &lt;/blockquote&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: right;" align="right"&gt;&lt;a href="http://es.wikipedia.org/wiki/Eficiencia"&gt;http://es.wikipedia.org/wiki/Eficiencia&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Como buen programador, ya vemos a esta definición con ojos desafiantes. ¿Esta bien hecha? ¿Expresa lo que hay que expresar o hay cosas de más?.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Si observamos bien ya vemos que “objetivos” y “metas programadas” son, más que mal, sinónimos y expresan la misma idea, así que digamos que en este pueblo solo hay lugar para uno y a la otra la echamos a volar.&lt;span style=""&gt;  &lt;/span&gt;Avanzamos un poco, y vemos que dice&lt;i style=""&gt; “el mínimo de recursos disponibles y tiempo”; ¿&lt;/i&gt;Pero acaso el tiempo no es un recurso más? Esta siendo redundante por lo tanto repetimos el procesamiento anterior y sacamos uno de los dos. Para terminar el desmembramiento inhumano de la definición vemos una ultima frase: “logrando su optimización”; hay que ponerse serios si estamos diciendo que es “&lt;i style=""&gt;Capacidad de alcanzar los objetivos y metas programadas con el mínimo de recursos disponibles y tiempo&lt;/i&gt;”, ¿No es obvio que es para lograr su optimización&lt;i style=""&gt;?&lt;/i&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;i style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Editando la definición resulta:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;blockquote&gt;“Eficiencia: Capacidad de alcanzar los objetivos con el mínimo de recursos disponibles.”&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;El lector encontrará seguramente mejores optimizaciones de esta misma frase. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Ahora bien ¿Para que desperdicie todo un párrafo para desmembrar y descuartizar la hermosa definición de Wikipedia? Simple, fue para usarla de ejemplo. Todo programador le busca la 5º pata al gato y eso es lo que hacemos a la hora de optimizar un algoritmo. En este caso primero identificamos las partes de la definición que demostraban redundancia,&lt;span style=""&gt;  &lt;/span&gt;para hacer la definición más clara y concisa, luego eliminamos las partes que sobraban para hacerla más corta. Es decir escogimos dos parámetros: largo y claridad y comenzamos a optimizar. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Haciendo una analogía de lo anterior, para determinar cual algoritmo es mejor que otro hay que definir parámetros de comparación. Esto lo haremos a través de los recursos que posee un algoritmo al ejecutarse, porque como es bien sabido un algoritmo debe compartir los recursos de la computadora con el resto.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Los recursos de los que disponemos son básicamente 2:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Tiempo de CPU.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Memoria.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;La primera herramienta que les voy a presentar viene de la mano de la teoría de la computación, y se llama: Complejidad de un Algoritmo.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qXAg36nJhRs/SfdzwMOpbeI/AAAAAAAAAIA/vOibZ2IeN08/s1600-h/complejidad.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 170px; height: 131px;" src="http://3.bp.blogspot.com/_qXAg36nJhRs/SfdzwMOpbeI/AAAAAAAAAIA/vOibZ2IeN08/s400/complejidad.PNG" alt="" id="BLOGGER_PHOTO_ID_5329855955769847266" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="text-align: center;" class="MsoNormal"&gt;Imagen ilustrativa de complejidad.&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;blockquote&gt;La &lt;b&gt;teoría de la complejidad computacional&lt;/b&gt; es la rama de la &lt;a href="http://es.wikipedia.org/wiki/Teor%C3%ADa_de_la_computaci%C3%B3n" title="Teoría de la computación"&gt;teoría de la computación&lt;/a&gt; que estudia, de manera teórica, los recursos requeridos durante el &lt;a href="http://es.wikipedia.org/wiki/Computabilidad" title="Computabilidad"&gt;cómputo&lt;/a&gt; de un &lt;a href="http://es.wikipedia.org/wiki/Algoritmo" title="Algoritmo"&gt;algoritmo&lt;/a&gt; para resolver un problema. Los recursos comúnmente estudiados son el tiempo (mediante una aproximación al número y tipo de pasos de ejecución de un &lt;a href="http://es.wikipedia.org/wiki/Algoritmo" title="Algoritmo"&gt;algoritmo&lt;/a&gt; para resolver un problema) y el espacio (mediante una aproximación a la cantidad de memoria utilizada para resolver un problema).&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: right;" align="right"&gt;&lt;a href="http://es.wikipedia.org/wiki/Complejidad_computacional"&gt;http://es.wikipedia.org/wiki/Complejidad_computacional&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Como bien nuestra amiga Wikipedia nos aclara, este estudio es TEORICO, lo que quiere decir como todo en informática, que no siempre nos va a servir para aplicarlo.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;blockquote&gt;ACLARACIÓN: La siguiente explicación pretende ser meramente un pantallazo, para que el lector asimile aunque sea de forma intuitiva un par de conocimientos extras que le servirán luego para comparar algoritmos. (Si se desea investigar sobre el tema recomiendo para empezar el libro Algoritmos Datos y Programas de Guisti. Editorial Pritence Hall)&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;El objetivo del cálculo de la complejidad de un algoritmo es acercar el comportamiento del mismo a una función matemática en función de una variable.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Primero, este cálculo se logra asignándole a una expresión simple un peso.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Por ejemplo:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; width: 216.1pt;" valign="top" width="288"&gt;   &lt;p class="MsoNormal"&gt;Expresión&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0cm 5.4pt; width: 216.1pt;" valign="top" width="288"&gt;   &lt;p class="MsoNormal"&gt;Peso&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 216.1pt;" valign="top" width="288"&gt;   &lt;p class="MsoNormal"&gt;X = x+1;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 216.1pt;" valign="top" width="288"&gt;   &lt;p class="MsoNormal"&gt;1&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 216.1pt;" valign="top" width="288"&gt;   &lt;p class="MsoNormal"&gt;Y+=2 * cos(y)&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 216.1pt;" valign="top" width="288"&gt;   &lt;p class="MsoNormal"&gt;4&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Por lo tanto si calculamos la complejidad de&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;x+= x + 5;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;z+=2*sin(x)+x&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Resultaría 5 aproximadamente, pero no nos apuremos, ya que esto es solo a modo ilustrativo y no se hace ni remotamente de esta manera (paciencia).&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Algo que tenemos que tener en cuenta es que siempre hay una variable a&lt;span style=""&gt;  &lt;/span&gt;la que se le da mayor importancia por la naturaleza del algoritmo. Ejemplo:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;=&gt;Si se desea ordenar un array la variable más importante va a ser el número de elementos del array.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;=&gt;Si se quiere calcular el factorial de un número, la variable de importancia es ese número.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Cabe destacar que cuando &lt;span style=""&gt; &lt;/span&gt;se analiza el comportamiento de un algoritmo, se pueden tomar tres enfoques: El mejor caso, el peor caso y el caso promedio. Ilustremos brevemente mediante ejemplos sencillos:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;=&gt;Ejemplo de mejor caso: En un algoritmo de búsqueda, que sea el primer elemento el que se busca.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;=&gt;Ejemplo de peor caso: En un algoritmo de búsqueda, que sea el último elemento el que se busca.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;=&gt;Ejemplo de caso promedio: En un algoritmo de búsqueda que el ítem buscado este en el medio.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;En general, y como resulta obvio el análisis se hace pensando en el caso promedio, pero si se quiere se puede tomar otro enfoque.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Ahora que ya sabemos algunas cosas, empecemos con un ejemplo sencillo: Encontrar el Mayor de un array.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-GB"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-GB"&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-GB"&gt;Mayor = vector[0] ;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-GB"&gt;For (i=1;i &lt;/span&gt;&lt;tt&gt;&amp;lt; n;i+=1 )&lt;br /&gt;&lt;/tt&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-GB"&gt;&lt;span style=""&gt;            &lt;/span&gt;If mayor &lt;/span&gt;&lt;tt&gt;&amp;lt; &lt;/tt&gt;&lt;span style="" lang="EN-GB"&gt;vector[i] {&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-GB"&gt;&lt;span style=""&gt;                        &lt;/span&gt;Mayor = vector[i]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 35.4pt;"&gt;&lt;span style="" lang="EN-GB"&gt;};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-GB"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-GB"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;span style="" lang="EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;La variable de importancia es notoriamente el tamaño del array. La primer sentencia sabemos que pesa 1, sin embargo la descartamos porque en el cálculo de la complejidad se piensa al algoritmo llevado al extremo, es decir, donde la variable de mayo peso importancia tiende a infinito. ( Moraleja: A partir de ahora sabemos que las constantes van a ser despreciables ya que no dependen de la variable principal)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Luego de analizarlo podemos ver que este algoritmo tiene un comportamiento lineal (Vease también que además es un caso especial ya que el peor, el mejor y el caso promedio son el mismo. Queda en el lector responder porque.) Pero a fin de cuentas ¿Cómo llegamos a la conclusión de que este algoritmo tiene un comportamiento lineal?&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Si vemos con atención, dentro del ciclo For se encuentra una sentencia, el If. Este &lt;span style=""&gt; &lt;/span&gt;se va a ejecutar N veces (en realidad n-1 pero recuerden lo de las constantes), por lo que el valor de complejidad es &lt;span style=""&gt; &lt;/span&gt;N* k (k es la constante), y si las constantes son despreciables entonces &lt;st1:personname productid="la Complejidad" st="on"&gt;la Complejidad&lt;/st1:personname&gt; de este algoritmo es:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;C + N * K (Con c y k constantes)&lt;span style=""&gt;  &lt;/span&gt;= N.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Quiere decir que el recurso de CPU a utilizar por el algoritmo depende linealmente del tamaño del array.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Conclusión: para el análisis de un algoritmo se debe:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;1)&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Identificar la ( o las) variables de importancia,&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;2)&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Despreciar el aporte de las constantes al cálculo.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;3)&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Identificar de que manera la/las variable/s de importancia afectan al consumo de recursos de CPU.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;4)&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Por ultimo identificar en que clasificación de algoritmos se encuentra.&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Si el lector todavía se encuentra despierto, notará que mencioné una clasificación de algoritmos. Una vez que se hizo todo el cálculo de complejidad, se puede establecer el posicionamiento del algoritmo en una especie de “ranking”. (En realidad hay que tener en cuenta para esto las asíntotas de la función matemática hallada en comparación a las siguientes, tomando una cota inferior y una superior).&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Esta es la lista esta ordenada del más eficiente al menos eficiente:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-weight: bold;"&gt;Constante:&lt;/span&gt; El tiempo de ejecución no depende de la variable de importancia por lo tanto es despreciable.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-weight: bold;"&gt;Log N:&lt;/span&gt; Crece en forma logarítmica. Ejemplo la búsqueda binaria (más adelante se explicara mejor) donde el problema se divide a cada paso del algoritmo en dos.&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-weight: bold;"&gt;N:&lt;/span&gt; Como en el caso anterior, el tiempo de ejecución es directamente proporcional a la variable N (variable de importancia).&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-weight: bold;"&gt;N Log N:&lt;/span&gt; Son ejemplos de algoritmos aquellos que dividen el problema en partes mas pequeñas, pero que al final deben volver a unirlas. Ejemplo: Procesamiento de una imagen.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-weight: bold;"&gt;N^2:&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt; &lt;/span&gt;El tiempo de ejecución se comporta de manera cuadrática en función de N. Ejemplo: Ordenación bajo el método de &lt;st1:personname productid="la Burbuja." st="on"&gt;la Burbuja.&lt;/st1:personname&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;st1:personname productid="la Burbuja." st="on"&gt;&lt;br /&gt;&lt;/st1:personname&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-weight: bold;"&gt;N^a (a&gt;=2):  &lt;/span&gt;&lt;span&gt;y en general cualquier polinomio de grado mayor igual a 2. Ejemplo: un algoritmo que devuelva la media y genere ordene la muestra por Burbujeo (obviamente son dos algoritmos pero si lo consideramos uno) seria N^2 + N.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: bold;"&gt; 2^N en adelante:&lt;/span&gt; Estos son algoritmos casi inaplicables, Ejemplo: El método de fuerza bruta para obtener la contraseña de un archivo.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Supongo que a este punto la cabeza del lector (si es que llego leer hasta aquí) esta un poco confundida,&lt;span style=""&gt;  &lt;/span&gt;veamos primero el gráfico que compara las distintas “categorías” para comprender mejor lo anterior y luego repasamos un poco lo importante.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;br /&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shapetype id="_x0000_t75" coordsize="21600,21600" spt="75" preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;  &lt;v:stroke joinstyle="miter"&gt;  &lt;v:formulas&gt;   &lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;   &lt;v:f eqn="sum @0 1 0"&gt;   &lt;v:f eqn="sum 0 0 @1"&gt;   &lt;v:f eqn="prod @2 1 2"&gt;   &lt;v:f eqn="prod @3 21600 pixelWidth"&gt;   &lt;v:f eqn="prod @3 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @0 0 1"&gt;   &lt;v:f eqn="prod @6 1 2"&gt;   &lt;v:f eqn="prod @7 21600 pixelWidth"&gt;   &lt;v:f eqn="sum @8 21600 0"&gt;   &lt;v:f eqn="prod @7 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @10 21600 0"&gt;  &lt;/v:formulas&gt;  &lt;v:path extrusionok="f" gradientshapeok="t" connecttype="rect"&gt;  &lt;o:lock ext="edit" aspectratio="t"&gt; &lt;/v:shapetype&gt;&lt;v:shape id="_x0000_i1025" type="#_x0000_t75" style="'width:351.75pt;"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\TYRANU~1.AAI\CONFIG~1\Temp\msohtml1\01\clip_image001.png" title=""&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qXAg36nJhRs/Se-4jp0NihI/AAAAAAAAAHw/NGf0w87fnjs/s1600-h/graf.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 299px;" src="http://1.bp.blogspot.com/_qXAg36nJhRs/Se-4jp0NihI/AAAAAAAAAHw/NGf0w87fnjs/s400/graf.PNG" alt="" id="BLOGGER_PHOTO_ID_5327679806862363154" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;br /&gt;&lt;!--[endif]--&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;En este gráfico &lt;st1:personname productid="la Y" st="on"&gt;la  Y&lt;/st1:personname&gt; representa los ciclos de CPU o simplemente tiempo, y &lt;st1:personname productid="la X" st="on"&gt;la X&lt;/st1:personname&gt; representa la variable significativa del algoritmo (N). Se puede apreciar claramente la diferencia de un algoritmo de tipo log(n) a uno del tipo x por ejemplo.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-weight: bold;"&gt;¿Para que ha servido leer este texto?&lt;/span&gt; Para conocer que existe una forma teórica para analizar la eficiencia de un algoritmo.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p style="font-weight: bold;" class="MsoNormal"&gt;¿Qué es lo que debe quedar claro de la primera parte?&lt;br /&gt;&lt;/p&gt;&lt;p style="font-weight: bold;" class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-weight: bold;"&gt;Primero: &lt;/span&gt;un algoritmo siempre va a tener una o mas variables que van a influir en la utilización de los recursos de la maquina.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-weight: bold;"&gt;Segundo:&lt;/span&gt; A partir de la asignación de un peso y del análisis de ciclos (FOR´s While, DO, Recursividad ) podemos aproximar el comportamiento de un algoritmo a una función matemática.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-weight: bold;"&gt;Tercero:&lt;/span&gt; Gracias a la aproximación matemática tenemos un marco para ubicar el algoritmo en estudio dentro de un&lt;span style=""&gt;  &lt;/span&gt;ranking y de esta manera poder compararlo.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p style="font-weight: bold;" class="MsoNormal"&gt;¿Qué viene en Eficiencia. Un asunto de equilibrio.&lt;span style=""&gt;  &lt;/span&gt;PARTE DOS? &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Lo que sigue en esta entrega de cuatro partes, es la explicación mas detallada de cómo efectuar el análisis de complejidad en casos reales con ejemplos. La aplicación de lo aprendido en la realidad practica, y un par de consejos para el momento de implementar código.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p style="font-weight: bold;" class="MsoNormal"&gt;¿Qué viene en Eficiencia. Un asunto de equilibrio.&lt;span style=""&gt;  &lt;/span&gt;PARTE TRES? &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;En la tercer entrega de este escrito, se encuentran un conjunto de consejos para hacer un algoritmo más eficiente, y consejos prácticos para el momento de implementar.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p style="font-weight: bold;" class="MsoNormal"&gt;¿Qué viene en Eficiencia. Un asunto de equilibrio.&lt;span style=""&gt;  &lt;/span&gt;PARTE CUATRO? &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;La conclusión de las partes anteriores, donde conclusión es distinta de resumen (aunque seguramente incluya alguno) y agrego un punto de comparación más que en las entregas anteriores estoy ignorando.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Espero que a alguien le sirva esto, y no se olviden de comentar así me animan a seguirlo!&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-4373154758381218483?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/4373154758381218483/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=4373154758381218483' title='5 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/4373154758381218483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/4373154758381218483'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/04/eficiencia-un-asunto-de-equilibrio.html' title='Eficiencia. Un asunto de equilibrio.'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_qXAg36nJhRs/SfdyL0d9UXI/AAAAAAAAAH4/Anl6NonOxFk/s72-c/discusion.PNG' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-6952590309211944326</id><published>2009-04-14T19:29:00.001-07:00</published><updated>2009-04-15T05:45:33.508-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='premios'/><category scheme='http://www.blogger.com/atom/ns#' term='Concurso'/><category scheme='http://www.blogger.com/atom/ns#' term='CGM'/><category scheme='http://www.blogger.com/atom/ns#' term='videojuegos'/><title type='text'>Proyecto nexo: ¡¡¡¡Ganamos!!!!</title><content type='html'>&lt;div style="text-align: right;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;¡Lab 23 obtuvo el primer puesto! Yupi! :P&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Bueno después de algún tiempo, aquí les traigo nuevas noticias sobre el concurso de CGM: Proyecto Nexo.&lt;br /&gt;&lt;br /&gt;El juego que desarrolle junto con Querecuto y Jucarave (Miembros de CGM)&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="color: rgb(204, 0, 0);font-size:180%;" &gt;¡Fue seleccionado ganador!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;¿Y de que juego estamos hablando?&lt;br /&gt;Pues estamos hablando de:&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="color: rgb(204, 0, 0);font-size:180%;" &gt;Lab 23.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://img510.imageshack.us/img510/5245/labs.png" alt="" border="0" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;La historia resumida&lt;/b&gt;: Un científico loco quiere destruir el mundo, y el Agente de la corporación Nexus debe evitarlo.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Genero &lt;/b&gt;: Plataformas (con toques de Aventura Gráfica y De MetalGear)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Gameplay&lt;/b&gt;:&lt;br /&gt;Por un lado el gameplay se ve afectado obviamente por el control del mouse. Todo se hace con el mouse, hasta salir del juego; como no podía ser de otra forma ya que le concurso lo requería. Otra cosa, relacionado con esto mismo, es que tambien hemos pretendido en el juego, emular el comportamiento del Wiimote y esto se notara tanto en objetos interactivos como hasta el movimiento del personaje:&lt;br /&gt;Saltar, Agacharse, girar manivelas, cortar cables, pasar tarjetas, tirar cadaveres y un largo etc..&lt;br /&gt;&lt;br /&gt;Otro lado importante del gameplay, son los enemigos. Estos tienen cierto grado de IA, que te hacen pensar dos veces antes de atacarlos, y por ello prefiriras tomarlos desprevenidos. Además en el juego corre la filosofía, una bala un muerto  &lt;img src="http://www.comunidadgm.org/SMF/Smileys/nueva/tongue.gif" alt="Tongue" border="0" /&gt;. ( A excepción del jefe que debe recibir 3   &lt;img src="http://www.comunidadgm.org/SMF/Smileys/nueva/tongue.gif" alt="Tongue" border="0" /&gt; ).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Los niveles&lt;/b&gt;: Son 9. Los últimos dos corresponden a la final, una enfrentarse al cientifico y la otra desarmar la bomba.&lt;br /&gt;&lt;br /&gt;En el transcurso de los niveles no solo será necesario el sigilo y la agilidad, sino también resolver pequeños y muy sencillos puzzles investigando el mapa para abrir puertas, y otros no tan sencillos para salir vivo enfrentando distintas situaciones.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;Descarga:&lt;/span&gt;&lt;b&gt;&lt;span style="line-height: 1.3em;"&gt;&lt;a href="http://www.4shared.com/file/98605008/92064c24/Lab_23_v12.html" target="_blank"&gt;http://www.4shared.com/file/98605008/92064c24/Lab_23_v12.html&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt; &lt;object width="365" height="240"&gt;&lt;param name="movie" value="http://www.youtube.com/v/13ra-yepnrY&amp;amp;hl=es&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/13ra-yepnrY&amp;amp;hl=es&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="365" height="240"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;color:silver;"  &gt;EN SEGUNDO LUGAR SALIÓ&lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;: "&lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;God"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Creado por:&lt;/b&gt; Soujiro, Zeneka y LuisYx&lt;br /&gt;&lt;table style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top"&gt;&lt;img src="http://img152.imageshack.us/img152/1287/god.png" alt="" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;a href="http://www.comunidadgm.org/index.php?page=64&amp;amp;accion=descargaD&amp;amp;download_id=2103" target="_blank"&gt;&lt;b&gt;Descargar&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top"&gt;&lt;b&gt;Descripción:&lt;/b&gt;&lt;br /&gt;Juegas a ser Dios, y deberás matar a los mortales con tu mortífero rayo para conseguir puntos y pasar al siguiente nivel. Poco tiempo después de empezar vendrá la policía a intentar detenerte ¿Podrás destruir la ciudad antes que los infieles acaben contigo?&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="color:brown;"&gt;&lt;b&gt;TERCER LUGAR&lt;/b&gt;&lt;/span&gt;:&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt; "Poliwar"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;Creado por:&lt;/b&gt; Wadk, jehunaut, 3dgeminis y elviskelley&lt;br /&gt;&lt;table style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;"&gt; &lt;tbody&gt;&lt;tr&gt;&lt;td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top"&gt;&lt;img src="http://img185.imageshack.us/img185/2222/poliwar.png" alt="" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;a href="http://www.comunidadgm.org/index.php?page=64&amp;amp;accion=descargaD&amp;amp;download_id=2104" target="_blank"&gt;&lt;b&gt;Descargar&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top"&gt;&lt;b&gt;Descripción:&lt;/b&gt;&lt;br /&gt;Juego de plataformas en el que deberás amaestrar el mouse para conseguir llegar al final del laberinto.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Feedback:&lt;/b&gt;&lt;br /&gt;La mecánica es simple, pero un poco dificil de controlar. Hay partes que te caen de sorpresa y tienes que volver a empezar desde el principio.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt; &lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:purple;"&gt;&lt;b&gt;CUARTO LUGAR&lt;/b&gt;&lt;/span&gt;: &lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;"The Colourless Hero"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;Creado por:&lt;/b&gt; Kakashi,GMAdicto,hardraid y forcray&lt;br /&gt;&lt;table style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top"&gt;&lt;img src="http://img4.imageshack.us/img4/4799/herot.png" alt="" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;a href="http://www.comunidadgm.org/index.php?page=64&amp;amp;accion=descargaD&amp;amp;download_id=2105" target="_blank"&gt;&lt;b&gt;Descargar&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; color: inherit;" valign="top"&gt;&lt;b&gt;Descripción:&lt;/b&gt;&lt;br /&gt;Un juego cenital en el que caminas por el bosque matando enemigos con tu espada. Para pasar cada nivel deberás derrotar al boss correspondiente, y al final te enfrentarás a un boss invencible multicolores.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&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/8486747274114498865-6952590309211944326?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/6952590309211944326/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=6952590309211944326' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/6952590309211944326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/6952590309211944326'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/04/poryecto-nexo-ganamos.html' title='Proyecto nexo: ¡¡¡¡Ganamos!!!!'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-7307791922838262330</id><published>2009-03-30T06:02:00.000-07:00</published><updated>2009-03-30T06:31:08.982-07:00</updated><title type='text'>Voy a hacer un video juego</title><content type='html'>&lt;div style="text-align: right;"&gt; &lt;span style="font-size:130%;"&gt;Por De9a18studio&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Empecemos!&lt;br /&gt;&lt;br /&gt;Hace un tiempo bastante largo Joulimousis (usuario de &lt;a href="http://www.adva.com.ar/"&gt;adva&lt;/a&gt; ) y miembro &lt;a href="http://www.de9a18studio.com.ar/"&gt;de9a18studio&lt;/a&gt; , realizo y público esta "reflexión interactiva" que toca temas tanto de game design como de la industria en general, dandole muchos toques de humor.&lt;br /&gt;&lt;br /&gt;Realmente recomiendo se pasen una vuelta y lo miren que vale la pena, no le tomara mas de 5 minutos.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.de9a18studio.com.ar/portfolio/game_design.html"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 333px;" src="http://3.bp.blogspot.com/_qXAg36nJhRs/SdDFx4N15fI/AAAAAAAAAHQ/Tgee_Z-25Uw/s400/9a18+Studio.PNG" alt="" id="BLOGGER_PHOTO_ID_5318968620619261426" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://www.de9a18studio.com.ar/portfolio/game_design.html"&gt;http://www.de9a18studio.com.ar/portfolio/game_design.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Por otra parte si les interesa les cuento que De9a18 Studio, es una empresa Argentina dedicada al &lt;a href="http://es.wikipedia.org/wiki/Advergaming"&gt;Advergamin&lt;/a&gt;&lt;span class="subtitulo"&gt;g.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;blockquote&gt;&lt;span class="subtitulo"&gt;¿Que hacemos en de9a18studio?&lt;/span&gt;&lt;span class="texto"&gt;&lt;br /&gt;&lt;br /&gt;    Creamos historias y personajes; les&lt;br /&gt;    damos un espacio, reglas simples y&lt;br /&gt;    controles para que cualquier ser vivo&lt;br /&gt;    los controle, los recuerde y se lo cuente&lt;br /&gt;    a todos sus amigos.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;span class="subtitulo"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;span class="texto"&gt;Tienen algunos titulos interesantes, yo principalmente les &lt;/span&gt;&lt;span class="texto"&gt;recomiendo &lt;/span&gt;&lt;span class="texto"&gt; dos de sus juegos:&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span class="texto"&gt;&lt;a href="http://www.de9a18studio.com.ar/portfolio/lvmd/"&gt;La vida es muy dificil.&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="texto"&gt;Y más aún: &lt;/span&gt;&lt;br /&gt;&lt;span class="texto"&gt;&lt;a href="http://www.de9a18studio.com.ar/portfolio/mostro/"&gt;Mostro &lt;/a&gt;(esta mal escrito apropósito)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Eso es todo, que lo disfruten!.&lt;br /&gt;&lt;br /&gt;Pd: Ya les traere novedades de D+D Engine, no se asusten.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&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/8486747274114498865-7307791922838262330?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/7307791922838262330/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=7307791922838262330' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/7307791922838262330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/7307791922838262330'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/03/voy-hacer-un-video-juego.html' title='Voy a hacer un video juego'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_qXAg36nJhRs/SdDFx4N15fI/AAAAAAAAAHQ/Tgee_Z-25Uw/s72-c/9a18+Studio.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-1194674342802280858</id><published>2009-03-08T07:05:00.001-07:00</published><updated>2009-03-08T07:05:56.467-07:00</updated><title type='text'>Proyecto nexo:</title><content type='html'>&lt;p&gt;   &lt;p&gt;Como estoy participando en el concurso las novedades de D+D Engine Tardarán en arribar al blog.&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;Además estoy probando el Windows Live Writer, así que esta entrada es una escusa para probarlo :P&lt;/p&gt;    &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_qXAg36nJhRs/SbPQs_df8JI/AAAAAAAAAGw/oDo_VhZFvbI/s1600-h/screenshot_2%5B4%5D.png"&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Parece estar bastante bueno. Después les cuento.&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;Eso es todo! Un saludo. &lt;/p&gt; &lt;/p&gt;  &lt;p&gt;Para despedirme unas screenshot del prototipo que estamos desarrollando ( con Querecuto y Juracave) :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_qXAg36nJhRs/SbPQs_df8JI/AAAAAAAAAG0/CELOTIVx-KI/s1600-h/screenshot_2%5B8%5D.png"&gt;&lt;img title="screenshot_2" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="184" alt="screenshot_2" src="http://lh5.ggpht.com/_qXAg36nJhRs/SbPQu4L-DuI/AAAAAAAAAG4/w1yNhWNg1cg/screenshot_2_thumb%5B4%5D.png?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_qXAg36nJhRs/SbPQvvYzm1I/AAAAAAAAAHI/VxHoanq9Q-o/s1600-h/screenshot_0%5B4%5D.png"&gt;&lt;img title="screenshot_0" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="184" alt="screenshot_0" src="http://lh4.ggpht.com/_qXAg36nJhRs/SbPQwltS7II/AAAAAAAAAHM/lj-K4VBS8k0/screenshot_0_thumb%5B2%5D.png?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-1194674342802280858?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/1194674342802280858/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=1194674342802280858' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/1194674342802280858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/1194674342802280858'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/03/proyecto-nexo.html' title='Proyecto nexo:'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_qXAg36nJhRs/SbPQu4L-DuI/AAAAAAAAAG4/w1yNhWNg1cg/s72-c/screenshot_2_thumb%5B4%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-7788987084857458923</id><published>2009-02-24T16:45:00.000-08:00</published><updated>2009-02-24T17:05:58.373-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='D+D Engine'/><title type='text'>Crónicas D+D Engine: Todo sigue en pie.</title><content type='html'>&lt;div style="text-align: right;"&gt;&lt;span style="font-size:130%;"&gt;Luego de un periodo de oscuridad.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: right;"&gt;La luz encontró su camino.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Primero: ¿Por qué la ausencia de entradas?, es porque estoy rindiendo un par de finales.&lt;br /&gt;Segundo: ¿El proyecto sigue en pie?: Obviamente que si!&lt;br /&gt;&lt;br /&gt;Novedades:&lt;br /&gt;&lt;br /&gt;Los objetos que se encargan del sonido están desarrollados a un 50%. En teoria andan bien, pero quiero pulir varios detalles para que quede un poco más que usable.&lt;br /&gt;&lt;br /&gt;Por otro ladro el objeto Teclado ha sufrido una evolución. Tiene nuevos atributos y métodos que permiten lectura de string del teclado.&lt;br /&gt;Los nuevos metodos son:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;      &lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;std::string getBufferString();&lt;/span&gt; Devuelve lo leido por el teclado.&lt;br /&gt;      &lt;span style="font-weight: bold;"&gt; void vaciarBufferString();&lt;/span&gt; Limpia lo leido por el teclado.&lt;br /&gt;       &lt;span style="font-weight: bold;"&gt;void activarLecturaString( bool terminarConEnter);&lt;/span&gt; Activa la lecutra de string, y ademas se debe especificar si esta lectura termina o no cuando se presiona la tecla enter.&lt;br /&gt;       &lt;span style="font-weight: bold;"&gt;void activarLecturaString( bool terminarConEnter, const char * txtInicial);&lt;/span&gt; Esta es similar a la anterior ( de hecho esta llama a la anterior internamente)  pero con el agregado que se setea el texto leido en un determinado valor, para permitir escribir desde ahi.&lt;br /&gt;       &lt;span style="font-weight: bold;"&gt;void desactivarLecturaString();&lt;/span&gt; Desactiva el leer string.&lt;br /&gt;       &lt;span style="font-weight: bold;"&gt;bool isActivadaLecturaString();&lt;/span&gt;Devuelve si esta activada la funcion de lectura&lt;br /&gt;       &lt;span style="font-weight: bold;"&gt;void dibujarLecturaString(Pantalla * pantalla, int x, int y, Uint32 color);&lt;/span&gt; Dibuja lo que esta escribiendo con un cursor incluso. La fuente con que se escribe es la asignada al objeto pantalla, si no se ha asignado ninguna fuente todavía se arroja una excepcion&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qXAg36nJhRs/SaSZUQ3t-2I/AAAAAAAAAFw/2CPtqM50m-8/s1600-h/scrshotTeclado.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 299px;" src="http://1.bp.blogspot.com/_qXAg36nJhRs/SaSZUQ3t-2I/AAAAAAAAAFw/2CPtqM50m-8/s400/scrshotTeclado.PNG" alt="" id="BLOGGER_PHOTO_ID_5306534834354387810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Por último el objeto pantalla esta sufriendo modificaciones para completar las funcionalidades que debe tener. Además todavía me falta implementar el patrón SINGLETON, para hacer que solo se pueda crear solo uno de estos objetos por programa, como debería ser.&lt;br /&gt;&lt;br /&gt;Eso es todo por ahora, los mantendré informados. Apartir de mañana sigo trabajando con más intensidad porque rindo el ultimo final y voy a tener mas tiempo libre.&lt;br /&gt;&lt;br /&gt;Una ultima cosa, el release del proyecto será en forma de DLL y el codigo fuente no será revelado (Bueno solo lo compartire en privado con la gente que me lo pida explicitamente o bien que ya me lo haya pedido :p) pero creo será freeware  o algo asi (antes tengo que investigar un poco sobre licencias jeje.)&lt;br /&gt;&lt;br /&gt;Un saludo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-7788987084857458923?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/7788987084857458923/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=7788987084857458923' title='6 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/7788987084857458923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/7788987084857458923'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/02/cronicas-dd-engine-todo-sigue-en-pie.html' title='Crónicas D+D Engine: Todo sigue en pie.'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_qXAg36nJhRs/SaSZUQ3t-2I/AAAAAAAAAFw/2CPtqM50m-8/s72-c/scrshotTeclado.PNG' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-87347823303887454</id><published>2009-02-09T09:56:00.001-08:00</published><updated>2009-02-09T10:51:53.101-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='D+D Engine'/><title type='text'>Crónicas D+D Engine: En la recta final.</title><content type='html'>&lt;div style="text-align: right;"&gt;&lt;span style="font-size:130%;"&gt;Ya falta poco.&lt;/span&gt;&lt;br /&gt;No nos pongamos a definir poco ;)&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_qXAg36nJhRs/SZB6VlXlfxI/AAAAAAAAAFg/2Br1KoYGd3M/s1600-h/scr_shotDDENGINE.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_qXAg36nJhRs/SZB6VlXlfxI/AAAAAAAAAFg/2Br1KoYGd3M/s400/scr_shotDDENGINE.PNG" alt="" id="BLOGGER_PHOTO_ID_5300871272641953554" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;¡Que kilombo! Bueno ahi se ven primitivas, sprites, fuentes subrayadas, y etc......&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Bueno como el título dice ya casi estoy en la recta final. ¿Y  que hay hecho hasta ahora?:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Mouse. (Nuevo)&lt;br /&gt;Teclado.&lt;br /&gt;&lt;br /&gt;Pantalla.&lt;br /&gt;&lt;br /&gt;ControlFPS.&lt;br /&gt;&lt;br /&gt;ObjetoMovil.&lt;br /&gt;&lt;br /&gt;Particula.(Nuevo)&lt;br /&gt;ImagenFuente.&lt;br /&gt;Fondo.&lt;br /&gt;TileSet.&lt;br /&gt;Sprite.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Bueno y que falta:&lt;br /&gt;&lt;blockquote&gt;SistemaDeParticulas. ( Similar al de GM, pero diferente :p )&lt;br /&gt;&lt;br /&gt;TileSetScrolled (Realmente no se si sera util asi que dudo todavia si lo implemento o no.)&lt;br /&gt;&lt;br /&gt;Sonido.&lt;br /&gt;Reproductor.&lt;/blockquote&gt;Las novedades:&lt;br /&gt;Mouse: bueno pense que iba a ser más complicada de implementar pero resulto asombrosamente mas sencillo de lo que esperaba. Es más no tube que mirar ejemplos, la documentacion de SDL lo tenia todo.&lt;br /&gt;Hay una funcion muy util llamada: Uint8 SDL_GetMouseState(int * x,int * y); la cual en la x e y nos deja la posicion del mouse obviamente y nos devulve un entero de 8 que nos sirve para verificar el estado de los botones.&lt;br /&gt;Es sencillo de usar, he aqui el metodo actualizar del objeto Mouse;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;void Mouse::actualizar()&lt;br /&gt;{&lt;br /&gt;  SDL_PumpEvents();&lt;br /&gt;&lt;br /&gt;  Uint8 e;&lt;br /&gt;  e = SDL_GetMouseState(&amp;amp;x,&amp;amp;y);&lt;br /&gt;&lt;br /&gt;  for (int i=1; i&lt;=5; i++) {         old[i]=botones[i];         botones[i] = e &amp;amp; SDL_BUTTON(i);     } }&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Por otro lado esta la Clase Particula (La cual pienso ampliar más) que hereda de ObjetoMovil. Por lo tanto ya esta resuelto todo lo que influye al movimiento de las mismas. Por ahora tiene varios tipos de particulas: LINEA,CUADRADO,CIRCULO,TRIANGULO,LINEA_MOV,TRIANGULO_MOV, SPRITE.&lt;br /&gt;&lt;br /&gt;Las que terminan en MOV quiere decir que su forma se ve afectada por el movimiento de la particula.&lt;br /&gt;Tambien tiene tamaño, y se le puede asignar un sprite (aunque todavia esta medio rustico el asunto).  Cuenta ademas con un atributo crecimiento que hace crecer o decrecer el tamaño la particula.&lt;br /&gt;Resta agregar y diseñar el comportamiento para modificar el color de la particula (Algo asi como desplazamiento de alpha y mezclas de color), y tambien agregar mas formas MOV, u otro tipo que se me ocurra.&lt;br /&gt;&lt;br /&gt;Con respecto a las clases relacionadas al sonido todavia nos las diseñe porque no conozco la forma en que se usan en SDL. Asi que no hay mucho que decir.&lt;br /&gt;&lt;br /&gt;Por otro lado la clase SistemaDeParticulas va a ser una clase contenedora que manejara una lista de particulas dinamicas, la cual se va a encargar de eliminar y crear las instancias de Particulas segun algunos metodos.&lt;br /&gt;&lt;br /&gt;Eso es todo por ahorªaAaa!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&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/8486747274114498865-87347823303887454?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/87347823303887454/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=87347823303887454' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/87347823303887454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/87347823303887454'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/02/cronicas-dd-engine-en-la-reca-final.html' title='Crónicas D+D Engine: En la recta final.'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_qXAg36nJhRs/SZB6VlXlfxI/AAAAAAAAAFg/2Br1KoYGd3M/s72-c/scr_shotDDENGINE.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-4852184070949554949</id><published>2009-02-04T17:54:00.000-08:00</published><updated>2009-11-04T18:09:11.113-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SDL'/><category scheme='http://www.blogger.com/atom/ns#' term='D+D Engine'/><title type='text'>Crónicas D+D Engine: Curiosidades de SDL</title><content type='html'>&lt;div style="text-align: right;"&gt;&lt;span style="font-size:130%;"&gt;Entrada&lt;/span&gt; &lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;sabor tutifruti.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Pero con pocas ganas de escribir :p&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Bueno esta pequeña entrada es para comentar algunas curiosidades de SDL y etc...&lt;br /&gt;&lt;br /&gt;Bueno la primera impresion que todos tenemos de SDL es sencilla. ¡Wau! Que linda librería portable.&lt;br /&gt;Ahora bien cuando empezamos a ver en detalle vemos algunas durezas y que si bien es una API bastante completa, le falta un poco más para poder ser usada comodamente. Gracias a muchos desarrolladores  disponemos de librerías complementarias para ampliar el poder de SDL (SDL_Image, SDL_tff, SDL_gfx, SDL_Mixer)  y es por esto que en mi opinion SDL se gana unos buenos puntos.&lt;br /&gt;&lt;br /&gt;Para alguien con experiencias incorporar las librerías extras no son mucho trabajo, no obstante si sos (como  yo)  principiante en este asunto te va a costar un poco.&lt;br /&gt;&lt;br /&gt;Bueno como dije esta entrada iba a tratar de las curiosidades de SDL y algunos extras, asi que a eso voy.&lt;br /&gt;&lt;br /&gt;La primera que me encontre, no fue mas que por parte de mi ignorancia. Cuando estaba implementando la clase Teclado, pense que el array de teclas sería de un tamaño de 255, pero al probar los metodos de esta clase me di cuenta que algo andaba mal. En si el array tiene 322 elementos que corresponden a distintas teclas del teclado (Si ya se el teclado solo tiene 101 teclas) pero bueno, esto es así para simplificarnos las cosas.&lt;br /&gt;&lt;br /&gt;La segunda que me encontre fue la del formato de color. Podemos encontrarnos con dos formatos: SDL_Color, y usando un Uint32 de esta manera 0x00RRGGBB. Bueno no se porque se termino  implementando SDL_Color ya que la notacion de un Uint32 es bastante simple y cómoda. Como condimento extra si incorporamos SDL_gfx encontramos con que este ultimo complemento expresa los Colores asi 0xRRGGBBAA (Esta AA es el Alpha), la cual es muy comoda y mas copleta que las anteriores; no obstante hay incompatibilidad entre ellas.&lt;br /&gt;&lt;br /&gt;A quien le interese les regalo una pequeña funcion para descomponer un color de SDL_gfx (es decir en formato 0xRRGGBBAA):&lt;br /&gt;&lt;pre name="code" class="c++"&gt;&lt;br /&gt;void getComponentesRGBA(Uint32 color, int &amp;amp; r, int &amp;amp; g,int &amp;amp; b, int &amp;amp; a)&lt;br /&gt;{&lt;br /&gt;r = (0xFF000000 &amp;amp; color) / 0x01000000;&lt;br /&gt;g = (0x00FF0000 &amp;amp; color) / 0x00010000;&lt;br /&gt;b = (0x0000FF00 &amp;amp; color) / 0x00000100;&lt;br /&gt;a = (0x000000FF &amp;amp; color);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Bueno la función mediante un and con una máscara y una división nos devuelve los componentes del color; esta fue la solución más eficiente que se me ocurio. Capaz que a alguien le sirva tambien :)&lt;br /&gt;&lt;br /&gt;Otra curiosidad es que con SDL pelado, podemos dibujar rectangulos rellenos pero no asi bordes de rectangulos.&lt;br /&gt;&lt;br /&gt;Bueno como dije son curiosidades nada que ver con errores ni nada de ello. Lluego sigo la lista pero por ahora queria nombrar la optimizacion de algunas cosas en el engine y como muestra de ello de nuevo el "hola mundo".&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="c++"&gt;&lt;br /&gt;    #include&lt;br /&gt;    #include "Pantalla.h"&lt;br /&gt;    #include "ControlFPS.h"&lt;br /&gt;    #include "TrueFont.h"&lt;br /&gt;    #include "Teclado.h"&lt;br /&gt;&lt;br /&gt;    Pantalla * pantalla;&lt;br /&gt;    Teclado * teclado;&lt;br /&gt;    TrueFont * fuente;&lt;br /&gt;    ControlFPS * timer;&lt;br /&gt;&lt;br /&gt;    int main (int argc, char *argv[])&lt;br /&gt;    {&lt;br /&gt;    bool termino=false;&lt;br /&gt;    int xTexto=0;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    /*Se inicializa el subsitema de video y se crea la surface de dibujo, de tamaño 640,480 con&lt;br /&gt;    Bufer y superficie por software, mas un modificador extra para las banderas de inicializar&lt;br /&gt;    SDL_video en este caso nada extra */&lt;br /&gt;&lt;br /&gt;    pantalla = new Pantalla(640,480, 0);&lt;br /&gt;&lt;br /&gt;    teclado = new Teclado(); /* Se crea el objeto teclado */&lt;br /&gt;&lt;br /&gt;    timer = new ControlFPS(); /* Se crea el objeto que se encargara de controlar los FPS*/&lt;br /&gt;&lt;br /&gt;    fuente = new TrueFont("fuente.ttf",16); /* Se crea la fuente especificando ruta y tamaño*/&lt;br /&gt;&lt;br /&gt;    pantalla-&gt;setFuente(fuente); // se asigna la fuente a la maquina de escribir de la pantalla.&lt;br /&gt;&lt;br /&gt;    while (!termino) {&lt;br /&gt;    timer-&gt;actualizarTimer(); // se toma la medida&lt;br /&gt;&lt;br /&gt;    teclado-&gt;actualizar(); // se lee el estado de las teclas&lt;br /&gt;&lt;br /&gt;    xTexto+=4; // para mover el texto&lt;br /&gt;    if (xTexto&gt;640) {xTexto=0};&lt;br /&gt;&lt;br /&gt;    /* si se presiona la tecla escape sale del juego. */&lt;br /&gt;    if (teclado-&gt;isTeclaSePresiona[SDL_ESCAPE] ) { termino = true;};&lt;br /&gt;&lt;br /&gt;    // limpia la pantalla&lt;br /&gt;    pantalla-&gt;limpiar(pantalla-&gt;NEGRO);&lt;br /&gt;&lt;br /&gt;    // escribe el texto en pantalla&lt;br /&gt;    pantalla-&gt;dTexto("¡Hola mundo!",xTexto, 240,pantalla-&gt;BLANCO);&lt;br /&gt;&lt;br /&gt;    // vuelva el buffer en pantalla&lt;br /&gt;    pantalla-&gt;renderizar();&lt;br /&gt;&lt;br /&gt;    timer-&gt;controlarTiempoMax(30);// hace que el timer haga durar cada&lt;br /&gt;    // step comominimo 30&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    };&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;No es la gran cosa pero  hace mas transparente el manejo de la escritura de texto.&lt;br /&gt;&lt;br /&gt;¡Hasta la proxima!&lt;br /&gt;&lt;br /&gt;&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/8486747274114498865-4852184070949554949?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/4852184070949554949/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=4852184070949554949' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/4852184070949554949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/4852184070949554949'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/02/cronicas-dd-engine-curiosidades-de-sdl.html' title='Crónicas D+D Engine: Curiosidades de SDL'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-501613349078451120</id><published>2009-02-03T10:26:00.000-08:00</published><updated>2009-02-03T11:38:53.476-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='D+D Engine'/><title type='text'>Crónicas de "D+D Engine":  Una muestra Gratis.</title><content type='html'>&lt;div style="text-align: right;"&gt;&lt;span style="font-size:130%;"&gt;Porque lo bueno tambien viene en paquetes pequeños.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: right;"&gt;Con ganas de presumir lo que llevo hecho XD&lt;/div&gt;&lt;br /&gt;Bueno andaba con ganas de mostrar. Lo que tenia hecho:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_qXAg36nJhRs/SYiOoiI3TAI/AAAAAAAAAFQ/oqLdq-UxRgc/s1600-h/scr_shot.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_qXAg36nJhRs/SYiOoiI3TAI/AAAAAAAAAFQ/oqLdq-UxRgc/s400/scr_shot.PNG" alt="" id="BLOGGER_PHOTO_ID_5298641788611283970" border="0" /&gt;&lt;/a&gt;¡Tan tan! Si... eso es todom bueno para el ojo del aficionado. Que se ve en esta scr_shot ademas de incoherencias:&lt;br /&gt;En primer lugar el logo :) .&lt;br /&gt;&lt;br /&gt;En segundo lugar se ve un fondo aplicado con alpha a la mitad con repeticion vertical y horizontal ademas de con hspeed y vspeed (Anque no se note en una screenshot obviamente).&lt;br /&gt;&lt;br /&gt;Luego se ve escrito "tecla esta suelta" lo que muestra varias cosas, en primer lugar que tecla esta suelta (jeje) y lo otro es la clase MaquinaDeEscribir y la Clase Teclado funcionando al 100%!&lt;br /&gt;&lt;br /&gt;Otra cosa más, casi imperceptible, es un pixel blanco en la esquina superior derecha. Bueno este pequeño pixel queire decir que tuve éxito incorporando (para lo cual soy malisimo)  la libreria SDL_gfx! Que conoci gracias por la recomendacion de Adva como siempre.&lt;br /&gt;&lt;br /&gt;Bueno eso era lo que queria presumir.... no mentira tambien tengo algo de codigo fuente para presumir :O:&lt;br /&gt;&lt;br /&gt;Es un ejemplo de "Hola mundo" animado con D+D Engine:&lt;br /&gt;&lt;br /&gt;Codigo:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;#include &lt;cstdlib&gt;&lt;/cstdlib&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;#include "Pantalla.h"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;#include "ControlFPS.h"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;#include "TrueFont.h"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;#include "MaquinaDeEscribir.h"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;#include "Teclado.h"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Pantalla * pantalla;&lt;br /&gt;Teclado * teclado;&lt;br /&gt;TrueFont * fuente;&lt;br /&gt;MaquinaDeEscribir * maquina;&lt;br /&gt;ControlFPS * timer;&lt;br /&gt;&lt;br /&gt;int main (int argc, char *argv[])&lt;br /&gt;{&lt;br /&gt;   bool termino=false;&lt;br /&gt;   int xTexto=0;&lt;br /&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 102, 0);"&gt;  /* esto es temporal, pero por ahora funciona asi, este es el color negro y el blanco */&lt;/span&gt;&lt;br /&gt;   SDL_Color negro, blanco;&lt;br /&gt;   negro.r = 0;&lt;br /&gt;   negro.g= 0;&lt;br /&gt;   negro.b = 0;&lt;br /&gt;&lt;br /&gt;   blanco.r = 255;&lt;br /&gt;   blanco.g= 255;&lt;br /&gt;   blanco.b= 255;&lt;br /&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 102, 0);"&gt;/*Se inicializa el subsitema de video y se crea la surface de dibujo, de tamaño 640,480 con&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;     Bufer y superficie por software, mas un modificador extra para las banderas de inicializar    &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;     SDL_video en este caso nada extra */&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   pantalla = new Pantalla(640,480, 0);&lt;br /&gt;&lt;br /&gt;   teclado = new Teclado(); &lt;span style="color: rgb(0, 102, 0);"&gt;/* Se crea el objeto teclado */&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   timer = new ControlFPS();  &lt;span style="color: rgb(0, 102, 0);"&gt;/* Se crea el objeto que se encargara de controlar los FPS*/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   fuente = new TrueFont("fuente.ttf",16);     &lt;span style="color: rgb(0, 102, 0);"&gt;/* Se crea la fuente especificando ruta y tamaño*/ &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  maquina = new MaquinaDeEscribir();  &lt;span style="color: rgb(0, 102, 0);"&gt;/* Se crea el objeto que se encarga de escribir */&lt;/span&gt;&lt;br /&gt;  maquina-&gt;setFuente(fuente); &lt;span style="color: rgb(0, 102, 0);"&gt;// se asigna la fuente.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  while (!termino) {&lt;br /&gt;                    timer-&gt;actualizarTimer(); &lt;span style="color: rgb(0, 102, 0);"&gt;// se toma la medida&lt;/span&gt;&lt;br /&gt;                    teclado-&gt;actualizar();&lt;span style="color: rgb(0, 102, 0);"&gt; // se lee el estado de las teclas&lt;/span&gt;&lt;br /&gt;                 &lt;br /&gt;                    xTexto+=4; &lt;span style="color: rgb(0, 102, 0);"&gt;// para mover el texto&lt;/span&gt;&lt;br /&gt;                    if (xTexto&gt;640) {xTexto=0};&lt;br /&gt;                   &lt;br /&gt;                    &lt;span style="color: rgb(0, 102, 0);"&gt;/* si se presiona la tecla escape sale del juego. */&lt;/span&gt;&lt;br /&gt;                    if (teclado-&gt;isTeclaSePresiona[SDL_ESCAPE] &lt;span style="color: rgb(0, 102, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;) {&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; termino = true;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;};&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;                   // limpia la pantalla&lt;/span&gt;&lt;br /&gt;                    pantalla-&gt;limpiar(negro);&lt;br /&gt;&lt;br /&gt;                   &lt;span style="color: rgb(0, 102, 0);"&gt; // escribe el texto en pantalla&lt;/span&gt;&lt;br /&gt;                    maquina-&gt;escribir("¡Hola mundo!",xTexto, 240,  blanco, pantalla);&lt;br /&gt;&lt;br /&gt;                    &lt;span style="color: rgb(0, 102, 0);"&gt;// vuelva el buffer en pantalla&lt;/span&gt;&lt;br /&gt;                    pantalla-&gt;renderizar();&lt;br /&gt;&lt;br /&gt;                    timer-&gt;controlarTiempoMax(30);&lt;span style="color: rgb(0, 102, 0);"&gt;// hace que el timer haga durar cada&lt;br /&gt;                                                                                // step como&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;minimo 30 &lt;/span&gt;&lt;br /&gt;                  &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;};&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_qXAg36nJhRs/SYic-CV3mvI/AAAAAAAAAFY/Ra8RtXexML8/s1600-h/scr_shot.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_qXAg36nJhRs/SYic-CV3mvI/AAAAAAAAAFY/Ra8RtXexML8/s400/scr_shot.PNG" alt="" id="BLOGGER_PHOTO_ID_5298657551195806450" border="0" /&gt;&lt;/a&gt;Bueno aunque el codigo no es muy corto, es muy sencillo de leer y en estas lineas esta lo basico para hacer un pequeño juego si la complicamos un poco mas. Por lo que se puede ver se nombra a SDL simplemente para SDL_color, pero planeo cambiar esto en el futuro.&lt;br /&gt;Los mismos objetos se encargan de inciar y de dar de baja los modulos de SDL.&lt;br /&gt;&lt;br /&gt;Ahora si eso es todo! Espero que les parezca interesante, comenten y critiquen todo lo que quieran!&lt;br /&gt;&lt;br /&gt;Un saludo!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-501613349078451120?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/501613349078451120/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=501613349078451120' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/501613349078451120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/501613349078451120'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/02/cronicas-de-dd-engine-una-muestra.html' title='Crónicas de &quot;D+D Engine&quot;:  Una muestra Gratis.'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_qXAg36nJhRs/SYiOoiI3TAI/AAAAAAAAAFQ/oqLdq-UxRgc/s72-c/scr_shot.PNG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-5253165309970087903</id><published>2009-01-31T17:56:00.000-08:00</published><updated>2009-01-31T18:25:13.157-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='La odisea de Nubelin'/><category scheme='http://www.blogger.com/atom/ns#' term='D+D Engine'/><title type='text'>Cronicas D+D Engine: Mini entrada.</title><content type='html'>&lt;div style="text-align: right; font-weight: bold;"&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-size:130%;"&gt;En esta semana.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: normal;font-size:85%;" &gt;¡Novedades novedosas!&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Bueno esta no es una entrada ordinaria, sino una pequeña entrada con temas variados. Primero estoy estrenando logo para D+D Engine, y aqui está:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_qXAg36nJhRs/SYUB0o520qI/AAAAAAAAAFA/SrQVKcfwENc/s1600-h/ddLogo.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 169px; height: 108px;" src="http://4.bp.blogspot.com/_qXAg36nJhRs/SYUB0o520qI/AAAAAAAAAFA/SrQVKcfwENc/s400/ddLogo.png" alt="" id="BLOGGER_PHOTO_ID_5297642540516168354" border="0" /&gt;&lt;/a&gt;¡Espero que les guste!&lt;br /&gt;&lt;br /&gt;Por otro lado el engine esta a punto de sufrir modificaciones importantes como por ejemplo el de crear la clase Pantalla, que se encargará de abstraer las operaciones que engloban el manejo del video y la iniciacion del mismo.&lt;br /&gt;&lt;br /&gt;Por otro lado ahora la clase Teclado cuenta con nuevos metodos, los que en total son:&lt;br /&gt;&lt;blockquote&gt;teclado();&lt;br /&gt;void actualizar();&lt;br /&gt;bool isTeclaPresionada(int tecla);&lt;br /&gt;bool isTeclaSePresiona(int tecla);&lt;br /&gt;bool isTeclaSeSuelta(int tecla);&lt;/blockquote&gt;&lt;br /&gt;Asi que ahora si esta completa, gracias en parte por la sugerencia de Darth! :)&lt;br /&gt;&lt;br /&gt;Hay una dos Clases nueva TrueFont y MaquinaDeEscribir (Si los peores nombres que podia elegir) TrueFont es un objeto que representa una fuente (es decir encapsular a una variable TTF_Font)  para poder utilizarla con MaquinaDeEscribir la cual cuenta (en su primera version) de los siguientes metodos:   &lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;MaquinaDeEscribir();&lt;br /&gt;int getAltoDe(const char * str);&lt;br /&gt;int getAnchoDe(const char * str);&lt;br /&gt;void escribir(const char * str,int x, int y,  SDL_Color color , SDL_Surface * g);&lt;br /&gt;void setFuente( TrueFont * f);&lt;br /&gt;TrueFont * getFuente();&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Bueno el objetivo de esta clase es simplificar la escritura de textos usando nuestra querida SDL_ttf.&lt;br /&gt;&lt;br /&gt;Tambien implemente la clase ControlFPS, que como su nombre indica controla el frame rate.&lt;br /&gt;&lt;blockquote&gt;ControlFPS();&lt;br /&gt;void actualizarTimer();&lt;br /&gt;int tiempoDelFrame();&lt;br /&gt;void ajustarA(int tiempo);&lt;/blockquote&gt;&lt;br /&gt;No hay mucho que decir ya que es autoexplicativa.&lt;br /&gt;&lt;br /&gt;Bueno esas fueron las novedades.... por ahora. Un saludo!&lt;br /&gt;&lt;br /&gt;Pero antes algo offtopic que no podia dejar de nombrar.  J-kun de CGM ha hecho un fan art de Nubelin que me encanto! Aca lo dejo para que lo disfruten.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qXAg36nJhRs/SYUHd0OkwDI/AAAAAAAAAFI/HP_eqpQBNx4/s1600-h/nubepy0.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 335px; height: 242px;" src="http://3.bp.blogspot.com/_qXAg36nJhRs/SYUHd0OkwDI/AAAAAAAAAFI/HP_eqpQBNx4/s400/nubepy0.png" alt="" id="BLOGGER_PHOTO_ID_5297648745488629810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:100%;"&gt;¡Corre Nubelin!  Imagen por J-kun&lt;/span&gt;&lt;br /&gt;(Si ya se el dibujo de mejor calidad que los graficos que lleva el juego XD)&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/8486747274114498865-5253165309970087903?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/5253165309970087903/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=5253165309970087903' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/5253165309970087903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/5253165309970087903'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/01/cronicas-dd-engine-mini-entrada.html' title='Cronicas D+D Engine: Mini entrada.'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_qXAg36nJhRs/SYUB0o520qI/AAAAAAAAAFA/SrQVKcfwENc/s72-c/ddLogo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-2971318226157525323</id><published>2009-01-27T09:06:00.000-08:00</published><updated>2009-01-27T10:26:04.453-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='D+D Engine'/><title type='text'>Crónicas de D+D Engine: Se ve la meta en el horizonte.</title><content type='html'>&lt;div style="text-align: right;"&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;En los ultimos dias.&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;Avanzando a paso lento pero seguro.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_qXAg36nJhRs/SX9AfhkeUNI/AAAAAAAAAEw/6RWLHrNzeMk/s1600-h/Scrshot+DD+engine.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 318px;" src="http://2.bp.blogspot.com/_qXAg36nJhRs/SX9AfhkeUNI/AAAAAAAAAEw/6RWLHrNzeMk/s400/Scrshot+DD+engine.PNG" alt="" id="BLOGGER_PHOTO_ID_5296022597142466770" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;(Una screen shot, donde TileSet con alpha, sprites, e imagenes dan su primera mirada al mundo).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;¡Hola a todos! Crick Crick...... Bueno hasta ahora lo que llevo programado es bastante:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;// De imagen&lt;br /&gt;ImagenFuente.&lt;br /&gt;TileSet.&lt;br /&gt;Sprite.&lt;br /&gt;&lt;br /&gt;// extras&lt;br /&gt;ObjetoMovil // a medio hacer.&lt;br /&gt;&lt;br /&gt;// De entrada&lt;br /&gt;Teclado.&lt;/blockquote&gt;&lt;br /&gt;Y lo que me falta(Y estan diseñados) son.&lt;br /&gt;&lt;blockquote&gt;// de imagen&lt;br /&gt;TileSetScrolled (O algo asi, el nombre es lo de menos por ahora)&lt;br /&gt;Fondo&lt;br /&gt;&lt;br /&gt;// extras&lt;br /&gt;Particula&lt;br /&gt;Emisor&lt;br /&gt;&lt;br /&gt;//De entrada&lt;br /&gt;Mouse&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Los ni si quiera diseñados son una clase para escribir con fuentes usando SDL_tff y otra para simplificar aun más el uso de los sonidos SDL_mixer y un reloj para controlar los FPS.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;No hay muchas cosas interesantes que plantear por ahora, aunque esto lo voy a aprovechar para describir brevemente las clases ya implementadas (solo las nuevas).&lt;br /&gt;&lt;br /&gt;Pero primero: el UML Limpio (Si ya se no se ve un carajo, pero bueno algo es algo, tomenlo como un vistazo general):&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qXAg36nJhRs/SX9KBQ4MMQI/AAAAAAAAAE4/INVVd-HMUlU/s1600-h/Main.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 281px;" src="http://3.bp.blogspot.com/_qXAg36nJhRs/SX9KBQ4MMQI/AAAAAAAAAE4/INVVd-HMUlU/s400/Main.bmp" alt="" id="BLOGGER_PHOTO_ID_5296033072381964546" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Teclado: Bien, la pregunta que surge es ¿para que implementar esta Clase si SDL lo plantea bastante sencillo? Bueno las raazones son dos:&lt;br /&gt;&lt;br /&gt;Primero: SDL esta planteado proceduralmente y el resto del engine O.O., asi que la primera idea es pasarla aunque sea a una interfaz a O.O.&lt;br /&gt;&lt;br /&gt;Segundo: Extender un poco las cualidades de deteccion de teclado, aunque todavía no tengo las ideas definidas, escencialmente seria para detectar si la tecla es pulsada, repetida etc...&lt;br /&gt;&lt;br /&gt;La otra clase es ObjetoMovil. Lo que tiene este objeto son las fuerzas basicas para realizar un movimiento en un ambiente 2d: x, y, hspeed, vspeed, friccion, gravedad.&lt;br /&gt;Tambíen contará con algunos métodos como setFuerza(float direccion, float fuerza), o bien agregarFuerza(float direccion, float fuerza).&lt;br /&gt;Desde esta última, es que van a descender Particula, y seguramente los objetos de los juegos.&lt;br /&gt;&lt;br /&gt;Bueno eso es todo por ahora, el resto se los debo para la próxima jeje!&lt;br /&gt;&lt;br /&gt;Un saludo!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&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/8486747274114498865-2971318226157525323?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/2971318226157525323/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=2971318226157525323' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/2971318226157525323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/2971318226157525323'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/01/cronicas-de-dd-engine-se-ve-la-meta-en.html' title='Crónicas de D+D Engine: Se ve la meta en el horizonte.'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_qXAg36nJhRs/SX9AfhkeUNI/AAAAAAAAAEw/6RWLHrNzeMk/s72-c/Scrshot+DD+engine.PNG' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-1091117745578252902</id><published>2009-01-21T17:40:00.000-08:00</published><updated>2009-01-22T09:58:45.383-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='D+D Engine'/><title type='text'>Crónicas de D+D Engine: Todo va tomando forma.</title><content type='html'>&lt;div style="text-align: right;"&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Varios días atrás.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: right;"&gt;&lt;span style="font-style: italic;font-size:130%;" &gt; &lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;font-size:130%;" &gt;&lt;span style="font-size:100%;"&gt;(De ahora en más no voy a poner la fecha, es fastidioso)&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_qXAg36nJhRs/SXizerJh75I/AAAAAAAAAEg/PhEONGBWyB0/s1600-h/futuristaTile.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 250px; height: 50px;" src="http://2.bp.blogspot.com/_qXAg36nJhRs/SXizerJh75I/AAAAAAAAAEg/PhEONGBWyB0/s400/futuristaTile.bmp" alt="" id="BLOGGER_PHOTO_ID_5294178701534162834" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;Este tile seguro no adivan de que juego mío  (inclompleto) es.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Bueno era hora de publicar otra entrada de la crónica. Aunque tecnicamente esta bien el retraso ya que es una crónica no una vitacora :p (Si lo escribi antes pero no lo publique por eso dos entradas juntas!).&lt;br /&gt;&lt;br /&gt;Bueno tuve varias desventuras, pero la mayoría fueron lios con la implementacion debido a mis pocos conociminetos sobre c++, no obstante todo va viento en popa (Bueno no es una vitacora del capitan pero se me permiten metáforas ¿no?).&lt;br /&gt;&lt;br /&gt;En el diagrama UML limpio (el limpio es el que ve la luz, el otro solo esta entre medio de muchos papeles y grarabatos), ya estan presentes las clases:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;       &lt;span style="font-weight: bold;"&gt;ImageFuente&lt;/span&gt;&lt;br /&gt;  &lt;span style="font-weight: bold;"&gt;Sprite&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Ahora para los curiosos el UML borrador lleba:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;       &lt;span style="font-weight: bold;"&gt;ImageFuente&lt;/span&gt;.&lt;br /&gt;  &lt;span style="font-weight: bold;"&gt;Sprite&lt;/span&gt;.&lt;br /&gt;  &lt;span style="font-weight: bold;"&gt;TileSet&lt;/span&gt;.&lt;br /&gt;  &lt;span style="font-weight: bold;"&gt;ObjetoMovil.&lt;/span&gt;&lt;br /&gt;  &lt;span style="font-weight: bold;"&gt;Particula.&lt;/span&gt;&lt;br /&gt;  &lt;span style="font-weight: bold;"&gt;Fondo.&lt;/span&gt;&lt;br /&gt;  &lt;span style="font-weight: bold;"&gt;TileSetScroll.&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Queda incluir ahora:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;                  TileSet.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bueno que es TileSet. Como su nombre lo indica es una Clase que se va a encargar de dibujar mapas representados por tiles.&lt;br /&gt;Para ello por un lado, conocerá obviamente a la imagen de la clase ImagenFuente que dibujara las subimagenes en solicitud de ella; por otro lado llevara una matriz &lt;span style="font-weight: bold;"&gt;int mapa[][]&lt;/span&gt; que se encargará de guardar un número entero de 0 a imagen-&gt;getNumSubImagenes() (imagen-&gt;getNumSubImagenes() incluido).&lt;br /&gt;¿Por que incluido el número de subimagenes? Es sencillo (Como todas la preguntas que me hago retoricamente :p ) 0 (cero) representa la ausencia de un bloque del TileSet, por lo tanto aca no se va a dibujar nada,  el numero 1 por su parte  en realidad corresponderá a la subimagen 0 (cero, este maltido cero parece una "o").&lt;br /&gt;&lt;br /&gt;Otro aspecto destacable de esta Clase será que se cargará desde un archivo de texto para evitar hacerlo más flexible.&lt;br /&gt;&lt;br /&gt;Una cosa que resta mensionar es que esta planeado para poder ser usado para hacer una especie de máscara para chequear colisiones, la idea de esto es que no se necesite dibujarlo, pero si obtener informacion del mismo. de esta manera se puede obtener los bloques del mapa con funciones que simplifiquen este trabajo.&lt;br /&gt;&lt;br /&gt;Este UML es una mezla del limpio con el borrador, ya que todavía puede sufrir cambios por no estar completamente implementado:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qXAg36nJhRs/SXiygva-caI/AAAAAAAAAEY/9hyuSQCgT_o/s1600-h/TileS.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 365px;" src="http://3.bp.blogspot.com/_qXAg36nJhRs/SXiygva-caI/AAAAAAAAAEY/9hyuSQCgT_o/s400/TileS.jpg" alt="" id="BLOGGER_PHOTO_ID_5294177637529186722" border="0" /&gt;&lt;/a&gt;Aunque por lo que se llega a ver en la miniatura... espero solucionar este problema rápido.&lt;br /&gt;&lt;br /&gt;Eso es todo... por ahora!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&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/8486747274114498865-1091117745578252902?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/1091117745578252902/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=1091117745578252902' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/1091117745578252902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/1091117745578252902'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/01/crnicas-de-dd-engine-todo-va-tomando.html' title='Crónicas de D+D Engine: Todo va tomando forma.'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_qXAg36nJhRs/SXizerJh75I/AAAAAAAAAEg/PhEONGBWyB0/s72-c/futuristaTile.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-1011492129155720675</id><published>2009-01-19T08:32:00.000-08:00</published><updated>2009-01-22T09:15:47.240-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='D+D Engine'/><title type='text'>Crónicas de "D+D Engine" El UML crece.</title><content type='html'>&lt;div style="text-align: right; font-weight: bold;"&gt;&lt;span style="font-weight: normal;font-size:130%;" &gt;Sabado 17&lt;/span&gt; &lt;div style="text-align: left; font-weight: bold;"&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: normal;font-size:100%;" &gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-weight: normal;font-size:100%;" &gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;El ataque de los sprite`s  empieza a llegar.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span style="font-weight: normal;"&gt;Podrán correr pero no esconderse.&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_qXAg36nJhRs/SXipgVXqZdI/AAAAAAAAAEQ/Ujf32Irgp5I/s1600-h/Nubelin.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 180px; height: 64px;" src="http://2.bp.blogspot.com/_qXAg36nJhRs/SXipgVXqZdI/AAAAAAAAAEQ/Ujf32Irgp5I/s400/Nubelin.bmp" alt="" id="BLOGGER_PHOTO_ID_5294167734931318226" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-weight: normal;"&gt;¿A que no saben quien es este?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: normal;font-size:100%;" &gt;Aunque la crónica lleba un pequeño delay con respecto a la fecha actual, el proyecto continua.&lt;br /&gt;&lt;br /&gt;Ahora llega el turno de integar la clase Sprite&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;al diagrama. Si bien en la actualidad el diagrama es mucho más grande voy pasando en limpio las clases que ya implementé, por otro lado en papel esta el resto quedense tranquilos.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;Esta clase no presenta ninguna complejidad algoritmica ni de diseño. Simplemente para animar el sprite tiene un par de variables int y float.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;subImagen&lt;/span&gt;: Representa la subimagen que se va a dibujar.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;velAnimacion&lt;/span&gt;: la velocidad de animacion.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;span style="font-weight: bold;"&gt;tempFrame&lt;/span&gt;: Representa a la subimagen pero en numero flotante, si se le saca la parte entera nos da el valor actual de subImagen gracias a un array llamado animación.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;animacion &lt;/span&gt;: Es un array de int, que representan las subimagenes del objeto ImagenFuente que conoce sprite, y que formaran parte de la animacion actual.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;tamano:&lt;/span&gt; cantidad de cuadros de la animacion, o lo que es lo mismo el tamaño del array animacion.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;Se contará además con una variable int llamada &lt;span style="font-weight: bold;"&gt;alpha, &lt;/span&gt;que como se da a entender es la que representa el alpha del sprite.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;Sprite cuenta con dos métodos importantes animar(); y dibujar(SDL_surface * g, int x, int y);&lt;br /&gt;&lt;br /&gt;Animar() se encarga de sumar  velAnimacion  a tempFrame, y al realizarle un cast a int nos sirve de sub indice para sacar la sumImagen a dibujar de la animacion.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt; dibujar(SDL_surface * g)  se encarga de llamar al objeto ImagenFuente que conozca para mandarle el mensaje dibujarSubImagen, o bien dibujarSubImagenAlpha si el alpha del sprite es distinto de 255.&lt;br /&gt;&lt;br /&gt;Todo la implementación fue bien a excepcion de la implementación del metodo animar(), que me termino dando a descubrir un error en la implementacion de ImagenFuente, y otro en la utilización de un array dinamico.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Luego de luchar un poco frente al debug, y de leer el libro que tenia a mano de C++ pedi S.O.S, pero como estaba ansioso no espere la respuesta y empeze a googlear y como siempre google nos salva la vida.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Bueno antes de desviarme del tema aqui en miniatura si se llega a ver algo es uno de los esbozos de lo más importante que lleba el UML "en limpio" (porque el otro va un poco más avanzado).&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qXAg36nJhRs/SXikMs3I5UI/AAAAAAAAAEI/MLdONH8Cf7Q/s1600-h/dd+enine.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 452px; height: 267px;" src="http://1.bp.blogspot.com/_qXAg36nJhRs/SXikMs3I5UI/AAAAAAAAAEI/MLdONH8Cf7Q/s400/dd+enine.jpg" alt="" id="BLOGGER_PHOTO_ID_5294161900081833282" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Acá estan las Clases &lt;span style="font-weight: bold;"&gt;ImagenFuente&lt;/span&gt; y &lt;span style="font-weight: bold;"&gt;Sprite &lt;/span&gt;tal cual estan implementadas. El diagrama lo hice con &lt;a href="http://staruml.sourceforge.net/en/"&gt;&lt;span style="font-weight: bold;"&gt;StarUML&lt;/span&gt;&lt;/a&gt;, que la verdad esta bastante bueno&lt;/span&gt; &lt;span style="font-weight: normal;"&gt;y es sencillo de utilizar.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;Paso explicar lo que pormeti. La líneas sin flechas que unen dos clases indican relacion de conocimiento. En este caso Sprite conoce a un objeto de la Clase ImagenFuente y la conoce bajo la etiqueta de imagen. Para mostrar cuantoa instancias conocen una clase a la otra se coloca un numero sobre la linea (No la puse porque todavía no descubrí bien como hacerla en StarUML), un * para señalar que conoce a n instancias y 0 (cero) cuando no conoce a ninguna.&lt;br /&gt;En este caso corresponde un uno sobre la palabra imagen y un cero de la linea del lado de sprite para indicar que ImagenFuente desconcose las instancias de Sprite que la conocen.&lt;br /&gt;&lt;br /&gt;Eso es todo por ahora si alguein esta interesado en que explique un poco más del asunto solo hace falta un comentario.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&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/8486747274114498865-1011492129155720675?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/1011492129155720675/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=1011492129155720675' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/1011492129155720675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/1011492129155720675'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/01/crnicas-de-dd-engine-el-uml-crece.html' title='Crónicas de &quot;D+D Engine&quot; El UML crece.'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_qXAg36nJhRs/SXipgVXqZdI/AAAAAAAAAEQ/Ujf32Irgp5I/s72-c/Nubelin.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-6307093254361816712</id><published>2009-01-18T18:52:00.002-08:00</published><updated>2009-01-18T19:04:42.100-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='D+D Engine'/><title type='text'>Crónicas de D+D Engine: D+D Begins.</title><content type='html'>&lt;div style="text-align: right;"&gt;&lt;span style="font-size:130%;"&gt;Viernes 16: Todo listo… ¿y ahora?&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-style: italic;"&gt;Con todo andando solo falta algo que hacer…&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Una vez que todo esta en marcha hay que usar el lápiz y el papel.&lt;br /&gt;Los garabatos de ahora en más se van a esparcir sobre las pobres y blancas hojas para poder esquematizar el esqueleto de todo el engine.&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qXAg36nJhRs/SXPsRqErM4I/AAAAAAAAADg/NH7SU8RQIGM/s1600-h/Boceto.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 191px; height: 200px;" src="http://3.bp.blogspot.com/_qXAg36nJhRs/SXPsRqErM4I/AAAAAAAAADg/NH7SU8RQIGM/s200/Boceto.PNG" alt="" id="BLOGGER_PHOTO_ID_5292833775186293634" border="0" /&gt;&lt;/a&gt;Arriba Primer (UML)&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Para diseñar se puede empezar de varias formas. Las que conozco yo son dos:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ECfBo7Kvpvs/R8NyHp444DI/AAAAAAAACsk/FXcafsR9CFU/s400/PolentaRagu+056+%28Small%29.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 136px; height: 102px;" src="http://4.bp.blogspot.com/_ECfBo7Kvpvs/R8NyHp444DI/AAAAAAAACsk/FXcafsR9CFU/s400/PolentaRagu+056+%28Small%29.jpg" alt="" border="0" /&gt;&lt;/a&gt;la uno: empezar por las clases principales de las cuales heredaran todas nuestras clases; o bien la segunda forma: empezar a diseñar como se come un plato de polenta caliente, de los bordes mas alejados hacia el centro, fuera de la hermosa (o deliciosa según el caso) metáfora esto quiere decir empezar por las clases que menos influyan en el resto del sistema desde un punto de vista de jerarquía de clases.&lt;br /&gt;&lt;br /&gt;Dado que hay que entrar en calor creí oportuna la segunda opción. La Primer clase a diagramar no va a tener ningún heredero (o por lo menos por ahora no se me han ocurrido ninguno).&lt;br /&gt;Y la primer clase del diagrama UML es trrttrtrrt (sonido de tambores): ImagenFuente.&lt;br /&gt;&lt;br /&gt;Y bien, que demonios es &lt;span style="font-weight: bold;"&gt;ImagenFuente&lt;/span&gt;. Esta es una clase que va a encargarse de abstraer un poco el uso de imágenes, más específicamente el uso de &lt;span style="font-weight: bold;"&gt;sprite sheet&lt;/span&gt;.&lt;br /&gt;Esta clase va a ser capaz de cargar una imagen en cualquier formato (bueno no cualquier formato solo los clásicos) gracias al uso de &lt;span style="font-weight: bold;"&gt;SDL_image &lt;/span&gt;y su mágica función IMG_load(“imagen.png”). También será capaz de dibujar solo una subimagen recortándola.&lt;br /&gt;&lt;br /&gt;Por que es que esta clase no va a tener (en apariencias) dependencias es sencillo de explicar. A primera vista es fácil de suponer que clases como &lt;span style="font-weight: bold;"&gt;Sprite&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;TileSet &lt;/span&gt;descenderán de ella, pero hay una razón por la cual van ser útil que simplemente estas clases “conozcan” a &lt;span style="font-weight: bold;"&gt;ImagenFuente&lt;/span&gt;, y no que sean sus descendientes.&lt;br /&gt;&lt;br /&gt;Y esta razón, es mala palabra al momento de diseñar y codificar, pero como incluir esto en el diseño cambia mucho la estructura y la comprensión del mismo es necesario dejarlo en claro del inicio, estoy hablando claro está de performance y por otro lado aparte flexibilidad.&lt;br /&gt;&lt;br /&gt;Que &lt;span style="font-weight: bold;"&gt;ImagenFuente &lt;/span&gt;este aparte de &lt;span style="font-weight: bold;"&gt;Sprite&lt;/span&gt;, permitirá por ejemplo que si hay 100 sprite`s de un perro corriendo las “surfaces” que ocupen serán simplemente una, y cada sprite conocerá a este y a su propia subimagen velocidad de animación, alpha etc…. Y solo harán llamadas con información distinta con el mismo mensaje dibujarSubimagen( subImagen) a un mismo objeto;. Otra ventaja será que &lt;span style="font-weight: bold;"&gt;ImagenFuente &lt;/span&gt;será igual de útil para la clase &lt;span style="font-weight: bold;"&gt;TileSet &lt;/span&gt;haciendo posible manejar mapas en múltiples capas utilizando poco espacio en memoria.&lt;br /&gt;&lt;br /&gt;He aquí el primer elemento del diagrama UML. Tiene lo básico como debe ser cuando uno empieza ¿No?.&lt;br /&gt;Para quien no entienda UML, explico brevemente. Cada Clase se representa con un rectángulo que se divide en 3 partes. La primera obviamente corresponde al nombre de la clase. La segunda a los atributos, y por último los métodos. Más adelante explicaré con mas detalle como se representan relaciones de herencia y de conocimiento.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_qXAg36nJhRs/SXPtWCsYhSI/AAAAAAAAADw/ktKkDLVTrv0/s1600-h/Diagramadeclase1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 145px;" src="http://2.bp.blogspot.com/_qXAg36nJhRs/SXPtWCsYhSI/AAAAAAAAADw/ktKkDLVTrv0/s400/Diagramadeclase1.png" alt="" id="BLOGGER_PHOTO_ID_5292834950026396962" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-6307093254361816712?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/6307093254361816712/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=6307093254361816712' title='5 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/6307093254361816712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/6307093254361816712'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/01/crnicas-de-dd-engine-dd-begins.html' title='Crónicas de D+D Engine: D+D Begins.'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_qXAg36nJhRs/SXPsRqErM4I/AAAAAAAAADg/NH7SU8RQIGM/s72-c/Boceto.PNG' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-2759767166356140286</id><published>2009-01-18T18:49:00.000-08:00</published><updated>2009-01-18T19:20:07.908-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='D+D Engine'/><title type='text'>Cronicas de "D+D Engine" :: Primera entrada real.</title><content type='html'>&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: right;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Miércoles 14 y Jueves 15: El pre- comienzo.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-style: italic;"&gt;Cansado de GM y con ganas de crear un Juegos para PC con engine propio.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Luego de retomar la idea de armar un engine me dispuse a conseguir las herramientas necesarias.&lt;br /&gt;      &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://mediateca.educa.madrid.org/imagen/imagenes/publicas/tam3/t9/t9b4guli5y7mh5pt.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 81px; height: 123px;" src="http://mediateca.educa.madrid.org/imagen/imagenes/publicas/tam3/t9/t9b4guli5y7mh5pt.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;            Un lápiz&lt;br /&gt;&lt;br /&gt;            Un Block de hojas (¿no será mucho?)&lt;br /&gt;&lt;br /&gt;            y un IDE! Por supuesto.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;El lenguaje ya estaba decidido y fue C++, ya que es uno de los más usados en el ambiente profesional. Desgraciadamente no tengo casi experiencia en este lenguaje así que me va a venir bien comenzar un desarrollo con calma para aprender un poco.&lt;br /&gt;&lt;br /&gt;Empecé un poquito mal, eligiendo Dev-c++ , por suerte en el foro de ADVA me remendaron que mude a Code::Blocks, ya que el anterior había sido discontinuado y eso ya me había traído problemas para poder usar SDL.&lt;br /&gt;&lt;br /&gt;Luego de luchar un poco con Code::Blocks ya quedo todo listo para usar, incluso SDL_image, SDL_mixer, SDL_tff (Aunque a estos últimos dos no los probé todavía y seguro van a dar pelea).&lt;br /&gt;&lt;br /&gt;Moraleja:&lt;br /&gt;Antes de ponerse a instalar un IDE y luchar por configurarlo, además investigar sus características técnicas ¡Hay que revisar su fecha de vencimiento!. Ya en serio, antes que nada hay que investigar bien, no solo formal y técnicamente sino también por opiniones de usuarios y otros datos extras que nunca faltan.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-2759767166356140286?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/2759767166356140286/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=2759767166356140286' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/2759767166356140286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/2759767166356140286'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/01/primera-entrada.html' title='Cronicas de &quot;D+D Engine&quot; :: Primera entrada real.'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-5491029776057274065</id><published>2009-01-18T18:18:00.000-08:00</published><updated>2009-02-01T05:30:30.597-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='D+D Engine'/><title type='text'>Crónicas de "D+D Engine"</title><content type='html'>&lt;div style="text-align: right;"&gt;&lt;div style="text-align: left;"&gt;Como es la primer entrada referida al nuevo proyecto voy a explicar las cosas.&lt;br /&gt;&lt;br /&gt;De ahora en adelante algunas entradas al blog van a estar dedicadas al desarrollo de mi engine 2d al que bautize D+D engine.&lt;br /&gt;¿ Porque D+D ? es sencillo, no significa ni Drag &amp;amp; Drop ni Desarrollo y Diseño ni nada de eso, es simplemente por mi falta de imaginación para nombrar las cosas. Originalmente se iba a llamar 2d engine, pero no tenia personalidad y gracias a un razonamiento matemático como el siguiente:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://badd.com.ar/media/examen5bd3.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 138px; height: 164px;" src="http://badd.com.ar/media/examen5bd3.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;surgio la idea de D+D...  si todavía no captaste el chiste boludo D+D engine= (1+1)*D engine = 2D engine. Bueno no se quien destinaría un parrafo para hablar sobre el nombre de un engine antes de hablar del engine, y mucho menos quien podría leerlo jeje, pero vamos a volver a centrarnos.&lt;br /&gt;&lt;br /&gt;Y volviendo a lo serio, el objetivo de estas crónicas es poder documentar y compartir el desarrollo de un sofware paso a paso desde el diseño hasta la implementación pero desde un punto de vista interno y humano.&lt;br /&gt;&lt;br /&gt;Aclaraciones sobre el proyecto:&lt;br /&gt;&lt;br /&gt;D+D Engine:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Objetivo:&lt;/span&gt; Proveer las herramientas básicas de engine para desarrollar un juego 2d.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Tipo de desarrollo: &lt;/span&gt; Incremental.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Paradigma: &lt;/span&gt;O.O.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lenguaje:&lt;/span&gt; C++.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Librerías:&lt;/span&gt; SDL, SDL_image, SDL_mixer, SDL_tff.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Forma de documentación de diseño:&lt;/span&gt; Diagrama UML&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Forma de documentación de la implementación:&lt;/span&gt; Comentario sobre código y posteriormente un manual de uso.&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/8486747274114498865-5491029776057274065?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/5491029776057274065/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=5491029776057274065' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/5491029776057274065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/5491029776057274065'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/01/crnicas-de-dd-engine.html' title='Crónicas de &quot;D+D Engine&quot;'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-2455823460012119614</id><published>2009-01-16T10:14:00.000-08:00</published><updated>2009-01-16T10:20:06.151-08:00</updated><title type='text'>Un Click Para Suecia</title><content type='html'>Me limito a citar lo siguiente, porque tiene la información justa y necesaria para entender de que se trata:&lt;br /&gt;&lt;br /&gt;"Un grupo de programadores de Bahía Blanca clasificaron para participar del más prestigioso e importante competencia de programacion que se realiza en estocolmo, suecia.&lt;br /&gt;&lt;br /&gt;Desgraciadamente aunque la organizacion les paga la estadia, les faltan los pasajes, que son como USD 6000.&lt;br /&gt;&lt;br /&gt;Por eso abrieron un &lt;a href="http://unclickparasuecia.blogspot.com/" target="_blank"&gt;Blog&lt;/a&gt; para recaudar ese dinero en base a publicidad, por eso si pueden visitarla y linkearla a su blog/website mejor &lt;img src="http://www.adva.com.ar/foro/Smileys/default/cheesy.gif" alt="Cheesy" border="0" /&gt;"&lt;br /&gt;&lt;br /&gt;Cortesía de Shadow of Soul ADVA&lt;br /&gt;&lt;br /&gt;Asi que si tienen un tiempito visiten el blog y algún que otro anuncio dentro del mismo! Ojala que estos chicos puedan llegar a la competencia!&lt;br /&gt;&lt;br /&gt;Un saludo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-2455823460012119614?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/2455823460012119614/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=2455823460012119614' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/2455823460012119614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/2455823460012119614'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/01/un-click-para-suecia.html' title='Un Click Para Suecia'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-3221321557777006974</id><published>2009-01-15T07:15:00.000-08:00</published><updated>2009-01-15T10:39:17.992-08:00</updated><title type='text'>Decepciones del 2008. Pero.... ¿Porque?</title><content type='html'>Leyendo de casualidad un top ten de las decepciones del 2008 &lt;a href="http://es.onsoftware.com/p/videojuegos-decepcionantes-2008"&gt;http://es.onsoftware.com/p/videojuegos-decepcionantes-2008&lt;/a&gt; me dió ganas de sacarle provecho a esa pequeña crítica y extenderla para nuestro lado, el game design y aprender de estos errores.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Para empezar hay que plantearse que es lo que puede arruinar un juego así que vamos a empezar. Lo primero que se me viene a la mente (y seguro a ti también) es el gameplay.&lt;br /&gt;&lt;br /&gt;Si el gameplay falla, el juego de seguro estará condenado al fracaso, y cuando hablo del fracaso no estoy diciendo pérdidas de dinero ni pocas ventas, estoy hablando de el fracaso como juego y es una aclaración válida para toda esta crítica.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Si el jugador no se siente cómodo con los controles o el manejo de la camara, la experiencia del juego será frustrante por más que el resto del gameplay sea una obra de arte; por eso en mi opinion esta es una de las fallas más odiosas, desde el punto de vista del jugador, y criticas, para el game designer, que se pueden producir en un juego.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Nótese la palabra frustrante en el parrafo anterior, una experiencia frustrante desde ningún punto de vista puede ser divertida; Pero hay que distinguir entre controles incómodos y un personaje difícil de controlar. ¿Porque esto? Sencillo, nunca los controles incomodos o mal diseñados serán buenos para el juego, pero a veces un personaje difícil de controlar puede destacar a un juego, por ejemplo &lt;span style="font-weight: bold;"&gt;Asteroid&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Para controles incómodos basta recordar (si es que alguien en su vida lo jugo) a &lt;span style="font-weight: bold;"&gt;Croc 2 &lt;/span&gt;para PC, si alguien se &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://image.com.com/gamespot/images/screenshots/7/188897/croc2_thumb002.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 120px; height: 90px;" src="http://image.com.com/gamespot/images/screenshots/7/188897/croc2_thumb002.jpg" alt="" border="0" /&gt;&lt;/a&gt;consigue una demo va a ver de que hablo; en cambio para manejo incadecuado de la camará se puede citar algun titulo de &lt;span style="font-weight: bold;"&gt;Tomb Raider&lt;/span&gt; donde la camara a veces se ponía al otro extremo del cuarto donde apensas podíamos ver a Lara ni lo que hacia. (Se que hay juegos peores en este sentido por ahora no se me venia ninguno a la mente).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Si el manejo de la camara esta bien logrado se nota y nunca se olvida, como &lt;span style="font-weight: bold;"&gt;Super Smash Bross&lt;/span&gt; para aumentar la jugabilidad, o bien &lt;span style="font-weight: bold;"&gt;Another World &lt;/span&gt;para aumentar la experiencia de juego. En cambio en otros juegos el manejo de la camara cumple y eso basta y no deja de ser excepcional (&lt;span style="font-weight: bold;"&gt;Karoshi&lt;/span&gt;).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lo que nos deja como "moraleja" es que si vamos a incluir un manejo de camara experimental o novedoso no solo bastará con probar prototipos sino tambien dejar viable una opción que permita manejar la camara desde un modo manual o clásico. Según el top ten que cite al inicio &lt;span style="font-weight: bold;"&gt;Too Human&lt;/span&gt; Xbox 360 es el que lleva este problema.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;El otro problema por el lado de los controles, y este también es un clásico.&lt;br /&gt;&lt;br /&gt;Señor game designer, seleccione una de las siguientes opciones:&lt;br /&gt;&lt;br /&gt;a) todos los botones del teclado por cada accion y combinación; usando de la A a la Z, del F1 al F12.&lt;br /&gt;&lt;br /&gt;b) Un botón realizar todas la opciones posibles en el juego.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.finanzas.com/archivos/200808/casco-255x255x80.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 138px; height: 113px;" src="http://www.finanzas.com/archivos/200808/casco-255x255x80.jpg" alt="" border="0" /&gt;&lt;/a&gt;c) Ninguna de las anteriores, usaremos un dispositivo tan inovador del que solo escucharan hablar una vez, y pasaran años hasta que sirva para algo pese a ya haber sido lanzado al mercado (casco que lee la mente)&lt;br /&gt;&lt;br /&gt;d) Un balance entre a) y b) e ignorar c (por ahora :P).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Revisemos cada opcion por separado. La opcion a) aunque parece ser la equivocada a veces puede ser utilizada (no tan exrageradamente, obviamente); Hay juegos como Age of Empires II que si bien solo se usa el mouse se pueden conseguir muchas ventajas durante el juego si se utilizan los atajos del teclado. Hay que notar que estos controles son adicionales y por lo tanto destinados a jugadores experimentados. Por lo que queda decir que estos controles son para jugadores hard gamer y nunca para un jugadores ni juegos casuales.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;En cuanto a la opción b) tambien suele ser una mala idea en general, pero al opuesto de la opcion a) suele tener más éxito en juegos casuales. Lo que nunca es buena idea es para juegos destinados a jugadores hard, porque se aburriran enseguida y no percibirán un desafio. Citando nuevamente el Top Ten ahora en la critica de "&lt;span style="font-weight: bold;"&gt;Naruto Ultimate Ninja Storm&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;"[...] la lucha era tan simple que con sólo el botón círculo se podían ejecutar todos los combos del juego [...]"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;La opción c) queda pendiente para el futuro :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;La opción d) es la segura y no vale la pena discutirla porque si bien es la ideal, es la dificil de lograr y depende de cada juego y estilo de juego. Generalmente se suele recurrir a disposiciones de teclas clásicas para cada genero.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lo importante es recordar que los controles son la principal interfaz entre el jugador y el juego, y si no estan bien diseñado al jugador le va costar interferir en el juego.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Otro aspecto muy importante en juegos comerciales es el apartado gráfico. Hay tipos de juegos en los cuales se esperan gráficos excepcionales, y si ese es el objetivo del nuestro no podemos perder de vista este objetivo y terminar usando un engine de ediciones anteriores (si es una secuela) o dedicarle poco tiempo al desarrollo del mismo.&lt;br /&gt;&lt;br /&gt;Generalmente el apartado gráfico va acompañado del realismo que se pretende lograr por lo que será más importante cuanto más realista sea el juegos que hacemos. Entre los generos clásicos se encuentran FPS y juegos deportista o simuladores.&lt;br /&gt;&lt;br /&gt;Pro Evolution Soccer 2009 (PS3):&lt;br /&gt;&lt;br /&gt;"El juego final cumplió algunas de estas expectativas. Es verdad que tenía unos gráficos mejorados, aunque lejos de lo que puede llegar a ofrecer una PS3 o una Xbox 360, pero sus modos online estaban obsoletos y además, el juego seguía ofreciendo problemas de lag. Eso sin olvidar que el motor de juego sigue siendo el mismo de Pro Evolution Soccer 5."&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Un aspecto más digno de mensionar es la historia. Existen juegos sin historia, y esto no es problema ya que no es obligatorio incluirla (No hay reglas para la creacion de juegos :) ) y en ocaciones no afecta en nada al resultado final. Pero si se va a incluir una historia en nuestro juego, y se va a hacer hincapié en ella no se puede dejar de lado y no se deben dejar cabos sueltos. Aunque hay un error más grabe que se puede producir y es imperdonable para un game design/ story design, y esto es hacer un juego a partir de un mundo ya creado y no respetarlo. Hay que recordar que hay gente que es fanática de algunas Películas, Series o peor aún Anime`s ( digo peor porque la gente que mira anime suele prestarle seria atencion a las series que ve):&lt;br /&gt;&lt;br /&gt;Naruto Ultimate Ninja Storm (PS3)&lt;br /&gt;&lt;br /&gt;"Aunque lo peor era ver cómo la desarrolladora cogía la licencia oficial y ofrecía toda clase de incongruencias. Así podíamos ver cómo en el primer combate de entrenamiento de Naruto, éste era capaz ya de hacer el Rasengan, un movimiento que no aparece hasta un capítulo avanzado de la serie nipona."&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Si se va a seguir un mundo ya creado hay que respetarlo y punto, o aunque sea tratar de interioriszarse dentro de él y proponer cambios que el jugador disfrutará de experimentar. Por más que el juego sea estupendo en todos sus otros aspectos, éste será jugado principalmente por seguidores de este mundo y el hecho de que la historia no concuerde será suficiente para frustar la experiencia final del juego.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Como un extra hay que citar los bugs: Siempre van a quedar bugs en un juego, y es cierto que las fechas de lanzamientos no dan tregua y el tiempo a veces no alcanza, pero los errores que no se deben perdonar en cualquier juego son siempre los errores de collision. Por más que el engine utilizado tenga mil y un shader si el personaje se queda pegado o atraviesa una pared le quita todo el realismo. Tambien hay bugs especificos que dañan a tipos especiales de juego:&lt;br /&gt;&lt;br /&gt;Un bug imperdonable en un juego cuyo fuerte es el multiplayer es el Lag, o bien si es un MMORPG es un sistema de economía deficiente. Si el punto fuerte de un multiplayer es la interactividad entre los jugadores como vamos a dejar suelto un tremendo lag en nuestro juego, o bien si en un MMORPG es muy importante el comercio e intercambio de objetos hay que cuidarlo bien.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Me parece que me extendí de más pero espero que te sea útil tanto como a mí haberlo escrito, y como consejo: es buena práctica revisar la opinion no solo de los mejores juegos, porque si aprender de los errores siempre es bueno, es mejor si los errores los comete otro :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bueno, cualquier comentario es bienvenido y recuerdo que esto es una opinion personal y como tal no es una verdad absoluta ni cerca, incluso, en un tiempo yo mismo puedo estar en contra de lo que acabo de escribir; pero este al fin y al cabo, es un pequeñísimo aporte a la escasa documentación acerca del game design que existe en la web, espero te sirva de ayuda.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Un saludo!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-3221321557777006974?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/3221321557777006974/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=3221321557777006974' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/3221321557777006974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/3221321557777006974'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2009/01/decepciones-del-2008-pero-porque.html' title='Decepciones del 2008. Pero.... ¿Porque?'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-2832954168911242963</id><published>2008-12-24T06:14:00.000-08:00</published><updated>2008-12-24T06:19:33.948-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='La odisea de Nubelin'/><category scheme='http://www.blogger.com/atom/ns#' term='Nubelin'/><title type='text'>La odisea de Nubelin Version Compatible con Windows Vista</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qXAg36nJhRs/SVJEv-81E6I/AAAAAAAAADY/bO1frMuv5iE/s1600-h/NubelinVista.PNG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 98px;" src="http://1.bp.blogspot.com/_qXAg36nJhRs/SVJEv-81E6I/AAAAAAAAADY/bO1frMuv5iE/s200/NubelinVista.PNG" alt="" id="BLOGGER_PHOTO_ID_5283360904001688482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;A direfencia de la version anterior que no andaba en windows vista, esta si lo hace. A parte de ese no hay ningun cambio con respecto a la version anterior.&lt;br /&gt;Asi que a los que ya lo jugaron no se pierden de nada. Y a los que no lo podían jugar, ahora no tendrán escusa!&lt;br /&gt;&lt;br /&gt;Espero que lo disfruten, cualquier cosa comenten!&lt;br /&gt;&lt;br /&gt;Link de descarga: &lt;a href="http://www.4shared.com/file/77401838/96501ad8/La_odisea_de_Nubelin_VISTA_COMPATIBLE.html"&gt;http://www.4shared.com/file/77401838/96501ad8/La_odisea_de_Nubelin_VISTA_COMPATIBLE.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Un saludo!.&lt;br /&gt;&lt;br /&gt;P.D: Feliz navidad y etc.....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-2832954168911242963?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/2832954168911242963/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=2832954168911242963' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/2832954168911242963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/2832954168911242963'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2008/12/la-odisea-de-nubelin-version-compatible.html' title='La odisea de Nubelin Version Compatible con Windows Vista'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_qXAg36nJhRs/SVJEv-81E6I/AAAAAAAAADY/bO1frMuv5iE/s72-c/NubelinVista.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-6657408341373007126</id><published>2008-12-19T08:37:00.000-08:00</published><updated>2008-12-19T08:50:29.324-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='La odisea de Nubelin'/><category scheme='http://www.blogger.com/atom/ns#' term='juegos'/><category scheme='http://www.blogger.com/atom/ns#' term='llaveros'/><title type='text'>Llaveros de Nubelin!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qXAg36nJhRs/SUvPMr8_cbI/AAAAAAAAADI/_u912Ep4Ewg/s1600-h/DSC00507.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 160px;" src="http://3.bp.blogspot.com/_qXAg36nJhRs/SUvPMr8_cbI/AAAAAAAAADI/_u912Ep4Ewg/s200/DSC00507.JPG" alt="" id="BLOGGER_PHOTO_ID_5281542804885959090" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Bueno esto es solo una curiosidad, mi mama (suena cursi ¿no? jeje) me hizo con porcelana fría unos llaveros de Nubelin jeje. Bueno lo quería compartir con ustedes asi se rien un poco.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_qXAg36nJhRs/SUvOwLHiFsI/AAAAAAAAAC4/CRfMKTM9Wvg/s1600-h/DSC00501.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 320px;" src="http://4.bp.blogspot.com/_qXAg36nJhRs/SUvOwLHiFsI/AAAAAAAAAC4/CRfMKTM9Wvg/s400/DSC00501.JPG" alt="" id="BLOGGER_PHOTO_ID_5281542315035465410" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qXAg36nJhRs/SUvO4duWo6I/AAAAAAAAADA/dSvM9xez9_M/s1600-h/DSC00504.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 283px; height: 226px;" src="http://1.bp.blogspot.com/_qXAg36nJhRs/SUvO4duWo6I/AAAAAAAAADA/dSvM9xez9_M/s400/DSC00504.JPG" alt="" id="BLOGGER_PHOTO_ID_5281542457469084578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A ver sus comentarios y risas! (El llavero no esta a la venta, a menos que...)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-6657408341373007126?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/6657408341373007126/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=6657408341373007126' title='9 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/6657408341373007126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/6657408341373007126'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2008/12/llaveros-de-nubelin.html' title='Llaveros de Nubelin!'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_qXAg36nJhRs/SUvPMr8_cbI/AAAAAAAAADI/_u912Ep4Ewg/s72-c/DSC00507.JPG' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-4931417758927438070</id><published>2008-12-17T14:38:00.000-08:00</published><updated>2008-12-17T14:42:40.643-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='La odisea de Nubelin'/><category scheme='http://www.blogger.com/atom/ns#' term='diseño Odisea de Nubelin juegos'/><title type='text'>Review: La odisea de Nubelin</title><content type='html'>Bueno una nueva entrada para mostrar una review de &lt;a href="http://www.4shared.com/file/74205511/bdb13d7a/Nubelin.html"&gt;"La odisea de Nubelin"&lt;/a&gt; con la que quede muy satisfecho (y contento):&lt;br /&gt;Fue hecha por Dart RPG de Comunidad GM:&lt;br /&gt;&lt;br /&gt;&lt;table style="table-layout: fixed;" cellpadding="5" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top" width="85%" height="100%"&gt;        &lt;table border="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;         &lt;td valign="middle"&gt;&lt;a href="http://www.comunidadgm.org/index.php?topic=5788.msg26282#msg26282"&gt;&lt;img src="http://www.comunidadgm.org/Themes/Musiconica/images/post/xx.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;         &lt;td valign="middle"&gt;          &lt;div style="font-weight: bold;" id="subject_26282"&gt;           &lt;a href="http://www.comunidadgm.org/index.php?topic=5788.msg26282#msg26282"&gt;Re:  La odisea de Nubelin&lt;/a&gt;          &lt;/div&gt;          &lt;div class="smalltext"&gt;« &lt;b&gt;Respuesta #28 en:&lt;/b&gt; Diciembre 15, 2008, 07:17:05  »&lt;/div&gt;&lt;/td&gt;         &lt;td style="font-size: smaller;" align="right" valign="bottom" height="20"&gt;      &lt;a href="http://www.comunidadgm.org/index.php?action=post;quote=26282;topic=5788.15;num_replies=31;sesc=d5b5876957f8c505d0a06a0c613b7dcf"&gt;&lt;img src="http://www.comunidadgm.org/Themes/Musiconica/images/buttons/quote.gif" alt="Responder con cita" align="middle" /&gt;&lt;b&gt;Citar&lt;/b&gt;&lt;/a&gt;         &lt;/td&gt;        &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;        &lt;hr class="hrcolor" size="1" width="100%"&gt;        &lt;div class="post"&gt;&lt;div class="quote"&gt; &lt;b&gt;Nombre:&lt;/b&gt; La Odisea de Nubelín&lt;br /&gt;&lt;b&gt;Género:&lt;/b&gt; Plataformas&lt;br /&gt;&lt;b&gt;Desarrollador:&lt;/b&gt; Tyranus&lt;br /&gt;&lt;b&gt;Foro en CGM:&lt;/b&gt; &lt;a href="http://www.comunidadgm.org/index.php?topic=5788.0" target="_blank"&gt;www.comunidadgm.org/index.php?topic=5788.0&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;   ·&gt; &lt;b&gt;&lt;span style="font-size: 12pt; line-height: 1.3em;"&gt;Sinopsis&lt;/span&gt;&lt;/b&gt;&lt;br /&gt; - Muchos quilómetros por encima de la Tierra, como unos 10000, encima de las nubes, viven los nubelines. Un día, mientras el rey Tyranus pasea por encima de su aldea con su carro gigante, una de las ruedas cae sobre la aldea destrozándola en el acto. También queda aplastado Blond, el héroe local, así que no hay nadie lo suficientemente fuerte y valiente como para ir a reclamarle al rey. Quien sí se encuentra en la aldea es Nubelín, que a pesar de no ser ni fuerte ni valiente es lo suficientemente estúpido como para irle a reclamar al rey. Con la ayuda de los restos de Blond deberá cruzar todo el país de las nubes hasta el castillo del rey Tyranus para reclamarle por los daños.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   ·&gt; &lt;b&gt;&lt;span style="font-size: 12pt; line-height: 1.3em;"&gt;Jugabilidad&lt;/span&gt;&lt;/b&gt;&lt;br /&gt; - La base del juego: su sistema de control en que en vez de saltar Nubelín se infla está muy muy cuidada. La habilidad de inflarse suele resultar útil aunque el tiempo de "carga" puede darles tiempo a los enemigos a darte. Hay gran cantidad de objetos usables como por ejemplo las nubes propulsoras, nubes carnívoras voladores, nubes dormilonas, nube surf, cuerdas flojas y algunos más que probablemente me descuido &lt;img src="http://www.comunidadgm.org/SMF/Smileys/nueva/XD.gif" alt="Emoticono historico" border="0" /&gt;. La IA de los enemigos suele ser algo simple, pero tampoco es que se pueda esperar mucho de una gota de agua xD. Sin embargo los jefes están trabajados y requieren estrategia para derrotarlos.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   ·&gt; &lt;b&gt;&lt;span style="font-size: 12pt; line-height: 1.3em;"&gt;Diseño&lt;/span&gt;&lt;/b&gt;&lt;br /&gt; - El juego está muy bien diseñado con picos de dificultad para poder repartir la dificultad equitativamente y con unos jefes difíciles aunque no mucho. Los diseños de los niveles son muy imaginativos usando los objetos en maneras imaginativas. Los niveles suelen requerir pensarse dos veces cómo superarlos en vez de ir a lo loco y estan cuidadosamente diseñados.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   ·&gt; &lt;b&gt;&lt;span style="font-size: 12pt; line-height: 1.3em;"&gt;Gráficos&lt;/span&gt;&lt;/b&gt;&lt;br /&gt; - Aunque podrían ser mejores, los gráficos están muy trabajados y son agradables a la vista. Sin embargo, los sprites a veces desentonan con los fondos debido a que los fondos tienen un estilo mucho más "fotográfico". En conjunto resulta agradable a la vista.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   ·&gt; &lt;b&gt;&lt;span style="font-size: 12pt; line-height: 1.3em;"&gt;Música y Sonidos&lt;/span&gt;&lt;/b&gt;&lt;br /&gt; - La música es uno de los puntos más fuertes de este juego. Las melodías se acoplan muy bien con los niveles y están muy trabajadas para evitar que sean repetitivas. Además, la música ayuda a sumergirse en el juego muy bien.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   ·&gt; &lt;b&gt;&lt;span style="font-size: 12pt; line-height: 1.3em;"&gt;Conclusiones&lt;/span&gt;&lt;/b&gt;&lt;br /&gt; - En general un gran juego aunque si los gráficos estuvieran algo más trabajados podría ser aún mejor. Con una gran jugabilidad, gran música y gráficos pasables es un juego notable. Además, su originalidad es un punto a favor.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: 14pt; line-height: 1.3em;"&gt;Resultados:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt; &lt;b&gt;·Gráficos:&lt;/b&gt; &lt;i&gt;4/6&lt;/i&gt;&lt;br /&gt; &lt;b&gt;·Jugabilidad:&lt;/b&gt; &lt;i&gt;6/6&lt;/i&gt;&lt;br /&gt; &lt;b&gt;·Sonido:&lt;/b&gt; &lt;i&gt;5/6&lt;/i&gt;&lt;br /&gt; &lt;b&gt;·Historia:&lt;/b&gt; &lt;i&gt;4/6&lt;/i&gt;&lt;br /&gt; &lt;b&gt;·Originalidad:&lt;/b&gt; &lt;i&gt;5/6&lt;/i&gt;&lt;br /&gt;&lt;br /&gt; &lt;b&gt;·TOTAL:&lt;/b&gt; &lt;i&gt;80%&lt;/i&gt;  &lt;img src="http://www.comunidadgm.org/SMF/Smileys/nueva/cool.gif" alt="Cool" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: 14pt; line-height: 1.3em;"&gt;Pros:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt; &lt;i&gt;Gran música&lt;/i&gt;&lt;br /&gt; &lt;i&gt;La historia es bantante graciosa&lt;/i&gt;&lt;br /&gt; &lt;i&gt;La cantidad de niveles que trae&lt;/i&gt;&lt;br /&gt; &lt;i&gt;Jefes y niveles trabajados&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: 14pt; line-height: 1.3em;"&gt;Contras:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt; &lt;i&gt;Gráficos pasables&lt;/i&gt;&lt;br /&gt; &lt;i&gt;IA algo pobre&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;       &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;---------------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Gracias Darth RPG y a CGM!&lt;br /&gt;&lt;br /&gt;Un saludo!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-4931417758927438070?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/4931417758927438070/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=4931417758927438070' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/4931417758927438070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/4931417758927438070'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2008/12/review-la-odisea-de-nubelin.html' title='Review: La odisea de Nubelin'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-7034995843379415794</id><published>2008-12-10T04:40:00.000-08:00</published><updated>2008-12-10T08:27:50.283-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Concurso'/><category scheme='http://www.blogger.com/atom/ns#' term='videojuegos'/><category scheme='http://www.blogger.com/atom/ns#' term='ADVA'/><title type='text'>Single Boss Game! Nuevo concurso de ADVA</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://adva.com.ar/blog/wp-content/codear-single-screen.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 276px; height: 235px;" src="http://adva.com.ar/blog/wp-content/codear-single-screen.png" alt="" border="0" /&gt;&lt;/a&gt;A los interesados hace unos días se abrió un nuevo concurso de creación de juegos en ADVA, la consigna es sencilla: Un solo jefe presente en todo el juego. (Para más info leer el reglamento : &lt;a href="http://www.adva.com.ar/foro/index.php?topic=5281.0"&gt;Reglamento Single Boss Game&lt;/a&gt;) con &lt;b&gt;Fecha límite&lt;/b&gt; el Lunes 5 de Enero del 2009, aunque puede estirarse si todos los participantes llorisqueamos.&lt;br /&gt;&lt;br /&gt;Bueno es la primera vez que entro en un concurso de ADVA y por ahora no llevo mucho hecho, más que algunos sprites, tiles y fondos y un par de objetos simples.&lt;br /&gt;&lt;br /&gt;La idea la tengo, la historia tambien, me falta desarrollar bien el gameplay para que sea divertido y obviamente terminar de implementarlo. Aca pueden ver una screenshot de la presentación. La herramienta ideal para este tipo de concurso de poco tiempo es por su puesto GM:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://ar.geocities.com/alejandro_darkness/segundaScreenshot.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 438px; height: 329px;" src="http://ar.geocities.com/alejandro_darkness/segundaScreenshot.PNG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Eso es todo, Un saludo!&lt;br /&gt;&lt;br /&gt;Presentacion del juego:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.4shared.com/file/75351933/423a0786/Dos_caras_Una_verdad.html"&gt;http://www.4shared.com/file/75351933/423a0786/Dos_caras_Una_verdad.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-7034995843379415794?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/7034995843379415794/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=7034995843379415794' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/7034995843379415794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/7034995843379415794'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2008/12/single-boss-game-nuevo-concurso-de-adva.html' title='Single Boss Game! Nuevo concurso de ADVA'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-1520176047232054395</id><published>2008-12-02T18:16:00.000-08:00</published><updated>2008-12-02T18:28:15.210-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='La odisea de Nubelin'/><category scheme='http://www.blogger.com/atom/ns#' term='GM'/><category scheme='http://www.blogger.com/atom/ns#' term='videojuegos'/><title type='text'>La odisea de Nubelin</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_qXAg36nJhRs/STXsbkXkf1I/AAAAAAAAACo/T9AdPYp2LTM/s1600-h/barnerNubelin2.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 67px;" src="http://2.bp.blogspot.com/_qXAg36nJhRs/STXsbkXkf1I/AAAAAAAAACo/T9AdPYp2LTM/s400/barnerNubelin2.PNG" alt="" id="BLOGGER_PHOTO_ID_5275382496897564498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;¡¡¡¡¡Termine!!!!!!  Acabo de subir la Odisea de Nubelin! Espero que la descarguen lo jueguen y me comenten.&lt;br /&gt;&lt;br /&gt;Resumen que saque del post que hice en CGM:&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;br /&gt;&lt;b&gt;Historia:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;La Aldea corre peligro. Una rueda de la carroza del Rey se ha caido y lo ha destruido todo, incluso al heroe que suele salvar a esta humilde comunidad.&lt;br /&gt;Sus habitantes desamparados buscan a un nuevo heroe, pero nadie se atrevería a hacerle un reclamo al rey. Solo alguien con muchas agallas, con gran fuerza e incontable valor podría llegar a hacerlo; o bien.... alguien lo suficientemente tonto para que ignore la gravedad de la situación. Aquí entra Nubelin!.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;b&gt;Gameplay:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El juego es similar a todos los juegos de plataformas, con la excepcion de que el personaje no salta, sino que se infla y flota; esto obligará al jugador a acostumbrarse a un modo distinto de enfrentar las cosas.&lt;br /&gt;A demás el personaje es disparado desde cañones, hace equilibrio, surf y muchas cosas más.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;b&gt;Musicas:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Jaime Gomez&lt;/b&gt; &lt;a href="http://mariobroxmusic.es.tl./" target="_blank"&gt;http://mariobroxmusic.es.tl./&lt;/a&gt;&lt;br /&gt;(Tema principal,Tema de la Lluvia, Tema de Perder,Tema Cuerda Floja)&lt;br /&gt;&lt;br /&gt;&lt;b&gt; Pablo Zumárraga de Satoshii Elements&lt;/b&gt; &lt;a href="http://www.satoshii-elements.com/" target="_blank"&gt;http://www.satoshii-elements.com/&lt;/a&gt;&lt;br /&gt;(Tema Nivel de Trampas, Tema de Nivel rompecabezas, Tema de Nivel Bienvenido)&lt;br /&gt;&lt;br /&gt;&lt;b&gt; J. C. Dussan (j-kun) &lt;/b&gt;&lt;a href="http://www.yuuut.blogspot.com/" target="_blank"&gt;http://www.yuuut.blogspot.com/&lt;/a&gt;&lt;br /&gt;(Tema de jefe intermedio)&lt;br /&gt;&lt;br /&gt;&lt;b&gt; Agustina Montero Dip&lt;/b&gt;&lt;br /&gt;(Tema del Jefe Final).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Christian Fernando Perucchi &lt;/b&gt;&lt;a href="http://www.forgingsounds.com.ar/" target="_blank"&gt;www.forgingsounds.com.ar&lt;/a&gt;&lt;br /&gt;( Tema de los niveles de la Cueva)&lt;br /&gt;&lt;br /&gt;&lt;b&gt; Juan Pablo Cavagnaro&lt;/b&gt; (Compositor Armonico En Fuga)&lt;br /&gt;(Tema del Menu)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Chocosama &lt;/b&gt;&lt;br /&gt;(Tema de Surf, Tema de la presentacion)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;br /&gt;Agradecimientos:&lt;/span&gt;&lt;br /&gt;¡Agradecimientos especiales a...&lt;br /&gt;&lt;br /&gt;...todos los Musicos por su buena voluntad y su gran ayuda!&lt;br /&gt;&lt;br /&gt;...A mi familia y a mi novia por su paciencia, y por ser mis game-tester obligados!&lt;br /&gt;&lt;br /&gt;...A la Comunidad GM por todo su apoyo, y por todas las pruebas, reportes de bugs y sugerencias!&lt;br /&gt;&lt;br /&gt;...A ADVA, por sus opiniones que me ayudaron a mejorar!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;Link de descarga:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.4shared.com/file/74205511/bdb13d7a/Nubelin.html"&gt;http://www.4shared.com/file/74205511/bdb13d7a/Nubelin.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qXAg36nJhRs/STXufHivy0I/AAAAAAAAACw/_wlpfawoxWE/s1600-h/scrhost_Menu.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_qXAg36nJhRs/STXufHivy0I/AAAAAAAAACw/_wlpfawoxWE/s400/scrhost_Menu.PNG" alt="" id="BLOGGER_PHOTO_ID_5275384756902546242" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-1520176047232054395?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/1520176047232054395/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=1520176047232054395' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/1520176047232054395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/1520176047232054395'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2008/12/la-odisea-de-nubelin.html' title='La odisea de Nubelin'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_qXAg36nJhRs/STXsbkXkf1I/AAAAAAAAACo/T9AdPYp2LTM/s72-c/barnerNubelin2.PNG' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-9182662798502977189</id><published>2008-11-08T10:22:00.000-08:00</published><updated>2008-11-11T04:58:28.469-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Biby Puzzle GM diseño'/><title type='text'>Biby Puzzle v0.5b Nueva beta.</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qXAg36nJhRs/SRXa-cgCR2I/AAAAAAAAACg/MUhde4AOySo/s1600-h/scshorBibyMejora.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 175px; height: 321px;" src="http://3.bp.blogspot.com/_qXAg36nJhRs/SRXa-cgCR2I/AAAAAAAAACg/MUhde4AOySo/s320/scshorBibyMejora.JPG" alt="" id="BLOGGER_PHOTO_ID_5266356105616967522" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Hola mi feliz audiencia! (WTF)&lt;br /&gt;Bueno ya la había publicado en todos lados menos en el blog; Ya saque la nueva beta de Biby´s Puzzle. Asi que a darle a los comentarios! Es en serio &gt;:(&lt;br /&gt;&lt;br /&gt;Novedades:&lt;br /&gt;Beta 0.5 (Publicada!)&lt;br /&gt;&lt;br /&gt;* Mejoras de particulas, y otros efectos + sprites retocados.&lt;br /&gt;*Cuenta el tiempo que tardas para resolver el puzzle, y lo muestra cuando ganas.&lt;br /&gt;*Agregado efecto de revolver la pantalla cuando reinicias.&lt;br /&gt;*Agregado efecto de pasar la pantalla.&lt;br /&gt;*Agregado moralejas. Al terminar cada nivel dice una moraleja que tiene que ver con la resolucion del nivel.&lt;br /&gt;* Agregado comentarios de los Biby´s. Cada vez que chocan, los dejas, estas en peligro o los agarras (+ otras circunstancias) los bichitos muestran un dialogo con un comentario aleatorio distinto para cada situación. Intentando ser graciosos :p .&lt;br /&gt;&lt;br /&gt;*Agregado 6 pantallas más.&lt;br /&gt;&lt;br /&gt;* Agregado Item de invertir. Muajaja&lt;br /&gt;&lt;br /&gt;Reparado:&lt;br /&gt;Ahora es más facil abrir puertas y de girar las manivelas.&lt;br /&gt;&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="on" style="display: block;" id="formatbar_Add_Video" title="Añadir vídeo" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="addVideo();" onmousedown="CheckFormatting(event);;ButtonMouseDown(this);"&gt;&lt;img src="http://www.blogger.com/img/blank.gif" alt="Añadir vídeo" class="gl_video" border="0" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Bug conocido (y ya reparado):&lt;br /&gt;Cuando un Biby cae en un pozo se loopea un sonido a modo insoportable, igualmente cuando un Biby cae a un pozo quiere decir que ya perdiste asi que reiniciar es inevitable; igual es un feo detalle que ya arregle (no en esta beta).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.4shared.com/file/70214515/cb4f93a5/Biby_Puzzle_beta_05.html"&gt;Descargar Biby Puzzle 0.5b&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Video: No hice todavía :P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-9182662798502977189?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/9182662798502977189/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=9182662798502977189' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/9182662798502977189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/9182662798502977189'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2008/11/biby-puzzle-v05b-nueva-beta.html' title='Biby Puzzle v0.5b Nueva beta.'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_qXAg36nJhRs/SRXa-cgCR2I/AAAAAAAAACg/MUhde4AOySo/s72-c/scshorBibyMejora.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-2025031800620512655</id><published>2008-11-02T10:03:00.000-08:00</published><updated>2008-11-02T17:44:58.693-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Buby Puzzle GM videojuegos'/><title type='text'>Biby Puzzle</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_qXAg36nJhRs/SQ3tEwHJLdI/AAAAAAAAACQ/MyzKJK3OXVk/s1600-h/scrshot01.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 241px;" src="http://4.bp.blogspot.com/_qXAg36nJhRs/SQ3tEwHJLdI/AAAAAAAAACQ/MyzKJK3OXVk/s320/scrshot01.JPG" alt="" id="BLOGGER_PHOTO_ID_5264124205356101074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Antes de que piensen que me estoy desorganizando les explico el porque de un juego nuevo. Lo que sucede es que estoy en semanas de parciales, y siempre que tengo que estudiar se me ocurren muchas ideas. Antes de perderla en la nada decidi plasmarla en algo real.&lt;br /&gt;&lt;br /&gt;El juego en si es simple, es un Puzzle en el que los controles son el mouse y el boton derecho. El objetivo del juego es bastante sencillo, pero no lo explico porque parte de la idea es que lo descubra el jugador a medida que juega. El gameplay es bastante original al menos eso creo, no hay personaje principal que manejar, pero si hay muchas cosas con las que interactuar, los puzzles en concecuenci&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_qXAg36nJhRs/SQ3tOuFyfzI/AAAAAAAAACY/8uPk41n2pmA/s1600-h/scrshot02.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_qXAg36nJhRs/SQ3tOuFyfzI/AAAAAAAAACY/8uPk41n2pmA/s320/scrshot02.JPG" alt="" id="BLOGGER_PHOTO_ID_5264124376612241202" border="0" /&gt;&lt;/a&gt;a son originales tambien.&lt;br /&gt;Los invito a probar este juego extraño pero muy entretenido (me quedo jugandolo yo jeje)&lt;br /&gt;Hasta ahora la musica es provisional (Autor de la musica J-kun busquenlo en CGM) y los gráficos están a la espera de mejoras. Los sonidos son los definitivos pero hay que ajustarle bien el volumen y agregar los que faltan.&lt;br /&gt;Tiene 14 niveles asi que tienen para probarlos. Igual se pasan en menos de 15 minutos seguro.&lt;br /&gt;&lt;br /&gt;Espero sus comentarios!&lt;br /&gt;&lt;br /&gt;Un saludo!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Me había olvidado de pegar el link!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.4shared.com/file/69409731/bdf1b66d/Biby_Puzzle_beta_02.html"&gt;http://www.4shared.com/file/69409731/bdf1b66d/Biby_Puzzle_beta_02.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-2025031800620512655?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/2025031800620512655/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=2025031800620512655' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/2025031800620512655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/2025031800620512655'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2008/11/biby-puzzle.html' title='Biby Puzzle'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_qXAg36nJhRs/SQ3tEwHJLdI/AAAAAAAAACQ/MyzKJK3OXVk/s72-c/scrshot01.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-4919297362332191408</id><published>2008-10-22T21:45:00.001-07:00</published><updated>2008-10-23T05:49:18.485-07:00</updated><title type='text'>Trailer La odisea de Nubelin!</title><content type='html'>Bueno festejando mi fracaso del parcial de base de datos quedandome hasta las 3 menos cuarto de la mañana despierto llega el trailer tan esperado (WTF?) Utilice para el video el CamStudio una herramienta gratuita para la captura de videos y como musica de fondo use una cancion que me gusta mucho y que encajo perfecta Requiem for a Dream. Vean la mezcla jeje: &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="350"&gt; &lt;param name="movie" value="http://www.youtube.com/v/vWpc2usg2AI"&gt; &lt;/param&gt; &lt;embed src="http://www.youtube.com/v/vWpc2usg2AI" type="application/x-shockwave-flash" width="425" height="350"&gt; &lt;/embed&gt; &lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-4919297362332191408?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/4919297362332191408/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=4919297362332191408' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/4919297362332191408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/4919297362332191408'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2008/10/trailer-la-odisea-de-nubelin.html' title='Trailer La odisea de Nubelin!'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-4877055392814724896</id><published>2008-10-19T18:37:00.001-07:00</published><updated>2008-10-19T19:17:07.987-07:00</updated><title type='text'>Nuevo proyecto j2me "Yiaco"</title><content type='html'>Bueno el personaje que subi en una entrada anterior fue bautizado como Yiaco. Si es un nombre un tanto fiero, pero fue cortesía de un programa que hice que genera nombres aleatorios cuando no se me ocurre ninguno jeje.&lt;br /&gt;&lt;br /&gt;Como con el otro proyecto a punto de concluir (aunque seguramente quede en stan by por un tiempo al igual que este ¡se vienen los parciales!) primero estoy experimentando con un prototipo en GM.&lt;br /&gt;&lt;br /&gt;El juego en sí, es una especie de jetpack basado en un juego de plataforma pero distinto. Yiaco vuela haciendo uso de la energía renobable... sus propios gases :P, y el objetivo del juego es alcanzar la parte superior de la pantalla para atrapar a un astronauta que se escapa con un elemento preciado de Yiaco (elemento todavia a definir jeje).&lt;br /&gt;&lt;br /&gt;Este proyecto todavía esta en las etapas tempranas de diseño de gameplay y puede sufrir severas modificaciones, si quieren probar el prototipo aca lo paso:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.4shared.com/file/67595125/7baf4ab6/Yiaco_protitipo.html "&gt; descarga el prototipo de Yiaco&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Un video:&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="350"&gt; &lt;param name="movie" value="http://www.youtube.com/v/twytiwckgTk"&gt; &lt;/param&gt; &lt;embed src="http://www.youtube.com/v/twytiwckgTk" type="application/x-shockwave-flash" width="425" height="350"&gt; &lt;/embed&gt; &lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Eso es todo por ahora muajaja!&lt;br /&gt;&lt;br /&gt;Espero sus comentarios gente!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-4877055392814724896?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/4877055392814724896/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=4877055392814724896' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/4877055392814724896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/4877055392814724896'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2008/10/nuevo-proyecto-j2me-yiaco.html' title='Nuevo proyecto j2me &quot;Yiaco&quot;'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-2619624422942240085</id><published>2008-10-15T20:51:00.000-07:00</published><updated>2008-10-16T16:30:20.419-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diseño programacion juegos celular Gluglos'/><title type='text'>Gluglos! Demo disponible.</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_qXAg36nJhRs/SPa9NLEFPgI/AAAAAAAAABs/Juye7WnpKQ4/s1600-h/scrsht_menu.PNG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_qXAg36nJhRs/SPa9NLEFPgI/AAAAAAAAABs/Juye7WnpKQ4/s320/scrsht_menu.PNG" alt="" id="BLOGGER_PHOTO_ID_5257597649007492610" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Hola a todos! crick crick.&lt;br /&gt;La razon de esta entrada es que acabo de terminar un engendro entre demo y beta de.... Gluglos! Espero que lo descargen y lo prueben, las malas noticias son que solo esta disponible en resolucion 128*160.&lt;br /&gt;&lt;br /&gt;Los controles son:&lt;br /&gt;4, izquierda : izquierda&lt;br /&gt;6, derecha : derecha&lt;br /&gt;5, tecla del medio : disparar&lt;br /&gt;2, arriba : rojo&lt;br /&gt;8, abajo : verde (aunque en la demo no se usa  &lt;img src="http://www.adva.com.ar/foro/Smileys/default/tongue.gif" alt="Lengua" border="0" /&gt;).&lt;br /&gt;0 :  menu&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Descarga la demo (en realidad es la demo beta): &lt;br /&gt;&lt;a href="http://www.4shared.com/file/67218566/5edcd570/GluglosDemo.html"&gt; descargar demo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Prototipo:&lt;br /&gt;&lt;a href="http://www.4shared.com/file/67218794/34ce7cfd/GluglosPrototipo.html"&gt; descargar prototipo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Espero sus comentarios.......&lt;br /&gt;&lt;br /&gt;Saludos!&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="350"&gt; &lt;param name="movie" value="http://www.youtube.com/v/KXBg4AfvV4M"&gt;  &lt;embed src="http://www.youtube.com/v/KXBg4AfvV4M" type="application/x-shockwave-flash" width="425" height="350"&gt;&lt;/embed&gt;  &lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-2619624422942240085?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/2619624422942240085/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=2619624422942240085' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/2619624422942240085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/2619624422942240085'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2008/10/gluglos-demo-disponible.html' title='Gluglos! Demo disponible.'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_qXAg36nJhRs/SPa9NLEFPgI/AAAAAAAAABs/Juye7WnpKQ4/s72-c/scrsht_menu.PNG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-5094357512090788300</id><published>2008-10-15T07:48:00.001-07:00</published><updated>2008-10-15T07:51:18.912-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personajes nuevo proyecto'/><title type='text'>Pequeña entrada al blog. Nueva criatura!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://ar.geocities.com/alejandro_darkness/nuevoPersonaje.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://ar.geocities.com/alejandro_darkness/nuevoPersonaje.PNG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Bueno en esta pequeña entrada al blog es para mostrar el nuevo personaje que anda dando vueltas en mi cabeza... Cuando termine Gluglos! empezaré otro juego con este personaje aún sin nombre, aunque si tiene una historia más o menos que lo acompaña pero falta pulir un poco antes de que vea la luz.&lt;br /&gt;&lt;br /&gt;Eso es todo!  (Tendría que estar estudiando para base de datos :X)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-5094357512090788300?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/5094357512090788300/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=5094357512090788300' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/5094357512090788300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/5094357512090788300'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2008/10/pequea-entrada-al-blog-nueva-criatura.html' title='Pequeña entrada al blog. Nueva criatura!'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-8639147020355469167</id><published>2008-10-10T13:30:00.000-07:00</published><updated>2008-10-15T20:50:55.234-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diseño programacion juegos celular Gluglos'/><title type='text'>Gluglos! Juego para celular (j2me).</title><content type='html'>Bueno aquí estoy de nuevo! Luego de llevarme la sopresa de que alguien leyo el blog (ejej), publico una nueva entrada, y esta vez el tema central de esta es mi nuevo juego llamado Gluglos!.&lt;br /&gt;&lt;br /&gt;Armando una especie de ficha tecnica para facilitar y reducir la redaccion:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;El nombre : Gluglos!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Este nombre viene de Gluglocito (abreviado), que a su vez viene de un chiste que me conto mi novia una vez (muy malo por cierto).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;La categoría :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Dentro de las categorías que existen yo lo ubicaría en juego Casual,  es muy sencillo pero a su vez adictivo (o al menos eso intento que sea).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Objetivo del juego (jugarlo):&lt;/span&gt;&lt;br /&gt;Pintar de distinto color a unos bichos que caen disparandole con un cañon. Si los bichos estan pintados del color que corresponde a el recipiente donde caen suman puntos sino, lo hace subir, y si se salen de la pantalla "game over".&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Modos de juego:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Incluye por ahora un solo modo de juego: "Modo Reflejo", en el cual solo hay un color de recipiente y la destreza más importante necesaria para ganar el mayor puntaje son tus reflejos.&lt;br /&gt;&lt;br /&gt;En la version terminada incluirá (creo) 2 modos más. El modo arcade y el modo inverso.&lt;br /&gt;&lt;br /&gt;El "modo arcade" son una secuencia de niveles que hay que superar siguiendo una lógica similar a la de "Modo reflejo" solo que esta vez con mas de un color por recipiente.&lt;br /&gt;&lt;br /&gt;El "modo inverso" por su parte tiene como particularidad de llevar la logica inversa, es decir, los bichos ya caen con color, pero si estan con el mismo color del recipiente en que caen, los hace subir, tienen que ser de color distinto para sumar puntos.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Objetivo del juego (crearlo)&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;Bueno este juego lo encaré como una práctica de Diagrama UML aplicado al desarrollo de juegos, pero ya lo venñia planeando como un juego sencillo en el que puedas pasar un par de minutos jugando cuando viajas o en situaciones similares.&lt;br /&gt;Liberaré dos versiones: Una demo que solo incluye el modo reflejo y no guarda las el higscore (muajaja).&lt;br /&gt;&lt;br /&gt;Y la segunda una version comercial que con suerte lograré sacarle algo de jugo (Si este plan fracasa será freeware :C ).&lt;br /&gt;&lt;br /&gt;Bueno eso es todo.... no mentira, en terminos de videojuegos una screenshot dice mas que 1000 kbytes :&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qXAg36nJhRs/SO_HuYsiItI/AAAAAAAAABc/sxKvBa_rWyc/s1600-h/scrsht_menu.PNG"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_qXAg36nJhRs/SO_HuYsiItI/AAAAAAAAABc/sxKvBa_rWyc/s320/scrsht_menu.PNG" alt="" id="BLOGGER_PHOTO_ID_5255638889881805522" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qXAg36nJhRs/SO_HmqgPFMI/AAAAAAAAABU/YPGJZFNCCqE/s1600-h/scrsht_modoreflejo03.PNG"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_qXAg36nJhRs/SO_HmqgPFMI/AAAAAAAAABU/YPGJZFNCCqE/s320/scrsht_modoreflejo03.PNG" alt="" id="BLOGGER_PHOTO_ID_5255638757223109826" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qXAg36nJhRs/SO_HdfeqfWI/AAAAAAAAABE/G9kIDZfDaA8/s1600-h/scrsht_modoreflejo01.PNG"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_qXAg36nJhRs/SO_HdfeqfWI/AAAAAAAAABE/G9kIDZfDaA8/s320/scrsht_modoreflejo01.PNG" alt="" id="BLOGGER_PHOTO_ID_5255638599644904802" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_qXAg36nJhRs/SO_HipJIjLI/AAAAAAAAABM/b7lTCaqEvRo/s1600-h/scrsht_modoreflejo02.PNG"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_qXAg36nJhRs/SO_HipJIjLI/AAAAAAAAABM/b7lTCaqEvRo/s320/scrsht_modoreflejo02.PNG" alt="" id="BLOGGER_PHOTO_ID_5255638688138300594" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Descarga la demo (en realidad es una demo beta):&lt;br /&gt;&lt;br /&gt;&lt;a href="http://tyranussoft.iespana.es/GluglosDemo.rar"&gt;descargar&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-8639147020355469167?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/8639147020355469167/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=8639147020355469167' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/8639147020355469167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/8639147020355469167'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2008/10/gluglos-juego-para-celular-j2me.html' title='Gluglos! Juego para celular (j2me).'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_qXAg36nJhRs/SO_HuYsiItI/AAAAAAAAABc/sxKvBa_rWyc/s72-c/scrsht_menu.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-7200225858924408122</id><published>2008-09-16T15:21:00.000-07:00</published><updated>2008-09-16T15:29:53.127-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diseño Odisea de Nubelin juegos'/><title type='text'>Casi termino!!!!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qXAg36nJhRs/SNAyrE8OpHI/AAAAAAAAAAc/32yYMTo9gF0/s1600-h/logo+ia+sombreado.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_qXAg36nJhRs/SNAyrE8OpHI/AAAAAAAAAAc/32yYMTo9gF0/s320/logo+ia+sombreado.bmp" alt="" id="BLOGGER_PHOTO_ID_5246749281528751218" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Bueno como estoy con mesa de examenes extraodinarios tengo más tiempo libre (Acabo de rendir y bien!), asi que pude continuar el proyecto. Estoy cada vez mas cerca.&lt;br /&gt;Termine al rey, la conversación antes de la pelea, los chequeos de bonus, ahora estoy por hacer los dos niveles del bonus. Resta hacer "la historieta" del final, hacer cuadros de dialogos para confirmación de salida y de neuva partida!.&lt;br /&gt;&lt;br /&gt;Para no dejar tan vacía esta entrada publico el logo (que falta mejorar):&lt;br /&gt;&lt;br /&gt;Me acaban de hacer notar que puse mal el nombre del blog!!!!!!! Y ahora? o_o&lt;br /&gt;&lt;br /&gt;Saludos mis inexistentes seguidores!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-7200225858924408122?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/7200225858924408122/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=7200225858924408122' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/7200225858924408122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/7200225858924408122'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2008/09/casi-termino.html' title='Casi termino!!!!'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_qXAg36nJhRs/SNAyrE8OpHI/AAAAAAAAAAc/32yYMTo9gF0/s72-c/logo+ia+sombreado.bmp' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8486747274114498865.post-8906312816232147310</id><published>2008-09-12T15:32:00.001-07:00</published><updated>2008-09-12T16:07:36.209-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diseño programación videojuegos'/><title type='text'>Ignauguración</title><content type='html'>Bueno aca estoy estrenando blog.&lt;br /&gt;En teoría aca iré colgando noticias sobre los desarrollos de mis juegos ( Ya sea en GM J2Me o C++). Pero veremos si me llevaré bien el mantenimiento de blog.&lt;br /&gt;&lt;br /&gt;Ahora si luego de una casi interminable presentacion (?) comienza lo interesante, o casi :&lt;br /&gt;&lt;br /&gt;Por ahora estoy tratando de terminar "La odisea de Nubelin":&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://ar.geocities.com/alejandro_darkness/promocion.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px;" src="http://ar.geocities.com/alejandro_darkness/promocion.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Un dia normal en la pacífica aldea Cumulus todo se vuelve un caos cuando una rueda de la carroza del rey cae. Los habitantes se preguntan por su heroe, pero para su sorpresa, este heroe yace aplastado por la rueda. Entonces se preguntan ahora quien puede ser tan inteligente, habil, astuto, etc, para ayudarlos, en ese momento a alguien se le ocurre una una idea mejor; ¿Quien puede ser tan estúpido como para hecerle el reclamo al rey? Y es ahí que entra Nubelin en la historia.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;El personaje de Nubelin:&lt;br /&gt;&lt;br /&gt;Nubelin no tiene ningun atributo fisico deslumbrante, es corto de piernas, brazos flacos, con panza y con un gran jopo que forma parte de la cabeza. Esta totalmente desnudo (es un personaje caricaturezco), y la "unica" habilidad que posee es la de inflarse. Para hacerlo se mete el dedo en la boca, hace fuerza como "soplando" y se infla.&lt;br /&gt;&lt;br /&gt;El tambien, es un personaje mudo (Nunca tiene dialogo en la historia), y Blond (El jefe aplastado del cual solo sobrebivio un fragmento que lo acompaña en el viaje) es el que expresa sus ideas medianamente, a modo de "narrador". En si el personaje es sencillo, pero esta sencilles es lo que lo convierte en unico, a mi parecer jejej.&lt;br /&gt;&lt;br /&gt;Solo me faltan las ultimas pantallas, que me entreguen las músicas que les falta que me esta haciendo un musico llamado Jaime (&lt;a href="http://mariobroxmusic.es.tl./"&gt;http://mariobroxmusic.es.tl./&lt;/a&gt;).&lt;br /&gt;Tambien estoy esperando las novedades de alguien que me esta ayudando a mejorar los gráficos llamado Claudio (cuando encunetre el link a su blog lo cuelgo jeje).&lt;br /&gt;Hasta no incorporar dichos elementos no publicaré el juego.&lt;br /&gt;&lt;br /&gt;Espero que alguien siga el blog aunque empieze medio desganado :X.&lt;br /&gt;&lt;br /&gt;Saludos mis seguidores crick... crick...!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8486747274114498865-8906312816232147310?l=tyranusindiegames.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tyranusindiegames.blogspot.com/feeds/8906312816232147310/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8486747274114498865&amp;postID=8906312816232147310' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/8906312816232147310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8486747274114498865/posts/default/8906312816232147310'/><link rel='alternate' type='text/html' href='http://tyranusindiegames.blogspot.com/2008/09/ignauguracin.html' title='Ignauguración'/><author><name>Alejandro.</name><uri>http://www.blogger.com/profile/11574000513171346531</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_qXAg36nJhRs/SrtlgDKgEPI/AAAAAAAAAJg/j9o15r5WDM8/S220/Arqueria+Ale.JPG'/></author><thr:total>0</thr:total></entry></feed>
