◆Plaster// Armory
Armory

Mag-fed

// every model in the game, built in code from simple shapes — src/models.js

Mags that work like a real weapon. Each model below is rendered on its own, with its version history underneath.

Side view of the mag-fed marker: ported barrel, vented handguard, railed receiver with red dot, curved 20-round magazine, pistol grip, and a silver HPA tank as the stock.
01 // Magazine
Curved 20-rd mag
swap it, drop it, count it
02 // Optic
Red dot
lines up dead-center in ADS
03 // Barrel
.68 cal
real paint, real arc
04 // Air
HPA tank stock
the air system is the stock

A modern mag-fed marker, laid out like the real platforms: toothed top rail, vented handguard, ported barrel with orange muzzle ring, angled pistol grip, orange trigger and bolt handle. ~1.1 m long, semi-auto.

01First-person rig

The marker with first-person arms: dark team-blue sleeves and black gloves.
In your hands

Marker + arms

New in v2 build · 2026-10-12
  • Drawn in its own pass with its own camera: never clips into bunkers, doesn't stretch when ADS zooms.
  • Lit by the same sun and sky as the world.
  • Animated in code: walk bob, mouse lag, recoil kick, sprint pose, mag-drop reload.

02Player

A Red team paintball player with the marker shouldered.
Operator

Paintball player

  • Team jersey with number, padded pants with knee pads, full mask, gloves, pod pack.
  • Jointed hips and knees for walking and crouching; the upper body tilts to aim.
  • Own left-arm joint for the hand-up "I'm out" signal. Paint sticks to the exact part that was hit.
Blue team player
Crouched
Eliminated, hand up
Back view: jersey number and a four-pod harness.
Rear

Number + pod pack

Part of player v2

Jersey number across the back; a harness holds four translucent paint pods with team-color lids.

Close-up of the paintball mask.
Head

Paintball mask

Part of player v2

Goggle frame, mirrored lens that reflects the sky, top visor, ear guards, vented jaw and strap over a team-color headwrap. It's what makes the silhouette read as paintball, not military.

03Paint

Orange and green paintballs with matching splats.
.68 caliber

Paintball + splat

  • Blue fires orange, Red fires green, so you always know whose shot it was.
  • Glossy shell drawn ~2× real size (17 mm), stretched along its path in flight.
  • Splats: lumpy core, thrown streaks, droplets; five variants; wrap onto curved surfaces; fade after 20 s.

04Field

The inflatable bunker set.
Cover

Inflatable bunkers

  • Can 1.8 m and Pin 2.7 m: stand-behind cover.
  • Cake 0.95 m and Snake 8 m: crouch cover you can also jump on.
  • Brick, Temple, the center X, and the three-sided Dorito.
  • Collision matches each real outline. Due to be replaced by wooden woodsball barricades.
  • Placed with the map editor: each bunker’s colors can be changed there, and the temple’s size and the snake’s length are adjustable. Team flags, canopy tents and spawn zones are placed the same way.

05Imported models

Everything above is built in code. Models made in Blender can now be added too: export a .glb, import it in the map editor, and place it like any bunker. Imported models live in public/models/ and get box collision in the game. None ship with the game yet.

// renders come from tools/showcase.html in the repo — open it on the dev server to inspect any model from any angle