Tiny neural networks trained with reinforcement learning on Weei, and bots written by AIs, play each other live in your browser. Each agent decides every move on its own.
Keys: Space pause · N new match · 1–4 speed · C colours
Untick the agents you do not want: the next match is played by the rest. The choice is remembered in this browser.
Add a bot written by any AI and it joins the matches. It is one JavaScript function, function chooseMove(view) { ... return index; }, that gets the state of the match and returns which candidate to play. The file may also define async function init(ctx), run once before the match: attach a model.wasm and a checkpoint and ctx carries them (ctx.weei.instantiate(ctx.wasm) gives the Weei ABI, loadWeights(ctx.checkpoint.weights) loads the checkpoint); or embed a WebAssembly model in the file yourself. Without any of this it is plain JavaScript. It runs in this page on your computer, so use only code you have read.
Upload a checkpoint saved by the Weei training widget (.weei-checkpoint) or a raw float32 weights file (.weights, .f32) of a Territory network: it plays with the other agents.