A Game Made in The Unity Engine: Alexis de Girolami CIS 4914 Senior Project Rong Zhang Rzhang@cise - Ufl.edu 12/8/10

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 11

B.O.

T
A game made in the Unity engine

Alexis De Girolami
CIS 4914 Senior Project
Rong Zhang
rzhang@cise.ufl.edu
12/8/10
Abstract

For my Senior Project I chose to create a video game using the Unity 3D engine. Following
the development cycle process from initial conception to hypothetical publication, I worked with a
partner, he as the technical lead and I taking on the roles of designer and artist.

Introduction

Why a game?

Video games have always struck me as a perfect medium. It allows a player the freedom to
explore areas that they would never be able to in life, while also providing interactivity otherwise
unavailable in film or literature. They also provide a sense of fulfillment in completing tasks, which
allows the player to feel accomplished after beating a game.

As such, I have been interested in creating games since early in my college career. To put it
simply, the only way to become better at making games is to actually make them. I have made a few
smaller-scale games in my courses and in my free time and creating one for my Senior Project
seemed like the natural way to display how much I have learned in that period of time.

Why Unity?

I have worked with other game engines in the past and I put a great deal of thought into what
kind of engine my partner and I would use on this project. My partner, in contrast, had never used
an engine prior to learning this one and we both agreed it would be best to use an engine with a
shallow learning curve. I have used the Unreal Development Kit, an industry-standard engine, in a
previous project but it had given my team quite a bit of trouble. I had heard about Unity for some
time, partially due to the fact that it is free to the public and partially because it is a very powerful
engine, but had never used it before. After doing some research concerning its usability and
discovering the incredible documentation resources available, my partner and I agreed that Unity
was our best choice.

2
Working with a partner

From the beginning it was clear that I would need to work with at least one other person on
this project. Unlike many other technical or engineering fields, game development has a very wide
range of skill sets. As such, teams are always composed of a group of people, each person having a
very specific focus—3D modeler, User Interface designer, physics programmer, and so on. While my
skill set is primarily that in creative areas—art and design—my partner is far more technically
proficient, allowing us to evenly distribute the project’s tasks.

About BOT

BOT is a third-person strategy game in which the player is an engineer in a pseudo-Western


town. Gameplay revolves around the player being able to build robots—called BOTs—to fight
enemies throughout the level. The ultimate goal of BOT is to defeat the Boss enemy, a very powerful
enemy in the center of the level.

The player is capable of building four different classes of BOT using a variety of materials.
These items can be either picked up throughout the level, gathered from junk piles, or accumulated
through defeating enemy BOTs.

Responsibilities

My first and primary responsibility was to design the game. I wrote a complete game design
document for my partner and I to reference during development. The document details all gameplay
design, User Interface design, and technical design.

During pre-production I also created concept art for all of the characters and BOT types, as
well as environment and color concepts. (See Appendix A for examples)

Learning about the Unity engine was a large part of pre-production as well. Video tutorials
came in very helpful for initial information and documentation for this engine was very thorough.

3
During production I was responsible for creating all the visual assets seen in the game. All 3D
models (character and environment), textures, and animations were created in Autodesk Maya
2008, Zbrush4, and Adobe Photoshop CS4. (See Appendix B for examples)

In addition I completed:

All 2D Heads Up Display and menu artwork (See Appendix C)


Incorporating all assets into Unity
Level Building (See Appendix C)
Game Heads Up Display (HUD) scripting
Splash and Game Over screens
All visual effects – particles, etc.
Junk pile searching scripts
Targeting functionality
Initial deletion and reformation BOT scripts

Roadblocks

There were two major roadblocks that I met during production, both of which were solved.
The first involved the incorporation of animations into Unity after they had been created in Maya.

There are two approaches to animating characters in Unity. The first is to export the
animations using baked FBX files that are then placed into the Unity editor and attached to the
corresponding 3D model. The second is to import the Maya file with both the animations and the
model and to split the animations within that model manually. When I attempted to use the first
technique, Unity was unable to recognize the FBX files I created. I then attempted using the second
technique, which was successful for the most part but lead to problems, the greatest of which was
that the model did not recognize the inverse kinematic (IK) handles that I used to move the arms
and legs.

I solved this problem by baking the animations into the 3D model within Unity, compressing
the frames to optimize performance.

4
The second major roadblock was in creating the Deletion and Reformation scripts
concerning the placement of BOTs around the player’s character. The game is designed so that BOTS
0 – 3 stand around the player in the following formation:

0 1

2 3

As such, if a position were to be removed, for example, position 1, the other positions would
update as follows:

0 2

After creating this script, however, there were significant issues with glitching and BOTs
moving to the incorrect positions. These issues were eventually fixed, but posed a serious threat to
the project’s completion. It should be noted that even after fixing these issues, however, that the
scripts needed to be rewritten to correspond with certain changes made to attacking functionality.

Conclusion

The production of BOT was a success on many counts. All the functionality that we originally
planned on was included in the game with only minor modifications. Unity is an incredibly powerful
and easy-to-learn engine that I will certainly use in the future, particularly in the creation of
prototypes. My technical skills in game creation were additionally improved, particularly in the
areas of scripting and visual effect creation.

5
Resources

n.a. (2010). Unity: Game Development Tool. Retrieved September 1, 2010, from
http://unity3d.com/.

n.a. (2010). Unity Video Tutorials. In Learn Me Silly. Retrieved September 1, 2010, from
http://www.learnmesilly.com/index.php?currentPage=unity_lesson1.

Oliver Barazza. (2010). Advanced Unity Tutorial - Part 01: Bring Animations into Unity. In Youtube.
Retrieved October 4, 2010, from http://www.youtube.com/watch?v=oWCl_K1fGX4.

Autodesk Maya Press. “Learning Autodesk Maya 8: Foundations.” Sybex, 2006.

Acknowledgements
I would like to thank my project partner, Scott Presnell, who was instrumental to this
project’s completion (and who managed to put up with me for an entire semester, by no means an
easy feat). I would also like to thank my Senior Project advisor, Rong Zhang, who was and continues
to be an exemplary mentor and teacher.

6
Appendix
Appendix A

The player concept

The Tank and E-type BOT concepts

7
Appendix B

Player high-polygon model Boss high-polygon model

8
Images of the Player’s animation sequences, skeleton, and rig (Left: walk cycle; Right: searching)

Appendix C

Left: An image taken of the


level within Unity

Below: Screens of the


completed game. The first
displays how the player
can target an enemy (See
the arrow particle effect
above the enemy’s head).
The second image shows
how the player is capable
of searching junk piles.

9
10
Download the game: http://bit.ly/BOTWin

Biography
Alexis De Girolami is a 5th year Digital Arts and Sciences student. Upon graduation she plans on
attending graduate school to pursue a master’s degree in a field relating to game design and
development. She has aspirations of a career in video game design or production.

11

You might also like