I’m Fraser, AI Lead for NBA JAM: On Fire Edition. As Trey mentioned in last week’s JAM update, http://www.ea.com/nba-jam-on-fire/blog/whats-cooking, I wanted to follow up on the R.E.A.L AI feature that we brought in for this year’s game. You guys deserve a clear explanation of the tech, and why we felt it was a good fit for JAM.
The Name: You can’t create good tech and not give it a name; given that the name sounds like a contradiction, let’s start there. Over time, the tech has come to be named Real AI. Initially though, it was R.E.A.L. AI, the acronym being Record, Evaluate, Adapt, Learn. That pretty much sums up what the system does.
The Tech: Players of different skill levels play the game. The system records them playing, cuts their play session into up into what we call ‘sequences’, and then records what the defense was doing during each of these sequences. We then take those sequences, run them through various processes, and the AI can then use them when they see the defense doing something similar to the recording.
This system was initially in Fight Night, but we’ve added a number of features to make it what it is today. One of my personal favorite additions is the ability of the system to record YOUR sequences, and then play them back against you on the highest difficulty. What’s even cooler is that when you go online, it takes the best of your sequences, and the best of your teammate/opponents, and merges them. That means the more you play online, the tougher the highest difficulty will be for you.
Archetypes: The system categorizes each sequence to fit specific player archetypes. In other words, a sequence that has a cross-over step back shot at the elbow won’t be playing for Dwight Howard, whereas a spin to dunk won’t be playing for Steve Nash. This only really becomes apparent over time, but really shines when you play the online co-op Road Trip mode (more to come). This also means that the guys with a balanced game are the toughest competitors as they are much harder to read as to their next move.
Difficulty: Game difficulty was something that I looked closely at over the course of the year, ensuring that it was balanced, ramped up smoothly, and most importantly was fun at all levels. Real AI played a big part in achieving the right balance for us. Essentially, during development we took stock of every sequence played, and what the outcome was. For example, say a sequence with a 3pt shot played 300 times over the course of the year. It was blocked 250 times, missed 40, and only went in 10 times. The system would then peg that as an easy sequence, and it would only then show up in the easiest difficulty. Similarly, if it went in 250 times, missed 40 and was only blocked 10 times, then it might show up in the hardest difficulty.
Smooth Game-play: This can’t be understated. I’ve worked in AI and game-play for many years, and it is very difficult to write code that makes AI look human. This system takes a different approach, assessing the situation, and then playing back actual human input. The result is such that without the indicators, there are times when you’re hard pressed to tell whether you’re playing against someone online, or against the AI.
Until next time, thanks again for stopping by and we hope to see you again real soon.