Code Monkey home page Code Monkey logo

autoleagueplay's Issues

Use of git lfs is making it challenging to do pull requests

$ git push origin condensed:condensed
batch response: @tarehart can not upload new objects to public fork tarehart/AutoLeague
error: failed to push some refs to 'https://github.com/tarehart/AutoLeague.git'

Seems like I'm hitting this issue: git-lfs/git-lfs#1906

I'm not blocked because I have write access to this repo, but others might get stuck.

Make `forfeit` command to easily create forfeits for a bot that doesn't work

Sometimes a bot doesn't work, and to make ALP skip the matches containing the bot, it would be nice if we could just call a command that constructed the necessary result files.

Example; SpeedBot does not work and is supposed to play against Levi, Beetle, and Beast from the East. The command autoleagueplay forfeit "SpeedBot(The Bot)" Levi Beetle "Best from the East" would create results where SpeedBot loses to those bots. Like:

SpeedBot(The Bot)_vs_Levi.json:

{
    "blue": "SpeedBot(The Bot)",
    "orange": "Levi",
    "blue_goals": 0,
    "orange_goals": 0,
    "blue_shots": 0,
    "orange_shots": 0,
    "blue_saves": 0,
    "orange_saves": 0,
    "blue_points": 0,
    "orange_points": 0,
    "forfeit": true,            <------- maybe a value to indicate forfeit
    "winner": "Levi",
    "loser": "SpeedBot(The Bot)",
}

The hard part is knowing which team the bots are on, which is important since ALP names files as blue_vs_orange. The underdog is typically blue though, maybe that can be used. We could also generate files for both combinations to solve that issue or make the user in control by using another command syntax than the one I suggested above.

ALP should be resistant to bot compile errors and crashes

ALP can currently test if bots work by starting a match and detect if they move. This isn't error proof (maybe the bot was hit by the ball or the enemy) and the bots might still crash during game play. And some errors and crashes stop ALP.

ALP should test if the python bots compile (I think this is possible) as part of the testing. It should also not crash in case a bot crashes. In this case ALP should deem the match invalid and just continue. Afterwards the host should be notified of invalid matches.

(however, division by zero might not kill the bot, which makes this problem a bit harder)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.