<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Kalio was founded in 2007, in Montevideo, Uruguay, by four friends with a shared love for technology and making things.

Since 2008, mobile games is what keeps us awake at night (besides our kids). Our debut title was TriDefense and we’re currenlty working on Ring Run Circus, our upcoming ringformer game, which you can read all about in this blog.

more…</description><title>kalio blog</title><generator>Tumblr (3.0; @kalioblog)</generator><link>http://blog.kalio.net/</link><item><title>Kalio at GDC Play 2013</title><description>&lt;p&gt;&lt;img src="http://media.tumblr.com/0638ea3f62a6b87634bca6f5628605c7/tumblr_inline_mjwoykLE9P1qz4rgp.gif" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;This year is very special for us as we&amp;#8217;re about to release Ring Run Circus, our labor of love for the past 2 and a half years.&lt;/p&gt;

&lt;p&gt;As part of the marketing efforts, the four Kalio partners will be part of this year&amp;#8217;s &lt;strong&gt;GDC Play&lt;/strong&gt;, where we will be showing Ring Run Circus in all it&amp;#8217;s glory.&lt;/p&gt;

&lt;p&gt;If you&amp;#8217;re going to GDC, please pay us a visit. We&amp;#8217;ll show you the game and give you a &lt;a href="http://blog.kalio.net/post/43889638156/game-stickers-trading-at-thirteen"&gt;sticker&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You might even get a chance to meet the beautiful &lt;strong&gt;Nina&lt;/strong&gt;!&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/9fe43fd91190f81459b97e74b29f5c31/tumblr_inline_mjwpjluohT1qz4rgp.png" alt=""/&gt;&lt;/p&gt;</description><link>http://blog.kalio.net/post/45750481204</link><guid>http://blog.kalio.net/post/45750481204</guid><pubDate>Tue, 19 Mar 2013 09:04:00 -0300</pubDate><category>ringrun</category><category>gdc</category><category>GDC2013</category></item><item><title>Maestro, strike up the band!</title><description>&lt;p&gt;&lt;img src="http://drop.kalio.net/drop/1361809508-photo_post.JPG" alt="Musica Maestro"/&gt;&lt;/p&gt;

&lt;p&gt;When the game &lt;a href="http://blog.kalio.net/post/30125054417/a-bowl-of-washers"&gt;evolved&lt;/a&gt; from a bunch of colorful chips to circus folk, so did the background music.&lt;/p&gt;

&lt;!-- more --&gt;

&lt;p&gt;For the &lt;a href="http://blog.kalio.net/post/362202321/ringrun-our-gamma-4-submission"&gt;prototype of Gamma IV&lt;/a&gt; we used a demo that &lt;a href="http://uniphonic.com/"&gt;Jacob H.&lt;/a&gt; made to show the capabilities of the Thor synth. The electric and frenetic style of the music matched the aesthetic and gameplay prototype quite well.&lt;/p&gt;

&lt;iframe src="http://player.vimeo.com/video/9096668" width="500" height="375" frameborder="0"&gt;&lt;/iframe&gt;

&lt;p&gt;But it had nothing to do with the circus aesthetic or the gameplay that evolved from it.&lt;/p&gt;

&lt;h2&gt;New music for the new game&lt;/h2&gt;

&lt;p&gt;We started our journey looking for music at some royalty free sites. We listened to different music genres and a myriad of instruments trying to find the appropriate style for the new aesthetic, but in the end it was the music from Emir Kusturica, gypsy and polkas that felt right at home.&lt;/p&gt;

&lt;p&gt;After a while we started thinking of making an original soundtrack, so we contacted a good friend of us &lt;strong&gt;Juan I. Rivero&lt;/strong&gt; (Juani). He did not have previous experience composing music for games, but he is immensely talented and has made a ton of arrangements for Uruguayan musicians. So we talked to him about the game and invited him to participate.&lt;/p&gt;

&lt;p&gt;We started commissioning just one song.  This was the e-mail:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Hi Juani,&lt;/em&gt;&lt;br/&gt;&lt;em&gt;These are the requirements:&lt;/em&gt;&lt;br/&gt;&lt;em&gt;- Background music for for the second world &amp;#8220;Strength&amp;#8221;&lt;/em&gt;&lt;br/&gt;&lt;em&gt;- Duration: 1:30 minutes, loopable&lt;/em&gt;&lt;br/&gt;&lt;em&gt;- Intro for the beginning of the level: 10 secs&lt;/em&gt;&lt;br/&gt;&lt;em&gt;- The mix must sound ok with and without headphones on an iPad.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Emotionally, the game speaks about the feelings of the artist on the night before the premiere. The stress, insecurities, the mental preparation, a desire for personal fulfillment and hope. There is no need to be sad or nostalgic.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The characters never stop, so we want to put across the concept that motion is continuous, permanent and unstoppable. This is also reinforced by the train journey and his world of cyclical and repetitive sounds.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The &amp;#8220;Strength&amp;#8221; or &amp;#8220;Force&amp;#8221; world is the most tense of the whole trip, where the use of force seems to be the only recourse. Fire, metal and the beasts are elements of this world. Competition against the other characters is central.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;First mockup&lt;/h3&gt;

&lt;p&gt;After a couple of weeks he sent us this:&lt;/p&gt;

&lt;iframe width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F80809460&amp;amp;color=ff6600&amp;amp;auto_play=false&amp;amp;show_artwork=false"&gt;&lt;/iframe&gt;

&lt;p&gt;We immediately fell in love with it.&lt;/p&gt;

&lt;p&gt;As the remaining worlds and aesthetics were defined, we asked for a theme for each one: Skill, Wisdom and Reflection.&lt;/p&gt;

&lt;h3&gt;Final background music&lt;/h3&gt;

&lt;p&gt;This is the background music for each one of the worlds (Skill, Strength, Wisdom &amp;amp; Reflection):&lt;/p&gt;

&lt;iframe width="420" height="315" src="http://www.youtube.com/embed/FXEgGeQTHX8" frameborder="0"&gt;&lt;/iframe&gt;

&lt;p&gt;As someone noticed, the first mockup was finally used in the last world: Reflection&lt;/p&gt;

&lt;h3&gt;Map&amp;#8217;s music&lt;/h3&gt;

&lt;p&gt;The map, where you select the level to play, offers a pause in the frenzy of the game, a sharp contrast with the gameplay. We asked more help from Juani and showed him the beginning of the song &lt;a href="http://www.myspace.com/organica.organica/music/songs/la-fiesta-de-los-muertos-28697685"&gt;&amp;#8220;La fiesta de los muertos&amp;#8221;&lt;/a&gt; as a reference.&lt;/p&gt;

&lt;p&gt;Here is the background music Juani made for the map:&lt;/p&gt;

&lt;iframe width="420" height="315" src="http://www.youtube.com/embed/xY0-nPs2iP8" frameborder="0"&gt;&lt;/iframe&gt;

