Automágica: durante 2017 estoy trabajando bastante en Automágica, mi software para editar libros: Más información - Posts relacionados

El juego más votado de PyWeek 7!

Así como lo leyeron, mi humilde participación (de diez horas de código) en esta competencia fue el juego más votado (incluyendo a los juegos presentados por equipos). No me subí al podio, ni estuve en el top ten como me hubiese gustado, pero tengo el agrado de que 48 de mis pares se hayan tomado el trabajo de bajar mi juego, probarlo y votarlo.

En PyWeek solo aquellos que presentan juegos pueden votar. Básicamente se votan 3 características: Diversión, Producción e Innovación. Adicionalmente, al votar se puede dejar un comentario. Dejo aquí alguno de los comentarios que recibí:

Fun: 3 Prod: 3 Inno: 4

That was quite fun. It was a nice touch to put photographs of writings in paper and photos from your trip (probably took less time, even :)). The idea is fairly simple, but it is fun and it is a nice way to use the theme. The number of levels was just right to enjoy the concept well and the challenge was good for a person who doesn't have a music-oriented ear. The photos are nice to look at, too. Well done.

Fun: 2 Prod: 3 Inno: 4

Found it quite difficult and a little boring, although a novel idea, I liked the hand drawn(on paper) stuff... and it's particularly impressive for 10 hours :)

Fun: 3 Prod: 5 Inno: 4

Hilarious game -- the menus were hard to read, but the way you did them was fantastic. Comprehensive help, I never really got lost trying to play the game. It was a lot of fun to play around with, and I was able to beat the whole thing. Nice job on the game -- especially for one done so quickly! You set a small scope and did fantastically with what you had -- well done!

Fun: 3 Prod: 3 Inno: 4

For such a simple game it works pretty well. Randomly generating some tunes could have created some replayability. As it is, it does challenge the brain!

Gracias!


Qué aprendí este PyWeek

Acaba de terminar la sexta edición de PyWeek.

