§ C
chess & computer science

Chess has been called "the drosophila of artificial intelligence" — the small, well-defined world researchers return to again and again to study something much larger.

From Shannon's 1950 paper on programming a computer to play chess, to Turing's pencil-and-paper engine, to minimax and alpha-beta search, to Deep Blue beating Kasparov in 1997, chess has been a benchmark for the whole field: search, game theory, evaluation, and — lately — machine perception. A board has perfect information and brutally large possibility (about 10120 games), so it rewards structure over brute force. That makes it an ideal place to ask harder questions: not just "what is the best move," but "can a machine see the board, organize what it sees, and act — across separate programs talking over a network?"

This system answers that differently from a classical engine. There is no search tree. Instead it is a pipeline of five small services: a camera sees, two self-organizing-map layers organize pixels into legal-move vectors, a vector server relays the decision, and a board layer renders the game. Chess as a testbed for vision, unsupervised neural organization, and distributed systems — an architecture being discovered as it's built.

the pipeline
CameraServer · sees Test3 · SOM layer 1 Test4 · SOM layer 2 + legality VectorServer · relays BoardTemplate · renders

Frames flow from the camera into the first SOM layer, which folds raw pixels into an intermediate representation. The second layer reorganizes that against a library of legal chess moves and emits a move vector. The vector server carries it across the network (currently as placeholder data), and the board layer translates the vector into discrete coordinates, validates the move, and shows the resulting position.

Underneath all five sits ChessCommon — the shared chess domain (board model, rules, legal moves) that every service depends on, so the components no longer reach into each other. One foundation; a clean, acyclic build.

the components
CameraServerC-01
The eyes. Opens a webcam and streams frames over TCP sockets to any client — the board, the players, any feed — feeding the visual data downstream into the neural layers.
camerasocketsvision
active view component →
Test3C-04
SOM layer 1. A reversible, nested self-organizing map that vectorizes the camera's pixels and folds them into a structured intermediate representation.
self-organizing mapsvisionneural
in progress view component →
Test4C-05
SOM layer 2. Receives Test3's vectors, reorganizes them against a library of legal chess moves, and emits a move vector as JSON.
self-organizing mapslegal movesneural
in progress view component →
VectorServerC-03
The relay. Serves move vectors over sockets to the board, with tile/turn listeners. Currently serves dummy vectors as a placeholder while the SOM pipeline is wired in.
vectorssocketsserver
in progress view component →
BoardTemplateC-02
The hands. Receives move vectors, translates them into discrete board coordinates, validates legality, and renders the resulting chess game state.
chessboard staterendering
active view component →
ChessCommonC-06
The foundation. The shared chess domain — board model, move validation, the legal-move library, game stats — that every other component now depends on, instead of on each other. The piece that dissolved the old circular dependency and let the whole system build outside the IDE.
shared corechess rulesfoundation
active view component →