I think he’s fantasizing at this point. I seriously doubt that the has a massively parallel 500+ CPU computer with a few thousand 1TB+ disk drives just to play 1970’s era wargames. And modern games with 20~100 page rule books … forget about it.
SPI blue and grey was encoded overnight. Now playable v Ai. Will add that to the beta exe later today and possibly also SPI westwall.
All evidence is that AI is increasing coding jobs, just like ATMs resulted in more tellers not less and autopilot caused a massive expansion in the number of pilots.
AI isn’t increasing usable output. It’s actually having a negative effect, and the more compute-tokens a company spends on AI, the bigger the damage is.
You need to take your Boomer nose out of the rear end of the whatever TV news channel you watch, because, for the most part, all they do is just republish corporate publicity copy. Instead, start looking at the technical press, and even YouTube channels covering technical issues. There are several devoted completely to following AI. They are unanimously reporting widespread failure to meet even 1% of what has been hyped. And again, if AI was doing what’s being claimed, Sam Altman wouldn’t have slithered out of the United States down to Argentina on a private jet. He’d be sitting here, hawking his (failing) IPO for OpenAI. Instead, he’s hiding out, keeping his whereabouts a secret, because he’s literally in fear for his life from the men he conned out of hundreds of millions and even billions of dollars.
As I noted above, Ford fired about 15,000 engineers. They are now DESPERATELY trying to hire them back, as design quality went from bad to terrible, and recalls are skyrocketing.
And mechanical engineering is EASY compared to coding NEW things. (And there is no public domain or open source code for any AI system to use to train on how to write a wargaming AI).
Now we are getting somewhere. As you imply the engineering part is separate from the knowledge part. The legality engine is the engineering upon which the AI has to learn through evolution and genetic effects. As the AI plays through 200,000 games of Chikamauga to find a champion playbook, the first thing it learns is that it can’t make illegal moves. Then that playbook, which also includes a summation of strategy knowledge already published on the game, can be used by any LLM. One key is the the encoding required to have a legality engine removes the need for any vision, visual acuity, or neural network.
Training an AI to properly resolve edge cases on the difference between a legla move and an illegal move is no walk in the park.
The legality system is built and verified. That’s the easy part. Training to play is the hard part. No training to prevent the AI from illegal moves is neccessary since the legality prevents all illegal moves by definition.
Have you read the code for the legal/illegal move software? Do you know if it’s correct, or are you just doing “trust it, bro, it’s AI”
Just so you understand, I tried a test a while back.
I wanted to explore some possibilities for the old 8-bit Motorola 6809 CPU.
I asked a couple different AI’s to write an assembler for the Motorola 6809 – a very simple, well-defined task (I wrote three assemblers for more complex CPUs when I was studying for my Computer Engineering degree in the 1980’s, and a microcode assembler for a paper proposed hardware architecture to implement a PDP-11, as an academic exercise). I then wanted to look into sing that to construct a C compiler for the 6809.
Now, what’s very interesting, is that the AI balked at the task of writing a 6809 Assembler, even though it’s a 40-year old 8-bit CPU. They all gave me just a skeleton to build on. So, I did a comparison test. I asked several AI’s to write an assembler for the 6502 (a competing 8-bit CPU, based on the design of the Motorola 6800, which the 6809 is also directly derived from). I got decent results on the first prompt, and better with small tweaks to the prompts. Then I did the same for the 8-bit Intel 8080 / 8085 / Zilog Z80 CPUs. Once again, the AI’s gave satisfactory results. I then theorized that perhaps the reason is that the 6809 is more sophisticated than the 6502 and 8080 (the 6809 assembly language has many features typically found in minicomputers of the era, which required several circuit boards of chips to implement their CPUs)… so I asked the AI’s to write me assemblers for the PDP-11, and the 6809’s 16/32-bit successor, the Motorola 68000/10/20/30/40/50/60 family. NO PROBLEM.
So AI’s difficulty with writing a 6809 assembler has absolutely NOTHING to do with the complexity of the 6809 assembly language.
Similarly, when I asked these AI’s to write a C compiler for the 6809… couldn’t do it. But it could do so for the much more primitive (in terms of translation from source code to machine code) 6502 and 8080 / 8085 / Z80 family, as well as the PDP-11 and Motorola 68000-68060 family.
The reason.
There’s no open source 6809 assemblers, or 6809 C compilers for the AI’s to “look at the other guy’s test sheet” to get the answer, whereas all of the other CPUs I mentioned, there IS publicly available assemblers and C compilers to copy the answers from.
AI CANNOT THINK. AI CANNOT REASON. AI doesn’t even know the meaning of words. It just understand (most) english natural language syntax, and has huge STATISTICAL models.
It couldn’t do these very easy, well-defined tasks that were solved half a century ago BECAUSE THERE WAS NO TRAINING DATA.
Now, if you THINK that Claude understands what the movement rules mean, and can accurately translate the english prose of an Avalon Hill rulebook into meaningful code, enough to bet your life on, then you had better get your insurance policy up to date.
The reason is this.
Are there any OTHER examples of Avalon Hill or SPI rules AND CORRESPONDING SOURCE CODE (in C or any other language… and I doubt any in Python, because both companies went out of business long before Python became generally available)?
NO, there isn’t.
So the LLM’s don’t have ANY transformation rules on how to turn wargaming rulebook prose into a formal, logic definition in the form of C, C++, Python, Java, SQL, or god forbid, Javascript code… or any other language for that matter.
You’re going to find that although the software emitted by the AI might give you a general feel for what you’re looking for, the nitty-gritty gets down to “edge cases”… And you’re going to find out that when it comes to edge cases, that AI-written code is rubbish.
And this still doesn’t even touch on the AI even beginning to understand the difference between a good move, and a bad move… or that one hex can be an excellent position for one piece to occupy, but absolutely retarded (as in, risk losing the game) to move a different piece to that same location on the mapboard.
AI CANNOT THINK.
AI doesn’t understand ANYTHING.
But of course, you know that already, don’t you, Mr. *EVIL*.
Would you point me to where in the code the validity checker is?
Validation is separate from enforcement. Each game has validate_*.py scripts that reproduce the rulebook’s own worked combat/movement examples through the engine, cross-check the encoded CRT against two independently-transcribed sources (zero mismatches across all 66 cells), and prove illegal submissions are rejected with the right rule citation — see games/afrika-korps-classic-ah/VALIDATION.md for the full evidence chain. run_all.py runs every validator in CI and engine/verify_game.py lets you replay any game log to confirm every verdict/die roll independently. Where a rule couldn’t be validated it’s declared unenforced in the game’s rules_scope rather than guessed at.
But, IMO, this may seem circular, so the proof of legality is ultimately a person who knows the game and can evaluate legality and nonlegality while playing or observing a game. I would anticipate bugs as this is the first draft. Especially from a human player who knows wonky edge cases to test. Thus back to my original query: what game would you like me to encode for you to test with your own eyes? Caveat: to be encodable, a game has some prerequisites to fullfill (ENCODING_GUIDE.md).
And here is Fable’s additional summary - warning non-human response below:
“”"The other two games’ validation suites — shows the discipline is systemic, not a one-game showcase:
- games/blue-and-gray-chickamauga/validate_gate.py, validate_combat.py, validate_movement.py, validate_grid.py games/westwall-arnhem/ — same five-script pattern (validate_gate.py, validate_combat.py, validate_movement.py, validate_grid.py,
validate_ai.py) - Each directory also has its own VALIDATION.md evidence worksheet.
- games/blue-and-gray-chickamauga/validate_retreat_chain.py — this one is a good story for your circularity point. It exists because an actual played game hit an infinite retreat-displacement-chain bug in the engine; the bug was found by playing, fixed, and this script is
the permanent regression test that came out of it (the frozen bug state is checked in at test_fixtures/retreat_cycle_state.json). It’s concrete proof the process catches its own author’s errors — the exact opposite of circular. - games/afrika-korps-classic-ah/validate_ai.py (and the Chickamauga/Westwall equivalents) — runs entire AI-vs-AI campaigns at multiple seeds and then requires the full log to replay byte-for-byte through verify_game.py: every verdict, every die, every state hash. Thousands of
gate decisions re-verified per run, not hand-picked cases. - engine/capture_baseline.py — the regression harness that SHA-compares the original Arnhem/Tobruk baselines after every engine change, so adding a new game can’t silently change an old game’s rulings.“”"
As an aside, since GPT 5.6 is out, I will try to create a harness for it, feed it the champion playbook (the result of 200K playhtroughs over 150 generations), and see what happens when it plays against Fable 5 (the playbook’s creator). I’ll figure how to make this a movie and not just an enormous log. A consideration is that the Fable side plays through my subscription (no cost), but GPT can only do this via API, so maybe $10 per game to test this way.
Did a few trial games of chikamauga. Fable versus Opus sort of like a pbm match. To my surprise Opus won both as union and as confederate. There was no doomstacking. Will try Opus versus got 5.6 next. The engine seems to enable an Ai opponent that learns
I’m having no success reading through the code.
- Where are the rules encoded? I can’t find any specific place.
- Where is the checking of a move against the rules done?
games/afrika-korps-classic-ah/VALIDATION.md is not from the looks of it a document intended to be read.
Short version: I added a code tour to the README. Look for “code tour - where the rules live, where a move is checked.”
Long version. OK… nothing in the current repo told you where to look (I just now added it for reference from now on in the README). The reason you couldn’t find the rules code is there isn’t any per game. Rules are not code. The rules live in each game’s game.json as data (the whole CRT is in there under combat.crt, plus movement costs, unit types etc, with the rule section numbers next to each entry). The engine just reads that file. Idea being a new game is a new data file, not new code.
The move checking is one function: submit() in engine/strategic.py (around line 2127) for Afrika Korps. Everything a player or the AI tries goes through it, gets accepted or rejected with the rule number, and gets written to the log. The other games have their own:
bluegray.py line ~900, westwall.py ~1137, gamestate.py ~330 for Tobruk/Arnhem.
You’re right about VALIDATION.md, it’s basically my working notes from when I did the validation, not something written to be read cold. I put a short code tour in the README so the next person doesn’t have to ask these questions.
For context, I’m not a professional developer. I know the games and enough about code to test and direct, but Claude writes the code under my direction while I set the validation requirements, play the games, and file the bugs. That’s exactly why everything is built to be checked without trusting me or the AI. The validators run in CI, any game log replays independently, and the CRT can be checked against your own copy of the rulebook. A reviewer like you finding real problems is worth a lot to me. Which is why I was hoping to have an independent eye “pick a game and test it yourself”.
It’s code.
He’s not a programmer, so he has no idea what it does, but "the it was generated by the AI, so it must be correct, … right? "… but then has to later admit that he really has no idea if the code is correct, and since he’s not even familiar with the games themselves, can’t even verify performance is correct.
This is the same sort of “MBA ‘AI Bro’ " logic that led to Ford Motor Company firing about 15,000 engineers, because 'Artificiall intelligence, bro…it’s intelligent… it says so right there in the name!”… Here’s hoping that Ford stockholders insist that all of the MBA’s who were responsible for this nonsense be themselves fired, for the wanton, and unjusfified destruction of accumulate organizational knowledge and experience, due to personal greed at the expense of stockholder value, as mandatory recalls for recent Ford products are skyrocketing.
You seem to be saying that as an expert on Ford motor company you would never lay off 15000 engineers to save money because it costs too much.
And thank you for your service from an old VA doc
Is AI desirable as an opponent in Vassal?
At first I thought yes .
An opponent who plays by the rules and does not make silly mistakes or cheat .
Is always available. No waiting for next email in PBE M.
Does not fail to make a move.
Than I asked my self would AI nearly always win?
I am no programmer and do not understand AI.
If playing a straightforward game like Napoleon at Waterloo where all the pieces are placed in a certain position and there are no random elements like cards and AI is playing the French, would the AI go through all possible first turn moves, calculating the odds for each possible battle and then make its move. If so then every turn would be examined in far greater detail than any human opponent could do in a reasonable time and this would give the AI a tremendous advantage over a human.
In Battle for Moscow, AI playing the Germans how would it decide where to place the German units? Once again would it go through all possible openings to find the best one?
Is anyone able to tell me if my thoughts on AI are correct or have I got hold of the wrong end of the stick so to speak. If my worse fears are confirmed then AI could become an unbeatable opponent unless unlucky with t he die rolls.
Chess is a good example of the abilities of AI. Chess has the following characteristics:
- The rules are simple and exact.
- The goal is clearly defined.
- The world is small and closed.
Chess engines exist today that outplay all humans. We would not want to play against a chess-engine. That is the reason why using a chess-engine is strictly forbidden in all human competition. It is cheating.
There is nothing “intelligent” about a chess engine. Given the characteristics above, the chess-engine is brilliant by its enormous computational abilities. As long as the rules are simple, the goal is well-defined and the world is closed, these abilities shine.
In the game engine I am working on, there is nothing that prevents a module developer from making an AI opponent with Luau script. You can code legal moves, you can run through moves and counter-moves, make a search-tree, prune the tree according to goals and find the “best” move. Would this be practical? No, because of the enormous computational power it would take, which would far outdo the computer hardware people play games on.
Thanks for the thoughtful reply.
In terms of LLMs that cost is dropping 95% per year. Fable perhaps shows this is in reach