Tuesday 28 October 2014

After Dark Group Game [Dev Chapter 5]

[Update]


We had to present our games last Friday to all the classes and show our progress to the teachers. Earlier before we had to show the games Justin and I worked on bringing our two projects together. He imported my terrain and other assets into his project with the main game that he had which included the player controls and functionality along with AI. When we imported my map we had to bring in a few new assets like water and raise the road level off the ground because there was an issue with the road and clipping with the terrain but then that created another issue where the road couldn't be walked on without getting stuck.

Upon showing our game to the rest of the groups and teachers, a couple decided to mock our work calling out Asset Store which all in all I understand why they said that but that was only due to their lack of knowledge about our intentions and goal for the game itself. (Re-creating all the models from the ground up along with most of the other assets and scripts).


After Dark Group Game [Dev Chapter 4]

[Update]


Looking at gameplay itself now, we have our first person player with all his different weapons at the current time we have the basics from each class of weapon. Assault Rifle, SMG, Pistol, Sniper and Melee. Which is pretty good but we will expand further, along with replacing most of the models with out own more detailed models.


Below you can see pictures of the some of the gun models currently being used in the game. Along with temporary GUI which will be replaced by a better looking GUI.


Currently you can aim down the sights of guns and fire bullets along with a reload animation and other animations. The guns also have recoil and sway.


Hunger and thirst are represented by number values currently and will be replaced by bars that lose their fill over time. currently hunger and thirst go up as time passes and will be replaced by decreasing values. The player gets hungry quite fast at the moment and will be changed to a longer duration before the player must find food and water.




After Dark Group Game [Dev Chapter 3]

[Update]


I continued adding more buildings and structures around the place and also built a road. I also added a pond near the first village area and where the road cuts through the ground I added 3D rock objects to the hills on the sides of the road.

As shown in the picture below are the rocks I added to the sides of the road on hills which had been partially cut through by the roads. It looks much better than the normal plain texture that I had applied. Also looking further at the roads they are in what you could call pristine condition which in all honesty wouldn't be true in the type of game that we are trying to create so I will have to edit the textures and make them look more damaged and old.



I was testing out how the terrain looked with a more saturated and vibrant colour to it (like it rained regularly in the area). It looked fine although it did seem a bit too bright for the kind of game and kind of scenery Justin and I were hoping for although I left it in just to demonstrate the idea of different area's of vegetation.


After Dark Group Game [Dev Chapter 2]

[Update]


We began work on our game by picking which tasks we would accomplish each. Justin decided to look further into the scripting, replacing the 3D models, GUI while I looked into terrain editing and scene environment building along with looking at the scripts also to identify how the systems we got from the asset worked. I also helped out with replacing some of the 3D models and giving the terrain textures and details.


We created two different unity projects and worked on our parts individually while checking to see how the others work was coming along.


We had decided that for the environment we would create an island, originally I wanted to simulate a continent such as Australia as the game map although it proved difficult after trying to export height maps and how they sometimes wouldn't work with unity and its terrain editor. I then decided to use an alternate piece of software called "World Engine" to create a island terrain and export it to a .raw file to import into unity. That worked in the end and I began editing the terrain from inside the unity engine further to make it more realistic and remove the jagged edges from some parts.


For the terrain and for the game itself we really wanted the features of unity pro so we could apply imaging effects such as Bloom, Anti Aliasing and Motion Blur. Unfortunately neither owned the pro version of unity.


After smoothing the terrain and adding some details I first began adding buildings and structures to an area on the map. As you can see in the image below there is a small village with some houses and sheds. I decided to give the area a sort of dry and dead effect by making the grass and trees look quite dried out.

After Dark Group Game [Dev Chapter 1]

[Task]


A task was given to create a game in a group of 2 or 3. Justin and I decided to team up as we both were quite good with coding in C# and could work well together.


There are no limitations associated with this task and we were left to our own devices to work out what game we wanted to create.


Justin and I decided to make an attempt at creating a survival game, simulating real life with thirst and hunger, along with many other mechanics that would attempt to recreate the real world and closely follow how the real world worked. We had played games like DayZ, Rust, The Forest and the way I felt about some of them were for example the movement was too stiff in DayZ or in rust it was rather buggy and collision detection was a bit off. Which in all honesty was to be expected for Early Access games.