Algo que me gusta mucho de esta competencia es que además de ser votado por tus pares, podés recibir comentarios de ellos. De los 48 comentarios que nos dejaron (el juego más votado tuvo 49 votos) resumo:

    <li><strong>Hard to play:</strong> casi todos se quejaban o al menos comentaban que les resultó difícil de jugar el juego, al menos al principio. Nos recomendaban que el primer nivel nivel sea más fácil, esto ayuda al jugador a no frustrarse.</li>
    
    <li><strong>Volver a empezar:</strong> muchos también se quejaron de que una vez que perdías tenías que volver a empezar. Otro punto para evitar la frustración de nuestros queridos jugadores.</li>
    
    <li><strong>Consistencia:</strong> si todo el juego es basado en mouse, el menú también podría haberlo sido :)</li>
    
    <li><strong>Otras críticas menores:</strong> pocos niveles, más robots.</li>
    
    <li><strong>Excelente artwork:</strong> tanto los gráficos como la música fueron muy aclamados. Gracias César, David y Pablo por hacernos ver como estrellas de rock ;-)</li>
    

    Espero que en la próxima tengamos estas cosas presentas para nuestro plan de acción :D ...y que tengamos plan de acción ;-)

    PS: en otro orden de noticias, salimos 6tos.


    PyWeek 6

    El sábado pasado entregamos nuestro juego para la sexta competencia de programación de juegos en Python PyWeek. El nombre se debe a que el juego debe ser desarrollado integramente en una semana :)

    Ya participamos el año pasado con un juego llamado Twisted Zombie. Una particularidad del certamen es que los juegos deben respetar un tema. El tema de cada concurso es votado por los participantes de entre una lista de 5 temas posibles y es rebelado la misma noche que comienza la competencia (9 pm en Argentina).

    El tema de este año fue robot y, como el año pasado, no habíamos pensado ninguna buena idea para este :( Pero a no desesperar, siempre tenemos un as bajo la manga!

    Pedro's Robot Factory

    La Historia

    Pedro es un hombre modesto. Un día, leyó un libro escrito por Isaac Asimov y empezó a soñar con robots (Robot Dreams). Tiempo más tarde, Pedro invirtió su dinero en una fábrica de robots llamada Pedro's Robot Factory (por su puesto) y vos sos su robotcista (Sorry). Pedro desarrrolló el modelo "Cabeza de embudo" (Funnelhead)... y vos debés construirlo. Pedro es un jefe demandante y nivel tras nivel, mientras la empresa progresa, deberás ser más rápido.

    Qué lo disfrutes!

    Cómo jugar

    Ayudá a Pedro a construir sus robots!

    1. click izquierdo para agarrar o soltar piezas.
    2. Scrol para arriba y para abajo o las teclas A/D para rotar la pieza agarrada.
    3. Tecla P para pausar el juego.
    4. Tecla F para pasar a modo fullscreen.
    5. Las piezas especiales te dan puntos extra!

    Trivia:

    1. También podés usar las teclas A y Z para rotar la pieza agarrada, o la barra espaciadora.
    2. Hay un huevo de pascua en el nivel 2.
    3. Si completás los tres niveles podrás ver el Happy Dance :)

    Paquetes

    En GNU/Linux simplemente bajá http://media.pyweek.org/dl/6/pysfe/robotfactory-1.zip y con Python y PyGame instalado ejecutá run_game.py

    En Windows podés hacer lo mismo que en GNU/Linux o bajar un paquete autocontenido con el juego, Python y las librerías necesarias: http://pyweek6.googlecode.com/files/robotfactory-sc-win.zip

    Screenshots

    Level 2

    Nivel 2 del juego en Windows Vista. Ejecutado desde el paquete autocontenido.

    Pedro’s Robot Factory Help at Windows Vista

    Mi rostro adornando el menú del juego.

    Level 1

    En el nivel 1 vemos a un pedro engrasado y desaliñeado. Ubuntu.

    Otro nivel..

    En el segundo nivel Pedro empieza a vestirse mejor. Para ver el tercer nivel vas a tener que jugar un rato :)


    Twisted Zombie en UpToDown

    Ayer recibí por email:

    Nos alegra comunicarle que Twisted Zombie ha sido incluido en el listado de programas de uptodown.com.

    Nuestros editores prueban y redactan un detallado análisis de cada aplicación, publicando aquellas que consideramos relevantes y a las que procuramos una adecuada visibilidad con un tráfico segmentado de más de 300.000 usuarios únicos día.

    Si entran a este sitio web se puede leer:

    Eras un muerto feliz, pero un mago oscuro te sacó de tu letargo y te convirtió en zombie para pasar a engrosar su ejército de muertos vivientes. Sin embargo, uno de sus aprendices decidió devolverte a tu tumba para no ser utilizado con fines malignos. Ésto ha generado un conflicto entre ellos, y ahora tú intentarás sacar partido de todo esto para volver a la vida. Ésta es la historia de Twisted Zombie, un juego arcade donde tendremos una curiosa manera de avanzar entre niveles. Nuestra misión es acoplarnos a los moldes que nos encontremos a lo largo del nivel. Nos encontraremos también varias pociones según avancemos. Las rojas nos quitarán vida. El resto... tendrás que descubrirlo tú mismo. Si quieres pasar un buen rato con un juego como los de antes, te gustará probar Twisted Zombie.

    Un aplauso para el Zombie!

     


    Nos subimos al podio de PyWeek 5!!

    En vísperas de un examen final y esperando encontrar a mi mamá en el departamento (pasó de visita luego de un curso todo el día en Paraná) llegué a mi casa esta noche a las 20:55. Mientras subía las escaleras recibí un mensajito:

    Avisen los resultados, estoy en un casorio.

    Diego Levental

    Y ahí lo recordé: hoy sábado a las 21 hs (Argentina) estaban los resultados de la competencia PyWeek 5.

    Entonces encendí mi computadora y entré al canal de chat de #pyweek, anunciaban que faltaba 1 minuto para que estén los resultados. Apunté mi navegador a la página del evento y me quedé unos momento apretando el botón de recargar.

    Luego aparecieron los resultados. Estábamos en tercer lugar (Yupiii!!). Los resultados puede verse aquí. Y estos son los resultados de nuestro Twisted Zombie.

    Si el viernes anterior a que empieza la competencia, cuando me anotaba para participar y empezaba a convocar a mis amigos para formar un equipo, me hubiesen dicho que lograríamos ese resultado no lo habría creído de seguro. Pero la semana de trabajo paso, fue productiva, nos divertimos, aprendimos y el sábado que entregamos nuestro juego estuvimos satisfechos con el trabajo realizado.

    Creo que no me equivoco al decir que superamos nuestro objetivo.

    Muchas gracias a todo el equipo:

    • Manu
    • Mariano
    • César
    • Diego
    • David
    • y Seba

    Muchas gracias también a todos los que probaron el juego y nos dieron sus comentarios.

    Felicitaciones a todos (más de 50) los otros equipos e individuales que participaron del concurso. Son los que le dan sentido al mismo. En especial, felicitaciones a los equipos argentinos que siempre dejan huella. Y gracias por incentivarlos a participar!

    PS: Ho! llegaste a este blog por alguna misteriosa razón y no sabés de que estoy hablando? No dejes de jugar Twisted Zombie!


    Twisted Zombie para Windows

    Twisted Zombie, el juego que desarrollamos en una semana para la quinta edición del concurso PyWeek ya funciona en Windows. Está escrito en Python, un lenguaje multiplataforma, y hemos tenido en cuenta algunas consideraciones para que funcione sin problemas en distintos sistemas operativos. Incluso lo hemos probado en un par.

    Pero para usarlo en Windows necesitás tener instalado Python y Pygame.

    El siguiente es un paquete con todo lo necesario para correr el juego si necesidad de instalar nada más: Twisted-Zombie-1-Win.zip

    Este es el código fuente del archivo setup.py que utilicé para crear el paquete:

    # setup.py es usado para generar un paquete autocontenido
    
    # para Windows. Incluye el interprete de Python, PyGame
    
    # y otros modulos utilizados en el juego.
    
    # Uso: C:Python25python.exe stup.py py2exe
    
    # Version de py2exe: 0.66
    
    # Nota: en run_game.pyw cambiar os.path.dirname(__file__)
    
    # por la ruta al directorio donde esten los fuentes del
    
    # juego. Ej: 'C:tz'
    
    
    
    from distutils.core import setup
    
    import py2exe
    
    import os
    
    
    
    options = {
    
        "py2exe": {
    
            #"compressed": 1,
    
            #"optimize": 2,
    
            #"excludes": excludes,
    
            "includes": ["pygame", "pygame.locals", "random", "pickle"],
    
        }
    
    }
    
    
    
    data_files = [ (x, [os.path.join(x, e) for e in z]) for d in ("lib", "data")
    
                   for x,y,z in os.walk(d) if not ".svn" in x ] + [ "README.txt"]
    
    
    
    setup( console=["run_game.pyw"], data_files=data_files, options=options)