Final submission uploaded, time to report.

Well, not a game really, just another toy. In this one you fly around on a feather, trying not to fall into the water.

"Feather" wasn't an easy theme for me. I spent three days in search of some vision that would drive me ahead. In the end, I was hesitating between doing a straightforward adventure game, and exploring feather-riding idea suggested to me by a friend. I picked the latter, and then real trouble began.

This time I used PyODE to take care of basic physics, it is very handy when you need to keep track of forces, torques and movement in 3D. Another great package is pyeuclid, which provides one with most basic 3D math required. And of course pygame, the one and only. I also must mention the "Scene" pattern I picked up from cocos2d, very easy and powerful way to control the top-level state of the game program.

In the end, "Flight" turned out better than I have expected: handling and flight characteristics got a lot better after careful tuning. I didn't finish the story, but my lack of creative skills is to be blamed here. Even now I have a very vague idea how story should develop. Otherwise it is pretty complete, with nice music, not so nice graphics and sound effects.

(log in to comment)

Comments

i don't know if i'm doing something wrong:

guest@p4:/mnt/sda1/trabalhos/pygame/recolhas/pyweek/09/pyweek_9_all_torrent/23_latitude4/23_latitude4_flight1v0v2$ python run_game.py
Traceback (most recent call last):
  File "run_game.py", line 3, in <module>
    from flightgame.scenemanager import run
  File "/mnt/sda1/trabalhos/pygame/recolhas/pyweek/09/pyweek_9_all_torrent/23_latitude4/23_latitude4_flight1v0v2/flightgame/scenemanager.py", line 7, in <module>
    import scenes, config, sounds
  File "/mnt/sda1/trabalhos/pygame/recolhas/pyweek/09/pyweek_9_all_torrent/23_latitude4/23_latitude4_flight1v0v2/flightgame/scenes.py", line 7, in <module>
    import flyer, world, quest, questmanager, gui, config
  File "/mnt/sda1/trabalhos/pygame/recolhas/pyweek/09/pyweek_9_all_torrent/23_latitude4/23_latitude4_flight1v0v2/flightgame/world.py", line 248
    as = Area.area_size
     ^
SyntaxError: invalid syntax
guest@p4:/mnt/sda1/trabalhos/pygame/recolhas/pyweek/09/pyweek_9_all_torrent/23_latitude4/23_latitude4_flight1v0v2$
You have to play with Python 2.5 to fix this, as the "as" keyword is reserved in Python 2.6
or replace the 'as' variable name in the whole code?
yes, that would fix it too...
I could have sworn 'as' was a reserved word in Python in 2.4/2.5 as well ... it used to trip me up when I tried to use the functional programming idiom of naming the variable holding the first item of a list 'a' and the remainder of the list 'as'.
It's not reserved in 2.5, but you do get a warning if you use it as a variable name. Maybe that's what you're remembering?

Python 2.5 (r25:51908, Apr  8 2007, 22:22:18)
[GCC 3.3 20030304 (Apple Computer, Inc. build 1809)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> as = 42
<stdin>:1: Warning: 'as' will become a reserved keyword in Python 2.6
Anyone have a pointer to a pyODE for windows and python 2.6 ?
In sourceforge there is an installer for 2.5, but it refuses to install in 2.6
Python had 'import X as Y' functionality for ages now, but 'as' was not a reserved keyword up until 2.6, seems that the new 'with ... as ...' statement is to blame.

This is some quite unexpected source of bugs, guess I'll have to keep track of novelties in python after all.
Bugger. On OS X 10.6 with Python 2.5:

Found game data at data
Fatal Python error: (pygame parachute) Bus Error
It's quite strange. Are other pygame/pyopengl games working with py2.5? (robo-solo's game Chickenstein uses it too.)

The only way I ever managed to crash pygame this way was calling opengl routines without creating an opengl first context. But that should not be the problem here.
I know pyglet games work (including pygame+pyglet in one instance), but I couldn't say for sure whether any of the ones I've played are pygame+pyopengl.