Generalisation

People are very good at making assumptions about objects they have never encountered before and instantly knowing how to use them.

The illusion of this can be achieved with AI by having the objects themselves specify how they can be used, and what they can be used for. Agents can then search their immediate surroundings for objects that fit a certain criteria and use them accordingly. This is a useful tool if you want to be able to easily add things to the world that the AI will instantly be able to understand.

In a more open-world game, objects could be used to fulfil basic needs, creating a more lifelike, generic NPC. Then, these same objects could also be used as weapons, however useless they may be - each one describing how much damage done when thrown, or when used as a melee weapon. 

The purpose of all this would be to create a game where anything could be picked up and used, or used for defence in a pinch. I believe a system where a few simple actions exist that can be used on anything would help decrease a feeling of limitation in a game, and increase the ability to experiment and explore. This type of system is also a natural match for the polymorphic nature of many object-oriented programming languages. 

It’s also a step in the direction of more interesting, generic open-world AI that may or may not fight you depending on the circumstances and would create nice situations where attacking a random passer-by may see them grab a nearby common object for defence. 

Additionally too many open world games see mindless characters wonder about when it would be relatively simple to give them just a few basic desires and sleep patterns. It would be refreshing to have a game city that gets busy at lunchtime, quiet at night and so on. These two things combined could make a world come alive in a way that has not been achieved particularly well to date.

As far as the demo goes this won’t be incredibly visible as everything is a weapon and all the agents are in a permanent combat state. However it will result in a more modular weapon description, in which each weapon describes the appropriate movement when being used; for example charging with a short-range weapon or hanging back with a long range one. This would also exist in common objects when they get created. Hopefully once the multiplayer demo is completed, work can start on a game with AI that does more than try to shoot you.