Postmortem

A colleague and myself sat down Monday after work and decided to make a game using pyglet. Neither of us had ever used the library before, and it probably shows in our code! I am seasoned veteran of pygame, and I doubt I will ever go back to pygame, as pyglet, despite it's rough edges, is already better. A third colleague joined us on Tuesday, and we had a few more hours on Thursday night to work on it. So we got a lot done for the very small amount of time we could spend on it.

Things I like about our game:
- it's "complete" (if basic and short), there's a full level from start to boss (it only takes about three minutes to play)
- the graphics - I think it is the best looking game in pyweek 6!
- it's expandability - it should be easy to add levels to make it a big, real, game. Especially a volcano/lava level
- the AI on the enemy tanks ... we were aiming for early 90s arcade adventure and I think the enemy tanks really capture that feeling.

What I don't like:
- We had to strip out a lot of ideas, including
* transforming your robots into tank and helicopter and battleship
* air strikes
* bridges + water
* NPCs items you could blow up (eg huts)
- the bugs - pyglet memory leak, the boss doesn't fire bullets from his other canons
- lack of menu + save + highscores (always the first things to go)

There we go, my postmortem on Robot Supremacy!

(log in to comment)

Comments

Hello, I'm glad you like pyglet. I'd love to hear what the "rough edges" are (I'm not suggesting they're not there! I'd just like to know what you prioritise). What memory leak(s) have you found (and not reported)?
* A bug that appeared on some linux machines and not others involving font colours. On my home machine (ubuntu feisty) colour(1.0, 1.0, 0, 1.0) drew yellow text as expected but on the work machine (ubuntu gutsy) made the whole screen yellow ... almost as if it had overlayed the entire screen with a yellow filter. The same effect also happened with purple text. We tried various combinations of colours and always the same.

* A bug with memory leaking, about 2mb a second. Others have reported it with text but I don't think ours was ... it was when we were adding bullet sprites (and yes we were removing them from our bullet list when they went off screen).

* collision detection was non-existent

* I wrote a sprite library for pygame that I really missed. Maybe will try doing a new version for pyglet
Cool, thanks. I've fixed the text colour bug in r1999. The memory leak was the same as that reported earlier with text: you are recreating a font.Text for every frame in ScoreMarker.draw(). This is pretty inefficient, but unfortunately was also exacerbating the resource leak. It's been fixed in an earlier revision.

As for collision detection: I'm hoping some modules will become available as other people such as yourself find the need...

I really enjoyed your game by the way, especially playing with the robot formations.