Thursday 9 May 2013

Games Design Document Abby Attard

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.)

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
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.

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

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 


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

spawn point script and tutiorial



  1. public GameObject[] spawnPoints;
  2.  
  3. void OnCollisionEnter(Collision collision) {
  4. if (collision.collider.tag == "Respawn"){
  5. ArrayList respawnList = RespawnAtNearestPoint(transform.position);
  6. Vector3 respawnSpot = (Vector3) respawnList[0];
  7. transform.position = respawnSpot;
  8. Quaternion respawnRotation = (Quaternion) respawnList[1];
  9. transform.rotation = respawnRotation;
  10. rigidbody.velocity = Vector3.zero;
  11. rigidbody.angularVelocity = Vector3.zero;
  12. }
  13. }
  14.  
  15. ArrayList RespawnAtNearestPoint(Vector3 curPos){
  16. ArrayList respawnList = new ArrayList();
  17. Transform closestPoint = spawnPoints[0].transform;
  18. float shortestDistance = Vector3.Distance(curPos, closestPoint.position);
  19. foreach(GameObject point in spawnPoints){
  20. float curDist = Vector3.Distance(curPos, point.transform.position);
  21. if(shortestDistance > curDist){
  22. shortestDistance = curDist;
  23. closestPoint = point.transform;
  24. }
  25. }
  26. respawnList.Add(closestPoint.position);
  27. respawnList.Add(closestPoint.rotation);
  28. return respawnList;
  29.  

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

Overview

In a small Western town called “ Rocksville” 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?


>Detailed Overview

above snakes follows the story of Flynn cooper a retired sheriff returning to hes old town of rocksville to find it in ruins cause by devious devilish creatures, the game is a action survival horror for both PC and consoles

the game that above snakes relates to mainly is call of duty :zombies, left 4 dead
because of its survival based game-play although the player will not have the same amount of freedom and weapon availability  and perks, and but i want the player feel the same fear factor just like call of duty, the game will incorporate and weapon crafting (upgrading) system such blacksmith

the game also relates to dead island in terms weapon upgrades and crafting and related to battlefield in terms of combat, i want the combat to be every fast paced and engaging for the player, i would like to using the fps system for my game

When character building, I would like to use systems similar to those found in Bio-ware games. You’ll actually have to talk to characters and allies to know them better – and to eventually know your own character better. This brings me to companions. You will travel with a companion, who is your guardian – I will talk about this more in the story section.

In terms of customization, I would like to make the characters as customization but very limited  like games such as dragons dogma , this game lacked in customization but it didn't affect the game-play in a negative way in fact the caused the players to work with what they've got a basic principle of surviving

Thursday 21 March 2013

Game Assets


 Scripts:

  •  AI Enemy (Goblin)
  • Character/Controller Movement
  • Weapon fire and aim
  • Time limit (after detecting that the player has picked the orb source)
  • Detection during the mission
  • Pause Menu navigation
  • Life/health


    The audio is currently being discussed between wind and sound effects only or added music; western style - fast paced. With no music the player can concentrate on the game, and the sound effects will be more appreciated. On the other hand, music will help it feel more exciting.

Game Display



Wednesday 20 March 2013

Environment Refurbishment



As mentioned before, we are scaling down our environment; the task has been appointed to Jesse.

The Weapon


The official 'Above Snakes' weapon, modelled by Shulav 


Coding research

Music trigger coding script tutorial


Trigger coding scripts

<script language="JavaScript1.2">

//Translucent scroller- By Dynamic Drive
//For full source code and more DHTML scripts, visit http://www.dynamicdrive.com
//This credit MUST stay intact for use

var scroller_width='150px'
var scroller_height='115px'
var bgcolor='#E0EFD1'
var pause=3000 //SET PAUSE BETWEEN SLIDE (3000=3 seconds)

var scrollercontent=new Array()
//Define scroller contents. Extend or contract array as needed
scrollercontent[0]='Visit our partner site <a href="http:/freewarejava.com">Freewarejava.com </a>for free Java applets!'
scrollercontent[1]='Got JavaScript? <a href="http://www.javascriptkit.com">JavaScript Kit</a> is the most comprehensive JavaScript site online.'
scrollercontent[2]='Link to Dynamic Drive on your site. Please visit our <a href="http://www.dynamicdrive.com/link.htm">links page</a>.'


////NO need to edit beyond here/////////////

var ie4=document.all
var dom=document.getElementById&&navigator.userAgent.indexOf("Opera")==-1

if (ie4||dom)
document.write('<div style="position:relative;width:'+scroller_width+';height:'+scroller_height+';overflow:hidden"><div id="canvas0" style="position:absolute;background-color:'+bgcolor+';width:'+scroller_width+';height:'+scroller_height+';top:'+scroller_height+';filter:alpha(opacity=20);-moz-opacity:0.2;"></div><div id="canvas1" style="position:absolute;background-color:'+bgcolor+';width:'+scroller_width+';height:'+scroller_height+';top:'+scroller_height+';filter:alpha(opacity=20);-moz-opacity:0.2;"></div></div>')
else if (document.layers){
document.write('<ilayer id=tickernsmain visibility=hide width='+scroller_width+' height='+scroller_height+' bgColor='+bgcolor+'><layer id=tickernssub width='+scroller_width+' height='+scroller_height+' left=0 top=0>'+scrollercontent[0]+'</layer></ilayer>')
}

var curpos=scroller_height*(1)
var degree=10
var curcanvas="canvas0"
var curindex=0
var nextindex=1

function moveslide(){
if (curpos>0){
curpos=Math.max(curpos-degree,0)
tempobj.style.top=curpos+"px"
}
else{
clearInterval(dropslide)
if (crossobj.filters)
crossobj.filters.alpha.opacity=100
else if (crossobj.style.MozOpacity)
crossobj.style.MozOpacity=1
nextcanvas=(curcanvas=="canvas0")? "canvas0" : "canvas1"
tempobj=ie4? eval("document.all."+nextcanvas) : document.getElementById(nextcanvas)
tempobj.innerHTML=scrollercontent[curindex]
nextindex=(nextindex<scrollercontent.length-1)? nextindex+1 : 0
setTimeout("rotateslide()",pause)
}
}

function rotateslide(){
if (ie4||dom){
resetit(curcanvas)
crossobj=tempobj=ie4? eval("document.all."+curcanvas) : document.getElementById(curcanvas)
crossobj.style.zIndex++
if (crossobj.filters)
document.all.canvas0.filters.alpha.opacity=document.all.canvas1.filters.alpha.opacity=20
else if (crossobj.style.MozOpacity)
document.getElementById("canvas0").style.MozOpacity=document.getElementById("canvas1").style.MozOpacity=0.2
var temp='setInterval("moveslide()",50)'
dropslide=eval(temp)
curcanvas=(curcanvas=="canvas0")? "canvas1" : "canvas0"
}
else if (document.layers){
crossobj.document.write(scrollercontent[curindex])
crossobj.document.close()
}
curindex=(curindex<scrollercontent.length-1)? curindex+1 : 0
}

function resetit(what){
curpos=parseInt(scroller_height)*(1)
var crossobj=ie4? eval("document.all."+what) : document.getElementById(what)
crossobj.style.top=curpos+"px"
}

function startit(){
crossobj=ie4? eval("document.all."+curcanvas) : dom? document.getElementById(curcanvas) : document.tickernsmain.document.tickernssub
if (ie4||dom){
crossobj.innerHTML=scrollercontent[curindex]
rotateslide()
}
else{
document.tickernsmain.visibility='show'
curindex++
setInterval("rotateslide()",pause)
}
}

if (ie4||dom||document.layers)
window.onload=startit

</script>


Tuesday 19 March 2013

HUD and Menu Research






A near perfect example of we want our HUD to be like





Examples of how we want our menu - simple

Example Game Design Documents

For purpose of research and planning the structure of our Games Design Document, I looked into different styles. Here are three of what I thought were most helpful:


http://www.scribd.com/doc/5402045/The-Design-Document-Justin-Kelly

http://www.scribd.com/doc/34994424/Viral-Light-Interactive-GDD

http://www.scribd.com/doc/2056160/KiloKiloFoxtrot-FINAL

Our Game Plan


During early stages of development we talked about having a free roam level that was quite large, giving the character plenty of room to run about in and manoeuvre whenever being attacked by goblins. 


Originally we planned to have the character in 3rd person mode with two pistols, an extra character to help the player out and two sets of goblins; the little for main attacks and as the level progressed  the bigger goblins would start to appear. However, after discussions and further planning, we decided to narrow down the mechanics to a more basic gameplay.
The game now sets out with the character in first person mode with one arm and pistol constantly visible, no extra character, and only little goblins attacking as we decided to take the larger goblins aswell. 
The object is to kill many little goblins as possible before either the timer runs out or the player dies. 
We also looked into the development of the game environment. As our theme is based on a dark western deserted town, overrun by goblins, the original design didn't come out looking right, so we decided to change that to make it look more beaten and run down. We also made the environment smaller and shut off, giving the player restricted space and making it harder to avoid the goblins.  the goblins will now spawn from behind barrels and blocks so the player cannot see them coming.




Goblin - Animation Cycles


The Goblin - Development








These images represent the Goblins development stages. The Goblin's structure is good and the model itself is interesting but it stood out for being bright, colourful and happy looking. The nest part in its development was changing the texture and making him more scary looking to fit into the game scene. Andrew took on this role and designed the next darker texture and I adjusted it by adding yellow eyes and blood. He now looks much scarier and fits in more with the level.  



Interaction with 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.

My role within the group was to make changes to the appearance and design of the goblins. We all agreed that the original design seemed too colourful and cute. We wanted to go for a more dark and creepy looking appearance for the character. My other roles include helping out with properly constructing and combining the game environments into the unity program for our game level.

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. The cowboy will interact with the goblins by shooting them.

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.

Game level idea

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.

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?