In just over a week Matthew will be giving a talk with Mika Vehkala at the GDC AI Summit. Titled “Spaces in the Sandbox: Tactical Awareness in Open World Games” this one-hour talk will discuss analysis and selection of tactical positions, featuring Mika’s work on Hitman: Absolution and Moon Collider’s work on Xaviant’s upcoming title, Lichdom.
The talk is from 11:15AM – 12:15PM on Monday 25th, in Room 2004 of the West Hall.
In January we launched our AI middleware product, Kythera, through our sister company, Intelligent Artefacts.
Dynamic Navigation is the first feature in Kythera, which takes our previous work with Recast and makes it the first piece of a fully-featured AI platform. Our first demo shows it’s dynamic regeneration of navigation meshes in the indie CryEngine 3 Hack’n'Slash, “Umbra”.
Check out the video at our site, or on YouTube here or here – in total the video has received well over 25,000 views.
Earlier in the year we experimented with bringing real-time dynamic navmesh regeneration to the open-source Recast demo, to test it’s capabilities. Here’s a video of the results.
The popular Recast project is a library for navmesh generation, pathfinding and dynamic avoidance. It comes with a simple but slick demo environment which allows you to load the geometry of a level, generate a navigation mesh and create some agents to move around. However, the demo doesn’t allow you to make changes to that geometry.
We added the facility to create and move objects within the application and caused the affected tiles to be regenerated in real-time. The agents also recalculate their paths, so they will smoothly reroute when blocked.
New paths can also be created – for instance, by placing a bridge – allowing the agents to navigate to previously inaccessible locations.
This approach involves regenerating tiles from scratch and is the most common route people take to dynamic navigation meshes, however it’s not the best for all applications. It uses the same mechanisms as the original mesh generation, making it simple to implement and the ability to create new paths based on player actions makes it very powerful for sandbox gameplay. The alternative is a purely subtractive approach, also supported by Recast, where we can place obstacles, but new routes cannot be created. This gives much greater control to designers and is potentially more efficient.
Michael and Matthew were in Vienna this week for the 2012 Game/AI Conference. Here are some of our highlights from the talks.
Kasper Fauerby described their system for achieving 1200 agent crowds, with up to 500 on-screen at any time. They emphasised their use of flow fields and how important the crowd’s simple reactions to the player’s actions were to achieving and interactive, believable crowd. Interesting to us was their observation on velocity planning that humans tend to prefer to change their speed, or even to stop, than to change direction – at least in this context; also that they they used no real LOD system, clearly leaving the potential for even greater crowds on this generation of consoles.
SPEC OPS: THE LINE
Jörg Reisig and Daniel Kollmann shared their very clear focus on a fun experience for the player with unusually concrete examples, based on their third-person squad shooter. They stated that all grenades should be thrown at the player, not his squadmates, because there is nothing the player can do about a grenade aimed at a squadmate, so it provides no fun, and should the squadmate die, the player is punished for no reason. They also asserted that such grenades should always be on target – because the player will always try to evade, which can be fun, but if that grenade lands anywhere else he may run into it, or simply become exposed to enemy fire for no reason – again, punishing the player for performing a reasonable action. A lot of shooters could benefit from this kind of clarity of design.
Claudio Pedica showed his impressive results bringing humanoid characters to life by considering social spaces and social cues. He’s continued on the work since he first presented it at the conference in Paris in 2010 and there is a simple power to agents noticing their neighbours looking at something behind them, or moving aside to make space for a new agent to join their “conversation”. RPGs that use these techniques could see a tremendous leap in immersion and I hope we will see this brought into a game in the next few years.
Matthew will be presenting with Doug Binks at the Develop conference in Brighton, on their technique for rapid iteration, Runtime-Compiled C++.
RCC++ allows you to change your C++ code while it’s running, much like a scripting language. It uses no VM, no external tools, and works straight out of your favourite IDE. It avoids the performance overhead and maintenance issues of scripting languages, making it ideal for AAA games development – as well as a powerful tool for indies.
They first presented the approach at the Paris Game/AI conference and at Google, in 2011. You can learn the details and download an open-source implementation from their blog.
The session will be Thursday 12th July from 12:15 to 13:00 and will include live demonstrations of the technique.
Moon Collider is pleased to announce that Michael Bell, an engineer with a wealth of experience in the telecommunications industry, has come to join Moon Collider’s AI team.
Michael attended Cambridge University with Matthew, and they have often compared notes on software development practices in their respective industries. Moon Collider is keen to apply the robust development approaches Michael has used to its work.
Michael is already getting up to speed on Recast and Detour, looking at improvements to the crowd collision avoidance system.
For the last two weeks Matthew has been consulting with Xaviant, on-site in Georgia. After working remotely with the team for 18 months, they asked him to fly over, meet the team and see their development process in action. They’re taking some exciting directions with Lichdom, especially in AI, and doing an expert job of exploiting and adapting CryEngine’s AI system. It’s going to be really exciting to follow development of this title.
Update: In Charles’ own words:
During our multi-year relationship, we have leveraged Matthew’s expertise to transform our engineering team, CryEngine3 and our AI toolset. Our frequent videoconferences have been invaluable as he constantly helps us expose existing functionality in the CryEngine3 AI framework. Additionally, we use Matthew’s on-site visits for detailed problem solving, process optimization, and cross-discipline benchmarking which, among other things, allows us to continuously evaluate ourselves and recently resulted in streamlining our character prototyping pipeline by 50%. As a relatively inexperienced AI team, Matthew provides expert validation for our approach to AI regarding our specific game requirements. He has now become a virtual member of our Engineering team.
Charles Hollingsworth, Engineering Director, Xaviant
At this year’s GDC, Matthew will be presenting at the AI Summit in collaboration with the AiGameDev.com team. In an hour-long session with Alex Champandard and Phil Dunstan entitled “Believable Tactics for Squad AI”, they will be presenting practical techniques on how to write systematic behaviours for your enemy and squadmate AI.
Squads of non-player characters are notoriously hard to get right, particularly when designing the highly visible interactions of teammate squad members. Through a series of live, interactive demos, this presentation will compare a wide variety of techniques commonly used in the games industry for creating dynamic squad behaviors, including attacking and flanking, suppression and player leading and following. The analysis will include both centralized and distributed designs for squad member synchronization, the trade-offs of scripted versus procedural designs and high-level techniques for tactical squad path finding and cover selection.
Update: For those with GDC Vault access, the presentation video is now available.
We’re in the process of bringing over and refreshing the content from our old website, matthewjack.net, so watch this space.
We recently received our copy of Games Programming Gems 8, including Matthew’s article “Code Coverage for QA”. Very pleased with how it has turned out and hope a few folks out there find it useful. Matthew has also presented on the subject as an AI Masterclass for AIGamedev.com including a demo of it’s integration with Alien Arena.