TONY CHEN

Pocket Plants

December 2020

Summary

Pocket Plants is a 3rd Person exploration game that takes place on a planet overrun with invasive plants. While beautiful, these plants produce too much carbon dioxide to sustain other life on the planet. The player must gather plants and utilize propagation to save their suffocating ecosystem.

I joined the team after they had a simple prototype in place. When I joined, I worked as the sole programmer for the game. The most challenging portion of the project was creating a persistent save data for the plants. All plants' information needed to be saved after a level is cleared, including plants' location, tier growth, level completion, etc. This was the first time creating such a system, but after hours of testing, it was eventually done. The game was kept simple, so we decided to keep everything in blueprints.

Format

Game Engine: Unreal Engine 4

Team Size: Seven

Development Time: 1 Semester

Roles

Programmer

Contributions

Tutorial System

Persistent Save System

Dialogue System

Tutorial System

With restrictions added to the game where players were only allows a single input, a tutorial system was required. We wanted to create a tutorial system where the player could learn how to play the game as well as learn some background narrative. The system was put together requiring player to complete an action to continue the tutorial. This was the most interactive way and best way to learn the game as the controls would be funky. This system was created alongside the Dialogue System as it would explain what the player would need to do to continue the tutorial.

Persistent Save System

This was the first time I worked on a persistent save information and there were multiple issues that I ran into while working on it. I needed to save data of all the plants on each level (their data, location, etc.) as well as the progression of the level. At first, I tried saving each actor and grabbing the data from the actor. It worked as I tested with a single level, but once saving data from multiple levels, the data would disappear. Later I learned that saving actors is the wrong way to go since actors only persist per level, so once opening another level, the actor would not exist so therefore, there would be no data to read from. Afterwards, I stored each data from the plants into an array of structs which proved to be a much better solution.

Dialogue System

The dialogue system is not widely used besides being used alongside the tutorial. Each dialogue that pops up is being read from a data asset. This way it is much easier to edit dialogues rather than opening each blueprint within the level. Each data assets consists of an array of strings and a float for the speed of the text.

There are different types of dialogues. Ones that destroy objects once completed, ones that are activated when overlapped, and ones that override other dialogues when started. Each dialogue type is used in different sections so designers can place them and have them work how they need it. The dialogue system was also created to auto continue after a certain time limit. Since the game was restricted to single input and we wanted the player still be able to navigate the world while in a dialogue interaction, it was best for dialogue to auto continue.

Downloads

Available on: Steam

Gameplay Screenshots