of planes and birds...

As usual, I'm typing up the post for our entry as alia packs together our final build right near the deadline! We're getting better and setting good goals for ourselves, but our eyes are still a little to big for our stomach.

Hopefully you find Birdstrike fun, even though it's a little rough around the edges! Instructions are in there, but basically you control a flock of birds that is fed up with all the humans around. Sacrifice your birds by hitting planes, or get a big enough flock to scare planes off course. Try to crash the planes into the towns to win the game!

The game looks and works best in it's windowed form but there is a full screen toggle if you want it, in the settings menu and on command+F (mac) or ctrl+F (PC).

We had an awesome acheivements system all ready to go too, but ran out of time getting the core level playable.

Please let us know what you think, or if you have any problems running it!

smatts/NaN

(log in to comment)

Comments

interesting game... - but it hanged somehow on MacOS-X

i also tried to run the .app content on Linux (since i found no sources for Linux otherwise):
guest@p4:/mnt/sda1/trabalhos/pygame/recolhas/pyweek/09/_rascunhos/nan_birdstrike/NaN_BirdStrike_pyweek9.app/Contents/Resources$ python NaN_BirdStrike_pyweek9.py
error: could not find source directory
guest@p4:/mnt/sda1/trabalhos/pygame/recolhas/pyweek/09/_rascunhos/nan_birdstrike/NaN_BirdStrike_pyweek9.app/Contents/Resources$

The source is HERE
thanks!
but i'm having the same 'could not find source directory' error there - weird... :(
do someone can help? (i'm on Ubuntu Linux)

pyguest@p4:/mnt/sda1/trabalhos/pygame/recolhas/pyweek/09/_rascunhos/nan_birdstri_pyweek9-devel-source$ python run_game.py
error: could not find source directory
guest@p4:/mnt/sda1/trabalhos/pygame/recolhas/pyweek/09/_rascunhos/nan_birdstrike_pyweek9-devel-source$
I get the same on Zenwalk Linux - I see in the run_game.py that you are trying to import/insert a path called "src" but this path is not included in the game zip you linked above :/ (I'm just wildly guessing what it could be, I'm just an artist after all..)
That was me - my laptop but Serval forgot to log off XD
another reason why pyweek message board needs an edit/delete button... (@Richard, at least we are two voting for this fix! ;) )
ill package it by hand and put a link up
Here it is (try two)

