The hard part, as far as I know, is coming up with a comprehensive rule set that dictates all actions based on play art (play as designed), and the modifications to those plays based on real-time opposition.
The secondary problem is that there's a reason we haven't been able to replicate human thinking in AIs yet ... it's not nearly as simple as it seems it should be. CPUs are (vastly) superior to humans in mathematical computations, but even the simplest human logic or perception will stump a CPU until the end of time. If you watched the Jeopardy episodes with the IBM computer Watson, the hard part was not getting him the wealth of information necessary to have the answers to all the questions, the hard part was putting in the logic so Watson could understand a simple question. The syntax was the hurdle, not the answer. For humans, it's the reverse.
At the most basic level, the Cover 2 rules you outlined are simple, to a point. I can think of a pretty easy to represent the first four: Cover 2, CB, Flat Zones, and 2x2. The last three, "threatens deep", "pushes you past 7-10 yards" and "no HB threat" are intuition-based, for a player playing cornerback, in my opinion. It's not as simple as "if you're here, do this". There's a difference between when the outside receiver is running a Fade versus a Streak versus a Comeback versus a Curl versus a Dig. Now, several of those have the exact same read by the CB we're talking about. But that's very specific logic for a small set of routes that the CPU has to recognize (you know, without
knowing our play). Humans learn these "rules" by practice, not out of a textbook, in my experience. And that's where the AI tends to break down.
Machine learning is making significant strides, but right now a CPU "learning" from "practice" is a very difficult thing.
You mentioned that we already have WR running option routes ... very true. I'd imagine that took a lot of extremely careful coding to put that into the system. And it wouldn't be simple to reverse for the DBs. A more apt comparison, IMO, for WRs would be hot reads that change their route depending on a blitzer, since that's situational. And that's not in the game, yet.
This is roughly what the code would look like, though as I said I have no clue how to even begin a function like "isVerticalThreat" (yay for defining a function and coming up with its code later! -- that's
real software development for you,
). That's a ton of calculations for just one assignment in one clock cycle. The PS3 and 360 are both very powerful CPUs, but the scale of such calculations could ramp up pretty quickly.
Code:
if (player.pos == "CB"){
if (player.play.assignment() == "Flat Zone"){
if (opponent.formation() == In(List of formations that would be 2x2){
if (opponent.closestReceiver.isVerticalThreat()) && (player.distanceFromLOS() > 7)
&& (opponent.runningBack.isBlocking()){
player.play.changeAssignment("Man Coverage",opponent.closestReceiver)
}
}
}
}
And, of course, I haven't even touched making assessments incorrect based on a dice-roll of the player's awareness level.
It's not "too hard" (once you manage to come up with a complete list of every rule, of course) but it would take a lot of dedicated man-hours. All for, frankly, bang for the buck that would be lost on the average NCAA or Madden gamer.
Now all of that being said, I did observe in NCAA 11 that players would hand off assignments on certain route combinations. That was mainly with man coverage (if I recall correctly), not zone, but it's possible
that logic could be applied to zones, and then expanded as appropriate. Maybe not use the "real" "rules" that coaches teach at every level, but come up with enough similar logical steps to represent the overall idea without needing to get into a four-level nested IF statement just for one assignment. "Good enough" would be a decent goal in this case, especially if you factor in the 80/20 "rule" of software development (80% of the functionality for 20% of the time/cost/effort).
Bookmarks