Capstone Game Post Mortem:
A Tail of Two
Joseph Whitworth
MGMS Program
Full Sail University
10/17/2016
Game App Icon:
Title: A Tail of Two
Genre: First Person 3d Survival/Puzzle Game
Platform(s): Mobile Devices/ Amazon Fire TV
Revenue Model: Buy Once
Development Tools:
Unreal Engine 4 Version 4.10.4
Blueprint (Visual Scripting System)
Game Audience: 17+ for mild game violence
Team: JWDesign (Joseph Whitworth)
Copyright:
Whitworth, J. (2016). A Tail of Two. (Version 1.16)
[Mobile]. Syracuse, NY: JWDesigns.
Sound Bite: Stranded together, man versus the unfamiliar. What will you discover?
Executive Summary:
A Tail of Two is a first person open world 3D
Survival/Exploration/Puzzle game for mobile devices with an intended release on
the Amazon Fire TV. Some comparable titles would include No Man's Sky for the
general atmosphere and game mechanics, with mild similarities to titles such as
Never Alone for the companion element and Mine craft for the status management
elements (Hunger, thirst etc.).
The Player begins near their ship, which has just crashed
on a strange planet. The player having no memory of where they were going, will then with companion Dog, have to explore the world
searching for items to repair the broken ship, and discover their purpose. During
this mission, the player and Dog will encounter several creatures and areas to
explore, such as signs of previous Alien inhabitants, new technologies and an
unfamiliar language.
Inspiration:
Inspiration for A Tail of
Two was derived from a number of titles including No Man’s Sky, Never Alone,
and Rust
Ideal:
The goal of A Tail of Two was to offer players an open world gameplay
experience on mobile devices. This open world would provide a mysterious
environment to encourage the player to explore.
Final Screencast Link:
What went right?
Design & Aesthetics:
The overall design of the game was to use a familiar feeling environment, while also providing a unique experience to show the player they are on an alien planet.
The overall design of the game was to use a familiar feeling environment, while also providing a unique experience to show the player they are on an alien planet.
I utilized pastel colors “earth tones” to provide this sense of familiarity. The environment elements are designed to be similar as well, but through the use of these colors they hold a unique appearance.
The grass was a difficult part to make work, but I needed something to
populate the ground, as to not allow the environment to appear so empty.
The Ruins went through a few changes, from being a boxy building with an
emissive Alien-esque material on it to a more stone-like ruin providing a bit
more of an ancient alien feeling.
The orbs that you see change color according to what resource is required,
and the amount of orbs that show up indicate how much of that particular
resource is required to acquire the prize.
The Caves:
The cave design was meant to be simple, but effective. It is actually a
change of level rather than a teleport so saving the players inventory and
variables was the most important part of the change. This was to demonstrate my
plans to implement different areas into the game allowing further exploration.
This could include exploring large ship interiors, more cave systems, Alien
ruins and so on.
Cave Puzzle:
The cave puzzle is constructed based on a color scheme. The player has to
shoot the pillars in the proper order to unlock the red orb that will reveal
the item within. Color is a universal language, so this puzzle makes sense in
the context of Alien technology.
Ruin Puzzle:
The ruin puzzle focuses on basic math riddles with multiple choice answers
of "0,1,2,3".
"I am something when nothing is there"
"By me I multiply and get myself"
"All of your counts, are half of mine"
"The two preceding are the sum of me"
Project Management:
Time management went well over the course of development. I utilized my
time well with the development of features within the game. Even with the
multiple overhauls A Tail of Two went through, I still managed to include most
of the features I set out to initially.
(Show Original Screenshot)
(Show Original Screenshot)
(Show New Screenshot)
Version Control:
Initial development began with extremely large files so maintaining the
Underdog repository would have been more trouble then it was worth. With that
said I instead utilized USB drives and Dropbox to maintain all versions of A
Tail of Two.
This method saved me from a catastrophic CPU malfunction which caused my
computer to be down for a week. Utilizing dropbox I was able to acquire my
project without having to worry about setting up a local repository and cloning
to my Laptop. So as required by school I utilized Underdog when needed.
Development:
Landscape Tiles & Spawning:
The landscape system worked extremely well with the mechanics of the game.
I required a system that would spawn infinitely, while occasionally spawning
points of interest the player could interact with and spawning resources/consumables
randomly throughout the world. This system became rather effecient thanks to
Lari Norri with the recommendation of despawning landscape tiles as the player
moves away from them. This required me also to set up a destroy function on
items and consumables so the game objects wouldn't pile up during long term
playing.
The landscape is made up of small sections that spawn on a 2000 cell grid.
Each section is made up of a terrain and other assets as one static mesh. When
the mesh is spawned into the world, the generator randomly chooses it's
rotation based on 90 degree increments, a random leaf color based on a dynamic
material instance with randomized float values as well as it's Z scale to
create an extra random factor within the environment.
Grid made up of line traces to detect if mesh has already been spawned:
Resource Gathering:
Resource gathering was rather difficult before I updated the function of
it. Before when the player would destroy a ore heap, the resources would fall
on the ground for the player to collect. This was extremely time consuming and
didn't add to the gameplay experience at all. My solution to this was to have
the resources fly towards the player when the ore heap was destroyed, and on
overlap they would be destroyed while also being added to the players
inventory. This provided a visual que that the player was gathering the
resources, without forcing the player to tediously gather each individual
resource.
Inventory & Item Stacking:
The inventory system works extremely well in terms of sorting the
particular items and placing them in their respected sections. Resources the
player gathers goes into stacked sections within the resources section of the
inventory. Items such as consumables and weapon upgrades go into the base
inventory allowing the player to easily select and use them as needed.
Included in the inventory menu is a seperate crafting menu. This menu
allows the player to craft bandages used to replenish health, and water pouches
to replenish thirst. This list will be more extensive as development continues
post-graduation, but to demonstrate the feature a few items were thrown in for
the player to explore.
Testing:
Testing was both a success and failure. The testing I was able to get with
my game was extremely helpful. All of my testers gave excellent feedback and I
was able to adjust my game accordingly.
What went wrong?
Design & Aesthetics:
The User Interface still needs work.
While in terms of functionality, it works, but it seems random and messy.
To fix this, I attempted to implement a visor type display that integrated the
interface into it, but it caused issues with the thumb stick analogs and I did
not have enough time to fix it so the feature was removed.
Fixing the Interface:
Feedback provided to me by Christopher Eklund and Lari Norri
The following images display a desired changes to the interface:
Clipping from the landscape sections:
At some point during development, the cell grid offset itself, which causes
the landscape sections to overlap at certain points. This causes a flickering
effect that is extremely distracting, but unfortunately this occured late in
development and other features took priority over this.
Development:
Dog AI:
Dogs AI has had many overhauls. The initial setup of dog was for him to
lead the player to resources and items they came across, while also notifying
the player of when enemies are nearby. This became extremely annoying to play
testers as Dog would be barking constantly. To fix this I removed those
features and decided to treat dog as an service dog. He now notifies the player
when their thirst is low, and proceeds to lead the player to a water pool in
order to replenish the players thirst (hunger/health will be added later).
Another feature that was implemented but didn't function properly was Dog
helping the player hunt the blue creatures in the world. The player would stun
the blue creatures with their laser, and dog would move to the creature and
attack, killing the creature and sending the resources to the player. The issue
with this system was that Dog would get confused with other scripts the
behavior tree was trying to run, so he wouldn't always go to the creature to
attack.
Fire TV Failure:
The current build of the game runs extremely well on the Fire TV, with the exception of the inventory functionality. The gamepad script for the inventory did not function well. Play testers found navigating the inventory extremely confusing and sometimes it did not function at all. Through many attempts to solve this issue, more bugs would arise so to avoid wasting development time on it, I removed the Fire TV build temporarely in order to finish development for Mobile devices.
The current build of the game runs extremely well on the Fire TV, with the exception of the inventory functionality. The gamepad script for the inventory did not function well. Play testers found navigating the inventory extremely confusing and sometimes it did not function at all. Through many attempts to solve this issue, more bugs would arise so to avoid wasting development time on it, I removed the Fire TV build temporarely in order to finish development for Mobile devices.
Enemy Damage:
To indicate where enemy damage was coming from, I attempted to implement a
red indicator that would appear at different locations on the screen. This
would show the player where the enemy was located around them, allowing them to
react to taking damage a bit quicker. Unfortunately all attempts at
implementing this failed, so I added in a basic red flash to comensate for the
missing feature for now.
Tutorial:
I wanted to keep the tutorial to a minimum and allow players to explore the
world and features on their own. In order to do this I kept the tutorial to a
few pop up texts that the player can read to give them an idea of where to find
elements they need.
Through recent feedback from play testers including my co-advisor Lari Norri, this doesn't seem to be a new player friendly method of creating a tutorial. To remedy this I have compiled a few images to represent my plans to implement a more thorough tutorial:
Through recent feedback from play testers including my co-advisor Lari Norri, this doesn't seem to be a new player friendly method of creating a tutorial. To remedy this I have compiled a few images to represent my plans to implement a more thorough tutorial:
These are not implemented into the game yet, but these images show what the
tutorial could potentially look like once implemented.
Testing:
Testing did not go as well as I had hoped. Finding first time users to play
test my game was difficult. Once I discovered some that were willing to play
test my game, they never got back to me with feedback. This made things a bit difficult
because the majority of people around me had already played my game several
times.
Summary:
A
Tail of Two has been an extremely enjoyable game to make. The experience has
taught me much about mobile design and game development itself. I can learn
from the things that went right and the things that went wrong, applying that
knowledge to future projects. There is not much I would change about the game
in terms of design if I had to do it all again, but programming wise the
knowledge I have now will only strengthen A Tail of Two as I move the project
further.
Future plans of A Tail of Two include the
refined interface elements, implementing a more intuitive tutorial system,
space exploration, full procedural planet system as well as beginning a PC
build of the game in order to take further advantage of the visual style
without limitations of a mobile device.
Coulton, J. (2011). Code Monkey Jonathan Coulton. Retrieved October 18, 2016, from https://www.youtube.com/watch?v=kWrjYdD0Tg0
J. (2015). Infinite random landscape in Unreal Engine 4. (free demo project). Retrieved October 18, 2016, from https://www.youtube.com/watch?v=39uMosogVog
Koenig, M. (n.d.). Free Sound Effects. Retrieved October 18, 2016, from http://soundbible.com/free-sound-effects-1.html
Mixamo: Quality 3D character animation in minutes. (n.d.). Retrieved October 18, 2016, from https://www.mixamo.com/
Whitworth, J. (2016). A Tail of Two. (Version 1.16) [Mobile]. Syracuse, NY: JWDesigns.
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.