games baseball fantasy javascript claude

Brimstone Diamond — Monster League Baseball in a Single HTML File

Fantasy baseball under torchlight: werewolves, witches, ogres and liches trading fireballs and battle axes on a monster-league diamond. A single-file baseball game with a roguelike season mode. Play it right here.

This is the third single-file project, after the drum machine and Terra Chimera. This time it’s baseball, with monsters. Two clubs of werewolves, witches, trolls, gorgons, vampires and ogres play ball on a torchlit diamond. They throw fireballs, swing battle axes and sometimes eat a baserunner. As before, it’s one HTML file with no image assets, and I built it with Claude.

Pick a mode, pick your club and press Play ball. Click the game first so it gets your keyboard. Games run 3 innings by default; you can change that to 5 or 9 on the Settings tab, or lengthen or shorten a game while it’s in progress. If you’d rather see how it plays before you play, choose Watch CPU vs CPU. You can press Take over at any point to play the rest of the game yourself.

Open Brimstone Diamond full screen ↗

The premise

Brimstone Diamond: Vexa, a werewolf batter with a spiked bat, faces Morwen, a frost witch pitcher, under a full moon. Side panels show the batter's stances and the pitcher's pitches, including magic ones like Frost Orb and Phantom
Top of the first: Vexa the werewolf digs in against Morwen, a frost witch with a curveball.

The Ironmaw Marauders and the Mirewood Hexers each field nine monsters, and every player has their own stats, spells and pitches. The baseball is real: counts, force-outs, tags, tag-ups and double plays all apply. On top of that, each club has a pool of mana to spend during the at-bat and the play that follows.

What’s in it

  • Pitching with aim and timing. Pick a pitch, aim it, and press throw again as the release meter crosses the gold band to tighten the scatter. Magic pitches include the Fireball, Frost Orb, Hex Knuckler (even the witch doesn’t know where it lands) and the Phantom, which vanishes after release.
  • Batting with a cursor. Once the ball leaves the hand, a marker shows where it’s headed. Steer your swing circle onto it and swing when the ring turns gold. Batting stances include Battle Axe, Seismic Swing, Shriek and Stone Gaze.
  • Running and fielding with spells. Runners can Shadowstep to the next base, go invisible or burst into bats. Fielders can Petrify, Web or Devour a runner. The ogre needs a 12+ on a d20 to eat you.
  • Leads, pickoffs and steals. With runners on, the batting side can take a lead or a big lead and call a steal, or a magic steal that spends the runner’s speed spell. The pitcher can throw over up to four times an at-bat. Pickoffs and steals are settled with a d20 roll against arm, glove and speed. A Shadowstep steal can’t be thrown out.
  • Ultimates. Every player has one field-changing power per game that leaves fire, webs, bog, fog or grasping hands on the diamond for a few at-bats.
  • Magic bats and balls. Every club buys gear in the Armory and brings one bat and one ball into each game. The bat adds a batting stance and the ball adds a pitch. Cheap pieces run out of charges, and the expensive ones recharge before every game.
  • Moon and stars. The moon changes phase every 9 at-bats and the constellation every 15. Each creature gets stronger in its own moon phase (werewolves hit harder under a full moon), and each constellation shifts the game a little, such as faster runners or shorter fly balls.
  • Fatigue and injuries. Pitchers tire and get wild, so go to the bullpen. Players get burned, trampled and half-digested, and a knocked-out player misses at-bats. In a season, a major injury can sideline a player for 1–3 games. Injuries are rare by default, and you can make them more frequent or turn them off.
  • Season mode (roguelike). Face seven rising rivals and then the Brimstone All-Stars. Three losses end the run. Between games, the Clubhouse lets you set the lineup, level players up, enhance powers and spend gold on items, free agents, scouting and trades. The front office can retrain a player to a new position. Optional dungeon crawls send up to three players into one of five dungeons, from the Flooded Crypt down to the Brimstone Pit, for gold, XP and loot, at the risk of injury. You can also let the CPU manage the whole season and watch it or simulate it.
  • Leagues. Every club is rated on its roster, gear, gold and record, and the rating places it in a league, from the Graveyard League up to the Abyssal League.
  • Team builder, records and stats. Build your own club. Every run is logged with scores, stars and highlights, along with a full play-by-play of your recent games. The Stats tab tracks every player’s season and career numbers.
  • Play modes. 1 player vs CPU, 2 players on one keyboard, gamepad support, and CPU vs CPU at up to 8× speed. Auto powers (T) let your players cast their own spells while you handle aiming, swinging and baserunning.

Controls

KeyDoes
W A S D / arrowsAim the pitch, or move the swing cursor
Q / E or 1–6Pick a pitch or batting stance
F (P2: Enter)Throw or swing
A / D, then W / SOn the bases: pick a runner, send or hold them
F / R (on the bases)Send every runner / send them all back
GCast the picked runner’s or fielder’s spell. At bat with runners on, take a lead. Pitching, throw over for a pickoff
R (at bat)Call a steal (press again for a magic steal)
VHustle: tap for extra power, heat or speed
CGo to the bullpen
TToggle auto powers
Esc / MPause / music

The full rules and a controls table for two players and a gamepad are on the game’s How to play tab. If you want on-field hints, turn on Running and fielding help in Settings. On a phone, turn it sideways and use the on-screen buttons.

Saving

Seasons, your custom teams, gear, records and player stats all save in this browser’s local storage. Save for later on the pause menu saves a game in progress. You can close the tab and pick up later, but your saves won’t follow you to another device, and clearing site data wipes them.

If you win the Brimstone Cup, let me know which club did it.