Testing & Feedback

So today I had my Demo or Die session, in which I had to set my game up ready to play and let my fellow students play test my game and submit a rating and feedback on the what they thought about my design. Well I felt it went well, and the feedback I received did point out a few concerning point. One of them was the difficulty of the level, the simply fact that few people managed to complete the level with in a handful of goes. And the second was that the level should have a quick reset function or something like that to allow players that would get lost or stuck could reset their location.

Now designing the game myself naturally I had an advantage in playing the game, so I underestimated the difficulty. So I changed the level slightly, moved some of the buildings and make gaps bigger etc. to help those that find it difficult to get through the level. Also with regards to the reset function, I managed to write a small script that would allow the player to press the ‘R’ key and reset back to the last checkpoint they had triggered. This I feel was a helpful overall tweak and given a second chance I think players would be happier with the game.

GUI Development

One of the final and most significant stages in any game and certainly my development is the Graphical User Interface. I have wanted to design a simply display that would show the user the time they have remaining and the checkpoints they have completed out a total number of overall checkpoints. I managed to find a font called ARCADE CLASSIC, to use as the main GUI Font. Using this I placed a count down timer to show during the first countdown section of the game. I also using Unity’s inbuilt GUI system created a menu overlay for the leadboards, both to enter a highscore and show the top 10 scorers from the database.

Image

LeaderBoards

 

Local LeaderBoards

I set out earlier today with the intention to create a local leaderboards system to really drive the competition for the Demo/Playtest I will have to do to my student peers in just under a week. I have had experience with local database systems like PHPMyAdmin so that was my first choice to store a local database of race times per person. I began by creating a table in phpMyAdmin and then using netbeans I wrote 2 scrips. 1 that will post the scores and update the table, the second that will retrieve the scores and order them with the shortest time first.

The second stage was to implement a script in Unity that will talk and communicate with the PHP scripts. This was very hard. It took alot of searching and reading to get this to work. But I managed to in the end. I then set up and recorded the times from start to finish and allowed the user to enter their name through the GUI which I will cover later on. This would then post their name and score to the database table. Definitely worth the trouble.

Constructive Feedback

I let a number of my friends play test my game today, and I got a very positive vibe from them. However I asked them to be honest and give me areas to focus on for improvement. The number on area that kept coming up was the design of the ship. The wings of the space ship would get caught on the pillars of checkpoints and other buildings really easily, making it difficult to get free. The second was that the course should have some sort of navigation of indication on where to go next when you hit a checkpoint. I didn’t think this was an issue but clearly it was.

So I took this feed back and acted upon it. I changed the design of the space ship to have a slanted set of wings and move the guns underneath the wings more to avoid them catching all together. What this meant was that the plane would not easily get hooked on pillars etc. The new design now looks like this:

Image

Secondly I built a 3D arrow which I textured and implemented in to the game into a number of areas as fixed markers. This is to give clear direction to the player in which direction they should head towards. Like so

Image

Finish Line

As the race course is pretty much completed I needed to implement a finish line of some sort, I thought of a couple of ideas. For example like a portal, another hanger or a checkpoint etc. I thought for simplicity I could just a have a slightly different checkpoint as the finish line. So I quickly designed a checkered flag style image in Photoshop and imported that into Unity and used that as a texture on the portal section of the checkpoint model.

Image

I added a script to the checkpoint trigger which takes the control of the space craft away from the player when they cross the finish line similarly to how forza drives the car for you when you finish. I set the a position for the space ship to fly to out of the way of the camera when the player also finishes, giving the appearance of an auto pilot mechanism. Finally the camera changes to a fixed position facing the finish line as the player finishes. The finish camera view appears like this:

Image

Demo Track/Race Course

After modifying the city a little to help accommodate a race course based upon the checkpoints both locked and unlocked. I don’t yet have a finish marker or condition, but for testing purposes at the moment is actually really fun. So far you basically begin in side the start chamber and you make your way through each yellow lighted checkpoint in order flying around the city avoiding the buildings and floating obstacles in your path. Here is a couple of screen shots of the course so far:

Image

Image

Image

Game World & Environment

I have spent a very long time building the environment for the game, I don’t by any means feel like I have finished but I have made a very decent start. I wanted the setting of the game to appear like another world, more specifically a city on another world. Something like the major cities in Star Wars. Well I have made a large number of buildings and structures that I will integrate a track inside later on. Take a look.

Image

You begin to piece a game like this together slowly and all the parts seem to fall together nicely. That’s what I like about game design, it allows you to freely create and express your thoughts in to something like this and run with it.

Power-up(s)

I mentioned in my last post about the possibility of a range of power-ups to help against enemy fire etc. Well I have created a shield power-up that can protect the player from enemy fire. It works well, I have spent a great deal of time on the shield itself. I managed to create in Photoshop a simple force field looking texture, which I attached to the shield and simply made it transparent. This looked ok’ish but it didn’t give much of a feeling like a shield would. So a simply fix of a texture rotation script fixed this for me. I basically rotated the texture on 2 axis a small amount of time, giving it the appearance of it moving kind of like a force field would.

The power-up icon its self is a cube that has an alpha texture on it in the shape of a shield to give a clear indicator of what it is. This can either be shot or collided with directly with the player to be activated. Once activated the power-up object will fade out, using an alpha colouring blend, and the shield surrounds the player for 10 seconds before deactivating.

Image

The Shield when activated looks like this:

Image

Enemy Turrets

We all love a bit of combat. I don’t know if you read one of my first blogs about this project but I mentioned about having a number of things to shoot at, well I have been working on something to shoot at. Yep that’s right a turret. And what comes with a turret, something to shoot back at you right? I have designed a simply turret with a few nice textures and have given it a big gun to help immobilize you the player, at of course a time penalty. This though has lead me on to power-ups like a shield etc. that could protect you from being shot. But I’ll cross that bridge when I come to it. For now here it the mean red bad boy!

Image

I have attached a nice little script to the turret so that It tracks the player movement when the player enters the radius of the turret. It works by using a big sphere collider as the radius, then turret will engage the player by rotating the body to face the player on the Z axis and the turret guns with move to shot the player on the Y axis only. This is in aid to simulate a robot style drone feel, locking the movements to given pivot. The turret shares the same firing mechanism as the space ship, except with a different bullet and damage properties.

Start Chamber

I have a strange order of doing things but I decided to make the start chamber in which the player will begin inside when the level begins. There isn’t much to this really just a room surrounded by force fields. My intention was to make this look like a hanger of some sorts. I have attached a few cool effects to the chamber, one of them being a lightsaber sound effect when you pass through the field as the ship.

Image

Looks cool though, but not really a great deal to say about this one, but what you may have noticed is the blocks in the bottom corner. This is basically the level or terrain I have begun building which you will no doubt-ably see in the future.