&lt;h2&gt;Mastering and equalization&lt;/h2&gt;

&lt;p&gt;Finally we went to &lt;a href="http://www.facebook.com/estebangrille"&gt;Esteban Grille&lt;/a&gt;&amp;#8217;s studio to equalize and master all the tracks.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://drop.kalio.net/drop/1361812006-juani_esteban.jpg" alt="Esteban y Juani"/&gt;&lt;em&gt;Esteban and Juani mastering the themes&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;We spent a couple of days listening to each of the songs with iPhones, iPads and MacBooks, trying to reach a mix were all the songs sounded similar and there were no notable differences between the instruments.&lt;/p&gt;

&lt;p&gt;We hope you enjoy it and don&amp;#8217;t mute it ;)&lt;/p&gt;</description><link>http://blog.kalio.net/post/44029094814</link><guid>http://blog.kalio.net/post/44029094814</guid><pubDate>Mon, 25 Feb 2013 23:02:00 -0300</pubDate><category>history</category><category>ringrun</category></item><item><title>Game Stickers Trading at Thirteen </title><description>&lt;p&gt;&lt;img src="http://media.tumblr.com/2d11b6867a9c81190d7ec4ddd5f7ed78/tumblr_inline_miq8lbB5Qm1qz4rgp.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Because we love the idea of trading &lt;a href="http://toucharcade.com/2013/02/13/developer-psa-get-2-x-2-custom-app-icon-stickers-for-50-off-from-sticker-mule/"&gt;indie game icon stickers&lt;/a&gt; and because the number 13 is &lt;em&gt;very&lt;/em&gt; easy to remember this year, we propose the following.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Trading @ Thirteen&lt;/strong&gt;&lt;br/&gt;
Let&amp;#8217;s meet every day at our GDC Play booth K13, at 13:00 hours (that&amp;#8217;s 1PM) and trade game icon stickers!&lt;/p&gt;

&lt;p&gt;GDC Play is open Tue-Thu and our K13 booth will be right by the entrance.&lt;/p&gt;

&lt;p&gt;BTW, here&amp;#8217;s an &lt;a href="http://weheartgames.com/appstickers"&gt;amazing collection&lt;/a&gt; of app icons in the making by @weheartgames.&lt;/p&gt;</description><link>http://blog.kalio.net/post/43889638156</link><guid>http://blog.kalio.net/post/43889638156</guid><pubDate>Sun, 24 Feb 2013 10:43:00 -0300</pubDate><category>gdc2013</category><category>ringrun</category></item><item><title>Un país de playtesters</title><description>&lt;p&gt;&lt;img src="http://media.tumblr.com/de5d1ec6711e552be22d59b7f9a563c5/tumblr_inline_mheaufhGZS1qz4rgp.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Una de las mayores preocupaciones cuando se crean videojuegos es estar seguros que un juego se entienda, que el jugador pueda descubrir su mecánica y sus objetivos, y que no sea demasiado difícil ni demasiado fácil.&lt;/p&gt;

&lt;!-- more --&gt;

&lt;p&gt;Como en general son todas características subjetivas, nos ha pasado en el grupo de trabajo que hemos discutido durante días si un nivel es muy fácil o difícil sin llegar a ningún consenso. Para aclarar estas dudas, lo que suele hacerse es dárselo a jugar a personas que no han sido parte del proceso de diseño y observarlos; estas personas son las que en la jerga se llaman &lt;a href="http://en.wikipedia.org/wiki/Playtest"&gt;playtesters&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/poster-small.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;En &lt;a href="http://www.kalio.net"&gt;Kalio&lt;/a&gt;, nuestro estudio de videojuegos, estamos terminando el juego &lt;a href="http://www.ringrun.com"&gt;Ring Run Circus&lt;/a&gt; para iPad y ya estamos en la etapa final, puliendo detalles antes de publicarlo para la venta en iTunes store. Ya hemos hecho rondas de pruebas con playtesters, obviamente los primeros en sufrirnos fueron nuestros familiares y amigos más cercanos, y luego hemos abusado de la buena disposición de nuestros colegas en Uruguay.&lt;/p&gt;

&lt;p&gt;Nos gustaría tener más jugadas y poder sacar mejores estadísticas para ajustar Ring Run Circus. Es hora de expandir el círculo de jugadores: queremos proponerle a todas las personas en Uruguay que sean nuestros playtesters. Lo único que se requiere es tener un iPad y ganas de jugar.&lt;/p&gt;

&lt;p&gt;El juego está disponible &lt;strong&gt;gratis&lt;/strong&gt; solo en el &lt;a href="http://bit.ly/WzisuY"&gt;iTunes store de Uruguay&lt;/a&gt;. En unos meses estará disponible en todo el mundo a un precio a definir.
A medida que jueguen, la aplicación nos envía datos &lt;strong&gt;anónimos&lt;/strong&gt; sobre la partida (cuánto tiempo emplearon para terminar un nivel, cuáles les fue imposible ganar, etc.)&lt;/p&gt;

&lt;p&gt;Algunas empresas han hecho experiencias similares, sobre todo para ajustar su modelo de negocio, en países como &lt;a href="http://www.techvibes.com/blog/canada-as-a-test-market-bed-for-iphone-apps-2011-04-04"&gt;Canadá&lt;/a&gt; o Nueva Zelanda ya que se comportan de manera similar al mercado Norte Americano. En Uruguay hay una &lt;a href="http://www.latinbusinesschronicle.com/app/article.aspx?id=4349"&gt;alta penetración de tecnología&lt;/a&gt; y nos parece que es viable hacer este tipo de pruebas aquí, además de que la cercanía entre las personas (aquí nos conocemos todos) facilita recabar opiniones y llegar a una mayor audiencia.&lt;/p&gt;

&lt;p&gt;Creemos que la idea de Uruguay como país de playtester de juegos es interesante y queremos compartir los resultados de la experiencia con el resto de los desarrolladores. ¿Quién dice que en un futuro este pueda ser un camino válido para probar juegos desarrollados en Uruguay?&lt;/p&gt;

&lt;p&gt;Aquellos que lo jueguen pueden hacernos llegar sus comentarios a via &lt;a href="mailto:info@kalio.net"&gt;e-mail&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Sobre el juego&lt;/h2&gt;

&lt;p&gt;Ringo sueña con anillos, y en ellos Nina, Ned y Nelson son las estrellas del espectáculo. Nina es rápida y elegante, a Ned le gusta golpear todo lo que se le atraviesa y al abuelo Nelson le encanta resolver puzzles. 
En este mundo soñado de anillos interconectados, Ring Run Circus combina elementos de destreza e ingenio.&lt;/p&gt;

&lt;iframe frameborder="0" height="315" src="http://www.youtube.com/embed/vzE3Lj0WHVY" width="560"&gt;&lt;/iframe&gt;

