High Level Game Design Concept
Top-down, action adventure in which an evil race of aliens has
come to earth is search of a new food source. After discovering humans don’t
taste as good as they once thought, the evil aliens discover the tastiest
animal on earth is cows! The player will step into the shoes of a light hearted
alien who has devoted himself to beaming his new bovine friends to safety.
Controls:
The character will be controlled
using the WASD keys to move and the P key to beam up target cow. The item used
to beam up the cow must be used at melee distance thus the character will have
to be close to a target cow in order to successfully beam it up to safety.
Camera will be third person and fixed in an over the shoulder perspective
behind the character.
Environments:
Our environments and currently
planned levels will be in the form of various farms. These levels will be sand
boxes allowing the player to go where they will within the limits of the farm
as opposed to following a linear track or sequence of events. Obstacles within
the level will be farm buildings, equipment and tools, hay bales, tractors,
etc. Things to avoid on the map will be rival aliens as they are able to hurt
you if you get to close.
Gameplay:
Player’s progress will be scored
by the pounds of beef that get beamed to safety. If a player takes too long and
the rival aliens collect to many pounds, the player will lose game. Players
will have an open sandbox style map in which they will have to search for the
cows to beam up. Along the way however rival aliens stand guard as they prepare
to butcher and steal their meat. Should they catch you beaming up their cows
they will attempt to chase the player who must then make a rapid escape.
Assets:
The player will control Yhtrod, the good
alien, while trying to avoid the rival aliens (evil aliens) scattered across
the map. There will also be a UFO situated above the map, owned by the evil
aliens, who beam cows up to it. We also have farm-themed assets in our game,
such as cows, farmhouses, greenhouses, a barn, silo, fencing, and also a
grass-textured ground as well. We also have a main menu screen, along with a
controls menu screen, and a win and lose screen.
Design Breakdown
Game Mechanics
Our game Medium Rare is based on the player character, a good
alien, trying to beam up cows without getting caught by the enemy evil aliens.
The good alien that is controlled by the player will be able to move forward
when the player presses the “W” key, and is able to turn when the “A” and “D”
keys are pressed. The player is able to beam up cows when they are within a
certain distance from the cow, and they can do this by pressing and holding
down the space bar until that cow is fully beamed up into a UFO. The player can
also switch into first person perspective at any point in the game by pressing
the “F” key, and can switch back to third person perspective by pressing the
“G” key. The player can quit the game at any point in the game by pressing the
“Q” key. Whenever the player loses the game, he/she is able to press the “N”
key to restart that level once again.
The enemy evil aliens features the use of seek and pursue
behaviors, which are evident when the player gets too close to one of the evil
aliens. One mechanic that we added was the fact that the evil aliens will stop
chasing the player when the player gets out of a certain radius around that
evil alien. Whenever the player enters the radius of that evil alien once
again, the seek and pursue behaviors will activate and they will chase after
the player once again until he/she can get out of the radius of that evil
alien. The cows in our game uses mostly the repulse behavior, and sometimes the
flee behavior. This can be seen when the good alien moves within the radius of
a cow, which will cause the cow to repulse and flee from the good alien.
We also added a mechanic which occurs when the good alien comes to
close to a cow, causing the cow to stop “dead in its tracks” to allow the
player to be able to beam up that cow without it running away.
Game Interfaces
Our game features a main menu screen, with several options such as
“Start Game”, “Controls”, “Quit Game”, and “View Scene”, and is associated with
the “E”, “C”, “Q”, and “P” keys, respectively. Pressing the “C” key will open
the controls menu, where the controls for our game will be displayed to the
player. Pressing the “E” key will start the game, and pressing the “Q” key will
close the game. Pressing the “P” key will allow the player to view the entire
map of level 1 through the perspective of a camera that uses half quaternions
and half catmull-rom mechanics in order to move it around the map, allowing the
player to get a glimpse of the entire map.
Once the game is started, the good alien will appear on the farm
and the player will then be able to control that alien, as stated in the game
mechanics section. We have also designed a win screen as well as a lose screen,
which will pop up when the player either wins or loses that level. For the win
screen, the player will have the choice of pressing the “N” key in order to
proceed to the next level, if applicable, or to quit the game. During the lose
screen, the player will have to option of pressing the “N” key in order to
restart from scratch at the beginning of the level that the player is currently
on, or to quit the game.
Our game was originally planned to be a third person shooter,
however, since we were unable to implement shooting into our game, we just
created it as a first/third person game without shooting. Our main designer had
wanted to implement interaction with the cows at close and far range (through
use of a beam gun), but in the end we could only do close range interactions.
The entire game is focused on the player’s goal to beam up all the cows in the
level. Our main designer had originally planned for our game to have more
obstacles around the map, which can hinder the player’s movement around the
map, as well as more intricate maps with more detail and assets. He also
planned for more levels to be implemented into our game, including various
farms as well being able to enter/exit buildings, and even a bonus level that
could take place in a UFO.
Our main designer had also planned to create the game at a faster
pace, resulting in faster gameplay, but for technical reasons, we could not
create the game at such a pace. Medium Rare was also supposed to include
hazards, such as a lumber grinder where players can fall into it and die
immediately, or farmers who would shoot you randomly from outside of the map
(the fence). There was also the idea of having NPCs who would assist you in
dealing with enemies, but we did not get to make them in time. Our AI system
was also envisioned to be much smarter, but that proved to be difficult to
create at our level. Our main designer also had to idea of creating an AI
called Oto, who would be the ship’s computer, and would be situated inside the
good alien’s UFO. Oto’s main purpose is to deliver information to the player,
such as objectives and tutorials, and can help the player in case they get
stuck.
Medium Rare was also envisioned by our main designer to include
more assets, such as ray guns, score counters (which would display the amount
of beef collected by the player in pounds), and more obstacles and objects in
the farm. There was also supposed to be more combat and interaction between the
player and the enemies on the farm. The game play for our game was also
originally supposed to be a race between the evil aliens and the good alien to
collect all the cows in the level, but now it is just the good alien who
collects the cows. Our main designer had originally wanted a cinematic at the
start of the game, rather than our current interpolating camera system, that
would include a detailed story. He had also wanted for us to create and include
custom sound design, such as recording our own sound effects and music, but
that did not happen.
Developer
Diaries:
Weeks 1 and 2:
For
the second week of the semester, our group had to get support and advice from
our professors in order to turn our current game into a finalized game. We had
also planned to eventually add a HUD into our game in order to make our game
look better. We also wanted to add a mechanic to the evil aliens that will
allow them to beam up the cows as well, in order to give a challenge to the
player. This would provide a challenge to the player by causing the game to
become a race, where the player must beam up more cows than the evil aliens
can. We were also told to try to improve our buildings to have a cartoony feel
to it in order to match our game.
http://gdwteamprojectoz.blogspot.ca/2012/01/week-1-of-game-development-workshop.html
Week 3:
For
the third week, our programmers had to work on the sound portion of our game,
as well as adding more textures to it. All the sound programming had begun at
this point, but was not finalized until much later. At this stage we also had a
slight conflict where the main designer wanted the modelers to change the
models completely, which would require a great amount of time to do. In the
end, due to work constraints, we ended up not changing the looks of the models
that much, unless the modelers had free time during the semester.
Week 4:
At this
stage in the development of our game, we streamlined our code in order to
reduce the length of the code greatly. We had to remove several things from our
code that would make it much shorter than before, such as cutting out the
useless parts or the parts that were not needed in order for the game to run. We
had also considered trying to convert our code into arrays in order to make the
game run more efficiently, and this will continue on for several weeks until it
was completed later on. We initially planned to convert and upgrade all our
buildings in the farm into a cartoony look, but that was put on hold due to the
increased workload for this semester. We also planned to start implementing textures,
shaders, sounds, and cinematics starting from this week.
Week 5:
At this stage, the programmers who
were responsible for the sound portion of our game had received new code from
our professors that would allow them to add sounds to our game. They tweaked
around with the code and ran into several problems, but in the end we managed
to pull through and get the sounds working properly. We also started to develop
our cut scene, by creating all the models and other assets in Maya in order to
be put into the cut scene.
Week 6:
For our 6th week, we focused
on cleaning up the code for our game in order to make sure our game runs more smoothly
and efficiently. This would also make the code neater and easier to read and
use for the programmers. At this stage the modellers focused on creating and/or
upgrading our current buildings, characters, and other assets’ art styles in
order to suit the theme of our game. At this point we had three cut scenes finished,
which we plan to implement into our game trailer. All the textures for our game
had been pretty much completed by our lead artist at this stage, using
photoshop.
Weeks 7 and 8:
Weeks seven and eight has been very
productive for us, since we had added mechanics to our code that allows for
multiple levels in our game. We also added shaders and Mudboxed textures into
our game in order to make our game look better. With these additions, our game
now includes a fog effect which makes it harder for the player to see enemies
on the level. This was used heavily for our second level, which takes place at
night and is very difficult to navigate. We also implemented a mechanic that
allows the player to repeat a level at this point or to move onto the next
level, which allows for more freedom of choice. We also implemented sound
during these two weeks, making our game a lot better than before. Our lead
artist also created a brand new and original grass texture to be used for our
game, making the game’s grass look much better.
Week 9:
After numerous play tests, we have
found that the fog effects and the shaders had made the second (night time)
level more difficult than we had anticipated. We had to add a directional light
(similar to a beam) in order to allow the player to see where they are going. We
also changed the game speed to be faster than before, in order to make the game
easier to play, but the difficult still felt the same. By this point we had
already implemented a good portion of our sounds, but the rest still have to be
put into the game in the next few weeks.
Week 10:
By this point, all our modelling and
programming teams are hard at work on our game, and we also took this time to
work and finish our paper prototype for our Game Design and Production class.
Week 11:
By the 11th week, our game
was pretty much completed, other than the fact that we still had to finalize
our sounds and effects, as well as to choose a fitting music track for our
game. The majority of the problems that we had have been solved by this point,
such as texturing, modelling, and directional light issues. With the majority
of our issues solved, at this stage we began to work on cleaning up our code in
order to be finalized and handed in.
Week 12:
During our 12th week, our
game is practically done, with the exception of a small issue where the sound
would loop despite being coded to not loop. It was eventually solved by our
programming team, and with the solving of all our problems, our game was ready
to be handed in for marking.
Technical Documentation
Writing and Design
For the written and design portion of
our game, Joseph had handled the majority of this section, as the lead and main
designer of Project Oz. He had designed the story and general gameplay
concepts, and written a design document for Project Oz. Joseph had also
extracted the gameplay elements from the story, in order to turn it from a
document into an actual game. Then, as a group, we had all refined the gameplay
elements and our programmers began with the programming aspects of our game,
starting with the base engine. At the same time, our modelers also started to
create all the models required for our game. On a side note, the story for
Project Oz didn’t make it to the game, but it served as the foundation for all
the gameplay elements of the game.
Programming
The
programming stage for our game was separated into three different parts:
Base
engine:
For
this step, all our programmers had to create the base engine that would serve
as the foundation for our game, and would eventually run the entire game. The
first step was to program and create the controls for our game, and this was
mainly done by our lead programmer, Yang. The next step was to create an object
loader that will manage the loading of all visual assets into the game, and
this was handled by Joseph, our secondary programmer. At this point, the
majority of the models for our game were finished, and this part was handled by
our modelers Edward and Christian. Once all the models were imported into the
game, Joseph then proceeded to program all the animations for the models. We
decided to use morphing to animate all of the models as it was easier to
program. Other engine components were done by this step, and this mainly
includes programming the basic AI, which was done by Yang and Joseph. They also
handled programming the NPC movement patterns and how they interact with the
player. At this point, Yang also programmed the level for our game, using
assets from the modelers. Yang also put all the models and similar assets into
the game at this point.
Streamlining:
The
streamlining process has been continuous throughout the whole project, starting
from this stage, and was sort of just a side task that was done whenever Joseph
had free time to work on the game. In this step, Joseph was in charge of
condensing and optimizing the program and any other assets.
Base
Engine (continued):
At
this point, the particle systems were completed by Joseph, with arrays in
conjunction with simple models. These simple models were later textured, and
would resemble particles when zoomed out. A randomization algorithm was created
and used to make sure that the particles don’t seem to be redundant, and would
be more appealing to the player. By this stage, the majority of the sound
portion has been implemented into our game, and Yang, Shing, and Seonghyun were
responsible for this portion of our game. For this step, Shing and Seonghyun
had found and put together all the sounds to be implemented into our game,
while Yang worked to program all the sounds into our game.
The shaders for our game were also done at
this stage, and Yang and Shing were responsible for this portion. Shing worked
on programming the lighting portion for our shaders, while Yang had programmed
the remaining portions and aspects of our shaders for our game. At this point,
our lead programmer Yang had implemented a system that allows the player to change
the levels freely. Our secondary programmer Joseph had also implemented
textures into our game at this stage, in conjunction with the object loader
that he had programmed earlier. For the next step, Joseph had implemented a
system in our game that manages loading all the textures into the game, in
conjunction with the object loader that he had designed and programmed earlier.
It was at this point that the menu had been
constructed, where Christian was in charge of drawing the menu art, and Yang
was responsible for programming and implementing them into the game. Any other
engine components had been completed by this stage, and were tweaked to
perfection by our programmers Yang and Joseph. Lastly, our game is being
polished, debugged, and tested constantly as a group to prepare it for marking
and presenting.
Testing
Report
Throughout the
development process of Medium Rare we did in fact receive many feedback
criticisms. These occurred at various stages and most were in fact solved.
Below we have outlined the different major concerns of our game and how we have
dealt with them:
Initially one of
the first comments we had from a game development student outside of our group
was that our farm’s grass texture was not very appropriate for the context of
our game. The student claimed that it was too pixelated and fuzzy and made the
game somewhat of an eyesore to look at when playing the game. A new grass
texture was later developed from scratch in Photoshop, in order to make the
farm’s grass look cartoony and better suited for the game.
Another issue
within our group was that our team leader was extremely unsatisfied with the
style of music within our game. Our team leader claimed that it was different
from his original design concept. Sounds initially for the game were more
comical and happy themed, whereas our game designer and a few other group
members decided that the game should take a more serious tone in terms of the
sounds and music in the game. Sound was then developed more recently near
completion to accommodate this.
One of our
Professor’s also felt like our farm objects were not very well shaped and
needed it bit more assets such as haystacks and stuff. In order to fix the
models up we needed to add a bit more shape and cartoony style of development
in the overall design of the objects. Though we had completed this on the side
in Maya, we were unable to fully implement these extra criticized features into
the game.
Two of our
Professor’s informed us early in the development stage that our walking cycle
should be faster paced because it did not look fluid enough. The walk cycle was
slightly improved to make the character move a little faster and smoother than
the previous style where it was undergoing moments of lag. This particular
feature we do actually consider a failure since we weren’t fully able to get
this working.
One major problem
that was in fact noticed by everyone who tested the game was that our character
and level textures were not properly applied and looked very basic and blocky.
This was early in the first semester of development. Character and level
textures were later greatly improved on through the painting of the character
model’s UV maps in Autodesk Mudbox. Through this we were able to use shaders
and apply the painted textures onto our character which later received great
feedback from professors and fellow students outside of the group.
Within our
gameplay players have the goal to beam up a Cow to safety. Players of this game
claimed that once they had beamed up one cow, they found it frustrating to
figure out where the others may be. With this source of feedback coming to us
early in development, we developed a first person view that players could
switch to at any time in order to view their surroundings and seek out another
cow.
Some major
features that evaluators and fellow students felt were really necessary and
missing in our game would include a Heads up Display and some sort of Interface
such as a health meter or score counter, more sound effects for the various
actions that take place in the game, and the game being much too short. A Heads
up Display was actually originally planned to be in our game but Implementing
the HUD was a failure due to the lack of time and many other debugging issues
that needed to be prioritized for the games completion.
In terms of sound effects we added much more
sound effects into the game, such as when our character is being chased by an
enemy, or when the player is chasing a cow, when a cow is being beamed up, a
run cycle sound, a UFO flying sound and natural sounds of a cow as well.
In order to solve
the problem of the game being too short, we developed levels of a different
challenge to engage the player further. However, once the second level was
developed, players complained that the level was much too difficult in
comparison to the first level. They claimed that the second level developed was
too difficult due to the fact that it took place in the night time and players
found it hard to see enemies. This was then fixed by changing the color of our
night sky to dark blue rather than being black, and when the enemies approach
the player a sound will play and you will need to run away and avoid them. This
made it a little easier for the players to complete the level, while keeping
the challenge.
Developer
Profiles
Yang Zhou
Role: Lead Programmer & Project
Manager

