top of page

Week Five

Introduction:

This week we have learnt about the tools, tool chains, content creation and world interfacing in game development. Game development projects invest most of their time into content creation (e.g. models, textures, sounds, animations, etc.). However, tool chains today can be used to speed up the process of this by reusing ready-available technology.

Tool chains:

Tool chains can be used to automate AI but is limited to basic algorithms (e.g. Finite State Machine, Decision Tree, etc.). Powerful methods like Neural Networks, Genetic Algorithms and Goal-Orientated-Action-Planning are not widely used as they are difficult to map onto level editing tools and also requires the developers to adapt the techniques to specific characters, making it difficult to reuse.

MetroPed is an AI editing tool which addresses the issue of automating AI behaviour. It is designed to populate a virtual city and control pedestrian behaviour that, both defines walkable areas and adds agents to the scene. It uses navigational mesh concept called A-Mesh. It is used to prevent agents from walking into obstacles. MetroPed uses zoning to divide the generated annotation mesh into zones (e.g. zebra crossing, grass, road). The algorithm uses this information to map out a high-level path for the pedestrians to follow and join at junction and zebra crossing zones.

World Interfacing:

Even the simplest of AI needs to gather data about its surroundings whether it is what they see, or obstacles in their way. Polling and event passing are two techniques that deal with just that.

1. Polling works by the AI requesting information about its surroundings. For example, if the AI needs to know whether it is about to collide with another moving object, it can send a query, which will calculate the trajectory and return the result. Polling performs checks at every frame which when combined with other AI processes, become expensive to run. It also adds to this when more AI agents are introduced, making the pass of information difficult to track. However, polling stations can be used as a central place where all the checks are routed. It provides a place to cache information and track requests.

2. Event passing is commonly used as a more efficient solution to polling. It uses a central algorithm which looks for information that the character might benefit from. For example, instead of every AI checking whether an intruder is heard, it will instead track intruder's location, and only when the intruder is in the radius of the agent, it will begin to listen. This approach can be incredibly useful to simulate 'senses' because, just like humans, the agents cannot hear or see outside of a particular range. Although, the process is essentially as efficient as polling (checks needs to be made to see if intruder is within range), it can group a lot of checks together which will in turn reduce processing.

Coursework:

The use of zoning in MetroPed would be useful in my assignment. In my game I will have areas made of different materials: carpets in the corridors, rooms and concrete in a couple rooms and the corridor leading to the exit. Each area will posses different properties and cause varied sound levels. Although pathfinding will not be implemented in a manner of crowd management, it will use a navigational mesh to define barriers where the AI cannot walk.

Event passing is an incredible tool which can be used to track the intruder and save processing power. The guard AI is constantly looking out for any sounds or suspicious movement they may observe. However, it does not have to make these checks until the intruder is in the radius of them. This saves the computer from running two processes at once, and instead runs that one.

Lab:

RAIN from Rival Theory is an AI middle ware product which is widely used by many game development companies. Unlike most products, RAIN provides an entire AI package: animation, movement, pathfinding, behaviour, sensory system, AI creation and more. However, my favourite feature by RAIN is perception. It allows for the developer to easily set the range, radius, type of senses needed to make the AI operate exactly as you want it. It uses popular AI algorithms which are commonly used amongst other products (e.g. mesh generation, off-mesh pathfinding, behaviour decision trees, etc.) but it provides them in a single package. It also uses run-time debugging tools, run-time nav mesh creation and is free to use.

References:

1. Unity 2014, RAIN AI for Unity [online] available from <https://www.assetstore.unity3d.com/en/#!/content/23569> [21 February]


Featured Posts
Check back soon
Once posts are published, you’ll see them here.
Recent Posts
Archive
Search By Tags
No tags yet.
Follow US
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square
bottom of page