&lt;p&gt;El juego esta estructurado en cuatro mundos. Los primeros tres están dedicados cada uno a un acróbata diferente y permiten aprender cuales son sus habilidades. En el cuarto mundo hay que cambiar de personajes durante el juego y combinar sus distintas habilidades para resolver los niveles.&lt;/p&gt;

&lt;p&gt;Ring Run Circus es el ganador de la edición 2012 del &lt;a href="http://uruguaygamer.com/?p=1115"&gt;Concurso Nacional de Videojuegos de Uruguay&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://bit.ly/WzisuY"&gt;&lt;img src="http://media.kalio.net/blog/Available_on_the_App_Store_Badge_ESLA_MX_135x40_0824.png" alt="Ring Run Circus - Gratis en el iTunes App Store de Uruguay"/&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://blog.kalio.net/post/41788851254</link><guid>http://blog.kalio.net/post/41788851254</guid><pubDate>Tue, 29 Jan 2013 13:11:00 -0300</pubDate><category>more</category><category>ringrun</category><category>games catalog</category><category>game</category></item><item><title>From 3D to sprites</title><description>&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-motoman-side-animation-composed.gif" alt="motoman side animation"/&gt;&lt;/p&gt;

&lt;p&gt;Ring Run Circus was 2D from day one, but we needed the characters to move from the inside to the outside of the rings. We worked on a handful of possible movements that would allow this, but the most clear one was to rotate along the axis of movement, as shown in the animated gif above.&lt;/p&gt;

&lt;!-- more --&gt;

&lt;p&gt;The first approach was that Juanma (the artist) drew all the frames by hand, using a reference rendering of a 3D model to keep the rotation smooth and in place.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-ned-animation-reference.gif" alt="ned 3d reference"/&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-ned-animation-by-hand.gif" alt="ned 3d reference"/&gt;&lt;/p&gt;

&lt;p&gt;This worked somehow, but it was extremely time consuming, so we tried another approach.&lt;/p&gt;

&lt;p&gt;As the size of the characters on the game screen is small and they move continuously, we could model them in 3D without too much detail, have Juanma paint them to preserve a consistent look, animate them using an armature, and then render them using as many frames and angles as needed. Below all these stages are described in detail.&lt;/p&gt;

&lt;h3&gt;Modelling&lt;/h3&gt;

&lt;p&gt;The first step was to model based on Juanma drawings from the side and front.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-magician-modelling.jpg" alt="magician modelling"/&gt;&lt;/p&gt;

&lt;p&gt;I had some experience modeling in 3D Studio Max, but Blender was completely new to me. After watching some tutorials I got a couple of techniques that worked pretty well for Blender and low-poly models.&lt;/p&gt;

&lt;p&gt;For very round and human-like heads, I started with a subdivided cube which I spherized later, cut half of it out and enabled the &lt;em&gt;mirror&lt;/em&gt; modifier. Then I started playing around, poking holes for the eyes, and extruded the ears. Below you can see the reference shape that you need to create to start sculping the actual head.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-3d-modeling-ref1.png" alt="human-like heads reference"/&gt;&lt;/p&gt;

&lt;p&gt;There is another technique that involves starting with the eyelids and extruding all the way around the head. The important nodes are marked in the following image by Ben Mathis. This technique is ideal for weird-shaped heads, like the ones we use in our game.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-3d-modeling-ref2.gif" alt="Ben Mathis head tutorial"/&gt;&lt;/p&gt;

&lt;p&gt;For the bodies I started with a basic prism, that I later subdivided leaving holes to extrude the limbs. Then it was just a matter of subdividing even more and pulling out, leaving multiple edges near the knee, elbow, waist, and all the other articulations, so the rigging works fine later.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-nina-body-mesh-raw.png" alt="nina body mesh"/&gt;&lt;/p&gt;

&lt;p&gt;For the hands I started with a prism that I subdivied to make holes to extrude thumb from one side, and the fingers (3 for our models) from the contiguous side.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-nina-hand-mesh-raw.jpg" alt="nina body mesh"/&gt;&lt;/p&gt;

&lt;p&gt;During the whole process I had also enabled the &lt;em&gt;subsurf&lt;/em&gt; modifier, that allowed me to preview the final smooth shape, while keeping the basic mesh poly count low. Check out the images below.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-nina-head-mesh-raw.jpg" alt="nina face mesh"/&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-nina-head-mesh-subsurf.jpg" alt="nina face subsurf"/&gt;&lt;/p&gt;

&lt;h3&gt;Rigging&lt;/h3&gt;

&lt;p&gt;Nothing much to say about the rigging. I used the typical armature and spent some time with the &lt;em&gt;weight painting&lt;/em&gt; mode in Blender to make sure that the mesh moved in a natural way for the final rendering sizes we needed.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-nina-rigging.jpg" alt="rigging nina"/&gt;&lt;/p&gt;

&lt;p&gt;Some models also have bones in the fingers, but most don&amp;#8217;t.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-magician-rigging-detail.png" alt="rigging magician detail"/&gt;&lt;/p&gt;

&lt;h3&gt;Painting&lt;/h3&gt;

&lt;p&gt;The painting had two stages. The first one was cloning the the drawing made by Juanma into the model texture. This gave a rough idea of the features in the drawing. The second stage was Juanma painting all the details on the mesh, in Blender.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-magician-painted1.jpg" alt="painted magician"/&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-magician-painted2.jpg" alt="painted magician detail"/&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-magician-texture.jpg" alt="painted magician texture"/&gt;&lt;/p&gt;

&lt;p&gt;It took some time to find out the perfect brush settings to give the desired rough appereance, and also paint in the shadows as we were not using any kind of lighting in the rendering step laer. The tools in Blender are great, but it&amp;#8217;s still primitive compared with the layers in Photoshop. In any case, the results were amazing.&lt;/p&gt;

&lt;h3&gt;Animation&lt;/h3&gt;

&lt;p&gt;Animating in blender is an enjoyable process as it provides a lot of control. Our characters required three or four different animations (crash, jump, punch, etc.). The most common is the &lt;em&gt;side&lt;/em&gt; animated loop. For those characters that we made a full body armature the animation was straightforward. For some models we only did partial armatures for the arms or legs, so we animated the armatures and also moved the mesh itself. I wish I&amp;#8217;ve done full body armatures for all the characters. Below you can se an example of Nina&amp;#8217;s side loop.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-nina-side-animation.gif" alt="nina side animation"/&gt;&lt;/p&gt;

&lt;p&gt;What&amp;#8217;s interesting about the side loops is that, as the character rotates in 3D, we need one animation loop for each of the angles. Below you can see one of the intermediate angles.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-nina-side-animation-03.gif" alt="nina side animation"/&gt;&lt;/p&gt;

&lt;p&gt;As we need about 8 different angles we had to automate the camera movement for the rendering process. We also had to track the registration of the sprite while it moves from the inside to the outside of the ring, meaning that the feet, skates, bike, etc. should move over the ring and the whole body displacement should look realistic. To accomplish this we had the same equation in both, the game engine and the position of the Blender camera to render sprites.&lt;/p&gt;

