With the rapid growth in the game industry, a designer needs to understand many roles. I pride myself in being multifaceted and I have added all my works of design, engineering, and systems in one place.

20:31

Apr 17, 2024

Unreal Solo Test Projects

Harvesting
Harvesting
Harvesting
Harvesting

Role/Objective:

Unreal Engine Game Design

Program:

Unreal Engine + Blueprints

Duration:

2 Months

Summary:

This project was my exploration into a third-person game in Unreal. I started with the Unreal third-person character, so it knew movement and jumping, but from there on I added crouch, dodge roll, attacking, harvesting, and other features as well. I play a lot of survival games and many MMOs so it was my combination of those two genres that brewed this idea. I decided to make a verticle slice of a survival game with more in-depth combat.


Responsibilities

This whole project was done solo. However, I will not claim all of the credit. All the art was done by a third party and the animations as well. My responsibilities were:

  • Make attack combos, and different attack animations if the player attacks in succession within a time window

  • Create harvestable nodes the player can use a tool to gather

  • Create interactable items the player can pick up i.e. new weapons and gear

  • Make the game network compatible from the start, so one player can host and the other can play on their world


Design Goals

My goals during the design process were as follows:

  • Bring myself up to speed using Unreal 5, translating concepts I know from other engines to this one

  • Practice using Blueprints

  • Make a playable demo of the concepts I discussed above

My intent with this project was to learn more above all else. Some areas lack polish and there are some bugs, but, the things I learned in this project were the main goal.



Process

When designing the systems in this game I tried to lean into the parent-child relationship between different objects. For instance, the dummy on the screen and the player have the same parent. That parent has stats and a character model but since the movement is different that is left for the child.

  • I began with an outline of the system (attack combos, harvest nodes, etc.)

  • Outlined what made each item in that system different

  • Created a basic parent item (harvestable items)

  • Creates children for each variety of that item (trees vs. stone)

  • Iterate on that process for each item

I got stuck at one point while working on the harvestable trees. I wanted the tree assets to have a fall animation when chopped down. I felt like ragdoll physics looked strange because of the rigid mesh at the top of the tree. To fix this I reflected on my goals. I want to make this game as a combination of MMO and Survival games. Most MMOs have magic and I decided to lean into that. My solution was when you completely chop a tree that tree would disappear and a particle effect would burst from the tree. If I had more skill as an artist I'd make the particles look colorful and magical but a grey puff of smoke would do for now.

What Went Well

I'm proud of what I learned and how I overcame obstacles. I learned many ways to implement concepts I already know using Unreal 5. Through this project and others using this engine, I am drawing closer to making a product that I am proud of. This project shows my commitment to learning new platforms and dev toolkits.


What Went Wrong

When I am learning through online resources guides and videos often they only teach about their project or situation and not entire concepts applicable to design as a whole. I had to temper my expectations from the resources I used. I also had to apply the knowledge I was learning from them to a wider base on my own and that was tough… not impossible but tough.


What I Learned

So much.

I had a solid base of Unity before going into this and felt like that helped me get started. I got so much out of using Blueprints that was transferable from code in C#. The tricky part for me was learning the syntax used for internal functions that something like the camera, player, or physics engine just inherently knows. I learned about animations and state machines, as well as the UI Widget system.