This week, I had a meeting with my dissertation tutor to discuss where the project is heading. It was recommended to me that I start up a new blog and transfer over all of my work on the project thus far. This is just to make it clearer for everyone to read.
Also, I've set myself 3 essay tasks to write on the module. Again, this was recommended to me by my tutor to complete. They will be theory into the work i have completed on the module so far and will form part of my final submission.
A draft copy of some essay research is a few posts below and over the coming weeks I will be working on the other essays, uploading updates as I go. For now, I'll be transferring everything over and I will post a link to the new blog on here when it's complete.
Written by Phil
A blog created by Philip Rozier to track progress through the game development of Rusty and the Cogbots
About the Game
About the Game
'Steam Punk Robots' will be an immersive 3D game designed to run on Mac/PC platforms. It will be compiled in Unity and coded using C# and a Plugin called Playmaker.
The theme of the game is steam punk; it features a playable character called 'Rusty', who is a Foreman in charge of the worker robots working on the space station. While working one day, small objects start to land on the station. They turn out to be transmitters transmitting a signal that turns the workers against Rusty so they can take over station. The only chance Rusty has of saving the space station and himself is to find and decommission the various transmitters controlling the worker robots, and find out who is sending the transmitters and stop them.
As the player, you take control of 'Rusty' and must work your way through a multitude of engaging levels and tasks whilst avoiding various obstacles, and the worker robots. Each level will feature three different routes of difficulty and levels can be completed by finishing any one of the routes. This gives players of all abilities the chance to play through and complete the game, whilst not impacting on their enjoyment.
Each level will have items to pick up that will aid you on your mission to complete the game. Some of these will give the player a performance boost, whilst others will be crucial to completing the level.
All the characters within the game will be created to be appealing to players of all ages. Our aim for the game is to be able to get children and adults to play it and enjoy it equally. Great care will be taken in designing characters and levels that are complicated enough to engage adults whilst simple enough to encourage children to play.
Sunday, 24 March 2013
Sunday, 17 March 2013
Research into game music/next weeks task
My reading for this dissertation has mostly been
on A.I. behaviours, and how important it is to get right within a game. Because
of this, I thought I would research another subject that I have
completed, Music and effects in games.
This
has been a topic that I have recently completed on both my dissertation and
group game. It was clear in both games that there was a lack of atmosphere,
part of which was caused my a lack of music and sounds.
'Music
not only gives you something good to listen to while playing, but when done
right creates an emotional connection to the game that can’t be replicated any
other way.' (1)
Like the purpose of all great music, it's supposed to change your heart rate — to move you and make you feel. (2)
The quote above emphasises what I feel is important with music
in games. While it is something, which isn't necessarily appreciated
by a majority of players, without it a gaming experience would be empty of any
character and substance. Music, when done correctly, engages players without
them even realising.
Firstly,
I looked into a range of games. Some where similar to this dissertation project
and others were completely different. I wanted to get a feel of what
sort of music fitted in with what style of game.
Below
is a video showing a users top 10 best songs from the video game, 'Zelda: Ocarina of Time'.
This music is some of the best I have ever heard when playing through a game.
It fits in perfectly with the surroundings the players find themselves in.
The
first song is taken from a carnival section of the game. The player
automatically gets drawn into the atmosphere of the fun bonus area within
the game by the up tempo, chirpy music.
The
second song comes from an area of the game that is mysterious and quite
challenging. Puzzles need to be solved and enemies defeated in the temple, set
in the middle of a large desert. The music gives the feel of an Arabian desert
with plenty of intrigue. Fantastic!
The
third song is from the beginning stage of the game. At this point, the game
world is a happy place and everyone around you is friendly. You can tell this
by the quick, lively, lighthearted tune.
The
fourth song is taken from where the player first learns to ride a horse. It's a
ranch where everything happens at a slow moving pace. It's a friendly place
with farmers going about their business in their own time. Again, this is
perfectly reflected in the music. It's a lot slower than the previous
tunes and captures the atmosphere to perfection. The melody also has
significance within the game, with the player having to play it on their
ocarina it in order for their horse to return to them.
The forest
temple is one of the most mysterious places within the game. It's
home to ghosts and phantoms. The music follows the pattern of some of the other
levels but has a tone of mystery and intrigue about it that immerses
the player into the environment.
The
sixth song is taken from a happy time in the game. It's where the player gets
reunited with Zelda. The tone is similar to when the player first sees Zelda
but this time, it has a sense of sadness about it, reflecting what has gone on
but overall the tone is a happy one.
The
seventh song in this video is taken from a level within the game that is full
of witchcraft. It's quite a fast paced environment and this is reflected
in the quick tempo music. It also has a sense of wizardry and madness,
which is cemented by the speedy, high ocarina main notes.
The
eighth song, taken from the Lost Woods, is another happy area within the game,
at least initially. Fairies populate it and I think the lighthearted tone
identifies this very well.
The
market is another area filled with friends and not foes. It has many palace
guards patrolling it, however, and I think the uniform sounds within the music
represent this. It just has the perfect feel of a lighthearted area within the
music
Number
one on this list is also my personal favourite. It fits the area of the game to
perfection. It has a sense of the Arabic desert about it with the notes on the
harp. Also, the area has a palace and I think this, along with the guards and
trained swordsmen are represented when the harp stops playing. A fantastic
background tune for a terrific section of the game.
Below is another good example of platform game music. This time, from the game Spyro: A Hero's Tail
Spyro was what originally got us into making, 'Rusty and the Cogbots'. The game plays in a similar style to ours by having very cartoon oriented graphics and many tasks to undertake along with various enemies. While this music wouldn't necessarily fit our game, the idea of high tempo, lively music would definitely work.
Below is another example of game music. This time, taken from Goldeneye 007 on the Nintendo 64.
This music is absolutely tremendous when playing the game. Taken directly from the film of the same name, this music plays when you are at the last section of the game, getting ready to try and kill the final boss. Being a realistic environment where killing everything around you is the general objective, the music does a fantastic job of getting the player pumped up and ready for the action to come. It's an example that wouldn't work within our game. The two are completely different and this style of music would have a negative effect on the user experience.
So, it's clear to me that while music can sound fantastic and engage players into a gaming environment it can also, if used incorrectly, ruin the feel of a game entirely. Below is a link to various videos, which show some the worst game music ever.... enjoy!
http://www.vgchartz.com/article/7610/vgc-top-ten-worst-instances-of-videogame-music/
This link is also a very good listen. It explores popular game music and how it's evolved with technology. It also tells how much recognition is now being given to video game scores.
http://www.bbc.co.uk/programmes/b00yj887
(1) Mulkin, Shane; May 19 2012; http://www.thextremepulse.com/the-importance-of-music-in-gaming/
(2) April 13 2008; http://www.npr.org/templates/story/story.php?storyId=89565567
Next week, I plan to have a main menu screen ready for the game. Doing the artwork for this should be really enjoyable.
Written by Phil
Saturday, 16 March 2013
Weekly update
Just to let everyone know, my update for this week will be posted this afternoon/evening. I'm at work all day and therefore will update this post once I'm home.
Written by Phil
Written by Phil
Sunday, 10 March 2013
Sounds
Just a quick update from me this week, although I've done quite a lot on making the sounds for the game.
Using the site 'beatlab' that I mentioned last week, I have been able to create lots of sounds for the game. We can now start taking out the placeholder sounds and adding these in. I've also done a vast amount of research on the subject.
I will do a full update on my progress including links to articles and games i've used for research and i'll also post some of the sounds (if possible) on this blog. This update will come before next weekends update.
Written by Phil
Using the site 'beatlab' that I mentioned last week, I have been able to create lots of sounds for the game. We can now start taking out the placeholder sounds and adding these in. I've also done a vast amount of research on the subject.
I will do a full update on my progress including links to articles and games i've used for research and i'll also post some of the sounds (if possible) on this blog. This update will come before next weekends update.
Written by Phil
Sunday, 3 March 2013
Sounds and Textures
Over the course of the last week, I have been looking into how to make sounds for our game. Sounds and music are something I haven't worked with in any detail before so this will be another steep learning curve for me. We worked on creating music in our first year on the course but this wasn't particularly involved. I will, however, be able to draw on this experience to help me complete this task.
I have been looking at various sites but have been pointed in the direction of 'beatlab', an online sound mixing program. This site allows the user to mix their own sounds and music and I have already made a number of short sounds and tunes that can be used in game.
I have also been looking into using Abode Illustrator. It's a program that hasn't been used on the course but it's something I would very much like to learn. I have already got to grips with it quite quickly although there is a lot still to be looked at. I plan on using my new skills on this program to make textures for the levels over the coming weeks.
Here is the link to beatlab,
http://www.beatlab.com/
Written by Phil
I have been looking at various sites but have been pointed in the direction of 'beatlab', an online sound mixing program. This site allows the user to mix their own sounds and music and I have already made a number of short sounds and tunes that can be used in game.
I have also been looking into using Abode Illustrator. It's a program that hasn't been used on the course but it's something I would very much like to learn. I have already got to grips with it quite quickly although there is a lot still to be looked at. I plan on using my new skills on this program to make textures for the levels over the coming weeks.
Here is the link to beatlab,
http://www.beatlab.com/
Written by Phil
Sunday, 24 February 2013
Weekly update
I've been away this past week so have been unable to work on the project. Next week, however, will return to normal.
Written by Phil
Written by Phil
Sunday, 17 February 2013
Project Update
After having a formal, marked presentation on this project just over a week ago, I thought it best to evaluate the current state of the project and see where it needs to be heading. During my presentation feedback, it was concluded by the tutors that the game is still at a 'development stage' and that polishing the current elements and mechanics was going to be the important focus point for the rest of the project.
That being said, we want to create a further two routes in the coming weeks before we start to polish all of the game elements. This will bring the game to a playable point, leaving us with a few months to refine all of the mechanics.
As an individual, the tasks I have completed up to this point have met with my initial timeline and have been as challenging and time consuming as first expected. It has, however, been a good learning curve and I can now look to bring the game up to a polished standard.
There won't be an update from me for next week as I am away for family reasons. I will, however, blog upon my return.
Written by Phil
That being said, we want to create a further two routes in the coming weeks before we start to polish all of the game elements. This will bring the game to a playable point, leaving us with a few months to refine all of the mechanics.
As an individual, the tasks I have completed up to this point have met with my initial timeline and have been as challenging and time consuming as first expected. It has, however, been a good learning curve and I can now look to bring the game up to a polished standard.
There won't be an update from me for next week as I am away for family reasons. I will, however, blog upon my return.
Written by Phil
Friday, 8 February 2013
A.I. Indicator Video
Following up from my blog post earlier this week, here is a video with the A.I. indicator working. Please note that the arrow is only a placeholder. It works really well, although it will be more useful when the levels become trickier to navigate.
Written by Phil
Written by Phil
Written by Phil
Monday, 4 February 2013
AI Indicator
This is an early update for me this week as work on the AI
indicator has progressed well today. I am now at the stage where there is an
arrow drawn to the worker robot when he is off-screen and the arrow moves to
show the enemies position. I have also managed to get the arrow to disappear
when the worker robot is within view of the player.
Completing this is really pleasing as it has been the most
in depth part of code I have undertaken on the project. I have had some advice
from my dissertation tutor during a meeting with him today. This has really
helped me understand the more in depth parts to this coding process.
The arrow is still only a placeholder asset at the moment as
I thought it more important to get the code sorted before making final artwork.
Later this week I will upload a video showing the arrow fully operational.
Posted by Phil
Sunday, 3 February 2013
Update / Next Task
I have not been able to make much progress on the project this week as I have had an issue with my laptop and it has had to be sent in for repair. I'll be working on the university computers next week in order to continue work on the game.
I have however looked at some menu ideas and drawn up a few concepts. We, as a team, have decided to got with a 2D cartoony menu to suit the game and I have been tasked with designing this. The menu ideas I have drawn up will be a good base from which I'll be able to make some full artwork.
I plan on completing work on the enemy AI tomorrow, after a dissertation meeting with my designated lecturer. Once this is complete I will move straight onto the menu design and start adding code for it to be used within the game. I'm excited to undertake this task, not only because I enjoy making 2D artwork but also because it will be giving me more coding tasks to undertake which will further increase my knowledge in this area.
Written by Phil
I have however looked at some menu ideas and drawn up a few concepts. We, as a team, have decided to got with a 2D cartoony menu to suit the game and I have been tasked with designing this. The menu ideas I have drawn up will be a good base from which I'll be able to make some full artwork.
I plan on completing work on the enemy AI tomorrow, after a dissertation meeting with my designated lecturer. Once this is complete I will move straight onto the menu design and start adding code for it to be used within the game. I'm excited to undertake this task, not only because I enjoy making 2D artwork but also because it will be giving me more coding tasks to undertake which will further increase my knowledge in this area.
Written by Phil
Saturday, 26 January 2013
Weekly update
As well as updating the blog with Tom so that there is a welcome picture and more information, I have also been working on the project.
I have improved the design of the signs (posted in a previous post) so that they now how a rusty, dirty look to them. I have also been editing and testing the code for the enemy indicator. It has been a tricky process to understand but with the assistance of George, my dissertation tutor, I have learnt a lot. I have made an indicator which can be used and now I need to apply the code.
This should be fully complete by the middle of the week and I will blog about it once it's been fully tested.
I'm currently very happy with how the project is going. I'm able to use my existing knowledge of making art assets, challenge myself to learn new coding skills and design levels based on players feedback. It is all very rewarding and enjoyable.
Written by Phil
I have improved the design of the signs (posted in a previous post) so that they now how a rusty, dirty look to them. I have also been editing and testing the code for the enemy indicator. It has been a tricky process to understand but with the assistance of George, my dissertation tutor, I have learnt a lot. I have made an indicator which can be used and now I need to apply the code.
This should be fully complete by the middle of the week and I will blog about it once it's been fully tested.
I'm currently very happy with how the project is going. I'm able to use my existing knowledge of making art assets, challenge myself to learn new coding skills and design levels based on players feedback. It is all very rewarding and enjoyable.
Written by Phil
Friday, 11 January 2013
Warning Signs
I have been making some signs that can be used in the game. Some will be useful, such as telling the player which direction to go, whilst others will be comical. As we are in the process of making the first couple of levels complete, I thought these will be aesthetically pleasing to the player.
Below are a few early concepts that I have come up with. Not all of these will be used within the game and the ones that do get used will have more shading and mixed colour. I also plan on making some pieces of paper with pictures of our other games and funny phrases.
Written by Phil
Written by Phil
Sunday, 6 January 2013
Holiday Task
Over the Christmas period I have been focusing on understanding the concept of making an AI indicator within the game. In a previous blog post I have mentioned why I feel the game needs this feature and how important it is to the game play.
After looking at some You Tube videos and forum posts I have come to the conclusion that the arrow needs to point along the +Z axis. A transform.lookat action will then be applied to make it point towards a vertor3 position which will be the enemy. Understanding this process should allow me to complete this work.
Over the next week, I will be focusing on trying to implement this mechanic into the game. I also plan on meeting my personal tutor to discuss this work and the next stages of development.
Posted by Phil
After looking at some You Tube videos and forum posts I have come to the conclusion that the arrow needs to point along the +Z axis. A transform.lookat action will then be applied to make it point towards a vertor3 position which will be the enemy. Understanding this process should allow me to complete this work.
Over the next week, I will be focusing on trying to implement this mechanic into the game. I also plan on meeting my personal tutor to discuss this work and the next stages of development.
Posted by Phil
Sunday, 23 December 2012
AI indicator
Over the past couple of weeks, the game has gone through numerous play tests. While it was clear that the game has potential and many positive areas, there were a few issues that kept becoming apparent.
One of the main ones was the location of the AI character. As described in previous posts, I have the AI following and looking at the player. However, as the camera is set on a side viewpoint, it makes it impossible for the player to see the enemy if they are travelling towards the screen. With the AI automatically damaging the player if they get too close, this was a real problem.
To combat this, a number of solutions were discussed. These included a mini map showing the enemies position at all times as well as a warning sign above the players head when they were close to an enemy. It was finally decided upon that there would be an enemy indicator within the scene. This would be a small arrow that is placed at the edge of the screen which moves to show you the direction the enemy is coming from.
As I had completed previous work on the AI I decided that I would like to undertake this task. This week I looked at other games which use an enemy indicator to see how best to implement one. Jet Fighters, an iPhone game, stood out as an important one. It was clear in that game, you had a single viewpoint camera and without the indicator it would have made the game frustrating and too difficult to play. I've since looked into some tutorials and theory behind the code needed for the indicator and hope to implement it over the coming weeks. With these new coding challenges, I really feel that my skills are progressing.
Written by Phil
One of the main ones was the location of the AI character. As described in previous posts, I have the AI following and looking at the player. However, as the camera is set on a side viewpoint, it makes it impossible for the player to see the enemy if they are travelling towards the screen. With the AI automatically damaging the player if they get too close, this was a real problem.
To combat this, a number of solutions were discussed. These included a mini map showing the enemies position at all times as well as a warning sign above the players head when they were close to an enemy. It was finally decided upon that there would be an enemy indicator within the scene. This would be a small arrow that is placed at the edge of the screen which moves to show you the direction the enemy is coming from.
As I had completed previous work on the AI I decided that I would like to undertake this task. This week I looked at other games which use an enemy indicator to see how best to implement one. Jet Fighters, an iPhone game, stood out as an important one. It was clear in that game, you had a single viewpoint camera and without the indicator it would have made the game frustrating and too difficult to play. I've since looked into some tutorials and theory behind the code needed for the indicator and hope to implement it over the coming weeks. With these new coding challenges, I really feel that my skills are progressing.
Written by Phil
Saturday, 15 December 2012
Weekly Update
This week, Tom and myself have been working
on the game together as most of the tasks we have undertaken have been based on
level design.
For my part of this project over the last
week I have worked alongside Tom in creating the easy route for the first level
of the game. The route has been designed after finishing off the layout of the
base level.
One of the main parts of the week for me
was applying the Navigation Mesh to the level after Tom had finished modeling
it so that the enemy could navigate all of the obstacles. After completing this
work for the base level, I found it quite straightforward to apply the same
techniques to this level. It did, however, need some tweaking in order for the
enemy to roll along the floor at the perfect height. This issue was quickly
resolved though. I also found that special consideration had to be given to
some of the corners as enough space had to be left for the enemy to comfortably
navigate his way through.
The level itself went through some
alterations with numerous playtests revealing a few errors. One of the big
changes we made mid-way through creating the level was the start point for the
main character. It was decided early on that it was important that the player
could see the entire level upon starting the game so they had a rough idea of
where they needed to travel. With the starting area positioned where it was, it
made it difficult for the player to see the necessary objects they needed to
collect. After some altering of the start base position, it was decided the
start the player from a position where they could see all the collectable and
the enemy.
The enemy starting position and speed was
also changed. It was felt that the enemy was initially too fast and that it was
difficult for the player, especially on an easy route. This was a change that I
applied quickly and slowed the enemy down. The starting position for the enemy
was altered too, with it being decided to start the enemy where the player
could see him. We felt that having the enemy start moving towards the player
straight away added a sense of urgency to the game making it more exciting.
Because of this, we made the enemy start the opposite side of the level so the
player could always watch the enemy moving towards him.
Next week, I plan on rectifying the issue
of having the player unable to see the enemy when travelling towards the
screen. I will try and implement a detector arrow, which will show the position
of the enemy relative to the player.
Written by Phil
Thursday, 6 December 2012
AI and Navigation Routes - Complete!
This week has been a breakthrough week for me on this project. After finding out how to add the menu code into the game, I have now managed to code in the Navigation routes for the enemies to walk along.
I did this using Unity's in built navigation tool. It allows the user to set out paths that the enemy can walk along and follow the player. I had spent a long time researching the topic and finding out the best way to go about completing this task. Having never undertaken a task like this before, I dedicated a lot of hours into learning how to code this set up and it has now paid off. Some basic code that i have written for the enemy movement is below.
Firstly I tested out the navigation routes in a simple test scene. As you can see below, the blue highlighted areas are where the enemy will walk and follow the player.
Within Unity the user is able to make certain parts of the level not walkable for the enemy. This will be key during gameplay and will mean we can give the player certain safety areas within a level. All the navigation routes are able to be tweaked, meaning each level that we design will need special consideration for the enemy movement.
I then went one step further and tried to get the enemy to jump over gaps and obstacles. I was eventually able to do this after a few hours of testing and trailing. Below is how the final areas look that I have applied the jump navigation to. Notice the arrows which show where the enemy will start and land.
So, once I had completed all of this work I then went on to add a navigation route onto the game itself. I started with the base of level one, and added a mesh over the scene so that the enemy would follow the player whilst avoiding all of the obstacles. This took a while as it needed to be tweaked multiple times to get it right.
After I had done this, I then went and added a navigation mesh onto the easy route of level one itself. This, again, needed a bit of tweaking but I managed to get it into place. Coding was added to both scenes to make the enemy move. These scenes now need multiple play tests to see what changes, if any, need to be made.
The next stage for me will be to add navigation routes onto the other difficulty routes within level one and then play test them.
Written by Phil
I did this using Unity's in built navigation tool. It allows the user to set out paths that the enemy can walk along and follow the player. I had spent a long time researching the topic and finding out the best way to go about completing this task. Having never undertaken a task like this before, I dedicated a lot of hours into learning how to code this set up and it has now paid off. Some basic code that i have written for the enemy movement is below.
#pragma strict
var agent: NavMeshAgent;
function Start ()
{
agent.destination = transform.position;
}
function Update ()
{
CheckLocation();
}
function CheckLocation()
{
agent.destination = transform.position;
}
What this does is check where the navigation agent is (the enemy) and transform his position to the agents destination (the player). This allows the enemy to follow the player, although only on the highlighted routes. If the enemy reaches an area they can't get to, they will find an alternate path.
Firstly I tested out the navigation routes in a simple test scene. As you can see below, the blue highlighted areas are where the enemy will walk and follow the player.
Within Unity the user is able to make certain parts of the level not walkable for the enemy. This will be key during gameplay and will mean we can give the player certain safety areas within a level. All the navigation routes are able to be tweaked, meaning each level that we design will need special consideration for the enemy movement.
I then went one step further and tried to get the enemy to jump over gaps and obstacles. I was eventually able to do this after a few hours of testing and trailing. Below is how the final areas look that I have applied the jump navigation to. Notice the arrows which show where the enemy will start and land.
So, once I had completed all of this work I then went on to add a navigation route onto the game itself. I started with the base of level one, and added a mesh over the scene so that the enemy would follow the player whilst avoiding all of the obstacles. This took a while as it needed to be tweaked multiple times to get it right.
After I had done this, I then went and added a navigation mesh onto the easy route of level one itself. This, again, needed a bit of tweaking but I managed to get it into place. Coding was added to both scenes to make the enemy move. These scenes now need multiple play tests to see what changes, if any, need to be made.
The next stage for me will be to add navigation routes onto the other difficulty routes within level one and then play test them.
Written by Phil
Thursday, 29 November 2012
Main Menu Code
Since writing my last blog post I have been
working on the AI and the menu code within our dissertation game as well as
another one for this module.
I have been able to get the menu codes
working to a level that I am happy with. This is a really helpful piece of code
as it allows me to be able to use it across multiple games that I am
undertaking on this course.
The basics of it are that when the user is
presented with a menu screen, they can click on the play button and be taken
straight into the game. Also, if they click on the Quit button, it will quit
the application for them. This code will also work for taking the player to an
options screen as well as any other screens we decide to implement on the main
menu.
I completed this work using the code C#.
Unfortunately, I was unable to use my preferred coding method, which is
playmaker. This was due to a lack of tutorials that I could find on the
subject.
The process of getting the menu buttons to
work is quite simple once trail and error has been used. First an empty game
object is brought into the Unity scene; next it is resized and shaped to form
the play button on the menu. The code is then written and then dragged and
dropped onto the button.
It was decided that each level and screen
would be in a different scene. This is to make the game less demanding on the
machine it is running off. Because of this, each scene that we make must be
named correctly in the build settings for the menu code to work. The code is
below:
var isQuitBtn = false;
function OnMouseUp()
{
if(isQuitBtn)
{
Application.Quit();
}
else
{
Application.LoadLevel(1);
}
}
To
summarise this code, it works by sending a message to the scene where when the
mouse button is clicked and released, the game will either quit or play
depending on which button the player has targeted. The number in brackets after
‘Application.LoadLevel’
relates to level that is started upon the play button being selected. This may
look very simple, but as I am still new to coding, this was very pleasing to
complete. What is even more rewarding was seeing it work and understanding the
processes behind it.
Next, I plan on using the knowledge I have learned whilst
working on the AI, to create routes within the game that the enemy can navigate.
I hope to progress on this work over the weekend so that next week Tom and
myself can start planning out the first level design.
Written by Phil
Subscribe to:
Posts (Atom)