&lt;p&gt;We used Blender &lt;em&gt;Drivers&lt;/em&gt; to enter an equation for the camera position proportional to the rotation of the character. Below you can see the equation and how the camera moves when Nina is rotated.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-camera-driver.png" alt="camera driver"/&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-camera-driver-example.gif" alt="camera driver example"/&gt;&lt;/p&gt;

&lt;p&gt;So each character has four different animations, some of them with about 8 camera angles, for a total of about 140 frames per character.&lt;/p&gt;

&lt;h3&gt;Rendering solid and outline&lt;/h3&gt;

&lt;p&gt;The last touch was rendering the each frame with a black outline, which gives the characters a cartoonish look. As we wanted all the characters to have the same outline thickness even if we rendered at different rendering sizes, we used the fantastic &lt;em&gt;Node editor&lt;/em&gt; in Blender.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-characters-node-editor.png" alt="node editor"/&gt;&lt;/p&gt;

&lt;p&gt;There&amp;#8217;s a lot in this picture, so let&amp;#8217;s walk you through each part. On the left you have two &lt;em&gt;Render Layer&lt;/em&gt; nodes. These two render the solid and the outline rendering layers. The solid is post-processed with a kind of unsharp mask filter to make it look crisp. The outline is a little more complex because it actually renders the mesh edges, so it has a lot of noise inside the drawing. Because of this we added a few filters: a couple of color ramps to compress the colors, a blur in the middle to remove high frequency noise and a sharpen at the end to obtain a a clear outline. Below you can see the filters applied step by step.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-nina-outline.png" alt="character outline filters"/&gt;&lt;/p&gt;

&lt;h3&gt;Automating the process&lt;/h3&gt;

&lt;p&gt;As we had many characters and a lot of frames to render, we created a small script. Blender uses Python as a scripting language and allows you to manipulate everything from it (data in the scene, renderer, etc.). You can see the script below.&lt;/p&gt;

&lt;script src="https://gist.github.com/cigumo/5007370.js"&gt;&lt;/script&gt;&lt;h3&gt;Conclusion&lt;/h3&gt;

&lt;p&gt;This project gave me the opportunity to learn Blender and I&amp;#8217;m really glad for it. The first time I tried to use it, and coming from 3D Studio Max, I could not understand many of the paradigms. I had to unlearn a lot of bad habits before I started to appreciate it. The cursor was one of those things that I hated at first but once I got it, I can&amp;#8217;t understand how I lived without it.&lt;/p&gt;

&lt;p&gt;I highly recommend Blender to any indie games developer. It&amp;#8217;s flexible, extensible, powerful and covers from 3D manipulation to 2D image processing.&lt;/p&gt;</description><link>http://blog.kalio.net/post/41073965083</link><guid>http://blog.kalio.net/post/41073965083</guid><pubDate>Mon, 21 Jan 2013 00:52:00 -0300</pubDate><category>ringrun</category><category>more</category><category>art</category><category>tools</category><category>python</category><category>blender</category></item><item><title>Yet another texture atlas packer </title><description>&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-texture-atlas-willy.jpg" alt="hundreds of textures"/&gt;&lt;/p&gt;

&lt;p&gt;If you are not into game development or don&amp;#8217;t know what a &lt;a href="http://en.wikipedia.org/wiki/Texture_atlas" title="In realtime computer graphics, a texture atlas is a large image, or 'atlas' which contains many smaller sub-images, each of which is a texture for some part of a 3D object."&gt;texture atlas&lt;/a&gt; is, this post is not for you.&lt;/p&gt;

&lt;p&gt;The fact is that we have thousands of images that we need to put in texture atlas for the game to perform properly. 
&lt;!-- more --&gt;
Most of the images can be put in atlas and PVR compressed for the iOS devices, to save space. Some of them must be in their own files because tiling does not work otherwise. And others, mainly pixel-precision user interface textures, can&amp;#8217;t be compressed. This and many other details led us to write our own tool.&lt;/p&gt;

&lt;p&gt;So we start with thousands of images like this that we need to pack tightly.
&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-motoman_action.jpg" alt="willy the motoman"/&gt;&lt;/p&gt;

&lt;p&gt;The algorithm for packing the textures uses binary trees and is based on this &lt;a href="http://www.blackpawn.com/texts/lightmaps/default.html" title="Packing Ligthmaps"&gt;blackpawn&lt;/a&gt; article. I recommend reading it if you want to fully understand this post because I&amp;#8217;m going to talk only about the notable differences: transparent pixels trimming, multiple simultaneous atlas processing, and a map/reduce process that takes advantage of multicore CPUs.&lt;/p&gt;

&lt;h3&gt;Transparent pixels trimming&lt;/h3&gt;

&lt;p&gt;The characters and objects in our game have multiple states and the majority of them are animated. This means that we have hundreds of frames for each character. For multiple reasons (blender as editor among others) all frames for an object have the same dimensions. This means that they have a lot of transparent pixels because we have to leave space for the animations to fit in (A).&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/texture-atlas-geometry.jpg" alt="texture trimming"/&gt;&lt;/p&gt;

&lt;p&gt;To reduce the memory footprint the atlas are created trimming out the transparent regions. This means that some areas of the atlas that were previously transparent now have pixels from other frames.&lt;/p&gt;

&lt;p&gt;If we use the same geometry to draw the trimmed frame, it will be scaled and distorted, which is not what we want (B). If we draw the full frame, parts of other frames will appear.&lt;/p&gt;

&lt;p&gt;To solve the problem we need to modify the geometry and remove the trimmed areas. Once the frame that needs to be drawn is selected by the engine, according to the properties of the object (time in the animation, state, etc.), the engine calculates the inset from the original geometry and creates a couple of triangles with these coordinates (C), and adds them to the draw list.&lt;/p&gt;

&lt;h3&gt;Multiple simultaneous atlas processing&lt;/h3&gt;

&lt;p&gt;If you read the &lt;a href="http://www.blackpawn.com/texts/lightmaps/default.html" title="Packing Ligthmaps"&gt;blackpawn&lt;/a&gt; article you see that they always refer to a single atlas file. We have too many images so we need multiple atlas files anyway.&lt;/p&gt;

&lt;p&gt;We create a binary tree and start loading it with images. When an image does not fit, we create a second binary tree and put it there. We proceed like this, adding as many binary trees as we need, until we ran out of images.&lt;/p&gt;

&lt;h3&gt;Multicore CPU optimized&lt;/h3&gt;

&lt;p&gt;The algorithm has the following steps:&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;walk directories and find the images to process, preparing &amp;#8220;batches&amp;#8221; of them. &lt;/li&gt;
&lt;li&gt;read each image, calculate trimming and cache for later use&lt;/li&gt;
&lt;li&gt;calculate the atlas coordinates for tiling the images&lt;/li&gt;
&lt;li&gt;write the output atlas files, based on the atlas coordinates &lt;/li&gt;
&lt;li&gt;write the atlas coordinates to a json file to be used by the rendering engine&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;The first and last steps are not run in parallel because they don&amp;#8217;t take too much time. In the first step we compile the batches, which is an array of tuples containing the images that will be part of the same atlas sequence of files.&lt;/p&gt;

