Thursday, 24 October 2019

Everstone Capstone Project: THE CONCLUSION

By now, everything that needs to be in the game has been added. Before building my game, I made sure to run a few bug tests. This resulted in doing some minor art fix ups where the asset had been cutoff in Krita and not drawn as well as fixing + adding some colliders such as the player collider and the colliders of the arches since I had split the sprites in two. (this was so that the player would appear in front of one side of the arch but appear to walk through the arch with the front part covering the player if that makes any sense) 

Quick reflection time!

Overall I have learnt many things from this project. My choice to pick this task for myself was due to my joy of 2.5D games, I have always wondered and admired about them. Doing this project has not only enlightened me with the supposed processes to create these games but has always given me a newfound respect for just how much work is needed to make a whole game based about the concept of parallax and 2.5D. It is extremely taxing and hard work that requires a lot of thought and time to finish and I admit I was foolish to believe in my own art skills so much in the beginning. I think I was pretty over ambitious with my intentions for the final project and as a result serious cut downs were made within the semester to just get one polished level up and running. In future, I believe now that I have a better understanding of just how much time is needed to fulfil a single level. But overall, I have really learnt so much about 2.5D games and how to do so much more in Unity. 
Completed Level layout

Everstone Capstone Project: Character Design and animation

Yep, this took a while to complete I'd say, I personally acknowledge that I am not very good at character design etc beforehand. 

As a conceptualisation starter, I made sure to create a fully detailed character sheet before creating a spine 2D compatible design of a smaller size. This was all done and drawn in Krita. I wanted the character to still have a modernish yet adventuresk look to him
Geoffrey character sheet
As soon as this was done and completed I downsized the character and simplified it to be ready to use in spine 2D to animate. 
Knowing that I needed to animate the character I made sure to keep everything piece of the character on a separate layer (which was the right choice)


Just as I had done with the rest of my art, I exported this into photoshop to run a script to trim all the layers and pack a .json file for me to take into spine 2D. As it was my first time properly using Spine 2D I had to watch some tutorials to create a simple walk and idle animation. The animation is a little shabby but it was the best I could do at the time. 


As soon as the animations were finished I brought the spine files into Unity to connect up with the required scripts in order to run properly. Finally, after all this time I could remove the original player prefab I had! 


Everstone Capstone Project: Unity work part IV

Short update, I have added sound to my game. 
Made sure to find royalty-free sound to use from purple planet sound and free sound.

I tried to add a footstep sound to the player but it was atrocious when in action so removed that.
Game now has a looping background sound that plays on both the menu and level, key collected sound, button hover and clicks sounds, player death sound and a *very* quiet jump sound.

To ensure things played correctly, I made a SoundManager script and applied all the right code to the areas in other scripts needed while referencing back to the manager. 

Everstone Capstone Project: Unity work part III

To bring more life to my environments, I have added in some lights to my project.
At a first glance, when adding in lighting into a 2D unity project it does not seem to affect the imported sprites at all. 

After a little research and watching this tutorial: https://www.youtube.com/watch?v=fwyAoE_uMFo  I found that there was a way to allow unity lighting to appear. Since I did not have too much time left, I decided to only apply this technique to some things in the level such as the statue. By following along the tutorial I was able to make the statue light up with a point light. This was achieved by creating a clipping mask from the drawn asset and colouring it white, before importing both the asset and its mask into unity. Within unity, I followed through with the process by creating a new material and attaching the mask to it.

In addition to this, with the help of increasing and lowering the alpha channels of the light and the unity animator, I was able to animate the light to pulse. 


This same light effect was added to a set of keys that I added into the game as part of a collection system for the game as suggested by my lecturers. 

The keys I took inspiration from the logo I created and drawn and coloured in Krita.

When a player collects a key, the script will update the amount collected on the canvas overlay with the player icon. 




Tuesday, 22 October 2019

Everstone Capstone Project: Unity work part II

As much as visuals are important for my project, so is the user interface.
When I was happy with the setup of my scene, I decided to create all my user interface assets including my main menu. 

