Idea
My idea was to make an exploration game that the player could learn at their own pace and defeat along the way. I wanted everything to be animated so it makes the world feel interactable and keeps the player entertained. I saw a similar art style online and I liked the look of it, so I decided to use that art style to create my assets. I think my idea was too complicated for the time I had, and I underestimated the work I had to do.
Goal of the Game
The end goal of the game is to kill enemies in different sectors of the map and once you it the crystal it would open the next area. The player could either try to run past the enemies or defeat them. The game has yet to have a true end goal as I ran out of time.
Scripts
I have used a bunch of scripts to bring the game together. The camera follow script makes the camera follow the player where ever the player is on the world. I attached the script to the main camera and set the target to the player with -10 offset on the Z axis. The character animation script simply makes the character switch between animations when a key is pressed. The death script is a script lets the enemy damage the enemy. This lets the enemy detect what it can attack/kill. The destroy on collision script is on the crystal and it means that when the player collides with the object, it will destroy the log, opening a new pathway. This is a simple script but works nicely. The enemy script is the main on the enemy needs to give it its heath, daze time and speed in which it moves. Say I set the heath to 3 and the player’s damage to 1, it would take 3 hits to kill the enemy. This is the main script to make the enemy work. The enemy follow script means that when the player enters a circle collider, it will make the enemy move towards the player. The circle collider is set to Is Trigger so it does not get confused with the enemy’s collider. The Hurt Player script works a bit like the enemy script where it lets the spider do damage to the player; this is also liked to the health bar and how it determines the HP. The player attack scripts work alongside the enemy script as they need each other to operate properly. This is probably the most complicated script I have written with help from a tutorial. Player control is a script that lets the player move around the screen in all directions. I used the code GetAxisRaw to make the movement snappy. Player heath manager works with the UI manager to create the heath bar.
Creating Assets
I used photoshop to create all my assets that are in my world. I took images that I saw and changed them to match my style. I used a thick black outline on most of my assets then adding colour with the brush tool. Gor the trees, I used the blend tool that allowed me to blend colours together. I created each part of the assets separately, so I could animate then easier.
Animation
To animate my assets, I mostly used the photoshop timeline option that allows me to put assets together and using a script, it would create a spritesheet for me. The only downside to this as the animations are not as smooth as they could be. For the trees, I added a slight sway in unity which make the animation look smoother. I’d prefer to use unity, but I do not fully understand how to use it.
Slider/Heath bar
I used a slider and added a script where the slider represents the heath the player has. The player heath script links with the slider script and it lets you enter the max HP and current HP for the player. THe heath bar is a visual representation if the HP the player has.
Colliders
The colliders where pretty simple as I used polygon and box colliders for the most part. I did use a circle collider to add an area where the enemies would follow the player if then entered the radius. This had to be a trigger and an empty game object, or it would let the player damage the enemy anywhere in the area.
Problems I encountered
I had two main problems that made the game a lot harder to make and took more time to make. The first problem was not being able to use photoshop outside of college which meant that I could not create assets while doing work at home which limited me to what I could create. The second problem I encountered is that if I got stuck at home after following a tutorial, I could not find a fix which often meant that I could not develop my game any further.