&lt;p&gt;The second step is heavy: reads all the images and walks them finding the transparent pixels to be trimmed off. To execute this in parallel we use the fantastic Pool object, from Python&amp;#8217;s &lt;a href="http://docs.python.org/library/multiprocessing.html"&gt;multiprocessing package&lt;/a&gt;, like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;pool = Pool(processes=number_of_cores)
img_data = pool.map(read_image_data, img_paths)  # read_image_data reads and stores the data in a global var  
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Then we proceed to calculate the tiling using the cached image data.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;atlas = pool.map(prepare_atlas, batches)  # run prepare_atlas for each batch, in parallel
atlas = reduce(lambda x,y: x+y, atlas)    # concat all the results
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The prepare_atlas function is executed for each batch, calculating the trimming, and creating the binary tree in memory. The reduce() step only concatenates the binary trees for the next step. This only works in parallel if there are many batches. This is because filling the binary tree is not that slow and making the algorithm parallel is not trivial.&lt;/p&gt;

&lt;p&gt;If you&amp;#8217;ve ever used the multiprocessing package you know that there&amp;#8217;s only one parameter to the called function. This is why each batch is a tuple, and besides the images to process also has an environment variable that contains, for example, the image data cached in the previous step.&lt;/p&gt;

&lt;p&gt;The next step is actually writing the atlas files. This is the heaviest step (more so when PVR compression is used). Again we use Pool:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;frame_locations = pool.map(write_atlas, atlas)
frame_locations = reduce(lambda x,y: dict(x.items() + y.items()), frame_locations)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Here write_atlas does all the job and then the results are concatenated for the next step which is writing the texture atlas layout to a json file.&lt;/p&gt;

&lt;p&gt;These are the benchmarks for 1500 frames, in a MacBook Pro with 4 HT cores, without PVR compressed output.&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;1 process: 119 sec&lt;/li&gt;
&lt;li&gt;4 processes: 49 sec&lt;/li&gt;
&lt;/ul&gt;&lt;h3&gt;Source code&lt;/h3&gt;

&lt;p&gt;This &lt;a href="https://gist.github.com/3668591"&gt;gist&lt;/a&gt; contains the source code in current state of the script. It&amp;#8217;s too specific for our process and the way our KGL texture loader works, but some of the implementation ideas or code can be useful for others.&lt;/p&gt;

&lt;hr&gt;</description><link>http://blog.kalio.net/post/31067884387</link><guid>http://blog.kalio.net/post/31067884387</guid><pubDate>Fri, 07 Sep 2012 15:58:00 -0300</pubDate><category>programming</category><category>opengl</category><category>texturing</category><category>python</category><category>ringrun</category><category>more</category></item><item><title>A bowl of washers</title><description>&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-bowl-of-washers.jpg" alt="bowl of washers"/&gt;&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m not sure where my (Ciro&amp;#8217;s) wife found this artifact, but it&amp;#8217;s been on our table for quite a few years. 
&lt;!-- more --&gt;
One afternoon, about 3 years ago, I was washing the dishes while thinking about Kokoromi&amp;#8217;s &lt;a href="http://www.kokoromi.org/gamma4/"&gt;Gamma 4&lt;/a&gt;, a one button game showcase that caught our attention. Suddenly I remembered feeling my fingers grabbing the bowl of washers. What could happen if I could run along those rings, switching from one to the other?&lt;/p&gt;

&lt;p&gt;It was very clear to me that there was something interesting there, something I had never seen, and that could end up being a game mechanic.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-first-notes.jpg" alt="first notes"/&gt;&lt;/p&gt;

&lt;p&gt;A few days later I started working on a JavaScript prototype; an excuse to test what the HTML Canvas object could do. Besides the washers I wanted to evoke Pac-Man and &lt;a href="http://en.wikipedia.org/wiki/Qix"&gt;Qix&lt;/a&gt;, so this first test was about cutting out the circles.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-first-concept-art.jpg" alt="first concept art"/&gt;&lt;/p&gt;

&lt;p&gt;It seems that the idea stuck. Leo and I were going to stay in Montevideo that January, so we started working as hard as we could to reach the end of the month with a playable prototype.&lt;/p&gt;

&lt;p&gt;At some point the game became playable, but it was obvious that something was missing: &lt;a href="http://www.amazon.com/Making-Prince-Persia-ebook/dp/B005WUE6Q2"&gt;Combat! Combat! Combat!&lt;/a&gt;. When we put the ability to attack other players or enemies into the game everything changed. I have this mental image of Leo and I laughing as we were trying to hit each other. It was fun! This was an important step.&lt;/p&gt;

&lt;p&gt;By the end of January all of us at Kalio were working on the game. We reached the deadline and sent RingRun to Gamma 4. We wrote a &lt;a href="http://blog.kalio.net/post/362202321/ringrun-our-gamma-4-submission"&gt;post&lt;/a&gt; about it. Even though this prototype was not selected we knew the core mechanic was worth exploring and strong enough to build a game around it.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-gamma4-gameplay.jpeg" alt="gamma4 version game play"/&gt;&lt;/p&gt;

&lt;p&gt;After a 9 months hiatus, Juanma joined our team to take care of the art. We were back on track to finish the game for Christmas 2010.&lt;/p&gt;

&lt;p&gt;After a couple of weeks Juanma had some beautiful chips to replace the ones we were using. We were trying to move towards a more inviting look. That&amp;#8217;s when the eyes appeared in the chips and all the plans went to hell.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-chip-to-man.jpg" alt="chips to people"/&gt;&lt;/p&gt;

&lt;p&gt;I remember a meeting where we discussed two paths: the chips with eyes or the circus folk. At that point it did not seem much of a difference except for the time it could take to create the art, so circus folk it was. We changed the name to Ring Run Circus.&lt;/p&gt;

&lt;p&gt;It took us a few months to understand how the new characters will move and jump from ring to ring. Many ideas were tested but all of them had the same problem: they did not flow as the Gamma 4 prototype. It took some time, but we finally found a hybrid approach that allowed us to walk the outside of the rings and also flow nicely when changing rings.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-circus-folk-concept-art.jpg" alt="circus folk"/&gt;&lt;/p&gt;

&lt;p&gt;But movement was just one thing. Now that we had characters we needed a lot more: story, matching enemies with understandable behaviors, rings and props, circus music, just to name a few. But the devil was not in the assets but in the actual language of the game.&lt;/p&gt;

&lt;p&gt;We rushed to get a demo of the game ready for &lt;a href="http://blog.kalio.net/post/6628345979/ring-run-circus-indiecade-2011"&gt;IndieCade 2011&lt;/a&gt;. It worked, and we got some interesting comments from the judges, but it was clearly not ready. By that time the game still had one button. We had a main character, a few enemies, a structure and a story.&lt;/p&gt;

