top of page

In the Palm Of My Hand

The goal of this game is to give the player a sandbox of realistic feeling creatures to play in and allow them to create an ecosystem. The player should be able to balance an island of different creatures and watch them interact. This project was done by a group of three and my role in this project was systems designer map designer and programmer. 

Player Controls

Moving the camera
I have created a system where the player can easily pan around the map seeing everything from a bird's eye view. 

I gave the player the freedom to move the camera so the player can see the whole map without downsizing the map or making it too far to see.

giphy.gif

Spawning
I allowed the player to spawn three different types of slimes and two plants. 

I made this design decision because this type of play coincided with the goal of creating a sandbox by giving the player a variety of things to spawn that interact with each other. Every single thing the player can spawn can at least interact with another.  

giphy (1).gif
Player Controls

Developing a shelter system 

Shelter system

Before

Untitled design (1).gif

The Original AI

When tackling the design problem of creating the creature AI, I aimed to allow the AI to flock together like a pack, multiply while near each other, and flee in a certain proximity to predators. 

I ran into more issues in my first attempts to achieve these goals.

 

  • When making the AI the creature the position of the creatures will always desync and end up scattered around the map.

  • When making the creature multiply the creatures would have trouble staying close to each other for any time.

  • When making the creature flee I originally made them run in the opposite position of the attacker but that led to them moving to the edges of the map. ​

Eventually, I came up with a unifying solution that achieved all three goals of the shelter system. I also later decided to go with only slimes with the current deadline in mind because the sprites were well-animated and I felt like it better unified the project. 

After

giphy (2).gif

After being alive for a few seconds a slime will spawn shelter and all slimes within a certain radius will consider that shelter their home. With this system, I had catalysis for achieving the goals of the AI. 

  • I achieved the goal of making the slimes flock together by making the slimes stay within the general area of the home if they weren't starving.

  • I achieve the goal of making the slimes multiply while close to each other by making the shelter spawn a new slime if there is more than one slime in its radius.

  • I achieve the goal of making the slimes flee while near a predator by allowing the slime to flee to their shelter giving the slime a place to move to a give them a safe place to hide. 

Slime AI

Slime(idle).gif

Idle Wandering State

This is the default state of the slimes unlike the original AI the slimes stop after each time they move.  In this state, the slimes move slowly and don't move too far from their shelter. 

I chose to make these changes to give the player the indication that the slimes do not have a sense of urgency.

Slime(starving).gif

Hungry State

If the slime is close to starvation the slime will have more erratic movements and will venture away from the shelter. 

I made this decision to make the slime more likely to find food if there isn't a food source close by. I also wanted to make the impression that the slime has grown desperate. 

Slime(Eating).gif

Eating State

If the food is within range of food and at least a little hungry the slime will run to the food source to eat. Plants respond on a time limit and will visually have fewer apples when at half food.

I chose to make this system ranged based to make to give the impression that the slime can see a certain distance. I chose to show the apples disappear to let the player know if a food source is almost depleted. 

Slime(Fleeing).gif

Fleeing State

If there is a predator within the slime's range the slime will run to its shelter where the predator cannot attack them.

I decided to make the slimes flee to give them a way to react to predators and a way to survive encounters with them. I decided to make them flee to the shelter to create a safe space and avoid chases to the ends of the screen. 

Slime AI

Slime AI Flow Chart

Untitled Diagram (2)_edited.jpg

This flow diagram further explains AI transitions and priority.  I chose to make the fleeing state have the highest priority because it would be more realistic for the creatures to prioritize their safety.

Slime Types

Slime Types

Sprite Sheet - Green Idle.png

Green Slimes: Herbivores that eat berries and apples. These slimes reproduce faster than other slimes but they are slower have less range and they don't venture too far from their shelter. I decided to make the green slimes reproduce faster to balance the number of slime deaths to predators.

Sprite Sheet - Red Idle.png

Red Slimes: Carnivores that eat green and blue slimes. These slimes have higher speed, and range and they venture out further but they do not reproduce as fast. I decided to give it high speed and range to give it a better chance to catch slimes before they reach their shelter.

Sprite Sheet - Blue Idle.png

Blue Slimes: Omnivores that eat apples and green slimes. These slimes have balanced stats but excel at nothing. 

I chose to create a herbivore, carnivore, and omnivore because it differentiates the types of creatures the player could summon and creates ways for them to interact with each other. I had contemplated creating creatures that counteracted each other (similar to rock paper scissors) but I decided against it because I felt like it would make every creature the same.

bottom of page