We wanted a survival game but then again we wanted it to have more so we though of ways that we could add something special to our game that we haven't seen before. Zombies had been done almost to death, so we looked at other possible post apocalyptic options for enemies or npc's. We decided we would focus on this at a later time when we had got the basics of our game.


We began our work by purchasing and downloading many different assets to see how they accomplished First Person Shooting, Health, Hunger, Thirst and any other systems like sound and view of the player.

Saturday 25 October 2014

Space Rescue Game [Dev Chapter 4]

[Update]


This post is about the menu's  and all the other scenes that I have been adding to the game including the main menu, credits, help, story scene.




Main menu:

The menu scene contain the player model. Similar to my first game from Semester 1 I made it rotate on the Y axis clockwise to showcase  the entire model. I used a simple futuristic font for the GUI.
Help:
The help scene is just there for the player to identify the controls for the game. The font used is the same as the font from the main menu. I am using a screen with an aspect ration of 4:3 instead of a 16:9 you cannot see the menu button in this screenshot.
Credits:
The credits scene uses the same futuristic font as the main menu. The menu button is also not visible in this screenshot due to the issue I explained above.








Story:
Originally I had intended to make this scene similar to the start if the star wars movies where the text was tilted and scrolled away from the view but I decided to stick with it just scrolling up. There is a skip intro button in the event people do not want to take the time to read the back story behind the game.

Space Rescue Game [Dev Chapter 3]

[Update]


I decided to create a 3D model for the player as a small hovering robot. I was going to add animations but decided to keep it rather simple and just raised one of his arms permanently to serve the purpose of a gun as he would shoot lasers from his hand.


I created him using 3Ds Max and gave him a hovering head along with hovering arms and body which in theory would all be magnetised together to stay in the positions shown in the picture. As you can see his right arm is rotated to be horizontal and pointing forwards for where he will be shooting. The green below his body and just off to the side of it are where the jet packs I gave him and then by creating particle effects in unity I was able to give it a green fiery effect.
This is a birds eye view of the level I created that follows the layout design I made at the beginning. In the photo the red objects are just textured rectangles with a dotted texture applied to them and then given a light to illuminate themselves. These objects are just scenery objects. The blue glow in the centre with the small white line is actually one of the objectives (the ship core) where the player must obtain it in order to power up the emergency ship. The white part is just a sprite I placed in to identify to the players what the object was.

In the bottom left and top right are two space ships. The bottom left is the spaceship in which the player crashed in and is no longer flyable. The top right is the emergency space ship where the player must go in order to beat the game (after completing the objectives)


After finishing work on the game level itself, I shifted my focus to filling out the game more. I added an extra level in the game which is loaded as soon as the player reaches the shuttle and completed both objectives. This level just contains the ship in which the player is escaping in and I created a script which makes the ship first travel upwards and then travel forwards and fly into a particle system. By flying it into this particle system the ship is sitting still but it looks like it is flying at light speed past stars. This was added just to give an effect for the end of the game. The player can then return to the menu from this level.




Space Rescue Game [Dev Chapter 2]

[Update]

Naming the game.......
Coming up with a name for a game where it suits it or hasn't already been used can be tough because sometimes I find many different names and can't decide or I'm lost for answers as their isn't any name that isn't taken. Anyway I came up with "554" no particular reason I guess it just rolled off the tongue when you pronounce it "5", "5", "4". I decided on this name in the end because I felt it was like a designation to the robot itself and it could leave the player thinking are there others like it.

The idea for the game is that it will be a 3rd person shooter where user will play as a robot that has crash landed on a planet and must find their way off it by retrieving a new power core for an emergency space ship on the planet along with defeating the drones that the human race had left to continue working on the planet that had gone rogue and attack anything that comes to the planet.


I began with the level design and layout. In the image to the right I have drawn a bunch of different coloured squares


