
Back in 2017, I gave my first talk at GDC about combat design and AI in Uncharted 4. A recording of this talk is now free and publicly available in the GDC Vault.
A game design blog by Matthew Gallant

Back in 2017, I gave my first talk at GDC about combat design and AI in Uncharted 4. A recording of this talk is now free and publicly available in the GDC Vault.
AI · Game Development · GDC · Naughty Dog · Public Speaking · Uncharted · Work

On November 15th, I’ll be speaking about combat design and AI in Uncharted 4 at the Montreal International Game Summit. My talk explores how we navigated the extremes of combat design philosophy (tightly authored vs fully systems-driven) throughout Uncharted 4‘s development, and how we found our best results with a hybrid approach.
AI · Canada · Game Development · MIGS · Naughty Dog · Public Speaking · Uncharted · Work

I was originally introduced to Markov chains by Josh Millard’s Garkov, a project that applies this mathematical model to Garfield comics. I thought it was an amusingly random idea, but didn’t fully appreciate the concept until Jeff Atwood wrote a post detailing how Markov Chains work.
→ 6 Comments
AI · Algorithm · Markov Chains
I think I had best wrap up this series before I completely alienate my non-programmer readers. Firstly, I have an algorithm by fellow blogger and mathematician Tim Sell of Planet Nectarius.
[A.I Competition – Tim’s Algorithm]
What I did was get 3 values for all the empty spaces to the left, right and in front of the player. To be “in front” the empty spaces must be connected to the forward move square and it must be forward of the player. So each connected space is bounded by a rectangle to one side of the current cycle position. I then regard each rectangles emptiness value as half if the nemesis cycle is within that rectangle. Then I arbitrarily decide to move to the square which has the second highest empty space value associated with it. […] Basically the idea is to cut of the nemesis cycle from the empty space without retreating into it.
AI · Algorithm · CS Games · Snake
Since I returned from the CS games a few weeks ago, I’ve been vigorously discussing the Tron A.I. problem with anyone who would listen. Much of this took place on the skrud.net forums, where I had a chance to debate with Alexei and Andrew of the other Concordia team. Their team tied for third place on the second day, and they had some really interesting ideas. I’ll be posting snippets of our discussion here, including the pseudocode for their algorithm.
In part 2 of this series, I wrote about how the recursive Algorithm 4 was memory intensive because it needed to clone the entire map at every step. Alexei, however, thought of a very clever way to get around this problem by implementing backtracking.
© 2007-2026 Matthew Gallant. Powered by Wordpress. Privacy Policy.