Joseph Tuffner
Role: Game Designer,
Co-Lead Programmer
Joseph originally
came up with the design and concept of Medium Rare, the group members consider
him to be the team leader. In addition to designing our game initially, Joseph
assisted a great deal with the programming. The main areas that Joseph helped
with on programming would be the object loader. Some of the other areas include
the Texture Shaders and more importantly the basic AI systems of our non-playable
characters. Joseph also played an important role in debugging and testing of
the game throughout various stages of development.
Christian Perera
Role: Character Modeling, Texture
Artist, Concept & In-Game Artwork
Christian was in charge of all
the art and modeling aspects of the game. He assisted Edward in the design and
asset lists of all the farm models. Christian created the initial level design
sketches and the character sketches for the game. He was also in charge of
creating all the menu assets such as the winning and losing screens and the
main and control menu. Christian created the character models in Autodesk Maya
and painted all the textures in Autodesk Mudbox and created the textures such
as the grass. Christian worked together with Yang and Edward to create the
introduction cut scene as well.
Edward Kwok
Role: Skeletal Animator & Character Rigging, Design
Documentation
Edward’s role in
the development of Medium Rare was originally to be programming. He later
realized his skills were better in the Animation aspect of our game. Edward had
created all the skeletons and different walk cycle and movement animations of
our main character, enemy characters and the cow entities. Edward also created
the basic objects found on the farm, such as the barn, haystacks, barrels and
troughs on the farm. Edward also played a major role in managing our
Development Diaries and the construction of this design document. Edward was
also primarily in charge of composing the trailer for Medium Rare.
Seonghyun Lee
Role: Sound Recorder &
Programmer

Shing Hei Yee
Role: Sound Recorder &
Programmer, Entrepreneurial Finance
Seonghyun’s role in development of
Medium Rare was primarily to design and record the different sound effects and
music for the game. These included the various sounds of the Cows, Walking
sounds and the sound effects of the Cows being beamed up. He also worked
together with Seonghyun to code the sounds in our game using FMOD and C++. Shing was heavily involved in create our
game’s Paper Prototype. Shing was involved in the designing of our board game,
and came up with the rules. Shing was also in charge of the financial aspect of
our game.
Here is our poster for Medium Rare: