- The Sims
  - empathy of humans
  - eight needs
  - heirarchy of needs
  - house full of objects
  - selecting an object
  - procedural control
  - systems of needs - use hysteresis
  - heirarchical control systems
  - use procedural code where possible
  - needs and motives in combat

- Machine Learning in the Sims
  - the AI override
  - the coffee machine example
  - the goal: learning
  - the first machine-learning game: checkers
  - the form of the input data
  - using quinlan's ID3
  - using neural networks

- Pathfinding methods

  reactive methods
  wall-tracing
  post-smoothing
  single-source method
  recursive subdivision
  hot-spots
  roads
  A*
   terrain costs
   negative costs
  path subdivision
  dynamic correction
  waypoint graphs

- Combat AI
  - what should I do next: snipe, flee, attack, resupply
    - use a need-based AI like the sims
    - often, just an FSM
  - location-questions:
    - where should I go to resupply/snipe/attack
    - what direction should I aim in (for attacks)
  - 3D space typically annotated with waypoints
  - waypoints connected with graph
  - waypoint annotation data:
    - terrain attributes: light, terrain type, etc.
    - grouping (part of a room?)
    - analytical attributes (eg, focus direction)
    - statistical traffic data
  - where should I go to snipe?
    - for every waypoint in radius, evaluate quality:
      - is it within easy range of a high-cover waypoint?
      - does it have line-of-sight to high-traffic waypoints?
      - is it in shadow?
      - how dangerous to get there?
      - have you been here too long?
    - involves recursive calls to pathfinder and raytracer
  - using learning
    - short term
    - for each waypoint, record success/failure
    - problem: generalization

sociology modeling

  using swarms of mini-AIs (as in city-sim games)
    - individual AI's are simple
    - but collective behavior is interesting
  SimOccupation
    - using rule-based expert systems to model society
    - often used in political and economic sims
    - difference between logic and curve-fitting

