FOREST SPIRITS.



ai npc environment





A finite-state machine (FSM) ecosystem where NPCs interact with each other and the environment. This personal project was made following a specific set of requirements with a focus on scripting and Behaviour Machine.


Core Gameplay Pillars:

  1. Unique NPC behaviours
  2. Being able to observe the environment without player interaction


+ Role: Scripting, Game Design

+ Tools: Behaviour Machine asset, Maya, Photoshop

+ Engine: Unity

+ Development Time: 1 week

+ Team Size: Solo







DESIGN HIGHLIGHTS.



Each NPC had to have their own finite state machine (FSM) with a minimum of 3 states and were required to interact with each other and/or the player. Overall, the NPC's behaviours and interactions should be cohesive and comprehensible. The environment is designed to function on its own without player interaction as well.


CHALLENGES.

The main challenge when designing the environment was making something that would work cohesively with my limited scripting skills within the time limit of 1 week. The environment had to function and each NPC had to be unique, I had to come up with behaviours that were simple but also distinct enough so I would be able to complete the project on time.


VISUALS/THEME.

Inspired by Japanese folklore, the characters were designed to fit a "forest spirit" theme. I wanted to create an environment where these spirits lived.





rough sketches & ideas



UNIQUE NPC BEHAVIOURS.



RADISH SPIRITS



ROAMING

Default state, the radish walks around the environment until it encounters a planting spot.

BEING WATERED

When encountering an elephant spirit, the radish will stop to be watered by it.

DANCING

When the radish encounters another radish, they will stop to dance for a brief amount of time.

PLANTING

When encountering a planting spot, the radish will stop to plant seeds, if it has any.

RESTOCKING

If the radish has no more seeds, it will go restock from the flowers.





ELEPHANT SPIRIT



FLYING

Default state, the elephant will fly around and water plants until it encounters another object.

WATERING PLANTS

When the elephant is at a spot with a plant, it will water it.

SPRAYING WATER

Being in the vicinity of a radish will make the elephant water the radish.

REFILLING WATER

If the elephant runs out of water while watering plants or spraying radishes, it will go refill from the pond.

FLEEING

If the player is close to the elephant, it will run away from the player.

CHASING

If the elephant is hit by a rock thrown by the rock spirits, it will chase them.





ROCK SPIRIT



LOOKING FOR ROCKS

Default state, the rock spirit will wander around and look for rocks.

THROWING ROCKS

When the rock spirit encounters the elephant spirit, it will throw a rock at the elephant if it has one.

TRANSPORTING ROCKS

The rock spirit will find an elephant spirit to throw the rock at if it has a rock in its possession.

FLEEING

After throwing the rock, the rock spirit will flee.

FOLLOWING

The rock spirit will follow the player.

HIDING

If the rock spirit is spotted by the player, it will disappear into a puff of smoke to hide.