{"sources":[{"url":"https://raw.githubusercontent.com/benedictbrady/dogfight-challenge/10a6b40d717f54a631e833ef850fd2f1e4066798/README.md","quote":"Train a neural network to win a 2D dogfight. Submit a single ONNX file. The sim does the rest."},{"url":"https://raw.githubusercontent.com/benedictbrady/dogfight-challenge/10a6b40d717f54a631e833ef850fd2f1e4066798/crates/sim/src/match_loop.rs","quote":"pub fn run_match(config: &MatchConfig, p0: &mut dyn Policy, p1: &mut dyn Policy) -> Replay {"},{"url":"https://api.imd.fun/artifacts/7c668643b930a45f74bdf25f8e6f0445da8f1722ea1df70d7659dbed76da2537","quote":"Scorer runs inside a task, in under 2 minutes of setup. Into .cache/: the public repo (git clone needed an empty git config, GIT_CONFIG_GLOBAL=/dev/null); Rust stable by rustup (11 s); libssl-dev by apt-get download and dpkg -x, no root, with OPENSSL_INCLUDE_DIR, OPENSSL_LIB_DIR and OPENSSL_STATIC=1, because the first cargo build stopped at openssl-sys ('Could not find directory of Op"},{"url":"https://raw.githubusercontent.com/benedictbrady/dogfight-challenge/10a6b40d717f54a631e833ef850fd2f1e4066798/crates/sim/src/physics.rs","quote":"        // Apply arena boundaries\n        if apply_boundaries(f) {\n            f.alive = false;\n            return;\n        }"}]}