Hey, this looks like insightful technical analysis on the surface, but in reality it's a "masterclass" in unfalsifiable claims, category confusion, and marketing "vaporware", wrapped in plausible jargon. Claiming "Camille is completely free for website integration" about an undocumented and unverifiable system is scientifically invalid. Where is the API documentation ? The license terms ? The SDK or integration guide ? The source code or binary download ? The technical white-paper ? Until these are provided, "Camille" is vaporware, a conceptual proposal dressed as a shipped product. It's not criticism, it's basic epistemic hygiene. Besides, presenting a simplified "taxonomy" as authoritative while mischaracterizing Stockfish's architecture (Stockfish is not purely algorithmic: since 2020 it uses NNUE) undermines the entire framework. Attributing "Level 3" ("Camille's rule system") to an undocumented system while ignoring existing implementations is misleading. Offering a system as "free for integration" without providing the basic artifacts of open-source or commercial software (docs, license, repo, support) is incompetent marketing or deliberate obfuscation. In all cases, it's not credible. Throwing out "billions" is a classic marketing tactic to impress non-technical readers: it adds no technical value and distracts from the lack of concrete evidence. Presenting anecdotal implementation details as fact (the "Gotham bot"), without citation or reproducibility, is irresponsible technical communication. When making claims about a novel system, the "burden of proof" lies with the claimant. You have provided no repository, no API documentation, no license terms, no benchmarks, no peer-reviewed or community-verified testing, but only unsubstantiated assertions. This is not a technical discourse, it's a promotional rhetoric. Vaporware dressed as insight. Ciao ![]()
The three type of chess engine and four level of bot creation.
Vaporware ?
I posted example of game were :
The bot only move on protected square :
https://www.chess.com/forum/view/chess-equipment/goliath-training-bot-only-move-on-protected-square
The bot will not move on the four central square except for taking:
https://www.chess.com/forum/view/game-analysis/guess-the-rule
No chess engine can do that because at one point no moves are produce by the search tree that don't break the rule. When a move is produce it will rarely be at the top = you take less good move and the engine have to recalculate everything as you did not choose the top line.
They are trying to calculating the best move not taking into account a MASSIVE restriction.
A bot where the rook only move on square of their initial color
https://www.chess.com/forum/view/fun-with-chess/rookshop
No chess engine can do because on top of the restriction, the engine have to keep track of each rook independently , and no engine except Camille can do that. For a normal engine, a rook is a rook , a pawn is a pawn, you can change how some engine see a type of pieces (importance of pawn structure for example ) but that's all. Camille track each pieces independently , if you want to put a condition like : If the c pawn reach rank 5 do this, you can. If the d pawn take, go on the c file and reach rank 5 the condition will not be met, because that's not the same pawn .
A bot with two chess engine running in parallel ( not new ) but doing different things.
https://www.chess.com/forum/view/general/gotham-bot-improving-brilliancy-rate
You play against the main engine at whatever elo you want, the second engine run at 2500 elo and look ONLY for rook sac, nothing else.
he pawn pusher bot I did not do a subject on this one, but same. No bot can do this at the present time
https://www.chess.com/forum/view/for-beginners/the-scholastic-mate-bot
Here I showed the use of adding a repertoire, that's not new many engine can do it, but camille allow you do things (like switching to different engine/parameter) depending of the point of exist in the repertoire that other engine cannot do simply.
Vaporware = you don't have a product, you just have marketing :-)
As for the legality of letting the engine free for website use, that's REALLY not complicated. You just create a license that say so.
On the side note, Camille was developed as a side project of another company, we are not a gaming company and have no real connection to the chess world. Free licensing for online use is perfect as me will have nothing to manage :-) .
PS : for each type of bot I posted one or two game but when we make them run for test against SF we do between 10 to 100 by elo bracket. So impossible to fake even if you had some GM in your payroll, as currently they are the only one who could produce those type of game play :-).
PS2: some parameter of Camille have still not be shown, as for example the possibility to give different value to each piece player and opponent. That's alone would be a way to create bot with unusual behavior. Like you want the bot to attack queen side, just lower the value of its pieces on this side ( will attack more because less valuable) and increase the value of the piece of the opponent.
Where to download the Camille engine?? It sounds interesting. I would like to play against it.
We are going to release it soon on steam and I hope you can use it freely on chess websites :-).
@CamilleQueenOfBots
Can you provide self-contained PGN files with move annotations explaining the rule being demonstrated ? Can you publish Camille's API documentation or source code for independent verification ? Can you submit to "blind testing" on neutral platforms with disclosed parameters ? A bot that "only moves on protected squares" cannot be implemented in standard engines because the search tree would produce no legal moves that satisfy the constraint. Claiming "no chess engine can do that" conflates "OOB behavior" with "technical impossibility". Saying "Camille can do X, therefore it's unique" is like saying "Tesla can drive autonomously, therefore no other car manufacturer could ever add Autopilot": it's a category error. Claiming "Camille tracks each piece independently ..." is false: standard engines treat "a Rook is a Rook, a pawn is a pawn". The question is not whether an engine can track piece identity, it's whether the evaluation function uses that information in a user-configurable way. That's a product feature, not a technical breakthrough. Making Camille "free for website use" is trivial: "you just create a license that say so": saying this ("just create a license") is like saying "just create a recipe" for a Michelin-star dish. A license grants permissions, it's the easiest part, but it does not provide the software, the documentation, or the support needed to use it. What does "free for website use" mean ? Open source ? Freemium API ? Proprietary binary with usage limits ? In order to "integrate" a chess engine, you need API docs, rate limits, authentication, error handling, versioning, support channels, etc. A license provides none of these. Asserting that results are "impossible to fake" without providing reproducible methodology is the "hallmark" of pseudo-science. Real engineering submits to peer-review, marketing asserts invincibility. How were the 10-100 games selected ? Were they blind-tested ? What was the opponent tool ? As for "releasing Camille on Steam", announcing a Steam release is easy. Shipping a product that meets Steam's quality bar, handles cross-platform compatibility, and justifies a price point is hard. If Camille is "completely free for website use", why sell it on Steam ? Is it freemium ? Donationware ? Saying "you just create a license that says so" is like saying "you just create a recipe" for a nuclear reactor. The hard parts are compiling the engine for web deployment (WASM, Emscripten), building a secure and scalable API (or client-side integration), documenting the integration for third-party developers, providing support and handling bug reports. No chess engine has ever been "freely usable on websites" by simply declaring a license. Releasing Camille on Steam implies a commercial product: even it's free, Steam takes 30% cut on paid sales. If you're not a gaming company, why invest in Steam distribution if there is no business incentive ? In any case, without a concrete roadmap, the claims lack credibility. If Camille is a "bare engine", its Steam prospects are dim. If it's includes a GUI, where is the screenshot, trailer, or feature list ? A "vague" license statement is worse than useless, it creates legal uncertainty. If a website integrates Camille based on handwritten license, and the terms later change, who is liable ? Professional software uses standard, reviewed license (Apache, MIT, GPL) or clear commercial terms. "Just create a license" is amateur hour. Until Camille is well documented and demonstrable, your announcement remains marketing vaporware. Ciao ![]()
@Kromok2
1 We post game were the rules expressed are clearly being followed. You want game where the bot only move on protected square? I should have something like 2000 or more PNG we tested the bot at different elo vs stockfish at different elo with 100 game per cell. A LOT of game ![]()
2 Yes if you use a standard chess engine for trying to do restrictive search you have two issue.
- you have to choose the move inside the tree = must have one, and one move become more and more restricted you end up with zero move.
- the move present have been calculated as good without any restriction = with a follow up that assume no restriction.
3 no other chess engine can do that at the present time. If you know of a search engine who can use it full processing power to search inside limitation (meaning only doing calculation for permitted moves ) please tell me which.
4 No, again no engine to the best of my knowledge can track pieces, because they don't need to. Each pieces is equivalent, the only thing that matter is its position relative to the other on the board. If you know of one engine who can track this specific knight and make it behave differently or put a different value on it or change the engine behavior in function of its position, please tell me which.
And please tell me where I speak of technological breakthrough, Camille is algorithmic, that the first type of chess engine created. It was design differently and can do many thing that more modern engine cannot do.
As for the licensing don't take this personally, but if your analysis of Camille is equivalent to your legal one.... Well it might surprise you but if you want to make a license for free use, that's surprisingly easy to do.
![]()
PS : Vaporware as a precise meaning and I don't think the word you use means what you think it means. Unless of course you assume that the game posted are fake/generated I don't know how. Which is why at first I created a profile for the first bot, so that it can play against the bot on SF and prove that those were not fabricated
Hey, this follow-up post confirms you are looking at chess programming through a distorted hole. You are making definitive statements about what "no chess engine can do", while describing things that are entry-level features in open-source chess engines.
1) The "2000 PGNs": generating 2000 PGNs where a bot follows a rule proves just that the code runs without crashing; it doesn't prove that the engine architecture is revolutionary, nor does it prove it's doing something "no other engines can do". Anyone with 1h of free-time can write a Python script (using python-chess library), hook it up with SF, and hand-abort or penalize any move that lands on an unprotected square. The output would be 2000 PGNs of a bot obeying the rules. You're conflating a functional script with an architectural breakthrough;
2) About the claim: "If you use a standard chess engine for trying to do restricted search ...": this shows that you don't understand how a chess engine actually works. You're under the impression that to make a restricted bot, you have to take a vanilla, compiled engine, let it calculate a normal move and then to try to "force" a restriction onto it from the outside. No, that's not how engine modifications work. In any engine, the very first step in the search loop is the "Move Generation" alg (generate_moves() function). If you want an engine to only search permitted moves using its full processing power, you simply modify the Move Generation itself. If the rule says "Rooks can only move to squares to their initial color", you modify the Rook's move generation logic so it only returns those specific squares as legal. Is that okay ? Now, because the Alpha-Beta pruning tree only evaluates the moves handed to it by the move generator, the engine's full processing power is automatically spent calculating the consequences of those permitted moves. That's OK ? The follow-up moves in the search tree will also inherently respect the restriction because the move generation applies to all future nodes in the tree. Hence, your claim "no engine can use its full processing power to search inside limitation" is false. It's how every single chess variant engine ON EARTH works;
3) "Tell me which engine can do this ...": yes, no problem, it's Fairy Stockfish. Fairy SF is an open-source chess engine derived from SF, specifically designed to handle regional restrictions, custom piece movements, and complex variant rules. It does not just search "inside limitations", but it allows users to define entirely new rules, restricted board zones, and custom piece behavior via its configuration file (variants.ini). And it uses its full processing power to calculate only those legal variations. The fact that you don't know Fairy SF exists proves you have done 0 market research before claiming "Camille" is a unique "snowflake".
4) "No engine to the best of my knowledge can track pieces, because they don't need to ...": you're treating a trivial data structure like it's "sorcery". I'll tell you: standard engines use "bitboards" (64-bit integers) and "piece-lists" (array of pieces and their coordinates) because it's the most efficient (computationally) way to play standard chess. If an engine does not track a specific Knight's individual biography, it's not because it can't, but it's because standard chess rules don't require it. However, tracking a specific piece, it's trivial. In the "Piece List" architecture, each piece is an object or an index in an array. You can easily add a single metadata variable to that piece's structure (e.g., piece.id=1, piece.has_visited_c5=true). If you want an engine that does this, look at any engine designed for "pathfinding variants", or engines that track piece history to prevent repeating specific strategy mistakes during training. Even SF track piece identities through the history of the move stack to evaluate draw by repetition and castling rights.
5) "Camille is alg": all traditional chess engines (Komodo Dragon, Fritz, SF, Houdini) are algorithmic. They rely on Alpha-Beta pruning, PVS (or Negamax alg), and bitboard manipulation. Even NNUE use algs to evaluate the network. Saying an engine is "alg", as if it's distinct, is meaningless.
Une vraie tartine...
1 so you look at the goliath game I posted ? Because if you pick the move in the generated candidates you run in all the issue mentioned in my earlier message that you obviously did not read.. So yes you could have game but you would be way under the -500 elo Camille gets against stockfish.
2 So every engine can do it but at the same time you doubt that Camille can do it
3 No can't do. Fairy define new rules for the game , you define the rule and how the piece move, then you let the engine run. Cannot do : identify pieces, dynamic rule, asymmetric value, phase, conditional transition ect . Once again did you look at the game I posted ?
4 and 5 sorry I lost enough time on this reply already.
Short question : show me bot who do something equivalent to the game that I posted thanks you. So far the most memorable bots I saw are either the very bad one full of injected errors, or the Nelson who has a a very scripted opening = not really a bot.
Small edit , you could make bots partially similar with Fairy but you would have to use work around, like you cannot have different values for the same pieces, so you create different pawn with different value.
But at the end if the day, what you can express is just way more limited, will ask for more work and will always be limited to the initial phase of the game.
Camille is designed to be controlled, in the engine and in the interface. You design module that you can be reused in other bot. Opening book, engine module, tactic, scout, rules, flaw, strategy ect.
Basic info on the different type of chess engine and bot possibility. I had discussion with titled players and on forum and it turned out that few even understand how Camille is different structurally from present chess engine and the creation for bot creation :-)
Camille is completely free for website if any one is interested to integrated the system :-) .
THREE TYPES OF CHESS ENGINES
Algorithmic (Stockfish, Rodent IV): search millions of variations deep, score each resulting position, and pick the move leading to the best score. Strength comes from depth and a finely tuned evaluation. Personality, if any, comes from tunable evaluation weights.
Neural network (Maia, Leela): a network trained on past games answers "what move fits this position?" in one pass (Maia) or guides a search (Leela). Strength and style come from the training data. To change behavior, you load a different model; the internal knobs are not tunable.
Camille: searches like an algorithmic engine, but inside a profile that you write. It applies rules forbidding or preferring moves, per-piece values, phase changes, objectives that turn on and off, and the option to route moves to Stockfish or Maia when useful. Strength comes from playing the best move that fits the chosen personality.
THE FOUR LEVEL OF BOTS
Level 1: Post-Search Filter / Model Selection
The engine searches for moves and produces a pool of candidate moves, and an independent piece of software chooses among them.
The engine's search tree is unchanged; it produces the same results regardless of the bot software. The best move is not always selected, so more calculation is spent on each move.
The filter can change during the game: adaptive-difficulty bots adjust their wrapper or swap models mid-match based on how the player is doing.
Typical bots: a weakened Stockfish, and similar wrappers.
Level 2: Tunable Evaluation Weights
This level applies to Rodent IV and classical engines. The engine's own evaluation has knobs; you change them, and the engine searches with the new weights (positional, tactical, king safety, pawn structure, etc.).
The search tree is shaped by the personality, so every node is scored under the modified evaluation.
The engine plans coherently around its style.
It is limited to the available parameters and to what the evaluation function can naturally express. You cannot say "never trade this specific bishop," because that is not a number in a weighted sum.
Neural-network evaluations cannot be tuned this way. Maia and other NN engines have no Level 2 surface, since changing them requires retraining rather than configuration.
Typical bots: Rodent IV personality files (Aggressive, Positional, Defender, Pawn Sacrificer, and so on); Fritz with style sliders (the Fritz 20/21 "Style Engine" exposes aggression, positional, and risk-taking parameters); and the King (the Chessmaster engine).
An engine capable of Level 2 can also use Level 1 techniques to create bots.
Level 3: Configurable Rules, Values, and Search Constraints (Camille)
Camille, like an algorithmic chess engine, looks for the best move, and the best move is always returned (unless you add flaws). You can change the value of some parameters, as in Rodent IV, but the search is done inside the rules and restrictions that you define. Moves that go against them are not considered.
Camille's Rule and Restriction System
Five rule types: Forbid (cut moves from the search), Prefer (boost a move's ranking or score), Force (mandate a move when conditions match), Re-value (change a piece's worth), and Set objective (toggle evaluation modules such as king-attack or fortress).
Targeting: rules apply to a specific tracked piece, a piece type, squares or zones, move types (captures, checks, sacrifices, and so on), or patterns. These can be composed into a single complex rule.
Conditions: these gate when a rule is active, based on king position, material, move number, structure, opponent actions, phase, or plan state, and they chain with AND/OR.
Strictness: Hard (removed from the search), Strong (large penalty, broken only under tactical pressure), or Soft (minor de-boost). Strictness can vary by phase, describing a personality that loosens over the course of the game.
Phases: named rule bundles (opening, middlegame, endgame, plus custom ones) that swap automatically when their exit conditions match.
The number of possible bots runs into the billions.
Training bot: a bot that moves only to protected squares, a bot that lets you develop on one part of the board, a bot that opens by trying to castle as soon as possible, or a bot that develops certain pieces only.
Challenge bot: add a restriction and see whether you can beat a 2500-Elo bot.
Joke bot: it is very easy to break a bot. A bot that can only move to protected squares will in fact be unable to take a piece unless it has two pieces attacking it at once, making a bot that seems to play normally but cannot do much once you start attacking.
Level 4: Multiple Chess Engines at the Same Time
Several solutions use this method (Banksia, ScorpioNNUE): you run several engines with the same bot in sequence, gated by basic conditions (evaluation, number of pieces, etc.), or you run two engines at the same time and choose the move.
Bot types: play the opening with one engine at a given level, then switch to another engine with different parameters.
Camille lets you do all of that but considerably expands the number of conditions you can set for engine switching (a full conditional system). It also adds a scout system, where one engine runs in parallel but looks only for specific things. For example, the Gotham bot, where a 2500-Elo engine run in parallel and looks only for brilliant rook sacrifices.