I decided that I wanted my main menu to be a completely new scene within unity so I decided to head back in Krita to draw this up. Prior to starting the final production phase of this project, I had already drawn up a piece of concept art for the main menu which I followed for my final main menu design. 

Main menu original concept art


Final Main menu design with UI buttons and moveable character

For my game, I made a grand total of 3 different UI screens out of canvases, buttons, images and animation. 

The first UI was simply the main menu which allows the player to test the controls of the character as well as a title logo of the game that I drew up in Adobe illustrator. It also has buttons that highlight on click/hover. Each button is coded to do what they intend to do via a script. 

I also took the time to make a pause and game over screen using similar elements and prefabs from the menu. When Esc is pressed the pause overlay comes up and freezes everything in the scene and when the player lands on the spikes in the scene the game over screen will come up. As a major point to my project isn't to focus on mechanics, everything is relatively simple and is really only there to demonstrate simple game mechanics.


Everstone Capstone Project: Unity work Part 1

As soon as my art assets were done I imported them into photoshop and exported from layers to files which would trim down each asset so I could import for use in Unity. 

Learning from my first and second prototype, I made sure to change my camera setting to Orthographic to ensure the assets weren't resized by unity in order to parallax. I also made sure to attach the correct scripts to each layer as well as the camera in order for the fake parallax to work. 

Just like my workflow in Krita, I made sure to keep my project layout organised by assigning names to everything in the project window. In continuation of project housekeeping, I also created and assigned tags for each of the different layers as well as assigning draw order numbers to each layer to control what would appear in front of or behind of each layer. 





When I had set everything up in the level, I added an empty game object labelled "Hitbox" which holds colliders for the ground the player would walk upon. Originally when drawing I had not intended to start the player on a high point in the level map but after a while, I referred back to the original concept in my level design to spawn the player start on the top of a hill in front of the statue. When everything was in order, I added in the red square player prefab to the level with the working controls to start testing the colliders and parallax of the level. 
Hitbox path highlighted in green

While setting up the level assets, I, of course, ran into many technical issues due to the number of layers. One notable example I found as I walked through the game was that from starting higher in the level and coming down the mountain, the hills would appear too high in the game view despite placing them logically in perspective. I managed to fix this (as well as most of the other visual problems through trial and error, in this case I simply moved the hills lower in the project view till it appeared correctly when running. 


Before (incorrect)
After (correct)


Everstone Capstone Project: Final asset creation

Following my art struggle, between writing the narrative and level designing for the project, I explored different program alternatives as suggested in my one on one feedback. I knew prior that I was not comfortable to work in photoshop for illustration so I decided to try a program that I have had for a long while now but have never really used much - Krita. 

At first, I was pretty reliant on my natural drawing style with a lot of linework within the first few assets of my level. Since I had referenced the same structure in my GDD I decided to make that the starting point of my asset creation since I knew what to draw. 

Tintagel ruins: Photo taken by me
Krita work layout
For most of my level, I decided to take reference from parts of what I saw at Tintagel, keeping the flow of the level a mix of environmental assets that I fabricated together through drawing and real parts. While doing this, I made sure to follow and reference the level design I had made. My workflow overall was to work on a segment of the level each day with each frame starting from a base sketch -> linework -> colouring -> shading/lighting

As I trudged on with the rest of the level asset creation, the number of layers increased day by day and became a little difficult to manage and keep track of. I was thankful that I had made sure to name each layer I had created which kept chaos away. What is also noted is that I have most definitely over scoped, among life and the scheduling of this project I have underestimated just how long it is taking to create just the environment. To just draw at every waking moment has been seriously unrealistic. By the time I had finished all the assets (without doing art fixes yet) that alone has taken around 3 weeks, leaving me with not the biggest amount of time to complete every I had set out to do. For this reason, this is where I decided to cut down the number of levels I would make from 3 -> 2 -> 1, an interactive menu screen and no more cut scene.