Showing posts with label Game Designer. Show all posts
Showing posts with label Game Designer. Show all posts

Tuesday, 8 December 2015

Craig Lang - Games Designer: Beta and Final Scene



Beta and Final Scene



For the final level my environment artist created a new unity project with the final models and assets fully textured. I also got a fully rigged and textured character model from my character artist. I turn the transparency on the character material and added a blue point light to create a ghostly feel.



I finalized the keys by adding a light to the keys. I then added an OnMouseOver function in the key scripts which activates the light when the mouse hovers over the object.










 I wanted certain items such as the fireplace to slide open when unlocked. I therefore created another door and instead of using rotation I used snapTo and DoorMove. This allows the object to move position rather than rotate.


For the cutscene I created a new scene. I added all the slide images my concept artist drew for me to separate images on a canvas. I then created a empty object and added the following script. this script destroys the image after a number of seconds I command in the script e.g 10 = 10seconds. I also added an if statement which allows an audio clip to activate once a certain number of seconds have passed.




 





I added a lantern and candle with fire particle effects. I also added a script very similar to the camera script which moves the lantern to a target area when called.


 
 
 
 



Monday, 7 December 2015

Craig Lang - Game Design: Alpha


Alpha


I was given by my environment artist an updated greybox for the level. I was also given constructive feedback from the last greybox level from other game designers. Listening to their comments I adjusted the cameras to allow easier movement around the level. I also made sure all cameras have ignore raycast activated, as the target interfered and got stuck on the triggers.


I then started to work on my inventory. I first created inventory slots by creating images and placing them on the far side of the level. I added myinventorymenuscript and event triggers. For each event trigger I attached the script and activated each void function within the script (down, drag and up). This allows the items to be dragged to and from the inventory.  I also created an empty object and attached the myinventoryscript. This identifies where to send the sprite images to. 


I then created a mykeyscript, mylockedscript and DoorUnlocked scripts. This allows the keys to only work when they are picked up and dragged from the inventory and onto the locked objects. 

 
I then created a grabbanddropscript which allows the player to pick up objects.





After I got the inventory working I wanted to improve the interaction with my keys. I wanted the key to appear and rotate in front of the camera to allow the player to examine what they have collected. 
I created and attached a empty object with a trigger box onto the main camera. I then created this script to allow the object when called to appear in the trigger box.


However I found out that by calling the object in the keyscript instead it was much easier and worked a lot better as well. 




I then added a rotation script which allowed the object to rotate.



 I then moved onto the pause button. I created a pause button and added a pause script. However I struggled with pausing and resuming the game successfully. I made sure that Time.timescale = 1 whenever the scene was loaded. I made sure of this by writing that line of code in the menuoptions script. I turned timescale to 0 in the pause function and that created a successful pause function. I also stumbled across LoadLevelAdditiveasync. this allows me to load my pause scene over my current scene. This is good for this scene as my pause scene contains little components and data. However if my pause scene contained more assets it will eat up memory and slow the game down.


For the volume  I wanted to be able to turn the volume on/off throughout the game. I wrote this script and attached to a prefab. The prefab also contains the main camera and it's child components. The reason why I had to create a prefab was because the script calls for the main camera's audiolistener and turns it on/off when called. I have to add the prefab to all scenes otherwise the script will not be able to identify the audiolistener. 













Craig Lang - Game Design: Early Scripting



Early Scripting




I was given the first greybox design from my character artist. From there I added several cameras and trigger boxes. 



I also added this door script to all the doors. I grabbed this script from an old project file. the script allows the door to rotate on it's axis when player enters the trigger. 





I realised that not only does my original camera script not work properly in my new project, but it's not efficient coding. I therefore created a new script for the camera with the help from other game designers. This script calls the main camera to camera areas when the player enters that trigger.  This means I can have one camera active and call it to any position I want within the level.


I added a Nav mesh to the scene in order to start working on the point and click movements. I had to adjust the area radius very low as I wanted to make sure the Nav mesh covered the whole area.



I used globals to identify whether a key has been collected or not when constructing my keys. I had to create two globals scripts as I came across a weird error when unity refused me to add more than six globals to one script.


On the keys I created public game objects for the key itself and and audio. I used onmousedown so that when the player clicks on the key it calls the globals and also the audio. I also made sure that the mesh renderer is destroyed as well.  When the player exits the trigger the audio is destroyed. 




I created a capsule for the player and added thirdpersonscripts already present in unity. I also added a rigdbody and a Navmesh agent. This allows the player to physically interact with the environment. I added a playermove script which allows the player to identify the navmesh and it's target object. I then created a sphere for the target and added a targetscript.    







I decided to start creating my menus. I created separate scenes for each menu. One for the main menu, one for the options menu, a sound menu, video menu and subtitles menu. On each button I assigned an event trigger and called its respected function from the menuoptions script. I use the loadlevel script function which calls and loads which ever script matches the number in the build settings.



Tuesday, 13 October 2015

Craig Lang - Game Flow

12/10/2015


Craig Lang


Using the rendered Grey Box designs from my environment artist I decided to try and rough out an idea of the game flow for the level.

I used different colours each represent a puzzle and connected each room which the puzzles will take place. I also numbered each puzzle in the order they would need to be solved.



Tuesday, 6 October 2015

Craig Lang - Game Designer - Camera Coding

06/10/2015

Craig Lang

I've been creating a camera prototype in Unity. The idea is for the game to switch cameras when a player enters a new area.


I created two cameras with two box colliders and added this script. 



This is the final result



Monday, 5 October 2015

Craig Lang - Game Designer - Game Design Document Draft

05/10/2015

Craig Lang

For the past week I've been working on the first draft of the Games design document for our team project. I used the template provided by our lecturer as well as industry standard game documents such as Rockstar's "Race & Chase" (GTA) documents as reference.