{"id":345,"date":"2008-04-05T21:33:17","date_gmt":"2008-04-06T00:33:17","guid":{"rendered":"http:\/\/www.ceportela.com.ar\/2008\/04\/05\/pedros-robot-factory\/"},"modified":"2008-04-05T21:33:17","modified_gmt":"2008-04-06T00:33:17","slug":"pedros-robot-factory","status":"publish","type":"post","link":"https:\/\/www.ceportela.juanjoconti.com\/?p=345","title":{"rendered":"Pedro&#8217;s Robot Factory"},"content":{"rendered":"<p>Nuestro juego para esta nueva edici\u00f3n de la Pyweek, la n\u00famero 6, ya est\u00e1 listo y en menos de una semana hemos concluido con la tit\u00e1nica tarea y generado m\u00e1s de 2800 l\u00edneas de c\u00f3digo y bastantes gr\u00e1ficos. Ahora hemos entregado al mundo una nueva pieza de entretenimiento. Algo que volver\u00e1 locas a las masas: \u201cla f\u00e1brica de robot de Pedro\u201d \ud83d\ude00<br \/>\n<a href=\"http:\/\/www.ceportela.com.ar\/wp-content\/uploads\/2008\/04\/ourrobot.jpg\" title=\"nuestro robot\" target=\"_blank\"><\/a><\/p>\n<p style=\"text-align: center\"><a href=\"http:\/\/www.ceportela.com.ar\/wp-content\/uploads\/2008\/04\/ourrobot.jpg\" title=\"nuestro robot\" target=\"_blank\"><img decoding=\"async\" src=\"http:\/\/www.ceportela.com.ar\/wp-content\/uploads\/2008\/04\/ourrobot.thumbnail.jpg\" alt=\"nuestro robot\" border=\"0\" \/><\/a><\/p>\n<p><a href=\"http:\/\/www.ceportela.com.ar\/wp-content\/uploads\/2008\/04\/ourrobot.jpg\" title=\"nuestro robot\" target=\"_blank\"><!--more--><br \/>\n<\/a><br \/>\nLa <a href=\"http:\/\/pyweek.org\/\" target=\"_blank\">Pyweek<\/a> es una competencia bianual cuyo objetivo es desarrollar un juego en siete d\u00edas, construido utilizando el lenguaje de programaci\u00f3n <a href=\"http:\/\/www.python.org\/\" target=\"_blank\">Python<\/a>. Y por segunda vez, cumplimos con el objetivo.<\/p>\n<p><strong>La idea<\/strong><\/p>\n<p>Al principio pens\u00e9 que la est\u00e9tica del juego ser\u00eda para ni\u00f1os y con esa onda dibuj\u00e9 al robotito y posteriormente un taller que casi lo calqu\u00e9 de otro lado, a\u00f1adiendo y quitando elementos (el taller original: <a href=\"http:\/\/www.tareas-ya.com\/web_anterior\/www\/images\/berol\/sep02_TALLER_b.jpg\" target=\"_blank\">http:\/\/www.tareas-ya.com\/web_anterior\/www\/images\/berol\/sep02_TALLER_b.jpg<\/a>). El embudo fue inspiraci\u00f3n de \u00faltimo momento y gracias al Mago de Oz.<br \/>\n<center><\/p>\n<table>\n<tr>\n<td align=\"center\" valign=\"top\"><a href=\"http:\/\/www.ceportela.com.ar\/wp-content\/uploads\/2008\/04\/robotito02.jpg\" target=\"_blank\" title=\"robotito\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.ceportela.com.ar\/wp-content\/uploads\/2008\/04\/robotito02.jpg\" alt=\"robotito\" border=\"0\" height=\"206\" width=\"308\" \/><\/a><\/td>\n<td align=\"center\" valign=\"top\"><a href=\"http:\/\/www.ceportela.com.ar\/wp-content\/uploads\/2008\/04\/taller1.png\" target=\"_blank\" title=\"taller\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.ceportela.com.ar\/wp-content\/uploads\/2008\/04\/taller1.thumbnail.png\" alt=\"taller\" border=\"0\" height=\"146\" width=\"202\" \/><\/a><\/td>\n<\/tr>\n<\/table>\n<p><\/center><br \/>\nPero la idea de hacer un juego infantil no prendi\u00f3 y evolucion\u00f3, tambi\u00e9n en virtud del trabajo gr\u00e1fico de los dise\u00f1adores. Por suerte no incluimos otros robot que se destruyeran entre s\u00ed y misiles al vuelo \u2013 como alguno sugiri\u00f3 \u2013 porque sino esto se habr\u00eda convertido en un \u201cba\u00f1o de aceite\u201d. As\u00ed que lo \u00fanico que sobrevivi\u00f3 fue mi triste robot \u201cfunnelhead\u201d (\u201ccabeza de embudo\u201d), como lo bautiz\u00f3 Alecu.<\/p>\n<p>La idea es ir tomando de un conjunto de piezas que van apareciendo, aquellas que sean las correctas para armar un robot. Estas piezas pueden ser rotadas para que encajen en el robot pero no podemos retenerlas mucho tiempo porque sino nos queman las manos. Tambi\u00e9n tenemos un tiempo para armar el robot y las piezas van cayendo en cualquier orden, en cualquier trayectoria&#8230; y a veces es complicado capturarlas. Hay piezas bonus (que me llevaron m\u00e1s tiempo dibujarlas que el mismo robot) y estas aparecen ocasionalmente.<\/p>\n<p>El objetivo es armar el robot, discriminando entre las piezas correctas e incorrectas y as\u00ed pasar al siguiente nivel. Tambi\u00e9n vemos como la empresa de \u201cPedro\u201d va progresando y como debemos atender mayores pedidos, debemos ser m\u00e1s r\u00e1pidos en armar el robot. Pero por un error de dise\u00f1o de Pedro, es un inexperto, las piezas llegan m\u00e1s sueltas en niveles superiores y entonces&#8230; hay que intentar entregar a tiempo los pedidos.<\/p>\n<p><strong>El equipo<\/strong><\/p>\n<p>Algunos ya ven\u00edamos de la Pyweek 5 del a\u00f1o pasado, del equipo <a href=\"http:\/\/www.ceportela.com.ar\/2007\/09\/09\/pyweek5-7-pythonescos-dias\/\" target=\"_blank\">7 Zombies<\/a> y en donde nuestro juego <a href=\"http:\/\/www.ceportela.com.ar\/2007\/09\/22\/and-the-winner-is\/\" target=\"_blank\">Twisted Zombie<\/a> qued\u00f3 en el modesto tercer lugar (nada mal por ser nuestra primera vez).<\/p>\n<p>Los veteranos \u00e9ramos:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.juanjoconti.com.ar\/\" target=\"_blank\"> Juanjo Conti<\/a>, programador<\/li>\n<li> Mariano Gal\u00e1n, programador<\/li>\n<li><a href=\"http:\/\/pipes.yahoo.com\/pipes\/pipe.info?_id=lP8f3hnf3BGlYcsNj0nRlg\" target=\"_blank\"> David Capello<\/a>, m\u00fasico y programador<\/li>\n<li> C\u00e9sar Portela (yo mismo), programador y dise\u00f1ador gr\u00e1fico (modesto)<\/li>\n<li><a href=\"http:\/\/humitos.wordpress.com\/\" target=\"_blank\"> Manuel Kaufmann<\/a>, programador<\/li>\n<\/ul>\n<p>Pero tambi\u00e9n hubo algunos novatos:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.pedroprez.com.ar\/home\/\" target=\"_blank\"> Pedro Prez<\/a>, programador y dise\u00f1ador gr\u00e1fico (\u00a1retoc\u00f3 las fotograf\u00edas!)<\/li>\n<li> Gustavo Bellino, programador<\/li>\n<li> Pablo Mart\u00ednez, dise\u00f1ador gr\u00e1fico<\/li>\n<li><a href=\"http:\/\/gheize.wordpress.com\/\" target=\"_blank\"> Guillermo Heizenreder<\/a>, programador<\/li>\n<\/ul>\n<p>Y la colaboraci\u00f3n de Maxi Peralta con un dibujo. De los novatos, creo que Guillermo era el \u00fanico con experiencia en Python.<\/p>\n<p><strong>Algunos detalles del juego<\/strong><\/p>\n<p>Hasta el mi\u00e9rcoles no ten\u00edamos ni una idea de c\u00f3mo llamarlo. <em>Crazy Robot<\/em>, <em>Puzzle Robot<\/em>&#8230;. fue Pablo quien sugiri\u00f3 algo as\u00ed como <em>\u201cla f\u00e1brica de robot de \u201c<\/em> y que us\u00e1ramos un nombre latino como el propietario. Y entonces se lanz\u00f3 a la mesa el nombre <em>\u201cPedro\u201d<\/em> y ese qued\u00f3. Que uno de los desarrolladores se llamara Pedro fue s\u00f3lo una coincidencia. \ud83d\ude42<\/p>\n<p>La historia reci\u00e9n la escribimos en la madrugada del s\u00e1bado (hoy) y desde el principio, tanto Juanjo como yo, tuvimos la idea de que <em>Asimov<\/em> deb\u00eda participar (si alguien cree que somos fans de ese autor, no se equivoca \ud83d\ude09 ).<\/p>\n<p>El men\u00fa tiene una opci\u00f3n en donde se puede apreciar como baila el robot. Pero para verlo hay que ganar los tres niveles&#8230;. o editar el c\u00f3digo. Adem\u00e1s, el nivel 2 tiene un huevo de pascua. Idea irreverente de Mariano, nada extra\u00f1o. Hay que hallarlo \ud83d\ude00<\/p>\n<p><strong>\u00bfC\u00f3mo trabajamos?<\/strong><\/p>\n<p>El domingo pasado nos reunimos en mi departamento para ponernos de acuerdo. Pero esto lo coment\u00e9 en mi otro <a href=\"http:\/\/www.ceportela.com.ar\/2008\/03\/30\/pyweek-6-el-primer-dia\/\" target=\"_blank\">post<\/a>.<\/p>\n<p>Al d\u00eda siguiente, lunes por la tarde, con Juanjo estuvimos en mi departamento trabajando, mientras otros segu\u00edan haci\u00e9ndolo en forma online. El paro docente de ese d\u00eda ayud\u00f3 a algunos a dedicarle m\u00e1s tiempo al juego. El martes cada cual le dedic\u00f3 el tiempo que pudo y el mi\u00e9rcoles feriado tuvimos nuestra segunda gran reuni\u00f3n presencial, con el equipo completo, en casa de Juanjo. Desde las 10 hasta las 20 hs, aproximadamente.<\/p>\n<p><a href=\"http:\/\/www.ceportela.com.ar\/wp-content\/uploads\/2008\/04\/casajuanjo01.jpg\" title=\"casa juanjo 01\" target=\"_blank\"><img decoding=\"async\" src=\"http:\/\/www.ceportela.com.ar\/wp-content\/uploads\/2008\/04\/casajuanjo01.jpg\" alt=\"casa juanjo 01\" border=\"0\" width=\"500\" \/><\/a><\/p>\n<p>Adem\u00e1s de vernos las caras :-D, ten\u00edamos un canal de chat, una lista de correo, el messenger y gracias a Google Code, trabaj\u00e1bamos usando control de versiones (SVN). Elaboramos una lista de tareas y repartimos responsabilidades. Lista que fue utilizada m\u00e1s bien como gu\u00eda, ya que por ah\u00ed nos solapamos en algunas tareas, lo que cre\u00f3 alg\u00fan que otro conflicto.<\/p>\n<p><a href=\"http:\/\/www.ceportela.com.ar\/wp-content\/uploads\/2008\/04\/casajuanjo02.jpg\" title=\"casa juanjo 02\" target=\"_blank\"><img decoding=\"async\" src=\"http:\/\/www.ceportela.com.ar\/wp-content\/uploads\/2008\/04\/casajuanjo02.jpg\" alt=\"casa juanjo 02\" border=\"0\" width=\"500\" \/><\/a><\/p>\n<p><a href=\"http:\/\/www.ceportela.com.ar\/wp-content\/uploads\/2008\/04\/casajuanjo03.jpg\" title=\"casa juanjo 03\" target=\"_blank\"><img decoding=\"async\" src=\"http:\/\/www.ceportela.com.ar\/wp-content\/uploads\/2008\/04\/casajuanjo03.jpg\" alt=\"casa juanjo 03\" border=\"0\" width=\"500\" \/><\/a><\/p>\n<p>El jueves se reunieron Mariano y Juanjo, en casa de este \u00faltimo, mientras otros trabaj\u00e1bamos conectados y comunic\u00e1ndonos por messenger o irc (y ocasionalmente mensajitos de textos).<\/p>\n<p>Y finalmente el viernes por la tarde nos reunimos en el departamento de Manuel, casi todo el equipo \u2013 David y Pablo trabajaban conectados\u2013 e hicimos una trasnochada: desde las 6 de la tarde del viernes a las 9 del s\u00e1bado, sin parar (excepto algunos que se tomaron algunos minutos, o m\u00e1s como en el caso de &#8230;. vean la fotos \ud83d\ude42 ).<\/p>\n<p><a href=\"http:\/\/www.ceportela.com.ar\/wp-content\/uploads\/2008\/04\/casamanuel01.jpg\" title=\"casa manuel 1\" target=\"_blank\"><img decoding=\"async\" src=\"http:\/\/www.ceportela.com.ar\/wp-content\/uploads\/2008\/04\/casamanuel01.jpg\" alt=\"casa manuel 1\" border=\"0\" width=\"500\" \/><\/a><\/p>\n<p><a href=\"http:\/\/www.ceportela.com.ar\/wp-content\/uploads\/2008\/04\/casamanuel02.jpg\" title=\"casa manuel 2\" target=\"_blank\"><img decoding=\"async\" src=\"http:\/\/www.ceportela.com.ar\/wp-content\/uploads\/2008\/04\/casamanuel02.jpg\" alt=\"casa manuel 1\" border=\"0\" width=\"500\" \/><\/a><\/p>\n<p><a href=\"http:\/\/www.ceportela.com.ar\/wp-content\/uploads\/2008\/04\/casamanuel03.jpg\" title=\"casa manuel 3\" target=\"_blank\"><img decoding=\"async\" src=\"http:\/\/www.ceportela.com.ar\/wp-content\/uploads\/2008\/04\/casamanuel03.jpg\" alt=\"casa manuel 1\" border=\"0\" width=\"500\" \/><\/a><\/p>\n<p><a href=\"http:\/\/www.ceportela.com.ar\/wp-content\/uploads\/2008\/04\/casamanuel04.jpg\" title=\"casa manuel 4\" target=\"_blank\"><img decoding=\"async\" src=\"http:\/\/www.ceportela.com.ar\/wp-content\/uploads\/2008\/04\/casamanuel04.jpg\" alt=\"casa manuel 4 width=\" border=\"0\" width=\"500\" \/><\/a><\/p>\n<p>Y hoy s\u00e1bado, una vez separados, algunos segu\u00edan haciendo algunos retoques. Con Juanjo lo retocamos desde las 16 a las 17, y a\u00f1adimos las \u00faltimas im\u00e1genes de Pablo. David corrigi\u00f3 la forma de cargar la m\u00fasica en el programa. Guillermo limpi\u00f3 algo de c\u00f3digo. Otros debuguearon errores y seguimos probando el juego hasta poco antes de entregarlo, con el c\u00f3digo bastante limpio de errores (por lo menos, los que pudimos darnos cuenta).<\/p>\n<p>Eso s\u00ed, el c\u00f3digo no es elegante. Hay muchos estilos de programaci\u00f3n mezclados, muchas l\u00edneas comentadas que quedaron. Algunos nombran las variables de una forma, otros de otra&#8230;. algunos litros de cerveza. Un desastre, pero en siete d\u00edas tenemos un producto terminado y listo para usar. \u00a1Qu\u00e9 menos se puede esperar? Eso s\u00ed: la cerveza y el debugging van de la mano \ud83d\ude42<\/p>\n<p><center><\/p>\n<table>\n<tr>\n<td align=\"center\" valign=\"top\"><img decoding=\"async\" src=\"http:\/\/www.ceportela.com.ar\/wp-content\/uploads\/2008\/04\/cervezamadrugada1.jpg\" alt=\"cerveza 1\" border=\"0\" width=\"250\" \/><\/td>\n<td align=\"center\" valign=\"top\"><img decoding=\"async\" src=\"http:\/\/www.ceportela.com.ar\/wp-content\/uploads\/2008\/04\/cervezamadrugada2.jpg\" alt=\"cerveza 2 y debuggeando\" border=\"0\" width=\"250\" \/><\/td>\n<\/tr>\n<\/table>\n<p><\/center>Y as\u00ed hemos entregado el juego. A las 18:30 termin\u00f3 de subir al servidor de Pyweek y ahora pueden bajarlo de all\u00ed para probarlo: <a href=\"http:\/\/media.pyweek.org\/dl\/6\/pysfe\/robotfactory-1.zip\" target=\"_blank\">http:\/\/media.pyweek.org\/dl\/6\/pysfe\/robotfactory-1.zip<\/a> o ir a la web de desarrollo en Google Code: <a href=\"http:\/\/code.google.com\/p\/pyweek6\/\" target=\"_blank\">http:\/\/code.google.com\/p\/pyweek6\/<\/a><\/p>\n<p>Bueno&#8230; ahora hay que esperar la votaci\u00f3n. \u00a1Qu\u00e9 gane el mejor!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nuestro juego para esta nueva edici\u00f3n de la Pyweek, la n\u00famero 6, ya est\u00e1 listo y en menos de una semana hemos concluido con la tit\u00e1nica tarea y generado m\u00e1s de 2800 l\u00edneas de c\u00f3digo y bastantes gr\u00e1ficos. Ahora hemos &hellip; <a href=\"https:\/\/www.ceportela.juanjoconti.com\/?p=345\">Sigue leyendo <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-345","post","type-post","status-publish","format-standard","hentry","category-informatica"],"_links":{"self":[{"href":"https:\/\/www.ceportela.juanjoconti.com\/index.php?rest_route=\/wp\/v2\/posts\/345","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ceportela.juanjoconti.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ceportela.juanjoconti.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ceportela.juanjoconti.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ceportela.juanjoconti.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=345"}],"version-history":[{"count":0,"href":"https:\/\/www.ceportela.juanjoconti.com\/index.php?rest_route=\/wp\/v2\/posts\/345\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ceportela.juanjoconti.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=345"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ceportela.juanjoconti.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=345"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ceportela.juanjoconti.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=345"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}