Agent skill

ai-opponent

Implement or tune AI opponent behavior

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/ai-opponent

SKILL.md

AI Opponent Implementation

Help implement or tune AI opponent logic per the game design.

AI Strategy (from design doc)

swift
func chooseAcceleration(racer: Player, track: Track, opponents: [Player]) -> GridVector {
    var bestScore = Int.min
    var bestAccel = GridVector(0, 0)

    for acceleration in allAccelerations {
        let newPos = racer.position + racer.velocity + acceleration
        let newVel = racer.velocity + acceleration

        if wouldCrash(from: racer.position, to: newPos, track: track) {
            score = -1000
        } else {
            score = progressTowardFinish(newPos, track.finishLine)
            score -= distanceToTrackCenter(newPos, track) * 0.1
            score -= speed(newVel) * 0.05  // Prefer control
        }

        if score > bestScore {
            bestScore = score
            bestAccel = acceleration
        }
    }
    return bestAccel
}

Difficulty Levels

Level Behavior
Easy Random valid moves, avoids crashes
Medium Greedy progress toward finish
Hard Looks 2-3 moves ahead, blocks opponents

Implementation Tasks

  1. Basic AI: Avoid crashes, prefer forward progress
  2. Path scoring: Evaluate each of 9 options
  3. Lookahead: Simulate N turns ahead (Hard mode)
  4. Opponent awareness: Block or avoid collisions
  5. Track awareness: Prefer center of track

Testing

  • AI should never choose crash moves when safe options exist
  • Easy AI should lose to competent player
  • Hard AI should provide challenge

Didn't find tool you were looking for?

Be as detailed as possible for better results