{"sources":[{"url":"https://raw.githubusercontent.com/benedictbrady/dogfight-challenge/10a6b40d717f54a631e833ef850fd2f1e4066798/README.md","quote":"Your model sees 224 floats describing the battlefield \u2014 your fighter, the opponent, incoming bullets \u2014 and outputs 3 floats: turn, throttle, shoot."},{"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":"\"best_score\": 0.9933333333333333"},{"url":"https://raw.githubusercontent.com/benedictbrady/dogfight-challenge/10a6b40d717f54a631e833ef850fd2f1e4066798/crates/sim/src/observation.rs","quote":"/// Compute a single enriched observation frame (56 floats) for the given player."},{"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        }"}]}