&lt;p&gt;Looking back, there were two big problems with the IndieCade version: we did not understand the language of the game and there was not enough depth for the players to develop their skill.&lt;/p&gt;

&lt;p&gt;In November 2011 we attended the &lt;a href="http://expoeva.com/"&gt;EVA&lt;/a&gt; where we did a lot of play-testing. People loved the look of the game immediately, which for us was a huge step forward compared to the previous look. The game-play itself was still difficult. Understanding how to move between rings was still a mystery, and let&amp;#8217;s not talk about attacking the enemies. Also the objectives were not easy and they never understood the game was timed until they lost. These are just examples of the issues we found, which later started solving, one by one.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/ringrun-first-notes-and-maze-design.jpg" alt="first notes vs. maze design"/&gt;&lt;/p&gt;

&lt;p&gt;It took almost five months to start speaking Ringrunese fluently enough to make interesting levels. I started seeing patterns in the levels; structures that could be repeated and expanded while keeping the main concept. Combining these patterns and increasing their complexity makes challenging but approachable levels, as the players have already understood, in easier layouts, what the game is about.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.gdcvault.com/play/1015358/Small-Steps-in-the-Dark"&gt;&lt;img src="http://drop.kalio.net/drop/1336278627-ScreenShot2012-05-06at1.30.04AM.png" alt="design questions - Tim Ambrogi"/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Along this &lt;a href="http://www.gdcvault.com/play/1015358/Small-Steps-in-the-Dark" title="This process of continuous discoveries that rise even more questions was nicely put by Tim Ambrogi, from Final Form Games, in his GDC 2012 talk, where I took the graph above."&gt;iterative process&lt;/a&gt; we discovered many situations where the skill of the player could be applied to make a difference. This is how we give depth to the experience. We&amp;#8217;ll talk about this in other posts.&lt;/p&gt;

&lt;p&gt;So, to finish this post, I can tell you that we&amp;#8217;re happy with the game we have now, or better, we have a game now! There is a lot of work to do regarding the design of the levels and general polish, but I believe the game is fun, easy to play and with some depth for the most skilled players.&lt;/p&gt;

&lt;hr&gt;</description><link>http://blog.kalio.net/post/30125054417</link><guid>http://blog.kalio.net/post/30125054417</guid><pubDate>Fri, 24 Aug 2012 18:43:00 -0300</pubDate><category>game</category><category>history</category><category>ringrun</category><category>more</category></item><item><title>Ring Run Circus is coming to an iPad near you! </title><description>&lt;p&gt;&lt;img src="http://media.kalio.net/blog/ringrun/poster-small.jpg" alt="img"/&gt;&lt;/p&gt;

&lt;p&gt;For the last two years we&amp;#8217;ve been working on our next game, Ring Run Circus.&lt;/p&gt;

&lt;p&gt;It is a unique platformer - or &amp;#8220;ringformer&amp;#8221; as I like to call it - because the platforms are actually rings. It has some puzzles, but mostly feels and plays like an arcade game. The first target platform is the iPad.
&lt;!-- more --&gt;
The idea for the game came from a &lt;a href="https://www.google.com/search?q=bowl+of+washers+photo"&gt;bowl of washers&lt;/a&gt; one of us has at his home. We&amp;#8217;ll tell you the details in another post, but let&amp;#8217;s just say that it all started thinking about an original one button game to send to Kokoromi&amp;#8217;s &lt;a href="http://www.kokoromi.org/gamma4/"&gt;Gamma 4&lt;/a&gt;, in 2009. There&amp;#8217;s a &lt;a href="http://blog.kalio.net/post/362202321/ringrun-our-gamma-4-submission"&gt;post&lt;/a&gt; about that, but even if the core mechanics is still down there somewhere, and the name is the same, it&amp;#8217;s not the same game.&lt;/p&gt;

&lt;p&gt;The four of us at &lt;a href="http://blog.kalio.net/post/357566971/about"&gt;Kalio&lt;/a&gt; are working on the game design and programming, but we have two incredibly talented guys helping us.&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Juan Manuel Díaz (aka. Juanma) is in charge of the art and also takes part in the game design discussions.&lt;/li&gt;
&lt;li&gt;Juan I Rivero (aka. Juani) is composing a beautiful and original soundtrack.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;After two years of working on the game we&amp;#8217;re finally starting to understand its language. We&amp;#8217;ve made great progress &lt;a href="http://chrishecker.com/Please_Finish_Your_Game"&gt;exploring its mechanic to the depth the mechanic deserves&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I can see this mostly in how we approach level design now. The evolution went from throwing everything we had into the levels to understanding the patterns that work well with the mechanic and applying them to produce interesting challenges.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m not going to tell you when the game will ship, but I would say that the hard part is now over.&lt;/p&gt;

&lt;p&gt;This is the first post of the &lt;a href="http://blog.kalio.net/tagged/ringrun"&gt;series&lt;/a&gt;. In the next few months we&amp;#8217;ll be writing about game design, programming, art, music, playtesting. I hope we can provide you with an insight into the process and maybe even some fun.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;FOR UPDATES:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.ringrun.com"&gt;Official webpage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://twitter.com/kalio"&gt;Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.facebook.com/RingRunCircus"&gt;Facebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.google.com/spreadsheet/viewform?formkey=dHhTcXdtVTVNbHBST1dsb0lTQVpaWlE6MQ"&gt;Subscribe&lt;/a&gt; to get an e-mail when the game is out.&lt;/li&gt;
&lt;/ul&gt;</description><link>http://blog.kalio.net/post/28996549350</link><guid>http://blog.kalio.net/post/28996549350</guid><pubDate>Wed, 08 Aug 2012 16:26:00 -0300</pubDate><category>development</category><category>game</category><category>more</category><category>ringrun</category></item><item><title>Ring Run Circus</title><description>&lt;p&gt;&lt;img src="http://media.tumblr.com/038ffdf05cc33138e120cd84c17e097a/tumblr_inline_mjwpqaL2Oo1qz4rgp.png" alt="Ring Run Circus Icon"/&gt;&lt;/p&gt;

&lt;p&gt;Ringo dreams of rings, and in them Nina, Ned and Nelson are the stars of the show. In this dreamworld of connected rings, Ring Run Circus combines skill and puzzle elements.&lt;br/&gt;
Nina keeps calling it a ringformer&amp;#8230;&lt;/p&gt;

&lt;p&gt;Check out the &lt;a href="http://ringrun.com"&gt;official website&lt;/a&gt; for details.&lt;/p&gt;</description><link>http://blog.kalio.net/post/42331168802</link><guid>http://blog.kalio.net/post/42331168802</guid><pubDate>Thu, 02 Aug 2012 16:26:00 -0300</pubDate><category>games catalog</category><category>ipad</category><category>iphone</category><category>iOS</category><category>game</category><category>ringrun</category></item><item><title>TriDefense joins BecauseWeMay SALE.</title><description>&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_m4jiu6fITU1qz9b7f.png" alt="TriDefense joins BecauseWeMay"/&gt;&lt;/p&gt;

