I’m really surprised at how quickly I’ve been able to implement my ideas for Monochrome. Pymunk is turning out to be a very powerful physics engine. I can move things much more naturally than than with pygame.rect.center which is a pretty dirty way to move things. Rather, I have the Rect object of the pygame stuff follow the pymunk object of the player.
Although the video looks pretty much like the teaser there were some important changes. In the teaser I was controlling the Painter (the ship, more on that another time) with the mouse. Now it is controlled by ASWD and the Spacebar. Also, I was previously running things at 60fps but after switching to using full keyboard the fps would tip by 10 or so. I figured 60 frames per second was overkill for a 2D game like this anyways and it just doubles the number of calculations occurring each frame, which to run smoothly in pygame I’ll need to cut out any and all unnecessary calculations. Everything seems to work just fine now. As a side note pygame is updating at 30fps but the pymunk physics spaces are actually updating at 180/30fps, 6 times as fast. This was the only way I could get things to look natural. Without this, the asteroids would skip a few pixels every few seconds for some reason. It shouldn’t hinder the game speed since the underlying physics engine of pymunk, Chipmunk, is written in C.
One of the advantages of using this type of color scheme is that less is more. A big part of the game is a feeling of isolation and I think the inverted colors accomplish that really well. I am still not feeling like the animated space-dust in the background synthesizes enough depth, but it’s getting there.