You are on page 1of 35

Capstone

By Matthew Farrell
My Essential
Question
The essential question I made for this project was “Can I make a
working video game given only a limited amount of time to do it”
How I Will Execute My Question

Make Make a 3D Unity Game

Show Show the steps I took to make the game

Search Search for potential jobs I could get in this industry


Starting Out

Brainstorm:

Genres of Game (FPS, Racing, Platformer)

Level Design(Castle, Islands, City)


First Steps in Unity

I need to execute my idea

I will start with a base

Much harder than you think


Character Intro
⬥ Now that we have a start to the base, we need to make a character.
Character design is one of the hardest things to get right when
making a game, especially when I don’t know very much about
coding. This is where my friend and mentor comes in. He is very
experienced in video game design and has an internship at a
computer programming company.
Design
⬥ Since I am planning to make the game first person, the design of
the character doesn’t matter. I don’t really want limbs that are
shown or any real character design since I don’t have much time,
so I just made my character a cylinder
Movement

⬥ Here is where it gets hard. To make movement


possible I need to make a script in C#. For this I got
help from my friend, he guided me through the
process of adding each line of code and explaining
what each line does. On the right is the code I typed.
Camera

⬥ Next, I have to be able to look around. Since it is a


first-person game, the camera won’t be fixed, it
will have to move with my mouse. That requires
quite a bit of coding which again I was coached
through by my friend. You will see my code on the
right.
Jumping

⬥ After I finished the movement code, I realized


that my character couldn’t jump. This required
me to rewrite my movement code so that it
had all the movement plus coding that
implements jumping
Final Character
Level Design
⬥ Level design is the most time-consuming part of the game making
process. There are so many different elements that need to be
added in. Here I will go over each of the things I went through
when doing level design in this game.
Skybox
⬥ I didn’t want the sky to be just a solid colour so in order for it to
look like the actual sky I needed to get a cube map. A cube map is 6
different pictures formed into a cube (check right corner). In order
to not waste time, I decided to take a free skybox asset off the
asset store, so I didn’t need to make my own. Here is one of the
skyboxes I used.
Ground Texture Pt1
⬥ Another thing I didn’t want to do was keep the ground as just
white and bland. I wanted to make the ground look like an actual
island. So, I decided to make my own ground texture. I couldn’t just
use one picture as the ground because I wanted the top to be
different from the bottom. This Is where UV mapping comes in.
Ground Texture Pt2
⬥ The process of UV mapping is very difficult, It involves taking a 3D
object and mapping it onto a 2d space so you can deal with each
edge and side separately. You can see the UV map of the Island
below.
Ground Texture Pt3

⬥ After you finish and get your island textures next you have to add Normal Mapping and
Ambient Occlusion. Normal mapping also known as bump mapping, is editing the texture
of the object so that light hits it differently. Ambient occlusion is similar, it adds depth by
making some areas darker and some lighter when exposed to light. Normal Map is shown
on the left Ambient Occlusion is shown on the right
Death
⬥ Now that I was happy with my island textures, I had to make
a death system. It just needed to reset the level every time
you fall into the void,. If you look below, you will see the kill
area as well as the code I made so that you reset.
Animation
⬥ I didn’t want to have the character just die and teleport back to the beginning. So I
made a simple transition animation so when you die or progress through to the next
level it does a small fade.
Level Progression
⬥ I didn’t want to just make one level, so I needed to make a way to progress through the
levels. So, with help from my friend we made a portal level exit so you can progress to
the next level. This required an animation for the portal, some lighting and some code
to start the transition and take you to the next level.
Pause Screen and Main Menu
⬥ Another thing I decided that I was going to add in was a pause and
main menu screen. This lets me pause and resume the game as
well as having a start menu. All I needed for this was some buttons
and the code so that when I press the buttons, they will actually do
something. Again, since I didn’t have much time, my friend added
his button assets and attached the code, he used on to them so the
process would be faster.
Occupation
⬥ Before I get into the final product, I would like to discuss
possible job opportunities I could get in this industry. There
are many ways I could go, whether I want to stick to game
design or maybe branch off and become something like a
software designer or a computer programmer for a company
like Microsoft.
Requirements

⬥ Typically for jobs in this area of work need a degree in Computer


Science or something similar. Here is the program I was looking
into taking. It is a 4-year course at UBC that teaches programming,
web development, software design and much more.
Example Starting Job
⬥ I found a good starting job that
doesn’t require much experience so
I can get right into the job after post-
secondary education finishes. I
would be programming and
designing for huge games like
Minecraft and Halo which would be
super cool, and I would enjoy it a lot.
Example Future Job

⬥ After a while of being at the other


company I could move on to a job
that needs more experience like
working for EA. It requires much
more experience, but it has a
better pay, and I would still enjoy
working on new and big EA games.
Other Type Of Job
⬥ If I decide that I don’t want to be in the
game design industry, I could also get
into programming software with
Microsoft, instead of making games I
would be dealing with things like making
advanced search technology on their
search engines or dealing with programs
like Word or even PowerPoint.
Final Product
Future Plans
⬥ Because of the short amount of time, I was given for this project, I
wasn’t able to put everything I would’ve wanted into it. If I were to
continue this game, there are a couple things I would add.
More Levels
⬥ Obviously if I were to continue making this game it wouldn’t just be
3 levels, I would expand to different styles and even change world
types. For example, instead of just sticking to the floating island
world type, I could switch to a different theme like a city.
Enemies
⬥ I would also like to add enemies to make levels more challenging
and if I were able to learn how to code an AI so that the enemies
moved on their own and tracked players, I think that would be very
impressive
Weapons
⬥ If I’m adding enemies I’m going to have to add weapons to kill
those enemies. Weapons would be really cool to design and code
but are very time consuming and getting it to work would be a
nightmare, especially if I'm doing it from scratch.
Boss Battle
⬥ Finally, I think if I added some sort of boss battle it would be
awesome. Coding a huge monster would be super cool, I could give
him different set attacks and maybe even different stages so it
would be difficult.
Plan vs Final Product
⬥ I did a lot more than I expected with this project. My original idea
was to do add a weapon of some kind which I didn’t get around to
but overall, I wasn’t expecting as much as I did. I didn’t think I
would have time to be able to make more levels or add cool
animations, but I was able to, and I am very proud of that.
Conclusion
To answer my essential question, yes, it is possible to make a working
video game even though I only have a short time to do it and although
it isn’t the best, I am very proud of my achievements and knowledge I
have gained throughout this project.
The End
Bibliography
⬥ https://cpetry.github.io/NormalMap-Online/
⬥ https://jobs.lever.co/skyboxlabs/0419f02d-6bd6-45a5-bc4b-
de3777bf54bc

You might also like