&lt;p&gt;TriDefense joins &lt;a href="http://www.becausewemay.com"&gt;BecauseWeMay&lt;/a&gt; celebrating the freedom developers should have to price their game how they like.&lt;/p&gt;

&lt;p&gt;From May 24th until June 1st. TriDefense&amp;#8217;s price will be 66% off. Tell your friends!&lt;/p&gt;

&lt;p&gt;&lt;a href="http://itunes.apple.com/app/tridefense/id321815267?mt=8"&gt;&lt;img src="http://media.tridefense.info/tumblr/App_Store_Badge_EN.png" alt="Get TriDefense from iTunes App Store"/&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://blog.kalio.net/post/23682026221</link><guid>http://blog.kalio.net/post/23682026221</guid><pubDate>Thu, 24 May 2012 15:52:16 -0300</pubDate><category>more</category><category>sale</category><category>tridefense</category><category>game</category></item><item><title>Ring Run Circus - Indiecade 2011</title><description>&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lmy6invRfm1qz9b7f.png" alt="Ring Run Circus"/&gt;&lt;/p&gt;

&lt;p&gt;Yesterday we finally submitted our Indiecade 2011 demo of Ring Run Circus, our upcoming game. 
&lt;!-- more --&gt;
This particular build is a selection of cutscenes and eight levels from world 3 (titled &amp;#8220;Strength&amp;#8221;) .The first 5 levels allow the player to discover the basic mechanics; the last 3 levels attempt to show the potential of the mechanic.&lt;/p&gt;

&lt;p&gt;For the final version of the game we plan to complete five worlds, each one with its own gameplay variations (goals, playable character, aesthetics, etc.) based on the main non-stop ring-switching mechanic.&lt;/p&gt;

&lt;p&gt;We don&amp;#8217;t have a release date yet, but now that we have settled in the core mechanic, story and structure, we&amp;#8217;ll do our best to have it ready before the end of the year.&lt;/p&gt;</description><link>http://blog.kalio.net/post/6628345979</link><guid>http://blog.kalio.net/post/6628345979</guid><pubDate>Fri, 17 Jun 2011 15:57:00 -0300</pubDate><category>ringrun</category><category>game</category><category>more</category></item><item><title>TriDefense will be free this Friday 17th Sep.</title><description>&lt;p&gt;&lt;img src="http://media.tridefense.info/tumblr/bg_mainmenu.jpg" alt="TriDefense free this friday"/&gt;&lt;/p&gt;

&lt;p&gt;In collaboration with OpenFeint&amp;#8217;s Free Game of the Day, TriDefense will be free this Friday 17th of September 2010.&lt;/p&gt;

&lt;p&gt;Don&amp;#8217;t miss this opportunity and tell your friends as well!&lt;/p&gt;

&lt;p&gt;&lt;a href="http://itunes.com/app/TriDefense"&gt;&lt;img src="http://media.tridefense.info/tumblr/App_Store_Badge_EN.png" alt="Get TriDefense from iTunes App Store"/&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://blog.kalio.net/post/1127738524</link><guid>http://blog.kalio.net/post/1127738524</guid><pubDate>Wed, 15 Sep 2010 16:52:45 -0300</pubDate><category>more</category><category>sale</category><category>tridefense</category><category>game</category></item><item><title>TriDefense2 sneak peek: two almost final images of the new...</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_l72r8x8Ktz1qamju2o1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;TriDefense2 sneak peek: two almost final images of the new rocket tower and the water enemy. Enjoy!&lt;/p&gt;</description><link>http://blog.kalio.net/post/945732199</link><guid>http://blog.kalio.net/post/945732199</guid><pubDate>Fri, 13 Aug 2010 02:00:32 -0300</pubDate><category>tridefense2</category><category>games</category></item><item><title>Ilustrador/a - arte conceptual</title><description>&lt;p&gt;Buscamos ilustrador/a para juegos iPhone y iPad. Trabajo en Montevideo, dedicación part-time y horarios flexibles.&lt;/p&gt;

&lt;p&gt;Enviar portfolio a jobs [arroba] kalio.net.&lt;/p&gt;</description><link>http://blog.kalio.net/post/867274200</link><guid>http://blog.kalio.net/post/867274200</guid><pubDate>Tue, 27 Jul 2010 16:59:00 -0300</pubDate><category>jobs</category></item><item><title>TriDefense’s 1st Birthday = SALE!</title><description>&lt;p&gt;&lt;img src="http://media.tridefense.info/tumblr/bg_mainmenu.jpg" alt="TriDefense anniversary sale"/&gt;&lt;/p&gt;

&lt;p&gt;To celebrate TriDefense&amp;#8217;s first year we&amp;#8217;re reducing the price to $0.99 (66% OFF) until the end of july.&lt;/p&gt;

&lt;p&gt;Don&amp;#8217;t miss this opportunity!&lt;/p&gt;

&lt;p&gt;&lt;a href="http://itunes.com/app/TriDefense"&gt;&lt;img src="http://media.tridefense.info/tumblr/App_Store_Badge_EN.png" alt="Get TriDefense from iTunes App Store"/&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://blog.kalio.net/post/822885633</link><guid>http://blog.kalio.net/post/822885633</guid><pubDate>Sat, 17 Jul 2010 04:43:00 -0300</pubDate><category>anniversary</category><category>game</category><category>sale</category><category>tridefense</category><category>more</category></item><item><title>Celebrating TriDefense’s 1st Birthday [MakeUseOf Giveaway]</title><description>&lt;p&gt;To celebrate TriDefense&amp;#8217;s first year, we&amp;#8217;re joining forces with makeuseof and handing out 25 promo codes!&lt;/p&gt;

&lt;p&gt;Instructions &lt;a href="http://www.makeuseof.com/tag/tridefense-giveaway-celebration/"&gt;here&lt;/a&gt;. Don&amp;#8217;t forget to tell your friends.&lt;/p&gt;</description><link>http://blog.kalio.net/post/802487517</link><guid>http://blog.kalio.net/post/802487517</guid><pubDate>Mon, 12 Jul 2010 13:17:00 -0300</pubDate><category>games</category><category>tridefense</category></item><item><title>Codename: TriDefense 2</title><description>&lt;p&gt;Almost a year after the original release of TriDefense we want to say thanks to the more than 200,000 users that downloaded and played our game. We&amp;#8217;re are really happy that our first game was so popular and loved (and hated!) by so many people. 
&lt;!-- more --&gt;
Now we&amp;#8217;re hard at work with the next release for the iPad, codename: TriDefense 2.&lt;/p&gt;

&lt;p&gt;The upcoming iPad release has two main objectives:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;amazing new graphics&lt;/li&gt;
&lt;li&gt;better level structure&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;All the models of the game are being done from scratch to take advantage of the increased resolution of the iPad. The modifiable terrain is also something we are improving, as with the original iPhone we were limited to 3 textures in order to reach an acceptable frame rate. The particles and FX are also being improved.&lt;/p&gt;

&lt;p&gt;The level structure we&amp;#8217;re planning is the original one that we had for the iPhone but for many reasons did not end up being completed. There are three phases, the first one is securing the main bases, the second focuses in attacking the enemies, and the third is taking over their bases. The difficulty curve will also be eased a little bit at the beginning, allowing for more time to learn the different strategies and reducing the frustration that we feel people are experiencing now.&lt;/p&gt;

&lt;p&gt;The core ideas of the game and the interface will not be radically changed, but we will be improving here and there, along with some surprises.&lt;/p&gt;

&lt;p&gt;If you have any ideas or suggestions, please feel free to drop by our &lt;a href="http://forums.tridefense.info/viewtopic.php?pid=78"&gt;forums&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks!&lt;/p&gt;</description><link>http://blog.kalio.net/post/722333212</link><guid>http://blog.kalio.net/post/722333212</guid><pubDate>Mon, 21 Jun 2010 13:44:00 -0300</pubDate><category>games</category><category>more</category><category>tridefense</category><category>zorganto</category></item><item><title>TriDefense is being played by the guys at Cupertino :)</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_kycq4oghFB1qamju2o1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;TriDefense is being played by the guys at Cupertino :)&lt;/p&gt;</description><link>http://blog.kalio.net/post/409168967</link><guid>http://blog.kalio.net/post/409168967</guid><pubDate>Wed, 24 Feb 2010 12:10:00 -0300</pubDate><category>review game iphone tridefense</category></item><item><title>Flash Carbon Footprint of NYTimes.com = 100 Toyota Prius </title><description>&lt;p&gt;I&amp;#8217;m sure you&amp;#8217;ve already noticed that when you enter sites that have Flash content, your notebook starts revving up the fan to cool down the CPU. Most of the time, this Flash content is just useless, blinking, scrolling things that serve the only purpose of wasting energy.
&lt;!-- more --&gt;
Well, the other day we were wondering how will this compare to the CO2 emissions of a car&amp;#8230; our rough numbers follow. This is not a thorough research, it&amp;#8217;s just a quick calculation, but we believe it communicates the general idea.&lt;/p&gt;

&lt;p&gt;The first thing we did was measuring how much energy was drained from a notebook [1] battery, while browsing the nytimes.com. Two measures were taken, one with Flash enabled and the other with a Flash block plugin.&lt;/p&gt;

&lt;p&gt;Browsing nytimes.com for ten minutes gave us these numbers:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;flash: 3.47 Wh&lt;/li&gt;
&lt;li&gt;no flash: 2.95 Wh&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;That&amp;#8217;s about 0.52Wh of difference (Flash consumption) in 10 minutes.&lt;/p&gt;

&lt;p&gt;According to alexa.com, the average daily time on nytimes.com is 4.8 minutes, so if every visitor had a a similar notebook, they will consume 0.25Wh per visit, just for Flash content.&lt;/p&gt;

&lt;p&gt;According to compete.com, the nytimes.com site has about 60 million visits monthly. Just multiplying the numbers gives about 15 MWh in a month (that&amp;#8217;s mega watt hour).&lt;/p&gt;

&lt;p&gt;According to Wikipedia [2] the amount of CO2 emmitted while generating 1kWh of energy with coal is about 1kg, so 15 MWh amount to 15,000&amp;#160;kg of CO2.&lt;/p&gt;

&lt;p&gt;To put the numbers in perspective, a new Toyota Prius [3] emits 89&amp;#160;g/km of CO2, so 15,000&amp;#160;kg of CO2 amount to 168,000&amp;#160;km. According to EPA [4], the average american drives 1600&amp;#160;km/month (1000 miles/month), so that&amp;#8217;s about what 100 Prius emit in that month.&lt;/p&gt;

&lt;p&gt;Hence, just the &lt;em&gt;Flash content in nytimes.com&lt;/em&gt;, which is mostly useless scrolling things and blinking ads, &lt;em&gt;emits the same CO2 as 100 Toyota Prius&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Footnotes and references:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;[1]: Test made on a MacBook 5,1 (Intel Core 2 Duo, 2GHz). Before each navigation, the machine was restarted and the browser cache was emptied. Tested on nytimes of 19th Feb 2010.&lt;/li&gt;
&lt;li&gt;[2]: &lt;a href="http://en.wikipedia.org/wiki/Emission_intensity"&gt;http://en.wikipedia.org/wiki/Emission_intensity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[3]: &lt;a href="http://www.toyotagb-press.co.uk/protected/vehicles/current/press_packs/prius/PriusEnvironmentalDeclaration.pdf"&gt;http://www.toyotagb-press.co.uk/protected/vehicles/current/press_packs/prius/PriusEnvironmentalDeclaration.pdf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[4]: &lt;a href="http://www.epa.gov/OMS/climate/420f05004.htm"&gt;http://www.epa.gov/OMS/climate/420f05004.htm&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;a class="DiggThisButton"&gt;(&amp;#8216;&lt;img src="http://digg.com/img/diggThisCompact.png" height="18" width="120" alt="DiggThis"/&gt;’)&lt;/a&gt;
&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;/p&gt;</description><link>http://blog.kalio.net/post/400184540</link><guid>http://blog.kalio.net/post/400184540</guid><pubDate>Sun, 21 Feb 2010 23:00:00 -0300</pubDate><category>flash</category><category>globalwarming</category><category>co2</category><category>misc</category><category>more</category></item><item><title>RingRun - The Future</title><description>&lt;p&gt;Since we&amp;#8217;ve submitted the game, we&amp;#8217;ve been hard at work porting it to the iPhone/iPad platform.&lt;/p&gt;

&lt;p&gt;One of the most interesting challenges we&amp;#8217;re working right now is making it a network game.  If you&amp;#8217;ve &lt;a href="http://blog.kalio.net/post/362202321/ringrun-our-gamma-4-submission"&gt;played&lt;/a&gt; the game you&amp;#8217;ll know that it&amp;#8217;s very fast and network latency can be critical.&lt;/p&gt;

&lt;p&gt;We&amp;#8217;ve just been told that &lt;a href="http://blog.kalio.net/tagged/ringrun"&gt;RingRun&lt;/a&gt; was not selected for Gamma 4.&lt;/p&gt;

&lt;p&gt;Well.. back to work!&lt;/p&gt;</description><link>http://blog.kalio.net/post/403345450</link><guid>http://blog.kalio.net/post/403345450</guid><pubDate>Sat, 20 Feb 2010 22:00:00 -0300</pubDate><category>more</category><category>ringrun</category><category>game</category></item></channel></rss>
