all games, minibugs, minitips

Hello, people !
After sleep and relaxing a lot I begun to try the entries ; lot to apreciate for what I can see.

Here are a list of problems, tips and workarounds for the game entries.

Update:
the list of tips know problems and workarounds is mostly in the same order that in the entries page, but the very firsts are out of order.
If you are looking for a specific game, pull your browser 'search this page' dialog, fill in the file name, as seen in the entries page, go. Use the name for the source release if more than one file released.
That must move to the desired game.
/Update

I remember in pyweek 6 there was a wiki for anotate and consult workarounds and problems about the games. There is something for that purpose this time ?
If theres nothing specific, may I sugest postings in that line include both the game name and the string 'tip7' ? That way using the search one can get at the info.

tip7

bug:
gilvsthedevil-1.0.tar.gz , team 0AI - Artificial Ineptitude : must copy contents of dir data/fx one level up, and in sound.py change all 'fx/zzzz' to 'zzzz' else will froze. Example: 'fx/astroboy.ogg' -> 'astroboy.ogg'. That in winXp at least.

not a bug:
tsunami-1.01.tar.gz , team Days of Tsunami: Substring racers : (other tips in http://www.pyweek.org/d/2141/#comment-4501 ) - Out of the box needs python 2.5, as stated in the readme, but can run in python 2.4 with only changes 'class xxx()' -> 'class xxx(object)' ; there are maybe ten of this.

bug:
allefant7-1.0.zip , team allefant7 : crashes in winXp, python 2.4.3 . Traceback:
...
File "D:\pygames\pyweek7\allefant7-1.0\gamelib\mesh.py", line 61, in getf
def getf(f): return struct.unpack(" struct.error: unpack str size does not match format
Also I see that load_meshes() opens the file without explicit 'rb'. That will break in windows?

not a bug, and maybe a quirk:
Gondola-1.0.2-src.zip , team Arctic Paint : it depends on Rabbit, wich in windows turns to depend heavily on python 2.5 (for windows theres no rabbyt for 2.4). There are Rabbit linux packages both for 2.4 and 2.5. So if you have windows + 2.4, dowload the binary release of the game, wich will run ok
The binary works, but you cant change screen resolution. The layout make me wonder if I was seeing all the buttons -> the authors tells that build and connect are the only ones buttons, so it is fully playable

not a bug:
game_final.zip , team Ascension : (updated) In windows the game will crash with spurius traceback. Fix: rename string.py to _string.py, then adjust the code in concordance. Not too much replaces, but no global replaces due modules uses also local variables named string.
For python 2.4, you must do a small adjust, look below the related post from dmoisset.

tip and not a bug:
abg5.zip , team Awesome Block Game 5: Quadrangles of fury. : look at http://www.pyweek.org/d/2178/#comment-4562 for an brief guide about how to play. If you are on pyhton 2.4, look some messages down for a compatibility fix.

not a bug:
Crazy_Atropos-1.01.zip , team Awesome Team of Amazing Batness : will crash with pygame 1.8.1, runs ok with 1.7.1 . Authors have posted a workaround in:
http://www.pyweek.org/d/2154/

not a bug:
cleanse-final.zip ,team bodiddlie : crashes with pygame 1.7.1 , does run with pygame 1.8.1

not a bug:
StreetSurf-0.4.zip , team boiserm : does not run with python 2.4 : uses pymunk witch have strong dependency with python 2,5 ( functools )->the trick of using the Ohio pymunk stops the pymunk complain, but then squirtle (included) will want some element tree parts that are std in 2.5 but not in the older package for 2.4

bug:
bootlace-23-56.zip , team bootlace : giving 'return' at the menu not displayed the board; issuing 'ESC' the board will briefilly show, then it will go to main menu. Fix: in main.py change to:
flags = 0 # pygame.DOUBLEBUF|pygame.HWSURFACE

not a bug:
heartfeltnightsong-final-3.zip , team Camel walrus studios : needs python 2.5 for defaultdict. If in windows + 2.4, you can try the windows binary that will work, see http://www.pyweek.org/d/2177/ for a link

not a bug:
yoyobrawl1.1.tar.gz , team Canaraberican : wont run out of the box with python 2.4, but is easy to fix : comment out the 'finally:' line in data.py and dedent one level the following line, wich reads 'fp.close()'.

not a bug, and wich pyOpenGL:
littlest_goddess_src_1.0.2.zip ,team Cine-Science Logic : will crash with older pyOpenGl versions, like 2.0.2.01; authors sugest using the latest, PyOpenGL 3.0.0b3d. --> Tried the current in sourceforge (PyOpenGL-3.0.0b6.zip) ,It works.
Needs massage to run with python 2.4, deleted import of module cProfile (from python 2.5) was imported but not used, some conditional asigns ; import of util changed to import of gamelib.util. Also remember that pyOpenGL 3+ need aditional package ctypes. --> finaly runs.

not a bug:
snake_rpg_final.zip , team Dussigned By Cats : if you are on python 2.4 the std pymunk will crash (by using functools) but it will run if you copy under gamelib the pymunk dir of Monkey_In_a_Tangle-1.0-1.zip, the entry of Ohio State U

not a bug:
f_and_a2.zip , team Forrest and Andrew : will not run with python 2.4 out of the box. Dont know if it will be easy to do, after two conditional assigns I found:
self.selected = min((x for x in self.objects if x.selectable), key=lambda x:(x.pos-pos).mag())
wich I dont know how to translate.

not a bug:
BungieChopper-0.52b.zip , team iDG United : will not run out of the box with python 2.4, but it needs only four or five changes 'class xxx()' -> 'class xxx(object)'

bug:
kiko.zip kiko-pyweek.zip , team mutant lightning dog : in linux and mac, the game runs too slow. ( a bad selection of time service ). Zero|Byte tested this workaround for me, reported goes to normal velocity.
Workaround: in kiko/base.py replace, near the begin of file
the line:
time_service = time.clock
by
time_service = time.time

tip:
Monkey_In_a_Tangle-1.0-1.zip , team Ohio State U. Game Creation Club : when you atach an object to the chain ('c') the chain will detach from the player, you need to reatach ('z'). You will need the double jump: jump and then jump again, before reaching the top of 1st jump

not a bug:
garbage-collector-1.0a.zip ,team Mindless Labs : works fine in my 3year machine but a post from the authors mentions a slowdown with certain integrated Intel graphics plus Linux.

not a bug:
NaN7-0.6.zip , team Not a Ninja Number Seven : (updated) to run with python 2.4, aply the demoisset tip for partial (see other message below), and do about four changes from class xxx(): to class xxx(object):. Needs pyglet 1.1.1 , pyopengl 3.0.0b5,numpy , pyBox2d 2.0.1b4, as stated in the readme (see there the links).

not a bug:
pyweek.zip , team onlyone : crash with pygame 1.7.1, does run with 1.8.1

not a bug:
zombie_string_game-1.2.zip , team pics 4 faith : does not run out of the box with python 2.4, but it needs only about half dozen
class xxx() -> class xxx(object)

not a bug:
plectrum-infinitum-final.zip ,team Plectrum Infinitum : It starts with a blank screen, it will not show nothing until you click on the screen.

not a bug:
TimmysWeirdAdventures.zip , team PyTeam : for python 2.4 you need to copy the pymunk dir of Monkey_In_a_Tangle-1.0-1.zip, the entry of Ohio State U, into the gamedir , and edit run_game.py removing the two try - exception ,ie let import and run go naked.

not a bug:
solo_solo-so_long-1.0-final.tar.gz , team Solo Solo : the included pymunk will crash with python 2.4, but you can replace the dir pymunk ( into the game dir) with the one included in the Ohio State U team entry, then it will run.

not a bug:
digby-marshmallow-1.0-repackaged-source.zip ,team Super Effective 7 : will not run with python 2.4 due to a squirtle dependency on 2.5

tip:
final_cut-1.0.zip , team Tamnoh : at start you get a black screen, need a mouse click to continue.

not a bug:
twinerama-1.0.zip , team Team Fiery Biscuits : will crash with pyOde 1.1.0 ( in windows at least). With the current version, 1.2.0 , doenst crash.

not a bug:
ants-0.1.zip , team Team Periware : will not work out of the box with python 2.4 but is easy to adapt: edit ui.py ,commenting out the two imports at top and the last function, including the decorator. Then in main.py add a definition for 'all', like showed in another comment in this thread.

keyboard compatibility bug:
regex_express-1.3.zip , team Team R.E.X. : in keyboards where '^' is a dead key you cannot type '^' (spanish kbd is one, probably other europeans). You can modify func onKeyHit in ui.py to use convert other character, like '#', to '^'

not a bug:
xkcd-threads-of-fate-1.0.zip , team Team XKCD : will not run with python 2.4 due to dependency on 2.5. Can be made compatible conditionally defining 'any' and using the package elementtree from effbot

not a bug:
strlen-src-1.0-final.tar.gz , team The Tackers : will not run out of the box with python 2.4 due to changes in logging module, but its easy to fix:
in main.py
change 'import logging.config' to 'import logging'
change the line 'logging.config....' to
'logging.basicConfig(filename=constants.LOG_CONFIG_FILE)'

compatibility problem in windows:
who-slides-wins-0.5.zip , team Who slides wins! :
update :authors posted a link to patched for windows version, see
http://www.pyweek.org/d/2185/#comment-4623
it worked for me.
original report:
for me it crashed with:
old = signal.signal(signal.SIGALRM, self.handle_timeout)
AttributeError: 'module' object has no attribute 'SIGALRM'
I dont know if it is a windows-linux compat or a python 2.4 vs 2.5(I am on windows and 2.4)

not a bug:
BungeeManager_and_pyglet.zip , team Wood & Wolf : does not run out off the box with python 2.4 , but five or six changes class xxx() -> class xxx(object) will allow to run.


Hoey!!! all entries checked. Not listed those that ran ok at first start.
Your milleage may vary, for reference I am on windows xp sp3, python 2.4.3, most of the files tested only with pygame 1.7.1, some tested with 1.8.1.


--
hey, thanks for your apreciation.

(log in to comment)

Comments

It would be useful to be able to attach comments to specific games as well as one's own personal diary.
tip 7

not a bug:
abg5.zip ,team Awesome Block Game 5: Quadrangles of fury. (abg5) : uses the python 2.5 builtin all, but it runs with 2.4 adding in main.py
def _all(li):
    b = True
    for e in li:
        if not li:
            b = False
            break
    return b
try:
    z = all([1,2])
except:
    all = _all
Err, sorry, in the _all must read
if not e:
(not if not li:
wow, thanks for doing this claxo!
Thanks for doing this Claxo. I should have clarified the version of PyOpenGL to use in our readme. It was stated in the INSTALL file but thats a documentation bug on our part. It requires PyOpenGL 3.0.0b3. The latest 3.0.0a5 seems to have issues.
Heh, for some reason I assumed that my code was 2.4 incompatible anyway, otherwise I wouldn't have used all(). Honestly the whole newtype object things confuses the crap outta me.

BTW, the reason that there is not Rabbyt binary available for python 2.4 on windows is that it is a royal pain to compile python extensions on windows for versions before 2.5. You must use a specific version of Visual Studio that isn't even available for sale anymore.

And in Gondola, the "Build" and "Connect" buttons are all that's there. You aren't missing anything.

So, does pressing "F" to toggle fullscreen not work? (I suppose it was a mistake to give instructions at the bottom of the screen.)

Hello, all!!

@ZeroByte, thanks, updated info.

@mmarshal: thanks, updated info. 'F' works, and I see the message. I misreported, sorry: the two buttons are in full view, what it was giving me the idea of maybe something missing was the buttons surrounding white area, with rounded corners up and no corners down. BTW, nice music.
@claxo: Thanks for pointing that out! I added a comment to our entry page.
fruitbat7 / dreamofstring:
It might be a good idea to back up the "checkpoint" folder after each checkpoint in case you mess up a room and go save at a different checkpoint by accident. You can also edit the checkpoint folder (such as copying a map file from maps to checkpoint to reset the map), but it is possible to mess something up.

In the room with millions of portable bridges, if you go to the right screen there is a checkpoint at the start, so if you want to unlock the door don't go right until you manage to do so. Although the northern door may not even be necessary. I have not completed the right branch as of yet, my game partner designed that branch and it is quite difficult. The extra string found in the yellow door in that room will make the next section easier, but it is (theoretically) possible without it.

If you are unable to reattach to an object, tie/untie a string you should be able to tie, or pick up a piece of string; the problem may be solved by closing and running the game again (closing the game saves your position), or leaving the map and returning.

Avoid leaving the map when tied to a post.

I'll be posting a video walkthrough at some point in the next week
bug
gilvsthedevil
resources not added to path?

-------------------
0


Traceback (most recent call last):
  File "\loewis\25\python\Modules\_ctypes\callbacks.c", line 206, in 'calling callback function'
  File "gamelib/pyglet/window/win32/__init__.py", line 849, in _wnd_proc
    result = event_handler(msg, wParam, lParam)
  File "gamelib/pyglet/window/win32/__init__.py", line 918, in _event_key
    self.dispatch_event(ev, symbol, modifiers)
  File "gamelib/pyglet/window/__init__.py", line 1217, in dispatch_event
    EventDispatcher.dispatch_event(self, *args)
  File "gamelib/pyglet/event.py", line 340, in dispatch_event
    if handler(*args):
  File "gamelib/cocos/menu.py", line 290, in on_key_press
    self._activate_item()
  File "gamelib/cocos/menu.py", line 235, in _activate_item
    self.children[ self.selected_index ][1].on_key_press( key.ENTER, 0 )
  File "gamelib/cocos/menu.py", line 407, in on_key_press
    self.callback_func()
  File "gamelib/main.py", line 198, in on_train
    director.push(self._new_game_scene())
  File "gamelib/main.py", line 203, in _new_game_scene
    game = gameview.get_newgame(game_settings)
  File "gamelib/gameview.py", line 144, in get_newgame
    audio = Sounds()
  File "gamelib/sound.py", line 8, in __init__
    self.punch = soundex.load('fx/puto01.ogg')
  File "gamelib/soundex.py", line 95, in load
    sounds[name] = pyglet.resource.media(name, streaming=streaming)
  File "gamelib/pyglet/resource.py", line 575, in media
    raise ResourceNotFoundException(name)
pyglet.resource.ResourceNotFoundException: Resource "fx/puto01.ogg" was not found on the path.  Ensure that the filename
 has the correct captialisation.
Same problem for me with gilvsthedevil :(
@alia: Look at the first tip

@all: the list of tips-know problems and workarounds is mostly in the same order that in the entries page, but the very firsts are out of order.
If you are looking for a specific game, pull your browser 'search this page' dialog, fill in the file name, as seen in the entries page, go (the one for the source release if more than one released). That must move to the desired game.
@claxo 
i tried the first tip - no workies

also

bug:
allefant7-1.0.zip , team allefant7 : crashes in winXp, python 2.5
Traceback (most recent call last):
  File "run_game.py", line 4, in 
    main.main()
  File "Z:\Torrents\7\allefant7\allefant7-1.0\allefant7-1.0\gamelib\main.py", line 74, in main
    game.game.init()
  File "Z:\Torrents\7\allefant7\allefant7-1.0\allefant7-1.0\gamelib\game.py", line 37, in init
    lambda x, y, z: (x * 16, y * 16, z * 16))
  File "Z:\Torrents\7\allefant7\allefant7-1.0\allefant7-1.0\gamelib\mesh.py", line 83, in load_meshes
    nx = getf(f)
  File "Z:\Torrents\7\allefant7\allefant7-1.0\allefant7-1.0\gamelib\mesh.py", line 61, in getf
    def getf(f): return struct.unpack("
Ascention: Requires numpy but crashes
Z:\Torrents\7\Ascension\game_final\game_final>d:\python\Python2.5\python.exe game.py
Traceback (most recent call last):
  File "game.py", line 2, in 
    import pygame_engine
  File "Z:\Torrents\7\Ascension\game_final\game_final\pygame_engine.py", line 1, in 
    import pygame
  File "D:\python\Python2.5\lib\site-packages\pygame\__init__.py", line 185, in 
    try: import pygame.surfarray
  File "D:\python\Python2.5\lib\site-packages\pygame\surfarray.py", line 76, in 
    import pygame._numpysurfarray as numpysf
  File "D:\python\Python2.5\lib\site-packages\pygame\_numpysurfarray.py", line 48, in 
    import numpy
  File "D:\python\Python2.5\Lib\site-packages\numpy\__init__.py", line 93, in 
    import add_newdocs
  File "D:\python\Python2.5\Lib\site-packages\numpy\add_newdocs.py", line 9, in 
    from lib import add_newdoc
  File "D:\python\Python2.5\Lib\site-packages\numpy\lib\__init__.py", line 4, in 
    from type_check import *
  File "D:\python\Python2.5\Lib\site-packages\numpy\lib\type_check.py", line 8, in 
    import numpy.core.numeric as _nx
  File "D:\python\Python2.5\Lib\site-packages\numpy\core\__init__.py", line 8, in 
    import numerictypes as nt
  File "D:\python\Python2.5\Lib\site-packages\numpy\core\numerictypes.py", line 92, in 
    LOWER_TABLE = string.maketrans(string.ascii_uppercase, string.ascii_lowercase)
AttributeError: 'module' object has no attribute 'maketrans'
@alia:
not a bug:
game_final.zip , team Ascension : crashed with pygame 1.8.1 (probably memory corruption, erratic behavoir); no crash with 1.7.1 , depends heavily on python 2.5 ( functools )
If you are on python 2.4 I cant help, uses functools from 2.5. The traceback you are seeing is totally spurius, due to memory corruption. I seen these and other more stranges when using pygame 1.8.1 with this game. And after those crashes the process runing the python interpreter was deeply poisoned. Mind you, starting the game from an OS console, letting it die, for some time after nor IDLE nor anything python can run. Anyway, this problem dispear for me when switching to pygame 1.7.1 .
If you are on windows, it is easy to setup things to switch pygame versions with a single command. Is goes offtopic , so I will not expand here. If any is interested, ask in a new thread or mail me. Adress in my profile.
@alia about the first tip, what was the message you seen after trying the workaround ? Last two lines only. You copied, not moved right ? the six or so files in fx one level up ? and do all the renames in sound.py ? Just to confirm, it worked for me, and I see that you are also on windows. Oh, by te way Vista or XP ? I remember some linux paths accepted by XP but not Vista.
@claxo ok i SUCK! sorry i misread your instructions TWICE! It works now. rad :)

i got Ascension running easily on 2.4, you need to:

  • remove every "import functools"
  • Replace every "from functools import partial" with the following snippet:
def partial (f,g):
    return lambda *args, **kwargs: f(g, *args, **kwargs)
(the above is not a full definition of functools.partial, but is enough for this game)
Fixed gilVSthedevil:
Link @ our bazaar rep:

Rep in Launchpad

THANKS!
Thanks claxo. For the who-slides wins, I completed developed on Linux and used python libraries. I am surprised at the error. In fact, developed on python 2.6, but it should not matter. I think it should Linux vs Windows compatiblity. I have asked my friend to check it and we shall upload the py2exe version of it (if permissible). Thanks, Senthil
Thanks dmoisset, Macarse, phoe6.

updated ascension with demoisset tip and more , updated Timmys, now can run with 2.4

Wow!!!, what a ...!!!
If game_final.zip , team Ascension is crashing for you in windows, all python, look at the updated tip. The history goes as this:
When testing the first time, running with pygame 1.7.1 it gave me the functools exception (Im on 2.4) Later, when I learn the Ohio trick, dont remembering is this functools was commin for pymunk, I do a rerun: I got a tracebak similar to what alia posted above.
Weird, from a functools exception to a numpy ?.
Updated numpy ,just in case. Similar traceback. Let look at the code ? -> IDLE cant open any source file in the gamedir.
I remembered having switched from pygame 1.7.1 to 1.8.1 for some other game,so reswitched to 1.7.1 and try -> functools exception !
Today to apply the demoisset trick I needed to edit the files; IDLE wont open any in gamedir.
Allright, maybe some unicode futzz? Let open with wordpad and save as msdos file to cleanup, save to other dir. Do open with IDLE the saved file. (knowing that some editors compile the file at open, to get info for color)
All ok, until string.py. Ah-ha. Wait, string.py , STRING.PY STRING !!! Uh Uh Uh. Allright, rename to _string.py, adjust the code, run -> it runs !
retest with the other pygame: it runs !
take that, stupid bug !!!

Im curiuous about this: is the module loading so different in Linux ? Obviusly the author and dmoisset could run the game; in windows the thing exploded so bad !!

Regarding 0ai's gilvsthedevil, if you find the control keys work a bit awkward you can try this: fixed version.

For those who may have problems downloading these fixes, if you still have the fx/ resource problem on windows, you can replace every occurance of "fx/..." for "fx\\..." in the sound.py file and it will work. Tested on XP.

That way you will at least get to see the game :)
Rayzan portability issue:
Some filenames are in the wrong case. If running on a case-sensitive OS, replace as follows:

banana_eaten.png -> banana_eaten.PNG
player_dead.png -> player_dead.PNG

sorry for the inconvenience.
Thanks to ServalKatze for pointing this out!
On CS-L's Littlest Goddess: First time I ran I probably had some very old version of ode installed, so I got the error "AttributeError: 'module' object has no attribute 'GeomCapsule'" (related to ode module) after the menu. So I decided to install the newest versions of ode (0.10-1) and pyode (1.2.0) from source, then I got the error: "ODE INTERNAL ERROR 2: colliders array not initialized in dCollide()" also after the menu.

I want to play this game, it looks good.
What's your OS Tee? We built the game around PyODE 1.2.0 installed using the Ubuntu repos and the win32 installer. Can you try running the PyODE samples to see if there are errors there?
Sorry, my mistake, the samples didn't work. So I looked at the PyODE site and noticed the latest supported version of ODE is 0.8, and installing that worked. (I'm using Ubuntu, but lately I've been too lazy to upgrade it properly, which is why I decided to build from source just to make sure I had the latest versions.)
Bug: I get no sound from Plectrum Infinitum.
@claxo and everyone:
2.4 users should be able to complete Heartfelt Nightsong by replacing defaultdict(default) in gamelib/env.py with {"gate_opened" : False, "used_ladder" : False} and commenting out the from collections import defaultdict line. Sorry for the inconvenience!