A self-taught dev building a CRPG asked whether enemy brains should stay on utility scoring with hand-authored overrides, or go fully hand-authored to give each enemy more personality. The answer from a reply by someone who has spent a lot of professional time on game AI was the one nobody reaches for as a technical solution.
Always fake it as much as possible.
The target, in his words, is what wine fans call mouthfeel — the sensation of intelligence has to conform to player expectations, not to reality:
- Players don’t enjoy genuinely good decision-making AI; they want to feel smart for overcoming an enemy
- That depends on enemies who make exploitable mistakes and behave predictably enough to be read
- Enemies acting too smart get interpreted as cheating, even when they only use legal information
- Enemies acting outside expectation get interpreted as random, which breaks the illusion just as fast
The thread’s second frame is F.E.A.R., still the benchmark two decades on. Its competence comes from systems, not from a clever planner:
- Soldiers crouch, climb ladders, and reach anywhere the player can, so they can’t be cheesed by geometry
- The challenge stays non-bullshit — no aimbot accuracy, no bullet sponges
- Level design does a lot of the work: interconnected maps with marked tactical positions make squads splitting up read as flanking
- Small behaviours punch above their weight — one reply recalls the last surviving squad member hiding in a dark corner, which reads as a morale system with nothing visible modelling morale
The original tradeoff was real, and the advice reframed it rather than dissolving it:
- Utility AI with special-case breaks: tactically fluid and adaptive, but enemies feel homogeneous
- Hand-authored trees: distinctive characters with signature moves, at the cost of spaghetti code and patterns the player eventually solves
- His own hybrid sketch — score the board, derive a turn intention, let utility pick the target and tile, then layer class-specific override rules with cool-downs — is a decent starting pattern; the fix for sameness is per-entity modifiers, not abandoning the utility core
- He picked hand-authored and more expressive, on the reasoning that predictability makes a character feel realer, not dumber
The useful line to take away is the one at the bottom of the thread: don’t make the enemies dumb, make them smart and give the player an edge so they can be smarter. Perceived intelligence in games is a legibility problem, not an optimisation problem.