Above Snakes Game Level
Thursday, 9 May 2013
Games Design Document by Andrew Wong
Introduction
My group consists of four
members: myself, Shulav, Abby and Jesse. For our BETA game project we wanted to stick with our theme of a horror western. So
we all agreed to use the same 3D game environment but we plan to make it a
smaller scale and an enclosed area, which would be more suitable and idealistic
for game play. Our game will be a “first person shoot em’ up” game.
Characters
Cowboy
The player will be using the
Cowboy character who is the main hero of the game. “He” is an old man in his
late 60’s but with a bad attitude. “He” is fearless, tough, short tempered and
will not stop at nothing to get rid of these monstrous goblins. “He” is a man
of action rather than words. Players will be equipped with one hand gun and
with this they must try shoot and kill all the goblins. Since this game is a
“first person shooter” the play will only see the cowboys hand, his gun and
part of his forearm.
Goblins
These goblins are incredibly
quick and agile. Once they see you they will chase and hunt you down like a
dog. These goblins move in a rather strange and weird way since they are
monsters, they run and jump around with their arms waving about in the air
above their heads, which is similar to the way an orang-utan would usually
move. The goblins attack by striking with their massive sharp deadly claws.
Their claws are lethal enough to chop off your limbs; they can easily tear
through human flesh. There will be a dozen of these horrible disgusting goblins
in the game level we are creating. They will all chase after the cowboy and try
to slash him with their fatal claws. And the player’s goal is to eliminate each
and every one of these monsters in order to complete the game level.
Story
In a small Western town
called “Rockville ” there lays an intriguing story. This bright town
used to be filled with good ole town’s folk but now a dark evil has suddenly
emerged from deep beneath. Hideous and grotesque monsters have risen up from
the town’s sewers and they are now creating havoc. These goblin creatures have
been slowly tearing apart this beautiful town and killing dozens of innocent
people with the slash of their deadly claws. Everyone is terribly scared for
their lives, their only option is to run and hide praying for a brighter day.
The once beautiful and ecstatic Rockville is now a ghost town. There is not even one person to
be seen in sight. All that is left are broken down empty houses, shops and
buildings. These goblins have now taken over the beloved town. However there
lies one man who’s tired of running, he wants to put an end to this chaos and
save his beloved town. He goes by the name of “Maverick.” Will Maverick have
the heart to pull this off and restore peace?
Genre
The theme of the game is a horror
western. The initial idea for the game was to create a western shoot em’ up
game but after further development me and my team decided to make things more
interesting by adding the horror element to it. The game was made to give off a
scarier and gory feel. We did this by adding creepy monsters to the level and
we also had our western town covered in splatters of blood. We intentionally
model our town and buildings with crooked and broken pieces to create the
impression that the town is run down and abandoned due to the infestation of
monsters.
Aim of the game
At first I and my team
initially had a lot of ambitious ideas of what we wanted to do for our game.
One of our original ideas was to have the cowboy character shoot and kill all
the small goblin characters. Then he would have a final showdown with the boss
character that was my character. But after further discussion and debating we
realised that this game idea would be too much work for everyone to do since we
would also have our final major projects to worry about also. Instead we change
the game plot to try and make things easier on us all. Our previous ideas were
too ambitious so this time we wanted to go for something more realistically achievable
with the amount of time we had. Our final game idea which we went with in the
end was to have the playable cowboy character shoot and kill as many goblin
characters within a certain time period. The aim of the game is to get the
highest score by killing as many goblins as possible.
(Abby’s Goblin top left, My Boss Monster top right, Shulav’s Blacksmith bottom left, Jesse’s Cowboy bottom right.)
(Abby’s Goblin top left, My Boss Monster top right, Shulav’s Blacksmith bottom left, Jesse’s Cowboy bottom right.)
Programmers
I and my team would meet up
with the programmers every week on Wednesday afternoons to discuss matters
about our game ideas and to just check on how everyone is doing in terms of
work.
On our first meeting we
basically pitched our game idea to the programmers to see what opinions and
thoughts they had about it. We would listen to their ideas too and made changes
where it was appropriate.
After we finalised our
expectations and aims for the game level, we began planning how we would go
about and accomplish these aims. Then we started assigning individual work
roles for everyone in order for the work load to be shared equally and
efficiently amongst our group.
In the end the programmers did
not actually get any coding or scripts done for our group because their
deadline for their part of the course finished much earlier than ours.
Three outcomes
As part of the brief our game
level groups are required to set three outcomes that we wish to achieve and
complete for the creation of our final game level. So as a group we all
agreeably decided that our three main outcomes for the game would be to design
and construct a brand new environment, add a countdown time for game play and
to also add in gun shot sound effects. Those are out three main outcomes for
the game level.
Redesigning the goblin
One of my roles within the
group was to make changes to the appearance and design of the goblin characters.
We all agreed that the original design seemed too colourful and cute because of
the bright green and red colour scheme. We wanted to go for a more dark and
creepy looking appearance for the character.
I made changes to the
appearance and design for the goblin character.
I edited the goblin’s textures
using Adobe Photoshop and I went for a scarier and creepy look.
So for the design I used my
graphics tablet and digitally painted the textures on. Abby’s original design
did not appear to be scary looking enough to fit the horror theme of our game
level. The goblin’s bright colour did not seem appropriate. I wanted to go with
darker colours for the goblins’ skin and clothes. I painted the skin a light
purple. Then I highlighted the eyes with deep black paint strokes and made the
colour of the eye balls a strong yellow. My intention of doing this was to make
the eyes stick out and appear really creepy and intimidating. So now with the
new design I believe it looks more gothic and suitable for our horror themed
game level.
New environment
I and my group thought it was
appropriate to completely change our previous environment for the actual game
because the old environment seemed too big and spread out. We wanted to make
the game level as a smaller and enclosed area in order to prevent the main
playable character from wondering around. We kept our old buildings that we had
modelled and textured but just shifted them around and created fences to block
enclose the entire area.
My other roles include
helping out with properly constructing and combining the 3d game environments
into the Unity program for our game level. But I also had to take on extra work
roles since some group members were unable to properly complete and finish
certain tasks on time. Some members did not fulfil their roles because they
were more focused on their final major project.
Me, Abby and Shulav all went
in to university to attend one of Al’s and Alex’s game level tutorials. We all
worked together to properly assign our textures to our newly designed game
environment. This took quite some time since there were so many different textures
to assign.
After finally texturing the
entire environment we then imported the game level into the Unity program. I
attached all the models together to make one complete game environment then I
exported the Maya file out as an FBX format in order for it to be compatible
for importing within the Unity program.
There were a few problems
when adding the game level into Unity because some models had way too many
polygons, which caused things to slow down when using the Unity software.
We went back into Maya to try
to find out what was causing this. We eventually discovered that it was due to
Abby’s high density model. She had created small accessories for her stables
which had far too many polygons for Unity to handle. So in the end Abby agreed
that she would remove these parts from the level in order for the game to run
more smoothly.
Afterwards I also went on to
add colliders around the environment to prevent the player from falling through
floors and walking through walls.
Importing the main playable character
Then we went on to add the
main cowboy character into the Unity program as well. We ran into a few
problems when trying to properly import the cowboy as well. The dilemma was
because of the different scale sizes between the cowboy character and the
actual game environment. Also the animation did not seem to play properly at
first. The cowboy was supposed to appear as though he was firing his gun but
the animation was extremely slowed down and did not run as smoothly as the
original animation. So we switched the animation type to legacy in the Unity
program.
We then decided that for the
game we would put the cowboy character behind the stable doors and from there
he would be able to rotate around and shoot but he would not be allowed to walk
around. We chose to do this because we wanted to hide the fact that he had no
his legs and it also prevents us from having to animate a walk or run cycle of
the cowboy.
We asked Al to take a look at
our work and help us out on various problems with the main cowboy character. He
also gave us advice and tips on what else we needed to have done and completed
for the next time we see him.
Game button controls
The button controls for the
game are fairly simple
To make the character walk
around you must use the W, A, S and D controls on your keyboard. Press the
spacebar to make him jump up and down. You use the mouse to aim the gun and
then press the left click mouse button in order to shoot the goblins.
Asset development
Asset development
EVERYBODY contributed to the asset creation everyone had bit and pieces to help put the level we had a few graas textures that we wud love to putting into unity that would give out level a abandoned ghost town look
EVERYBODY contributed to the asset creation everyone had bit and pieces to help put the level we had a few graas textures that we wud love to putting into unity that would give out level a abandoned ghost town look
Research conclusions
we found out that importing the actual 3d character and scripting the reload animation and gun drew back wasn't easy and decided to scrap that it took much effort and time we didn't have, also animating the monsters was one of our goals we hoped that we could get the monster moving about and attacking the player , again because of the time frame we all had it was difficult to pull of so we decided to leave the monster characters stationary and animated an idle cycle to give them more life disappointed that we didn't get to add a damage intake,death animation and also a spawn point for player and MOB , the damage intake script would have bumped up the value of the game, although we did a good job on the weapon firing script we managed to get the bullet collision to work which was great, a timer integrated into the game would give it more style points, due to time this had to be scrapped, completely left our minds but we should have added some background music like crickets in the distance and wind blowing this would have greatly increased the feeling the player felt while playing, the level was a success after retouch the level and adding some more assets to the level other group members decided to alter the level some more and produce the levels final look the mesh colliders worked fine, the level retouching was one of our decided joint outcomes for this project, until you walk to certain areas of the level where the player would seem to get trapped and would have to hit space bar (jump) to free hes/her self, the lighting was a bit poor even though it is a night scene i thought it was a bit too dark in certain areas we should have added an overall light source to brighten the entire level, over all i think this project was a success in the time frame we had, although there is plenty more we could have added to get this game in proper motion.
we found out that importing the actual 3d character and scripting the reload animation and gun drew back wasn't easy and decided to scrap that it took much effort and time we didn't have, also animating the monsters was one of our goals we hoped that we could get the monster moving about and attacking the player , again because of the time frame we all had it was difficult to pull of so we decided to leave the monster characters stationary and animated an idle cycle to give them more life disappointed that we didn't get to add a damage intake,death animation and also a spawn point for player and MOB , the damage intake script would have bumped up the value of the game, although we did a good job on the weapon firing script we managed to get the bullet collision to work which was great, a timer integrated into the game would give it more style points, due to time this had to be scrapped, completely left our minds but we should have added some background music like crickets in the distance and wind blowing this would have greatly increased the feeling the player felt while playing, the level was a success after retouch the level and adding some more assets to the level other group members decided to alter the level some more and produce the levels final look the mesh colliders worked fine, the level retouching was one of our decided joint outcomes for this project, until you walk to certain areas of the level where the player would seem to get trapped and would have to hit space bar (jump) to free hes/her self, the lighting was a bit poor even though it is a night scene i thought it was a bit too dark in certain areas we should have added an overall light source to brighten the entire level, over all i think this project was a success in the time frame we had, although there is plenty more we could have added to get this game in proper motion.
Tuesday, 30 April 2013
Setting
up
the
game
environment
to begin building our unity fps game we would have to import all out assets into unity, once the level has been imported it is going to be light mapped as the light in maya can not be imported into unity we would then need to create mesh colliders if thuis is not done when the character is imported into the scene he/she will fall through the level so this is important and need to be done.
Adding the first person controller
once the colliders are put in place we would then need to import the character which the ploayer is goin to controller, this is called a first person controller.
adding the weapons
importing the weapons would be the next step java scripting would be required to getting the weapon functioning and shooting projectile. this would be a very challenging process as none of us know how to write java script so we would try to find scrip that we can copy and apply to unity
particle emitter
a gun would need a particle emitter (spark effects) when bullets collide with rigibodies this is not complicated to create
sound effects
we would need to import sound effect into our game world and add it to the weapon projectile effect
Adding a GUI
adding the user interface would be the next step we would only being adding a cross hair to this interface to make it simple
skybox
to begin building our unity fps game we would have to import all out assets into unity, once the level has been imported it is going to be light mapped as the light in maya can not be imported into unity we would then need to create mesh colliders if thuis is not done when the character is imported into the scene he/she will fall through the level so this is important and need to be done.
Adding the first person controller
once the colliders are put in place we would then need to import the character which the ploayer is goin to controller, this is called a first person controller.
adding the weapons
importing the weapons would be the next step java scripting would be required to getting the weapon functioning and shooting projectile. this would be a very challenging process as none of us know how to write java script so we would try to find scrip that we can copy and apply to unity
i found an image of a script for machine guns it is not the appropriate coding for out games seeing as our character is using a simple handgun but ill uploaded it hoping it would prove useful later
a gun would need a particle emitter (spark effects) when bullets collide with rigibodies this is not complicated to create
sound effects
we would need to import sound effect into our game world and add it to the weapon projectile effect
Adding a GUI
adding the user interface would be the next step we would only being adding a cross hair to this interface to make it simple
skybox
spawn point script and tutiorial
- public GameObject[] spawnPoints;
- void OnCollisionEnter(Collision collision) {
- if (collision.collider.tag == "Respawn"){
- ArrayList respawnList = RespawnAtNearestPoint(transform.position);
- Vector3 respawnSpot = (Vector3) respawnList[0];
- transform.position = respawnSpot;
- Quaternion respawnRotation = (Quaternion) respawnList[1];
- transform.rotation = respawnRotation;
- rigidbody.velocity = Vector3.zero;
- rigidbody.angularVelocity = Vector3.zero;
- }
- }
- ArrayList RespawnAtNearestPoint(Vector3 curPos){
- ArrayList respawnList = new ArrayList();
- Transform closestPoint = spawnPoints[0].transform;
- float shortestDistance = Vector3.Distance(curPos, closestPoint.position);
- foreach(GameObject point in spawnPoints){
- float curDist = Vector3.Distance(curPos, point.transform.position);
- if(shortestDistance > curDist){
- shortestDistance = curDist;
- closestPoint = point.transform;
- }
- }
- respawnList.Add(closestPoint.position);
- respawnList.Add(closestPoint.rotation);
- return respawnList;
proposal of the gameplay mechanics.
this is the basic game mechcanis as follows
>Mouse:
Left Click – Select/Target
Right Click – Use/Attack
Scroll – Quick Weapon Select
Middle Mouse – N/A
>Keyboard:
W – Move Forward
A – Strafe Left
S – Move Back
D – Strafe Right
Q – Turn Left
E – Turn Right
F – Sheathe/Unsheathe weapon
I – Inventory
Esc – Pause Menu
F1-Quick use
f2-Quick use
F3-Quick use
F9 – Quick Save
F10 – Quick Load
Game Repeats Until You Die – There is no victory condition in the game, it just keeps going until the player dies. Or, especially with casual games, the game simply repeats after you beat it. (Example: Nibbles, Minefield, Solitare)
Game Keeps Gets Harder Until You Die – Like “Game Repeats Until You Die” except the difficulty level also keeps increasing. (Example: Tetris)
Timed – The player must achieve a task within a time limited. Some power ups or achievements can extend the time.
Bullet Hell – The player is surrounded by a very large number of enemies or deadly objects. They are easy to handle individually but difficult in large numbers. (Example: “Bullet hell” games, many zombie games)
i hope to impliment these mechcanic into the alpha version of our game
Subscribe to:
Posts (Atom)