ROLE : TECHNICAL DESIGNER | PLAYABLE EXE (XBOX CONTROLLER REQUIRED) | TEAM SIZE = 1
AN EXPLORATION OF ORTHOGONALITY AND GAME DESIGN PROCESS
Blitzfire is a Doom styled FPS with simple levels that aims to create a player mindset of puzzle solving by killing the right enemies at the right time. Weapons and enemies are orthogonally differentiated on an axis so that players can formulate schemas in their mind on what weapons are effective against what enemies.
Blitzfire is also an experiment with the design process. Tests were executed to observe emergent player behavior and levels were designed based on these tests.
Blitzfire is built using Unity and RAIN AI. RAIN is an open source Unity plugin that provides path-finding, static mesh obstacle avoidance, animation integration and sensing based perception systems. RAIN is powerful in terms of modelling complex AI as simple behavior tree based control flows.
However, it lacks support in the maintenance of state information. As a middle ground, I encapsulated state machine information separately and had RAIN poll the state machine and branch accordingly each frame.
SENSING AND PERCEPTION
The AI soldier perceives it's environment using a sensor. The sensor can be mounted at any point on the game object and a field of vision can be defined. For all objects that can be perceived by a particular sensor, an entity object is attached.
In the behavior tree, once the state is set, the next step is to get a reference to the player object using the sensor. We use this reference for rotation, firing etc.