First submission!

5 days in, and this is my first submission, and first diary entry since challenge start. Too busy coding to take any notice of the outside world!

This time I've come up with something that covers all five candidate themes! Well, sort of. You decide.

What's done so far: Most of the necessary infrastructure, and a set of tutorial levels. At least half the effort went into implementing a comprehensive built-in level editor -- which may well turn out to be the most interesting part of the game. Especially if I don't come up with a large number of astoundingly ingenious level designs in an extremely short time starting from now...

(log in to comment)

Comments

Your game looks very nice but it crashes when i press "h" in the second tutorial screen to use the telefon. I think the problem is, that the sound initializer failes, but later on the game tries to play a telefon sound. Besides, your game looks like a lot of puzzle fun :)

This is the error information i got on a Suse 9.3 Linux machine(i don't know if the sound drivers are correctly installed because it's the workstation at my job and i have no speakers to hear something...).

>> python run_game.py
Albow.resource.get_sound: Mix_LoadWAV_RW with NULL src
Albow.resource.get_sound: Running without sound
Level.restart: tyger script = []
Level.restart: tyger script = []
Traceback (most recent call last):
File "run_game.py", line 13, in ?
main.main()
File "/home/alex/Documents/Privat/5B-0.1/Code/main.py", line 20, in main
shell.run()
File "/home/alex/Documents/Privat/5B-0.1/Code/albow/root.py", line 104, in run
self.send_key(modal_widget, 'key_down', event)
File "/home/alex/Documents/Privat/5B-0.1/Code/albow/root.py", line 117, in send_key
widget.dispatch_key(name, event)
File "/home/alex/Documents/Privat/5B-0.1/Code/albow/widget.py", line 98, in dispatch_key
widget.dispatch_key(name, event)
File "/home/alex/Documents/Privat/5B-0.1/Code/albow/widget.py", line 98, in dispatch_key
widget.dispatch_key(name, event)
File "/home/alex/Documents/Privat/5B-0.1/Code/albow/widget.py", line 100, in dispatch_key
self.call_handler(name, event)
File "/home/alex/Documents/Privat/5B-0.1/Code/albow/widget.py", line 107, in call_handler
method(*args)
File "/home/alex/Documents/Privat/5B-0.1/Code/play.py", line 226, in key_down
if part and part.key_down(e):
File "/home/alex/Documents/Privat/5B-0.1/Code/parts/telephone.py", line 101, in key_down
self.set_off_hook(not self.off_hook)
File "/home/alex/Documents/Privat/5B-0.1/Code/parts/telephone.py", line 107, in set_off_hook
self.hook_sounds[self.off_hook].play()
AttributeError: 'NoneType' object has no attribute 'play'
"Your task is to trace the connections through the TWISTED and TORTUOUS circuits [...]"
Psst.. The other t-word was Twinkle, not tortuous.. Twinkling circuits? ;)
I get the same error as Trobadour on ubuntu 7.04
Works fine for me on OS X. Looks good too. It'd be nice to be able to reset a level from within the level itself rather than having to do that menu dance.

Great stuff :)

I crashed the editor:

Traceback (most recent call last):
  File "run_game.py", line 13, in 
    main.main()
  File "/Users/richard/Desktop/5B-0.1/Code/main.py", line 20, in main
    shell.run()
  File "/Users/richard/Desktop/5B-0.1/Code/albow/root.py", line 85, in run
    event_widget.handle_mouse('mouse_down', event)
  File "/Users/richard/Desktop/5B-0.1/Code/albow/widget.py", line 92, in handle_mouse
    self.call_handler(name, event)
  File "/Users/richard/Desktop/5B-0.1/Code/albow/widget.py", line 107, in call_handler
    method(*args)
  File "/Users/richard/Desktop/5B-0.1/Code/editor.py", line 237, in mouse_down
    self.wire_tool_click(e)
  File "/Users/richard/Desktop/5B-0.1/Code/editor.py", line 279, in wire_tool_click
    wp = level.extend_wire_to_point(wp, p)
  File "/Users/richard/Desktop/5B-0.1/Code/level.py", line 99, in extend_wire_to_point
    wp2 = wp.extend_wire_to_point(p)
  File "/Users/richard/Desktop/5B-0.1/Code/wire.py", line 180, in extend_wire_to_point
    return wire.extend_to_point(p, end)
  File "/Users/richard/Desktop/5B-0.1/Code/wire.py", line 63, in extend_to_point
    if pts and pts[end].point == p \
TypeError: list indices must be integers
Also, I couldn't quite figure the editor out. I selected red wire and managed to attach it to a light terminal but couldn't attach the other end to a battery terminal.