Standalone Mac version added

The Mac .app listed as a separate download should not require anything extra to be installed now. Please contact me if this is not the case - I don't have a test machine available.

Update: One confirmed test. Should be good to go.

(log in to comment)

Comments

Hmm, it didn't open on my Macbook because

'2008-09-14 18:56:55.759 run_game[15305] A Python runtime could be located. You may need to install a framework build of Python, or edit the PyRuntimeLocations array in this application's Info.plist file.'

My python runtime is in

/System/Library/Frameworks/Python.framework/Versions/Current

And the app (well, the Info.plist at least) assumes it's in

/System/Library/Frameworks/Python.framework/Versions/2.5/Python

I don't know if it's an error, though, because I remember I tweaked my Python installation in the past and I might have moved my 2.5 folder to somewhere else and symlinked to it or something, but I'm on Tiger and I'm pretty sure that the 'Current' folder is present on all Macs regardless of version number. Anyway, just brought it up to let you know.
I suck at this game. But when I lose all my gunners, this happens:

Traceback (most recent call last):
  File "run_game.py", line 3, in 
    main.main()
  File "/Users/admin/Desktop/BungieChopper-0.52b/gamelib/main.py", line 143, in main
    pyglet.app.run()
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/pyglet/app/__init__.py", line 264, in run
    EventLoop().run()
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/pyglet/app/carbon.py", line 84, in run
    self._timer_proc(timer, None, False)
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/pyglet/app/carbon.py", line 133, in _timer_proc
    sleep_time = self.idle()
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/pyglet/app/__init__.py", line 187, in idle
    dt = clock.tick(True)
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/pyglet/clock.py", line 692, in tick
    return _default.tick(poll)
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/pyglet/clock.py", line 295, in tick
    item.func(delta_t, *item.args, **item.kwargs)
  File "/Users/admin/Desktop/BungieChopper-0.52b/gamelib/util/fixedsteploop.py", line 33, in _tick
    self.update_function(self.step) 
  File "/Users/admin/Desktop/BungieChopper-0.52b/gamelib/main.py", line 75, in update
    self.game.update(dt) 
  File "/Users/admin/Desktop/BungieChopper-0.52b/gamelib/game.py", line 215, in update
    self.gunner.update(TIME_STEP_SQ, self.keys)
  File "/Users/admin/Desktop/BungieChopper-0.52b/gamelib/gunner.py", line 56, in update
    if self.y 
I suck at this game. But when I lose all my gunners, this happens:

Traceback (most recent call last):
  File "run_game.py", line 3, in 
    main.main()
  File "/Users/admin/Desktop/BungieChopper-0.52b/gamelib/main.py", line 143, in main
    pyglet.app.run()
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/pyglet/app/__init__.py", line 264, in run
    EventLoop().run()
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/pyglet/app/carbon.py", line 84, in run
    self._timer_proc(timer, None, False)
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/pyglet/app/carbon.py", line 133, in _timer_proc
    sleep_time = self.idle()
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/pyglet/app/__init__.py", line 187, in idle
    dt = clock.tick(True)
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/pyglet/clock.py", line 692, in tick
    return _default.tick(poll)
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/pyglet/clock.py", line 295, in tick
    item.func(delta_t, *item.args, **item.kwargs)
  File "/Users/admin/Desktop/BungieChopper-0.52b/gamelib/util/fixedsteploop.py", line 33, in _tick
    self.update_function(self.step) 
  File "/Users/admin/Desktop/BungieChopper-0.52b/gamelib/main.py", line 75, in update
    self.game.update(dt) 
  File "/Users/admin/Desktop/BungieChopper-0.52b/gamelib/game.py", line 215, in update
    self.gunner.update(TIME_STEP_SQ, self.keys)
  File "/Users/admin/Desktop/BungieChopper-0.52b/gamelib/gunner.py", line 56, in update
    if self.y 
Could you do me a favor and see if setting use_pythonpath to true in Info.plist fixes your problem? I didn't do anything weird with py2app - as far as I know, that is its default value. I am looking into ways to fix this.
I got it to run.

At first I tried changing the entry in Info.plist that the error message refers to, but that didn't help.

Then I found that in the Contents/MacOSX folder of the package, there is a symlink called 'python' that was pointing to a particular version of Python in /System, which I didn't have. Changing it to point to my own installation of 2.5 worked.

Penguin wrote:
I'm on Tiger and I'm pretty sure that the 'Current' folder is present on all Macs regardless of version number.

Yes, but it's just a symlink to the default version. On Tiger that's 2.3, so it might not work anyway if you changed it to use 'Current'.

This is an inherent problem with using py2app to build a package that uses the system Python -- not all Macs have the same version of Python as the system Python.

Sorry folks, but when I run this game I get a Segmentation Fault. This is on Ubuntu Gutsy with pyglet 1.1.1 under Python 2.5.2 and AVBin version 6.