Skip to content

thisisignitedoreo/uvbot

Repository files navigation

uvBot logo

uvBot

A free and open source TAS tool for Geometry Dash

Warning
You are kinda early. This is still in heavy development

Features include:

  • Good accuracy (Hardest recorded level by me is Flamewall I think?)

  • Standalone-ness (You don’t need an additional mod menu to use this bot efficiently)

  • Internal Recorder

Quickstart

Compile it, download from Actions or from Releases

.uv format

The file format is as follows:

typedef uint64_t frame_t;

struct input {
    frame_t frame;
    uint8_t flags;
    // Least significant bit - hold or release
    // The rest (.flags >> 1) - button:
    // 0 - Jump P1
    // 1 - Left P1
    // 2 - Right P1
    // 3 - Jump P2
    // 4 - Left P2
    // 5 - Right P2
    // Bits: [ U U U U B B B D ]
    // U - unused
    // B - button bits
    // D - down bit
};

struct physic {
    frame_t frame;
    float x, y, rotation, y_velocity;
};

struct replay {
    char front_magic[5] = "UVBOT";
    uint8_t version = 2;
#if version == 2
    float tps;
#endif
    int32_t inputs, physics_p1, physics_p2;
    struct input input_actions[inputs];
    struct physic physic_p1_actions[inputs];
    struct physic physic_p2_actions[inputs];
    char back_magic[5] = "TOBVU";
};

Contributions

This project is Open Source, however, it is not Open Contribution. Any pull request created will be closed. Issues, however, are welcome.

The reason is simple - I want to have all the control over the codebase, so a bad reviewed PR won’t break the bot or introduce some kind of undebuggable bug.

If you want to have a version with your modifications - feel free to create a fork, however, none of them will be accepted into upstream.

Thanks to

  • @matcool for ReplayBot, from which both the subprocess.hpp header and recorder implementation was taken

  • @tobyadd for GDH for a lot of stuff (grep -rn "// Thanks toby" src/ | wc -l)

  • @cvolton for Various Bugfixes from which both the hitboxes mirror fix and the hitbox physics fix were taken