Resources
Overview
Project Type
- 4-Person Group Assignment
Project Role
- Main Gameplay Programmer
- Player Character Designer
Development Time
- 3 Months
Tools Used
Game Engine
- Unity
IDE
- Visual Studio
Lanugage
- C#
Animation
- Aseprite
Description
Outbreak-PTO is a top-down action shooter videogame that
uses a pixel-art style. The premise of the game is to
survive on an infested space-ship and fight through various
enemies. The end-goal is to defeat the game's final boss.
The project was created as an assignment for our
introductory game development class. This game served as the
final project for the course.
As part of the assignment, the game had a central theme that
all groups in the class needed to follow. This theme was
"potatoes". We implemented this idea into our game by
creating potato enemies that fought against the character.
Project Website
My Work
During development of the game, my primary roles were as
the player character designer and the main gameplay
programmer. I was responsible for implementing most of the
gameplay systems within Unity, such as the player character
controls, player interactions, weapon functionality, and
other general gameplay systems. I also designed the base
health systens and enemy detection systems, but did not
work on all the the enemy behavior implementations.
My other responsibility, as mentioned above, was as the
player character designer. I produced all art and animations
for the playable character and for other areas such as
enemies and tiles.
My last task for the project was to create the trailer video
which can be watched above.
Here's some galleries of some of the animation and art
assets I created.
Character Assets
Other Assets
Unfortunately, not all of the assets we made were included
in the final game. Due to time contstraints, we did were not
able to plan where to use these assets I made.
Unused Assets
What Went Well
Overall Quality
I consider the overall experience we created for the game to
be high quality. I'm really proud of what we were able
to create.
Communication
Our group was able to communicate very well during stressful
parts of development. We never had any personal issues with
each other.
Coordination
To work efficiently, we split up the work into seperate,
individual sections. For the most part, each individual
system we created worked well when congregated.
Cooperation
Everyone on our team put their best efforts down for the
project. We all pulled our weight and worked to get things
done on time.
Feature Prioritization
Ultimately, three months is not a lot of time to develop a game. We needed to scrap some planned features and prioritize other features. During this deliberation time, we were able to efficiently decide what was necessary and what we could disregard.
Problems We Faced
Git Merges
This was a BIG issue. None of us were very well-aquainted
with Git, so we were unsure of how to manage Git merge
collisions. We ended up manually dealing with merge issues
and performing force pushes which was a frustrating
process.
Not Enough Time
When we started planning out game, we were really ambitious
and considered a lot of features. We didn't realize how
short three months was for game development and were
dissapointed when we had to cut ideas.
Performance
There are noticable frame drops when playing our game on
occasion. I attempted to implement an obtimization unloading
system, but the impact seemed minimal. We were unable to
find the cause of the slowdown because of time constraints.
System Complexity
The systems I implemented for animation and weapon controls are really complex, making it difficult to maintain and modify.
What I learned
General Group Experience
This project was the first time I've every worked in a group
for a programming project. I gained experience from working
with my group members and teaching them about my system
implementations.
C# Language and Unity
Unity was my first introduction to the C# language. From
what I used, I really liked the syntax and would definitely
consider using it again. The documentation for C# and Unity
were also amazing.
Game Dev is Fun!
This project was the most fun I've had in a class project. I was completely invested in what I was doing and the end result was very satisfying!