Tuesday, 10 December 2013

Finished Game Demo!

...and here it is! The finished game demo ready for tomorrows hand in!

(insert video here)

Main Menu

After spending about an hour tediously coding, I have managed to create a somewhat bland, but effective main menu.

Here you can see my Main Menu screen and how I created it:

The button on the left continues you to the game whereas the button on the right Quits the game.

Touch-Ups

Since the deadline is fast approaching and I have got all of my key game-play mechanics in place I have decided, rather than expanding on the core elements I would add touch up features such as a kill counter. This is because I feel I do not have the time to do some of the bigger elements I would like to add, such as more enemy types, more ammo types, more abilities and so on.


One of the key aspects you should notice here is that the "Dual-Shot" upgrade is not there. I made it so that, once purchased it would vanish, same as the x2 damage as you only need them once.  



2 Players Working!

I have added two separate controls for the players. The tank will be using the Joystick whereas the player who controls the shield will be using the keyboard and mouse.


As you can see in this picture, one player has moved the tank to get ready to shoot the enemy further away whilst the player controlling the shield has moved to block a closer incoming missile in order to stop the players losing a Shared life.

Nice Feature

As I was just playing my game, I thought about adding another element to the game, "missile health" and "weapon damage".

By doing this I can assure that there is an advantage to using different ammo types, for example;

A missile is going to spawn with random health between 1 and 2, the "Blaster" will do 1 damage, meaning some will take two shots, whereas the dual shot will do 2 damage ensuring all of them will be one hit kills.

Player 2!

I have now started the implementation of the second player, here is a screen shot:


Player 1
  • Joystick
  • Movements: Left and Right
  • Shoot
This is all player one is going to be able to do, the "Commander" or player two is going to control how player one plays.

Player 2
  • Keyboard & Mouse
  • Controls the Shield
  • Controls Upgrades and Abilities
  • Responsible for player 1
As you can see from the breakdowns, player 2 is going have control of everything bar the defensive vehicle. This is a co-operative game where both the player in the tank and the commander must communicate.

For example player 1 may need player 2 to:
  • Buy a new ammo type and switch to it. 
  • Block certain enemies
  • Use an ability
  • Pause the game


Big Leaps

I have made lots of progress now, I will include a video in this post showing everything I have so far. The main features are
 - Changeable weapons (Blaster, Dual-Shot)
 - Gold System (Purchasing Abilities / Upgrades)
 - Touch-ups (Dust storm on planet / Smoke trail)
 - Gun and Explosions Sounds







GUI

The next step for me was to implement some sort of GUI for the player. I used C#s OnGUI class for this and created boxes which included labels displaying variables, here is the first version:


What I have forgotten to show in previous posts is that I managed to implement a simple "Blaster" type weapon which destroys the enemies on collision. That is why you can see the term "Blaster".

I continued hard work for a few hours after this and fiddled with a few different Ideas until I came out with this for the next level of my GUI:
Now currently the added buttons do nothing, but when I go further into this in the next few hours I expect to have a new weapon for the player to use and a new ability. Both of these will cost the player Gold which they earn from destroying the falling Missiles.

Rocket Spawning


When trying to implement the falling rockets I had a bit of trouble with making them spawn in a somewhat "random" way, here is one of the errors I got:
(Keep in mind this was filmed for a Snap-chat and not for this use hence bad quality)

Here is the version I got working, I achieved this by using a random number generator to pick a "Lane" between 1-8, it would then instantiate the rocket in that lane and once the timer has run down it would go again.

(Again, Sound and Quality warning, was not intended for this use when filmed.)

Arranged Scene

Now I have gathered some basic Assets (Sky-box, player and textures) I decided to pull them altogether and try to arrange my scene. Here is the current level:

As you can now see, The player has the tank in the middle of the "Road". The player is allowed left and right movement and is going to have some simple shooting mechanics. For this project, since I will be implementing a joystick I think I will keep it to shooting coming out of the top of the tank and going straight up. 

Tank

First thing first, Gathering assets. I decided to use Blender and make my "Tank" myself and give it a simple texture.


Creating this involved learning to use a 3D modelling program, I chose to use Blender since I had previously done some very basic Models with it. 

Monday, 9 December 2013

Idea


I had previously had an idea for a simple game before at home, but since I have got a project to develop a game in unity I figured I would take this game on for the project instead, two birds, one stone.

My Idea
I had previously had an idea to develop a game which took it's inspiration from a classic, the classic being space invaders. I wanted to recreate space invaders but in a 3D space, not only that but I wanted to bring different aspects to the table, upgrades, different enemies, modern graphics, 2 players and even implement different controlling methods.

The Project
I received an assignment from University to develop a game which was co-operative and implemented different controlling mechanisms, this could be anything from a Joystick to the occulus rift.

I then figured for my game I could have one player using a joystick for the standard "Tank" in Space Invaders and I could use the mouse for a second player to act as some sort of over watching figure, using the players score to spend on upgrades and perks which will help them both out.