Friday, 8 April 2016

2D Group Game Sprites

I made the boss sprites for our game. The design of the boss we ended up using was spherical. I found this incredibly hard to animate as I needed segments of the ball to rotate around itself to give the illusion of movement. It took me a long time to get something I liked and I really think it works.

To distinguish between the boss drones, shield drones, and the main boss I used different sizes and colours. To add a bit of extra effect I made the shield have a lightning effect surround it. Here are all of the sprites for the boss.


2D Group Game Overview

So this project is creating a 2D non-sidescroller game in a group. Our group decided to make a singleplayer 2D pixel art platform shooter. We looked at different inspirations like Duck Game, Dungeon of the Endless, Binding of Isaac, Risk of Rain, and many other existing games. 

We spent a long time trying to figure out a style of pixel art for the game. We ended up all having different ideas for a long time before finding a mid ground between them all. 

The name for our game is WIP. It came out of an initial joke that our game was a constant work in progress. We toyed with other names like frostbite but WIP always kept coming back. It might make players feel like the game is unfinished but we like the name so decided to use it.

To start with in this project we used a Google document to throw ideas about between each other easily. However, the communication in our team slowly began to get bad. We weren't communicating enough and because of this our ideas began to conflict. Eventually we started communicating better again and the ideas all came back together but it was an interesting experience and I have learnt much about working on a game in a team.

2D Group Game Coding

I was in charge of the main bulk of coding and putting the game together. I also did the designs for the boss. This was a long process as my initial designs did not work out and proved too hard to code in the time we had.  

I found making a 2D game in Unity interesting. I have made 2D games before so I have had some experience. However, I did meet several challenges. Such as having to figure out how to do things in C# that I have done in other languages. 
The most challenging bit of code for me to create was the boss code. I initially made one script for 2 Boss Parts. The idea came from a hive mind concept that I came up with and I was just experimenting with code in Unity. I took a video of the initial prototype for the boss. It was pretty static and wouldn't have worked for the final boss fight. Also the small drones flew up if they were next to each other. This turned out to be because of a collision check recognising the drones as the ground. 
I made the AI using a state machine which I derived from the enemy behaviour script I had written previously. There are several states, IDLE, PURSUE, SHOOT, DEATH, SPAWN, FLEE, SHEILD, DETONATE. The detonate and sheild states are not used by the central piece of the boss. The spawn state is only for the central boss part. It spawns new drones and shields if there are less than 3 drones remaining and if it can see the player. It will not spawn new shields until there are no shields left. 
The boss in the prototype was very motionless. In the end the boss became much more agile and jumpy. I lowered the effect of gravity on it so that it could reach the higher platforms. It has a shield of small drones that circle around it which it cannot shoot through until the player destroys them. The separate drones that chase the player initially were just to get in the player's way. Now they explode after they hit the player. They also explode on death and take damage from the explosions which creates a chain reaction. This is because the drones only have 1 health. This caused me a problem to start because the boss spawns new drones when there are less than 3 remaining, and when they exploded as new ones spawn it creates a huge chain reaction of constant explosions above the boss. If the player enters this area they die instantly. I fixed this by making sure the drones take no damage from explosions for 0.2 seconds after they spawn. Now the problematic chain reaction no longer happens. 

I mentioned I made the enemy behaviour before the boss and derived the boss from that. My team wanted enemies that did were not fast and agile. However, we did want movement. So I made a script that made the enemy shoot when the player was seen, pursue in the direction the player was last seen and stop after a bit of time, and die when shot too many times. It was fun to figure out how I would do this and it took a little bit of looking up state machines and rigidbody velocity and addforce stuff. In the end I used a lot of what I already knew about code to make it. Unlike the boss I used a different script for each of the 3 enemies.

Here is a clip of the prototype of the boss.



Friday, 1 April 2016

Space Ship Part 2

So I decided to go with a view from behind the space ship because I felt there would be more interest with the engines visible. I wasn't entirely sure what I wanted to do to the ship so when I first attempted a paint over I ended up with this.
I wasn't too unhappy with this but I felt like something was missing. So I went back to it later and added some more panel lines, vents, changed the engines a bit, and edited the atmosphere of it. I am much happier with this now.

Friday, 25 March 2016

Battle Arena Changes

I am making some changes to my battle arena to make it look better and for the story to show through in it more. I am also changing it to accommodate for the statue. I need to update some of the textures also to be higher resolution because it will look odd with a high resolution statue next to a very low resolution environment. Previously I made a single texture for the terrain so that I could have ambient occlusion on it. However, I need a tilable texture to get more detail around the statue area. I have decided to make it a blend shader to get even more variation in the environment. I could make it in Maya but I would just have to recreate it in Unity so I have decided to make the new texture once I have got the FBX version of the arena into Unity. I will however, render out UV and ambient occlusion maps for the new models as I make them.
I have an idea to better lead the viewer through the arena. I will use an alien spaceship with a spotlight to highlight areas of the map as the camera travels round it as it is particularly hard to see the arena in the current Unity build. To start changing the arena I added in some spaceships above the arena and also some crystals to show the mineral that is being mined. I also added a tiny bit more detail to the statue's base. Here is the new arena model.


3D Statue Textures

The texture for the statue was made with several rock textures, some rock crack alphas, colour layers, overlay layers, an ambient occlusion map, and a UV snapshot. I made the rock crack alphas from images of ZBrush brushes. I used a mix of colour layers and overlays to make the green glowing areas. Here is the first texture.
Only the eyes are glowing in this initial texture. I decided to change the colour of the rock because all the other alien structures in the battle arena are purple. I chose a green colour for the glowing because I want the mineral that is being mined to be that colour. I also made an emissive map of the glowing areas which I will put below. I also will put the normal map below. This is generated from everything except for the ambient occlusion map and colour layers. Here is the next version of the texture.

The texture of the staff was a bit more basic. I used the same rock textures and the same colour but I did not use an ambient occlusion map as it didn't have much effect. The normal map is made in the same way as the body's. Here it is.


3D Statue Model Progression

So I used the model sheets to make the parts separately. Every single one was made in half and then I mirrored them to get the other half. I did modify the head from its initial model because it did not fit onto the body well. I looked closely at the initial concept art to modify it but I also used the aesthetic I had established on the body model to make it fit better. This is the final model for the statue with all the components attached.
I had also started to rig it at this point and as you can see I also made a staff. This is not the final version of the staff. I made the staff based on the repetitive pattern I had established on the body. I will make a separate post to discuss the texture more but the next step was to make the texture. Here is the test with the initial texture.





































This is an early version of the texture without the final colouring and details. I had planned to add soem glowing lines through the armour to hint at a hidden energy or mineral inside the statue's rock. Here is the next, and final, version of the texture.





































Here I have added some glowing lines amongst the armour and made some of the purple rock glow a green colour. I have made this an emissive texture although I have not applied it in Maya. The next step was skinning and posing. Skinning this model was a challenge but I set it up so that I was happy. I realised during this step that I have not rigged the legs in the best way. The hip joints are slightly too low but I had to make it work otherwise I would have to redo the skinning. Anyway I experimented for some time until I found a pose that I liked. Here it is with the staff's final model.





































I did not pose it with the purple texture as I found it slightly distracting. Overall I am happy with this pose but there are a few problems with the model. I should have added a few more edge loops under the arm as the texture has stretched slightly. I will attempt to position it in the arena, in Unity, without drawing too much attention to this area. Anyway, here is the final pose with everything textured.