Skip to content

rename: openboard-chess → chess-by-sparsh + revise difficulty to rating-inspired levels#3

Open
sparshsam wants to merge 3 commits into
mainfrom
feat/revise-difficulty-labels
Open

rename: openboard-chess → chess-by-sparsh + revise difficulty to rating-inspired levels#3
sparshsam wants to merge 3 commits into
mainfrom
feat/revise-difficulty-labels

Conversation

@sparshsam

Copy link
Copy Markdown
Owner

Summary

Revises Chess by Sparsh difficulty levels from the vague Easy/Medium/Hard to chess.com-style rating-inspired skill bands with improved AI behavior.

Difficulty Levels

Label Behavior
Beginner (~800) Not pure random. Prefers obvious captures/recaptures. Avoids the simplest one-move blunders when easy to detect. Still plays with significant randomness and misses tactics.
Casual (~1000) Stronger material awareness. MVV-LVA capture scoring. Prefers checks, develops pieces toward center, avoids blunders more consistently, castles.
Club (~1400) Piece-square table positional evaluation. High-confidence mate/capture detection. King safety and castling. Open-file rook preference. Central pawn control. Strong blunder avoidance.

Key Changes

  • New labels: Beginner (~800), Casual (~1000), Club (~1400)
  • Rating disclaimer: "Approximate skill bands, not official Elo ratings" — visible in the UI below difficulty buttons
  • Improved AI: All three levels are significantly smarter than the previous Easy/Medium/Hard
  • GitHub Actions CI: Added workflow (npm install → lint → test → build)
  • Version: v0.1.0 → v0.2.0

Testing

  • 37 tests passing across 2 test files
  • All three difficulty modes return legal moves
  • Beginner is no longer pure random (captures at least sometimes)
  • Casual prefers material-positive moves more consistently
  • Club recognizes capture opportunities reliably
  • UI shows the rating disclaimer text

Deployment

✅ Deployed to https://openboard-chess.vercel.app/ (200 OK, production)

Constraints Met

  • No Stockfish, backend services, online multiplayer, accounts, or telemetry
  • Client-side only, local-first
  • All existing features preserved (FEN, history, promotion, two-player)

🤖 Generated with Claude Code

- Replace Easy/Medium/Hard with Beginner (~800), Casual (~1000), Club (~1400)
- Beginner: not pure random, prefers obvious captures/recaptures, avoids
  simplest one-move blunders, significant randomness remains
- Casual: MVV-LVA capture scoring, check preference, piece development,
  castling, better blunder avoidance
- Club: piece-square table evaluation, high-confidence mate/capture
  detection, king safety, open-file rook play, central pawn control
- Add rating disclaimer: "Approximate skill bands, not official Elo ratings."
- Add GitHub Actions CI workflow (test, build, lint)
- 37 tests passing across 2 test files
- Deployed to https://openboard-chess.vercel.app/

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
openboard-chess Ready Ready Preview, Comment Jun 5, 2026 10:59pm

- Rename GitHub repo from sparshsam/openboard-chess to sparshsam/chess-by-sparsh
  (301 redirect from old URL confirmed working)
- Rename Vercel project, deploy to https://chess-by-sparsh.vercel.app/ (200 OK)
  (old openboard-chess.vercel.app still serves as secondary)
- Update all code references: README, AGENTS, CONTRIBUTING, package.json
- Add localStorage migration: old keys auto-migrate to new keys on first load
- Refactor useChessGame to use lazy useState initialization (no useEffect lint)
- Computer move triggered directly after user actions instead of via effect
- Update builder-journal: plans/openboard-chess.md → plans/chess-by-sparsh.md
- Update builder-journal repo-inventory.md and release-status.md

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@sparshsam sparshsam changed the title feat: revise difficulty to rating-inspired Beginner/Casual/Club levels rename: openboard-chess → chess-by-sparsh + revise difficulty to rating-inspired levels Jun 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant