Genetic Football
April 28, 2015 7:08 AM   Subscribe

Genetic Football
You got your football simulator in my evolutionary model! No, YOU got your genetic algorithms in MY incredibly realistic football simulator! Which is to say: Genetic Football applies the ideas of natural selection to some very, very dumb simulated football players and lets you try and evolve the league over time.

There's a bunch of info on the site page itself, in the "How it works" link you can pop open, but some basic stuff:

- Players don't have any kind of AI or awareness of football rules. The just run as fast as their varyingly long legs can carry them, with a turning radius based on how varyingly lop-sided their legs are, starting in whichever direction the compass in their brain says they should. All of those are genetically determined constants for a player.

- Bad players get fired periodically after games, and are replaced by either a clone of one of the team's remaining players, a hybrid offspring of two of the remaining players, or a total rando with fresh genetic material.

- What "good" and "bad" can be modified as you see fit; the Fitness Metrics shows how many positive performance points a player gets for doing various things. Get sabermetric on that shit.

- Because teams evolve by finishing games and firing players, evolution is slow in real-time; you can use "Skip Games" to make the league plow through a bunch of matchups all at once, to see how things have changed after a few firing/hiring cycles.

Fun things to try:

- Turn the team size up or down
- Try doing a cloning-only strategy to see teams become monolithic
- Make the "per yard" fitness metric negative to train players to run into their own endzones
Role: designer, programmer, geneticist, assistant coach,
posted by cortex (7 comments total) 4 users marked this as a favorite

I've messed around with it a bit since you first put a link out on Twitter; it's fun to watch how things evolve, especially given the ability to modify what traits you want to select for. Look forward to future iterations!
posted by nubs at 8:50 AM on April 28, 2015


Amazing work, cortex.
posted by chrchr at 11:16 AM on April 28, 2015


So. Many. Safeties. If a real Quarterback moved like that, he'd be demoted to Mascot.
posted by oneswellfoop at 12:38 PM on April 28, 2015


I was interested in what would happen if the only fitness function was *winning*. So, I changed the code so that the losing team fires one player selected at random.
posted by chrchr at 1:14 PM on April 28, 2015


Heh, neat.

And yeah, one thing that's come of getting this as far as it's come so far is realizing what stuff in the metrics actually means much and what doesn't. Of the six things I track for fitness, the model for footballer behavior isn't really complicated enough to really seriously distinguish all of 'em; there's not really any obvious way a football player can evolve right now to e.g. be good at scoring safeties but bad at scoring TD, since "run toward their endzone" is the only real thing involved. I've experimented with graphing stats a little and generally what you see is a player whose stats all tick up steadily over time in tandem, for yards, points, TDs and safeties. You can end up with a good tackle who is an indifferent ballcarrier and vice versa, but that's about it.

So forcing some more complicated outcomes into the model would be interesting, and/or adding some more complicated and meaningfully differentiated fitness metrics on top of or in lieu of some of what's in there now. Making tackling ability/evasion something that varies with genes in a more complicated way than just "are you touching him" is one possibility; involving handoffs is another; going to the effort of supporting passing and loose balls outright and tendency to fumbles another still. Mix up some stuff like that and you could end up with a situation where you can successfully incentivize a league full of players who are great at safeties but shit at TDs —maybe they've got zero receiving ability and fumble at blink, but when all they have to do is run headlong at the other team they can sack a QB like nobody's business.

One of the weird things about this project is after I got the basic groundwork for it in place it became clear to me how many different directions it could go in in terms of adding new functionality. I'm sort of at a road block right now on it mentally trying to just make a decision about what I want to add, and what will improve the sim/game/experience vs. just make it more fiddly. Passing would either be amazing or just terrible or a mix of both.
posted by cortex at 1:36 PM on April 28, 2015


I've been running two teams of 4 against each other all afternoon; it's been interesting. The Doves started as the clearly superior team, and it took the Robins until Game 15 to get their first win - a 2-0 nail-biter. And then their next win was game 30.

As things have gone on, the Doves have clearly been selecting for speed - their balance and aim are middling at best, but boy can they move. The Robins, however, have been selecting for balance and aim. The Robins are starting to win a bit more frequently - still not as much as the Doves, but it's starting to even out (at least, much better than the one win every 15 games rate). What is amazing to watch is the Robin ball carriers - who have speeds like "crawl" - go slowly down the field in nice straight lines while the Doves all overshoot and go spinning off in circles towards the end zone.

Sooner or later one team is going to get someone who has good speed, aim, and balance, I expect.
posted by nubs at 2:53 PM on April 28, 2015


My change has some issues from a Darwinian perspective. Teams that win never breed, and teams that lose breed all the time with their loser DNA. I'm trying to think of a simple tweak to fix that, because it should be the case that winners have more breeding opportunities.

Also, the winning defensive strategy in this league seems to be to run into the corner of the endzone and wait for the play clock to expire.
posted by chrchr at 4:20 PM on April 28, 2015


« Older Scorched Earth...   |   Imagining a Safer Space: Build... Newer »


You are not currently logged in. Log in or create a new account to post comments.