Assembly Line 0.5

I've uploaded the latest version of Assembly Line. It's substantially expanded since the PyWeek version, and I hope to make some more improvements during the Pyggy.

(log in to comment)

Comments

Great! This was a game that I really enjoyed when it was first submitted -- we were pretty close to having created the headphones -- it was quite a good and challenging game. Do you have a changelog posted, or is that included in the .zip?
There's no change log as such, but looking at the included tutorial should give you an idea of what's been added since the PyWeek version.

There's also a TODO file listing some more things I'd like to do (rather more than there will be time for, I expect!)

0.8 Traceback:
Traceback (most recent call last):
  File "run_game.py", line 13, in 
    main.main()
  File "Game/Code/main.py", line 26, in main
    shell.run()
  File "Game/Code/albow/root.py", line 56, in run
    self.run_modal(None)
  File "Game/Code/albow/root.py", line 123, in run_modal
    last_mouse_event_handler.handle_mouse('mouse_up', event)
  File "Game/Code/albow/widget.py", line 289, in handle_mouse
    self.call_handler(name, event)
  File "Game/Code/albow/widget.py", line 343, in call_handler
    return method(*args)
  File "Game/Code/albow/controls.py", line 160, in mouse_up
    self.call_handler('action')
  File "Game/Code/albow/widget.py", line 343, in call_handler
    return method(*args)
  File "Game/Code/company_page.py", line 404, in sell_parts
    part = co.selected_part_stock
AttributeError: 'Company' object has no attribute 'selected_part_stock'
This is from trying to sell a bit of scrap material from a transfer bin.
Another 0.8 Traceback:
Traceback (most recent call last):
  File "run_game.py", line 13, in 
    main.main()
  File "Game/Code/main.py", line 26, in main
    shell.run()
  File "Game/Code/albow/root.py", line 56, in run
    self.run_modal(None)
  File "Game/Code/albow/root.py", line 101, in run_modal
    mouse_widget.handle_mouse('mouse_down', event)
  File "Game/Code/albow/widget.py", line 289, in handle_mouse
    self.call_handler(name, event)
  File "Game/Code/albow/widget.py", line 343, in call_handler
    return method(*args)
  File "Game/Code/factory_page.py", line 366, in mouse_down
    self.configure_tool_click(e)
  File "Game/Code/factory_page.py", line 499, in configure_tool_click
    editor.present()
  File "Game/Code/albow/widget.py", line 399, in present
    root.run_modal(self)
  File "Game/Code/albow/root.py", line 101, in run_modal
    mouse_widget.handle_mouse('mouse_down', event)
  File "Game/Code/albow/widget.py", line 289, in handle_mouse
    self.call_handler(name, event)
  File "Game/Code/albow/widget.py", line 343, in call_handler
    return method(*args)
  File "Game/Code/controls.py", line 200, in mouse_down
    dlog.present(centered = False)
  File "Game/Code/albow/widget.py", line 399, in present
    root.run_modal(self)
  File "Game/Code/albow/root.py", line 101, in run_modal
    mouse_widget.handle_mouse('mouse_down', event)
  File "Game/Code/albow/widget.py", line 289, in handle_mouse
    self.call_handler(name, event)
  File "Game/Code/albow/widget.py", line 343, in call_handler
    return method(*args)
  File "Game/Code/albow/palette_view.py", line 121, in mouse_down
    GridView.mouse_down(self, event)
  File "Game/Code/albow/grid_view.py", line 47, in mouse_down
    self.click_cell(row, col, event)
  File "Game/Code/albow/palette_view.py", line 148, in click_cell
    self.click_item(i, event)
  File "Game/Code/controls.py", line 266, in click_item
    ProductKeySelector.click_item(self, n, e)
  File "Game/Code/controls.py", line 245, in click_item
    self.set_value(self.product_no(n).key)
  File "Game/Code/albow/controls.py", line 35, in set_value
    ref.set(x)
  File "Game/Code/albow/controls.py", line 51, in set
    setattr(self.obj, self.attr, x)
  File "Game/Code/machines/packing_station.py", line 80, in set_product_key
    self.filled_crate(None)
  File "Game/Code/machines/packing_station.py", line 114, in filled_crate
    game.company.put_products_into_stock(self.product(), crate, factory)
  File "Game/Code/company.py", line 795, in put_products_into_stock
    crate = Crate(num_items, average_quality, factory)
  File "Game/Code/product.py", line 71, in __init__
    factory.add_stats(items_produced = num_items)
AttributeError: 'NoneType' object has no attribute 'add_stats'
This is from trying to change the item type of a packing station that already contained items.