pyweek 6: día uno
He robot comienza a tener sus primeras líneas de código. En el primer día de trabajo estabilizamos la arquitectura, asignamos las tareas, y comenzamos a trabajar en cada módulo.
Faltan: 6 días, 0 Horas, 31 minutos
Es el tiempo que falta al momento de escribir esta entrada de blog. Dada la importancia del primer día de trabajo y aprovechando que es domingo, nos reunimos físicamente en menttes. La reunión comenzo a las 15:30 con una breve charla sobre las user stories del juego. Luego de una hora y media de conversaciones decidimos implementar un subconjunto mínimo compuesto de:
- Fondo estático - (usamos como modelo double dragon)
- Robots y humanos moviendose,
- Dispara robot quita vida, disparas a un humano suma plata
- Soporte de High scores
(records)
- Niveles: 3
- Dificultad: se mueven mas rapido a medida que avanza
- Se acaba el tiempo
- Fin del juego: imagen del juego congelado, la razon porque perdiste y puntaje obtenido
- Sonido disparo
- Menu: juego nuevo, ver records, salir, creditos, ver introduccion
- Introduccion
- Dispararar a robots te penaliza
- Disparar a humanos te da dinero
Y por ahora dejamos pendiente algunas ideas mas complejas:
- Se rompen objetos del fondo: vidrieras
- Camuflaje
de las personas con los robtos + panel a la Lemmings: panel con
elementos: señuelo, perro y otras cosas que te permiten identificar
quien es humano, quien no.
- Le arrojan objetos a la persona que tiene el arma y penaliza
- Tenes cantidad de balas finitas -> economia
- Score subible a un sitio
- Fin de juego con una imagen apropiada a la razon del final y de ahi vuelve al menu
Otros de los avances fueron almecenamiento de los records, implementación de robot y humanos, etc. Para ver todo el código al final del día hacer:
$svn co -r 10 http://herobot.googlecode.com/svn
Escribiendo el código
Algunos recursos que usamos durante el día de hoy:
- Pathological
Un juego escrito en python con pygame, estamos viendo el código fuente y siguiendolo como ejemplo. -
Using Sprites in Pygame
Es un tutorial autocontenido con ejemplos muy claros de como usar Sprites -
BeerBaron
El juego en el que participe en la cuarta edición de pyweek - Pep 08: Guía de estilo de código Python
Gran parte del día trabajamos en convenciones del diseño, módulos y código. Además de esto, tener a mano el pep08 siempre ayuda.
Los plazos estrictos nos fuerzan a buscar modos de trabajar concurrentementes y tolerantes a integración rápida. Por esto, cuando comenzamos con cada una de las clases, usamos un esqueleto que contiene un main como baston, por ejemplo en el Board comienzo con:
"""Game brackground """ import sys import getopt class Board: def __init__(self, game, pos): pass # metodo baston def main(): # ver http://www.sacredchao.net/~piman/writing/sprite-tutorial.shtml import pygame from pygame.locals import * pygame.init() boxes = [] screen = pygame.display.set_mode([800, 600]) pygame.display.update() while pygame.event.poll().type != KEYDOWN: pygame.time.delay(10) if __name__ == "__main__": main()
De este modo, cada uno de los desarrolladores, nuestro equipo, Palangana and Torus tience cerca de diez, puede ir probando visualmente la clase que le toca desarrollar y en main escribe como debe ser usado el módulu. Cuando integremos pensamos en mover las variables globales a atributos de clases y las llamadas a función al loop global por ejemplo.
