vBot is a visual programming game. Use a small set of
command tiles to build a program. The program must
control the vBot and make it activate every target
using the limited command set.


See the Wiki for screenshots:

    There is no support for installing yet. Run the
    program directly from the unpacked archive.

    First, make sure all dependencies are installed
    (See DEPENDENCIES below) then proceed to RUNNING.

    Run the program from the command prompt like this:

        python main.py

    Drag program tiles from the bottom right to the spaces above.
    (A double-click will send the tile to the next available space.)

    When your program is ready, press the play button (>).

    If there is a problem, rewind (<<), reprogram, and retry.

        Activate all blue target squares on the level.

        Move robot to blue target squares using the forward, turn left,
            and turn right program tiles. Robot can also jump up or down
            (ONE tile thickness only) using the jump tile.

        When on top of a blue target square use the ! tile to activate.

        Some levels provide additional program space in the form of
            functions f1() or f2()

        Jump in to functions by using the F1 or F2 tiles. When the
            function finishes, control returns to the next tile in
            the calling function.

        Try to create functions that can be used repeatedly in
            your program.

            (tested with python-2.7.3)

            (tested with pyqt-4.9.1)

    vBot is released under GPLv3.

    please report any problems here:

        If you are running from the source repository:

        In order to get the program running properly,
        the file robot.svg must be built first.

        In Inkscape, open robotlinks.svg

        Run the "Embed Images" script.
        Extensions -> Images -> Embed Images

        NOTE: IF Embed Images crashes!
        * open 'Edit > XML Editor...'
        * select the node <sodipodi:namedview …> in the list on the left
        * select the attribute 'id' in the upper right list
        * at the bottom right, the string of the id is shown in the edit field
            (probably something like "namedview12345" - numbers will vary)
        * overwrite the id string with "base", click on 'Set', close XML Editor

        "Save As" robot.svg in the data/robot folder.

        If you do not want to generate the file yourself,
        try downloading the most recent release and copying
        over the robot.svg file from there.

    To start a remote scorekeeping server, create 2 methods
    available over http.

    levels should accept a single GET parameter of "name"
    and return a newline separated list of the hashes of
    the levels that person has completed.

    add_level should accept 2 GET parameters, "name" and
    "lvlhash" and store the hashes of the levels that player
    has completed. Optionally, add_level can take a "points"
    parameter and store the number of points awarded for
    that level.

    If using the "points" parameter, be sure to enable
    send_points in conf.py and look at the get_points
    method in level_points.py