Thursday, December 01, 2016

Fighting Eleven #10: Extracting Convincing From Real

One of the biggest challenges I'm facing for this game is how I create verisimilitude without drowning in the details.

I have a database of all D-I signings for the last ten years. It's about 10,000 players, a huge amount of raw data.

It's a giant puzzle, really, and for the game to work, I have to understand how the pieces fit together.

What's the ratio of five, four, and three-star recruits for a five-star program? What percentage of players sign in-state, or from an adjoining state? Those are the kinds of questions I need to answer to be able to put a slice of that into the game.

The 100% way to do recruiting would be to have all schools recruit every year, incorporating their team style, program status, program strengths, and location.

That's always my first instinct, to go way, way overboard, but that's not an efficient way to do this.

My job is to not go overboard. I need to give the user a sense of reality with as few AI rules and programming as possible.

Here's an example of trying to extract a slice of realism, which is all that the user sees. I'm not generating a huge database of fictional recruits each season. Instead, I'm generating 4 recruits that the user can recruit for each graduating player. So if 3 players need to be replaced, there will be 12 recruits available (4 at each position that needs to be replaced).

I use the real database to create 15 fictional recruits that should plausibly be interested in the user's program. This sounds easy, but it's much more complex than you would image. What star level for the recruits? Where do they come from? Why are they interested (I have to generate their priorities for the recruiting mini-game)? Also, what other schools are interested in the recruit, and why?

Now, because the user will play the same teams in conference play every season, those teams will actually have their own deck of player cards, and I'll replace graduating players with appropriate recruits for that program. So instead of doing recruiting for 120 schools, I'll be doing it for about 10.

When the user plays in-conference teams, he/she will recognize player cards from previous seasons, instead of just playing against a random deck. So I go in-depth with the teams the user will play every season.

My goal is to come up with 10 rules for the AI. 10 rules that will create a realistic recruit, and bonus points if I can do it in 5 rules. I'll let you know next week how I've done.

Site Meter