Anchored best described as a real-time strategy survival game, about managing a settlement and surviving on floating islands.
The player controls a group of settlers in the classic RTS fashion. They have to manage the settlement on the floating island as well as lead hunting parties down into the jungle to gather resources in order to expand their settlement and survive.
Anchored is released and available at itch.io and has been downloaded over 117 000 times.
Genre: Survival + Real Time Strategy
Scripting Language: C#
Development Time: Eight weeks
Team Size: Six people
- Enemy AI
- Spawn systems
- Day and Night Cycle
- VFX / UI / Animation implementation
As a Scripter and Gameplay Designer, I was very involved in the core gameplay– and combat design of the game. My main responsibility was to script the enemy AI, spawn systems, the dynamic day & night cycle and set up the character animations in Unity. I also did some miscellaneous task like implementing various visual effects and UI elements.
At the Gotland Game Conference 2015 Anchored won the award for the Best second-year project, the Cha-Ching award for the project with the best market potential and the Pwnage award for the best project during the entire conference.
The dynamic between the jungle and the island was a key component in the design of Anchored. The jungle is where the player will spend the majority of their time, gathering supplies and combating enemies, while the island is the player’s home base, where they can refine resources, build buildings and craft new gear.
Initially, we wanted a dynamic where the player manages settler on both layers (island and jungle) simultaneously. In the end, this design did not work out and we shifted approach, making the player focus on one layer at a time, but the challenge became how we keep the island gameplay relevant, relative to the jungle.
Our solution was to make the island gameplay, play sort of like a tower defense game. Each night the player needs to defend their food supplies from waves of enemies attacking the island. This results in two different game loops which feeding nicely into each other and the entire game is designed around the player gathering supplies during the day in order to defend their settlement during the night.
A smaller melee enemy designed to swarm the player and act as the cannon fodder of a Beetle encounter. Due to their fast speed, they usually reach their target first, preventing the player from dealing with other high priority threats.
A bigger and stronger version of the Worker. It is the slowest beetle, has medium-high health and deals medium damage.
A rare and tough enemy with a lot of health. It has a special Ground Slam attack which deals high amounts of damage and knocks back settlers. When the bear is killed the player can harvest it for food.
The enemy AI behavior was created using finite state machines. Each state is separated into its own class and implements their own definition of an Enter-, Update- and Exit method.
The enemy class is a generic template for any type of enemy. Depending on the properties an enemy is given the behaviors is different. All four enemies are variant of this class, each with different stats and appearances.
For the combat design, this system allowed us to easily iterate and balance enemies, weapons and abilities. It also enabled us to quickly add additional enemies and weapons into the game during the later stage of development.
In the jungle, beetles are spawned from burrow spawners, located between areas containing resources. When a settler walks into the trigger area a wave of Beetles is spawned, distributed between the spawn points.
When the night falls, waves of beetles use their wings to fly up above the clouds to attack the settlers’ food storage. Each night the attacks get increasingly harder.
Beetles are spawned underneath the island, ascend to a random height above the island before they descend towards the nearest point on the island’s nav mesh. Unless a settler is nearby, they attack the Food Storage building, steal some food and then fly off the island.
The bear’s spawn system is hidden to the player and tries to simulate a roaming bear, hearing the noise made from settler mining resources. It makes the bear encounters unpredictable and mixes up the resource gathering segment of the game in an effective way.
DAY & NIGHT CYCLE
The day and night cycle is divided into three phases; day, evening and night. The phases have unique presents for the rotation and color of a directional light and unique post-processing settings.
Some objects, like lamps, fire flies and ambient particles are only active during certain phases of the day.
The change in mood and atmosphere is swift when a new phase has been reached. The suddenness is to draw the player’s attention to the change of day time since during the night we want the player to return to the island.
MOUSE CURSOR & TOOLTIP
The mouse cursor icon changes depending on what it hovers over, to give the player feedback on what can be interacted with.
Some objects display a tooltip when hovered over. The tooltip box is always positioned in a way which makes it fully visible to the player, no matter where the cursor is on screen.
When an entity enters a new state, that state sets variables in the animation controller which then plays the correct animation.
The animation clips have events which call functions in code, in order to play particle- and sound effects or to execute logic on specific key frames.
Settler’s animation controller
A settler can be equipped with any of the four available weapons, which all have their unique idle-, running-, attacking- and ability animation. I divided the animations into sub-state machines, containing all the available animations for that state.
Made in 9 weeks in Unity at Uppsala University, Campus Gotland. It’s release on itch.io and have received great reception from the itch community.
What I did
- Enemy AI
- Spawn Systems
- Day & Night Cycle
- VFX / UI / Animation implementation