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.

Friday 26 October 2012

AI Development

As stated in my previous posts, this week I have been working on implementing the AI into our game. I have already outlined the importance of this part of the development and I have researched into what makes AI such an integral part of any game that features it.

To begin, i made a simple test scene which just included three objects on a plane. This was done in Unity, the software that is being used to make the game. Below is a screen shot of this scene.


The box is the enemy, while the semi circle is the player. The semi circle is controlled using the mouse and it was a test to try and get the enemy to respond to the player. For the enemy to see the player, I needed the outcome to be that the player had to be:

  • In range
  • In sightline
  • In field of vision
This test was a success and the enemy only recognised the player when all three of the above aspects were working fully.

Next I decided to implement these features into the full working test scene within our game. The requirements were the same as stated above, so the player must be within the range, sightline and field of vision of the enemy. Below is a screen shot of the two characters with the code applied.



The enemy now follows the player when it recognises him. If the player is behind an object, behind the enemy or too far away, the enemy will cease to chase him.

Having set all this up, I then spent time altering the speed of the enemy and the turning circle. It is clear that the game will need a lot of play testing to get to a stage where our target market will be able to play it. Just increasing or decreasing the enemy speed gives the game a whole different level of difficulty and this must be taken into account when planning levels.

The next stage of the AI development will be to get the enemy to attack the player and damage their health. Also, one of the main stages next will be to get the enemy to follow paths around the level. This is unfortunately unavailable to me at the moment due to me needing extra software. I hope to get this soon and get enemy navigation implemented quickly after.

Posted by Philip Rozier

Sunday 21 October 2012

AI Update



Over the past week I have been working on the AI for the game. As with everything on this project, I have found it challenging but very enjoyable.

As I stated in a previous post, getting the AI to work within the game will be very important. Without it, it will be very difficult to plan out a level to give the player an enjoyable experience. Having researched recent games that have a implemented AI very well, I discovered just how big the task is in making a successful game.

'More and more frequently, at least one of the members of a programming team is designated to, full-time and ever since the beginning of the project, handle designing and programming the modules of artificial intelligence.' (1)

The quote above, resonates my original thoughts in that it's not only an important task but also a large one too.

Below is a link to an article that I found particularly interesting. It lists an objective view on the best uses of AI in video games. 

http://aigamedev.com/open/highlights/top-ai-games/

Bibliography

(1) Grzyb, Janusz. (2006) Artificial Intelligence In Games - http://www.codeproject.com/Articles/14840/Artificial-Intelligence-in-Games

Written by Philip Rozier

Saturday 13 October 2012

Coding Update

Over the past week I have been concentrating on coding the pickups and the AI within the game.

I have managed to get the health pick up to work, although am having a problem making it compatible with the game object. I think this is an issue with the location of the variables and hope to have this problem sorted out at some stage this week.

For the time being, however, I am switching my focus onto coding the AI. This is currently very challenging but I am beginning to understand how it will work. The AI is one of the more important parts of this project as it will have a huge impact on the gameplay. It needs to be tailored to the different levels of difficulty so that the player is challenged enough to struggle with the game but also ultimately able to complete it with enough perseverance.

This has been a very steep learning curve for me but trying these new coding tasks has improved my skills vastly. I still have a long way to go and a steep learning curve ahead of me, although as the weeks progress, I am feeling more confident and tasks are feeling much more manageable.

I am meeting with my team mate tomorrow where we will be primarily discussing a presentation for later this week. We will, however, also be discussing this project and getting up to speed on each others progress.