Sorry about that - i guess i should have tested the package too.... :( bad alia.
hrm - still does not work... the following is printed into the console:

False
Traceback (most recent call last):
File "run_game.py", line 188, in
run()
File "run_game.py", line 168, in run
import main
File "src/main.py", line 28, in
from menu_main import MainMenu
File "src/menu_main.py", line 13, in
from screen_instructions import InstructionsLayer
File "src/screen_instructions.py", line 9, in
from world import World
File "src/world.py", line 17, in
from flock import Flock
File "src/flock.py", line 2, in
from bird import Bird
File "src/bird.py", line 8, in
from splode import Blood
File "src/splode.py", line 23, in
from lepton import Particle, ParticleGroup, default_system
File "/home/zahme/Desktop/NaN_BirdStrike/lepton/__init__.py", line 6, in
from group import ParticleGroup
ImportError: /home/zahme/Desktop/NaN_BirdStrike/lepton/group.so: invalid ELF header

:/
about 'source - try two' on Ubuntu Linux:

guest@p4:/mnt/sda1/trabalhos/pygame/recolhas/pyweek/09/_rascunhos/NaN_BirdStrike$ python run_game.py False
Traceback (most recent call last):
  File "run_game.py", line 188, in <module>
    run()
  File "run_game.py", line 168, in run
    import main
  File "src/main.py", line 28, in <module>
    from menu_main  import MainMenu
  File "src/menu_main.py", line 13, in <module>
    from screen_instructions import InstructionsLayer
  File "src/screen_instructions.py", line 9, in <module>
    from world import World
  File "src/world.py", line 17, in <module>
    from flock import Flock
  File "src/flock.py", line 2, in <module>
    from bird import Bird
  File "src/bird.py", line 8, in <module>
    from splode import  Blood
  File "src/splode.py", line 23, in <module>
    from lepton import Particle, ParticleGroup, default_system
  File "/mnt/sda1/trabalhos/pygame/recolhas/pyweek/09/_rascunhos/NaN_BirdStrike/lepton/__init__.py", line 6, in <module>
    from group import ParticleGroup
ImportError: /mnt/sda1/trabalhos/pygame/recolhas/pyweek/09/_rascunhos/NaN_BirdStrike/lepton/group.so: invalid ELF header
guest@p4:/mnt/sda1/trabalhos/pygame/recolhas/pyweek/09/_rascunhos/NaN_BirdStrike$
Okeydoke - so linux fail... I will see if i can get lepton built for linux. Thanks for trying!
you're welcome! =)
and sorry about the joke i posted as award - i really couldn't resist! ;)
Haha! its totally awesome!
=D
Hazza! I downloaded and installed Ubuntu just for you all, you can get a working copy here: HERE
Doesn't work for me on MacOSX:

Traceback (most recent call last):
  File "/Local/Build/Pythonic/python/2.5/Modules/_ctypes/callbacks.c", line 206, in 'calling callback function'
    result = PyObject_CallObject(callable, arglist);
  File "/Local/Games/Python/PyWeek9/NaN_BirdStrike/pyglet/window/carbon/__init__.py", line 1113, in _on_mouse_up
    self.dispatch_event('on_mouse_release', x, y, button, modifiers)
  File "/Local/Games/Python/PyWeek9/NaN_BirdStrike/pyglet/window/__init__.py", line 1219, in dispatch_event
    EventDispatcher.dispatch_event(self, *args)
  File "/Local/Games/Python/PyWeek9/NaN_BirdStrike/pyglet/event.py", line 343, in dispatch_event
    self._raise_dispatch_exception(event_type, args, handler)
  File "/Local/Games/Python/PyWeek9/NaN_BirdStrike/pyglet/event.py", line 340, in dispatch_event
    if handler(*args):
  File "src/screen_instructions.py", line 52, in on_mouse_release
    self.next_page()
  File "src/screen_instructions.py", line 62, in next_page
    director.replace( FadeTransition( self.get_game() , 2, self) )
  File "src/screen_instructions.py", line 72, in get_game
    world = World("mini.yaml")
  File "src/world.py", line 48, in __init__
    tile_file = self.cfg.world["level_tiles"])
  File "src/level_background.py", line 41, in __init__
    self.level_data = self.LoadLevelDataFromImage(data_file)
  File "src/level_background.py", line 150, in LoadLevelDataFromImage
    row.append(pix[x,height-1-y])
TypeError: 'NoneType' object is unsubscriptable
@gcewing: Try that osx build
It's all right, it was because I was using too old a version of PIL. Got it working now. Although it's very hard to play, because the frame rate gets slower and slower over time. I gave up when it got down to about 1fps.
oh well, pants - i was trying to use numpy for my flocking but i didnt figure it out.. Im going to try just for fun though cause it should be possible to make something like the GPU flocking demos.

cheers,

A.
I don't think it's because numpy is too slow -- if it carried on at the same speed it starts out at, it would be all right. But it slows down over time, as though some data structure is getting bigger with every frame.
Gotcha. I shall investigate! :)
Yup its definitely the flocking. With 60 or so birds im getting nearly 70% of the update time spent inside the flock update loop, for pyggy ill have to replace it with something more scalable. Or at least some rules to keep the order down.

Hopefully I can get the numpy version working :)
I tried the windows build of your game.. it started of in full screen (weird resolution.. ) but once i toggled it to windowed mode it was fine. Saw some weird bugs like the gunners moving above the ground... but over all the experience was pretty good. Nice game
Thanks, yeah the little fellas have a bug in the path they are supposed to follow :( One of the many[many] bugs to squish. Thanks for the feedback.
Yatta! Totally awesome success! I have managed to re-impliment the flocking in numpy.. woot for speed over my pyweek implimentation! Pyggy comp here I come!

:)