Iron Vector
Game
Iron Vector is a single-player mech game that runs in a browser. You assemble a frame in the garage from twenty-six parts across nine slots โ head, core, arms, legs, booster, generator, two arm weapons and a shoulder weapon โ and every stat can be compared before a part is fitted. The trade-offs are the design: a frame over its weight limit moves slower, and drawing more energy than the generator puts out slows how quickly that energy comes back.
There are two places to take a frame. The test field is a seeded city with practice drones, for trying a build out. Operation Saltline is the mission: cross the city to the relay plaza, destroy four gunships, and then fight an enemy frame. That frame's pilot is a behaviour tree, and the heads-up display shows which part of it is running. Heavy hits build impact, and a frame that takes more than its stability staggers and takes extra damage until it recovers. The debrief ranks the run on armour kept and time taken.
Everything that decides anything is in a Rust core that performs no input or output and uses no floating-point arithmetic: the movement, the energy, the collisions, the weapons, the lock-on, the camera and the matrices the page draws with are all fixed-point integer maths. A WebAssembly shim converts those integers to the floats WebGL wants and decides nothing itself, and the page uploads what the core returns and draws it. The simulation runs at a fixed sixty ticks a second and is drawn at whatever rate the display runs, interpolated between ticks, with mouse look applied every frame before any tick.
The enemy pilot returns only the controls a player could press, and its frame moves under the same rules as yours.
Playing it
W, A, S and D move and the mouse aims. Holding space jumps and then ascends, shift is a quick boost, and C toggles a glide boost; all three draw on the same energy the weapons use. The mouse buttons fire the arm weapons and E or F fires the shoulder weapon. Escape pauses and releases the mouse. Your build is kept in the browser you played in.
Checked in Chromium, Firefox and WebKit.