Need an American football game (not soccer) simulation engine WITHOUT graphics. The coordinates and game details will be exported to an XML file or JSON file. The engine will retrieve team/player/scenario passed in as parameters to change the probabilities of outcomes. All artificial intelligence, plays, algorithms, etc. need to be created from scratch. This includes player attributes (speed, strength, agility, different skills, position, age, height, weight, confidence, clutch, ability under pressure, and other attributes such as ability to improve, get worse), weather conditions, player skills. We can discuss these parameters at a later time.
The simulator will take two teams, and create a game log of events that occured based on the players (i.e. parameters) passed into, as well as other parameters, such as weather, coaching, winning streaks, hottness, momentum, home crowd effect, current team record/state, many other fields and parameters that we can add and tweak etc.
We'd like the engine to be flexible such that if we need to add other parameters down the line without huge modifications. Basically, we'd like to be able to refine the algorithms such that we can come up with the most realistic scenarios possible.
- Game States
Start of game (kickoff), end of quarter (switch sides), half time, update scoreboard (touchdown, field goal), whistle blown, end of play, interception/fumble, team direction, end of game.
- Team States
Team will make decisions based on time remaining, play down, down marker, score, aggressiveness, user preferences (run/pass ratio), select play/formation.
- Player States
Player will make decisions based on role/position (block, run route, pass, tackle, etc.), status, aggressiveness, user preference, and attributes.
- Player Movement
Player will move according to environment and scenarios, which include player state, collision avoidance, position/play/formation status (ball not snapped, running play, holding ball for kicker, man-to-man, cover, etc.).
- XML File
The XML file holds all of the player coordinates for each play, ball coordinates, play name and description, current quarter, current score, team names, positions and names of players on field, outcome (touchdown, field goal), current score for each quarter.
This can also be exported in another format such as JSON, and it needs to have timestamps for each action (relative to the start of the game) so we can simulate real-time statuses of the game.
- Database
The database will record all game/team/player stats and an id for each play. I have the database structure available.
The rules of the game should be the same as the NFL rules. If you need further specifications, we can provide that as well.
It would be useful to have this engine available as a standalone RESTful or simple web service, where entire games, plays, and each method/function can be called seperately as well by passing in the parameters as variables.