LAWN:TFTG Postmortem
After getting home I did some more testing, this time on a Mac and luckily there are no serious issues. It appears that some of my PNGs have incorrect color space settings that caused a discoloration on the Mac. This is now fixed in the very final 1.01 release that now also has a Mac disk image build (py2app) for convenience.
Download Terror From The Green 1.01.dmg (for Macs)
A summary of my experience as a last diary entry for now:
How did my first PyWeek go?
The game ended up a mix of a tactical X-COM-style game and a puzzler. A good amount of the fun in tactical games comes from estimating hazards and chances (will I be able to hit that alien? will there be more of them?) but since there are no gunfights here, this source of fun is about halved (there is still a combination of random and hearing-based movement on the opponents' part and on hard mode you have limited vision), but in its place puzzle mechanics appeared. The interactions are not governed by chance as much as in a shootout, so you can calculate many steps in advance and solve a few tricky levels that explore the many possible interactions between the creatures and items of the yard.
The development had a steady pace. I crossed off the last "must have" features from the to-do list Friday night. I feel I did not spend enough time pondering the design nor playtesting, so I having little idea if the game is actually fun. I will rely on your votes to tell! On the positive side graphics and sound creation was a lot of fun, and coding was a breeze. I don't get all this talk about refactoring. That sounds like something you do when the project is already a year old. I barely ever deleted a line!
The community aspects of the contest were a pleasant surprise. I was attracted by the game making, but seeing other works in progress and the variety of approaches was an experience in itself. I will try to get a team together for PyWeek 9!
(log in to comment) Hey, I'm having a little trouble running the game on OS X 10.5.6. It starts up okay, and I can view the credits (great song, by the way), options, and quit. But when I pick New Game or Continue Game, I get an error and it doesn't work:
I had the same problem with the Mac DMG. Well, I didn't see the error message, but it didn't work.
Anyway it's just mipmap generation -- if you can bare with slightly worse texture filtering, you could change the sprite() function in my code to have mipmap=False as the default argument (it is mipmap=True now). I hope this will help, thanks for trying!
Comments
Traceback (most recent call last):
File "_ctypes/callbacks.c", line 295, in 'calling callback function'
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/pyglet/window/carbon/__init__.py", line 1113, in _on_mouse_up
self.dispatch_event('on_mouse_release', x, y, button, modifiers)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/pyglet/window/__init__.py", line 1217, in dispatch_event
EventDispatcher.dispatch_event(self, *args)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/pyglet/event.py", line 340, in dispatch_event
if handler(*args):
File "/Users/teacher/pyweek8/lawn-tftg-1.01-final/gamelib/main.py", line 60, in on_mouse_release
self.phase.on_mouse_release( x, y, button, modifiers )
File "/Users/teacher/pyweek8/lawn-tftg-1.01-final/gamelib/main.py", line 2172, in on_mouse_release
self.handle( l.text )
File "/Users/teacher/pyweek8/lawn-tftg-1.01-final/gamelib/main.py", line 2177, in handle
self.game.setphase( Transition( self.game, self, Base( self.game ) ) )
File "/Users/teacher/pyweek8/lawn-tftg-1.01-final/gamelib/main.py", line 203, in __init__
self.crew = [sprite( '%s-%d-portrait.png'%(c.gender.replace( 'boy', 'child' ), c.kind) ) for c in self.world.crew]
File "/Users/teacher/pyweek8/lawn-tftg-1.01-final/gamelib/main.py", line 330, in sprite
return pyglet.sprite.Sprite( imgcache[imgname], batch = batch )
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/pyglet/sprite.py", line 225, in __init__
self._texture = img.get_texture()
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/pyglet/image/__init__.py", line 831, in get_mipmapped_texture
raise NotImplementedError('TODO: gluBuild2DMipmaps')
NotImplementedError: TODO: gluBuild2DMipmaps
richard on 2009/05/03 22:20:
Great stuff, I'm looking forward to trying your game out!