Ever felt like you needed more of a challenge?
As we creep closer and closer to the NFL draft and our cover athlete announcement (as well as many other events), it’s getting to that time in the year where our features are getting locked down and we can start talking about some bigger ticket items. We’ve been doing these weekly blogs for quite a while now, so I’d encourage you to take a look back and give them all a read if you have a chance.
This week though, we wanted to really dive into a new feature that we are really excited about – Adaptive AI.
Why Adaptive AI?
In nearly every sports game that you’ve ever played, there usually comes a time where someone discovers some sort of gameplay strategy that is extremely successful (in an unbalanced way). Often times these are considered ‘exploits’ because they are either impossible or extremely hard to stop. You may find it on your own, or you may learn it from someone abusing you with it online, or you may even pay to find it on a shady website. Regardless, these exploits can often extremely hamper the replay value of a game because at some point, nearly everyone gets tired of doing the same thing over and over again and beating up the CPU by 100 points…and at this point the game typically comes out of the tray. Whether it’s an exploit or a “money play”, it’s all frustrating…so from the start of the cycle we knew that we wanted to create an Adaptive AI infrastructure in our football games. Two of our most experienced gameplay / AI engineers – Daniel White and Ryan Burnsides – took the reigns with designing and implementing the majority of this system so I hope this blog does it justice.
What does it do?
The adaptive AI framework that we’ve built for Madden NFL 10 is rather simple at its base, but its power is in its ease of use and integration to the game. Any designer or engineer can use a tool to set up any number of inputs (variables that come in from the game), as well as outputs (how the AI should react to those variables), and save them off and quickly preview how those changes come out in game. That may sound really technical, so here’s a good example.
Input: QB scramble outside tackles 3+ times for 5+ yards
Output 1: Defensive hot route: defensive end to flats
Output 2: Defensive play call: Boost to QB spy plays
Output 3: Defensive hot route: corner blitz on scrambling side
Simple right? At its basic core, it means that we as a team can add some ‘success’ parameters to our tool, and give the defense some simple commands that they can try to use to stop them. The cool part is that we basically create these rule sets by collecting data on how we actually play. If someone is burning you with constant passes to the flats, then you call plays with more flat zones. If someone is burning you with dives up the middle, then you pinch your line and crash them. If someone is burning you with corner routes, then maybe you’ll double cover the receiver or drop back more into a cover 3. All of these situations are extremely easy to add, and we can add these types of decisions into the CPU (coaches and defenders) to help them react with whatever is happening to them in the game. When we dictate what ‘success’ actually means (which is often the toughest thing to judge), we can choose that based on total yardage gained, average yards gained, percentage of total plays run, or other factors.
Another really cool part of this system is actually the ability to directly modify attributes under the hood, simulating true on the fly “learning” of a defender. For example, if an offense is running the exact same play over and over again for big gains, we would boost the defense’s play recognition ratings to emulate them learning for their mistakes to have a better chance to react when they see the same look again. Same goes for something like continuous out routes…a defender will get better and better at man coverage if you keep running the same route over and over again, but would drop back down to his original rating if you keep mixing it up. It should also be said that were keeping some integrity by not modifying physical attributes like speed, jumping, or acceleration.
Having individual defenders make realtime adjustments meant that we could implement Adaptive AI for online and head-to-head play as well (i.e. not just for the CPU players). So if your opponent starts running something that is becoming overly effective, and you don’t feel like you can’t stop it with your play calling, then at least your teammates will start learning how to stop it on their own.
One key detail is that we can also change the ‘output’ numbers per skill level. So for example on rookie or pro mode, the defense may actually know what you’re doing and have a solution for it, but we might actually have them wait a little longer and let you run the same thing a few more times before they start stopping it.
We have added a ton of inputs and outputs that allow us to really tweak the AI in a relatively simple manner. Here are some examples:
Play Types
- Play Action
- Screens
- Counter
- Draw
- Pitch / Toss
- etc
Play Style
- Scramble
- No Huddle
Route
- Entire Route Tree (i.e. in, out, comeback, streak, etc)
We don’t have everything covered here, so this is an area we are really looking forward to continue developing out in the future.
Summary
First and foremost, we hope that our Adaptive AI will add a ton of replay value to our games this year by forcing you as a gamer to continue to mix up the way you play to have success. Football is a very complex game of chess – and this is a great first step towards re-creating that. Secondly, we hope this feature will continue to show our commitment at the Tiburon studio to creating a realistic simulation of football, as it exists in both NCAA Football 10 and Madden NFL 10.
That’s all for this week – please feel free to leave feedback in the comments section or discuss in the forums!
- Ian Cummings
Lead Designer, Madden NFL 10