Purple: Enemy Spawn Positions
Very Dark Grey: Level Obstacles & Objects
Black: Outter Level Wall (Edge of Level)
Dark Grey: Alternate Texture for Path
Light Grey: Level Area
Green: Start Point
Red: End Point
Blue: Objective needing completion







The game will include these mechanics:
  • Objective: Defeat 40 enemies
  • Objective: Find and pickup the ship core
  • Battery life for the robot the player will play as (Health)
  • Collision detection between enemies and other objects
  • Able to shoot and kill enemies by left clicking
  • Boost ability where the player can move faster by pressing shift (drains battery faster)
  • Battery life drains over time
  • Enemy AI
Game Object Asset List
Low Priority
Medium Priority
High Priority
Scene Decorations
AI Model
Player Model
Animations

Level Terrain


Player Control Script (C#)


Enemy AI Script (C#)


End of Game Point


Textures

Space Rescue Game [Dev Chapter 1]

[Task]

A second task was given to create a Steam Punk rescue game or a space rescue game.

Limitations for this game include:

  • Steampunk Rescue Theme
  • Space Rescue Theme
  • Multiple Sounds in the game
  • Must be 3D and not 2D
  • Atleast 2 GUI elements in the game

Development Process


At first I explored the option of creating a game using the steam punk theme. The first thing that came to mind was a previous game franchise called "Bioshock" which makes use of the steam punk rescue theme. I looked on-line in the asset store for steam punk game objects but there weren't really any for creating a steam punk game.




After choosing the space rescue as my theme I began looking at games with a similar theme. One that caught my eye was the game made after the movie "Gravity" where you must rescue an astronaut or some satellite components from space.

Prehistoric Game [Dev Chapter 6]

[Update]


I began work on creating the menu and its layout along with the credits scene, death scene and help scene. I decided to not use the new unity 4.6 beta GUI that was released recently because of the fact I didn't want to waste time to learn how it worked and was more focused on the gameplay. I instead used the normal GUI by creating a GUI skin prefab and editing the values. Although this did prove challenging as position the GUI correctly on the screen became a hassle as the screen i was using was a 4:3 aspect ratio instead of the usual 16:9 aspect ratio screens at Tafe. This made it difficult to position some of the GUI in the centre of the screen and made the GUI look partially untidy.


To create the menu scene I used more of the dinosaurs from the pack I had imported and had them animated in the scene. I also created an alternate terrain for the scene and added a forest and texture details to the terrain. I raised an area in the centre of the terrain then lowered a smaller area inside the raised section to create a volcano like mountain. Then I created an orange/yellow particle system and placed it inside the volcano to give it effect.



The death scene didn't take much to create it only consisted of a button to return to the menu and a title displaying a message that you had died along with a background.


The help scene consisted of a screenshot from the main menu's terrain along with GUI to display a simple guide on how to play the game along with a button to return to the menu.



The credits scene consisted of a screenshot from the main menu's terrain and my details since I created the game it also has a button to return to the main menu.




Prehistoric Game [Dev Chapter 5]

[Update]


I began work on creating a script for the player movement. My goal was to create a 3 lane movement where the player could jump from lane to lane but only those adjacent to the one the player was currently in preventing the player from skipping over an entire lane. I did this by using if statements to check the position of the player and identifying if they could go left or right and then move them to the next lane in that direction if it existed.


I originally ran into a bug that when the player pressed a key to change lanes it would occasionally change lanes twice in the direction the player wanted to go. This bug puzzled me as the type of input I was using was get mouse button down which would return true when the key is pressed and would not repeat itself until it was pressed once again. Although i found no real solution to this i decided that the game would benefit from being harder than it was as it was too easy to dodge the dinosaur at this point due to the player being able to jump from each lane as fast as they could push buttons.


I made the game more challenging by adding a cool down between lane changes. The cool down lasted for one second and would make the player attempt to time his lane changes perfectly to dodge the dinosaurs attack. This also served as a solution to the bug earlier with the player changing lanes twice when the button was pressed only once.


After finishing the players movement between each lane I shifted my focus to the dinosaurs movement. At the current time the dinosaur stayed in the centre lane and didn't follow the players lane changes. Left like this the game would have been too easy. To make the dinosaur move with the player I amended my player movement script and added the dinosaur movement to it instead of having to write more lines of code by using a separate script. This is because since I was already checking lanes in the players movement script I could use the same checks to see where the player was and make the dinosaur move to the players position a few seconds after the player had moved there.



Prehistoric Game [Dev Chapter 4]

[Update]


I have been working on the scripting for controlling the animation states of the animated dinosaur model I imported.

Through scripting I have made it so the dinosaur now has multiple animation states. Attack and walking, the dinosaurs attack animation is played every few seconds and then returns to the walk animation. While the dinosaur's attack animation is playing the dinosaur moves back 0.3 units every frame the animation is playing. I added this feature because while the bite animation for the dinosaur is playing it stops walking therefore it should move with the terrain so it doesn't look like the dinosaur is sliding along the terrain, thus creating the illusion the dinosaur and player are the moving objects. Then once the attack animation has finished and the dinosaur has begun its walk animation it will return to its original position. The cycle will then repeat for an infinite amount of time.


Prehistoric Game [Dev Chapter 3]

[Update]


I began development of the game, first off I started by creating the terrain. For the terrain I created a mountain filled terrain with a valley in the centre which would server as a pathway for the dinosaur and player to be running along.



With the terrain created I then started scripting a way to make the terrain move away from the camera but loop back to a certain position to make the illusion that the terrain was infinite in length.

I achieved this by creating two terrain which meant duplicating the original and position the two objects in a row. I then coded the movement of the terrain to move away from the camera by 0.3 units every frame and upon reaching the unit position of 499.9 it would reposition itself to the unit position -499.9. Each time one of the terrains reached the end return point the one that reached it would be returned to the start point of the terrain.

Prehistoric Game [Dev Chapter 2]

[Update]


After having searched on-line for some assets, models in particular. I came across a package that contained dinosaurs with animations included so I downloaded the assets. I also came across a large muscled animated human model which I also downloaded and added to my project.



I started looking around for suitable prehistoric themed music primarily consisting of drums and flutes which would play during the game and on the main menu. I also looked for a dinosaur roar audio file to add a surprise to my game if the player lost.



I also looked for a suitable font that matched the style of the game and the prehistoric theme.
The font would server as my main menu's text and buttons font along with any other text required.


I also imported some of the basic unity asset packages including the unity tree package and the terrain package. With these I could now add textures and detail to my scene.

Prehistoric Game [Dev Chapter 1]

[Task]

I have been given a task to create a game that incorporates a prehistoric theme.

Limitations for this game have been provided and are as follows:
  • A Prehistoric Theme
  • Using Unity's physics engine
  • The Camera must be fixed to a certain position and not rotate or move
  • At least two GUI elements in game
  • Multiple sounds in the game
  • Must be 3D and not 2D
A Development build will be submitted in week 8 to show our progress. The final game is due in Week 11.


Development Process



When given this task to create a prehistoric game the first examples that came to my mind were games like the very popular Temple Run and their type of gameplay.


At first I brainstormed a bunch of words and things to do with the prehistoric theme: Dinosaur, prehistoric, long ago, extinction, cave, cavemen, fauna, running, eating, evolution.



I thought up of ways to accomplish a similar style of game play where the player would have runs as far as possible and try not to be caught by the enemy and how to make a game level according to this.


Keeping to the style of temple run I came up with the idea to create a game where the player was being chased by a dinosaur and had to dodge the dinosaurs attack using a gameplay mechanic of 3 different lanes which the player could jump between. I wanted the play to be able to jump between 3 different lanes with a 1 seconds gap between each jump so the player couldn't easily dodge the dinosaur attacks and had to time his movement to best dodge the dinosaur. I also wanted the dinosaur to change lanes to wherever the player was but not as soon as the player changed their lane but a short time after. The score would be how many metres the player could travel without being killed by the dinosaur. This was to become the basis of my game and what I wanted to achieve with it.




Game Object Asset List
Low Priority
Medium Priority
High Priority
Scene Decorations
Audio
Player Model

Fonts
Level Terrain

GUI
Player Control Script (C#)

Textures
Enemy Animations


Animation State Control Script


Enemy Model