Progress Devlog 1 - Player Movement


Developing Player Movement:  


Stage 1: Character creation  
My first task was to create a character that matched the theme of my game (chunky kittens with extraordinary fire-fighting abilities).  After many attempts using Open AI’s DALL-E 3 software, I decided on the ginger one below.


(Gif: Some of the many different sprites I had to choose from!)


(Image above: Final chosen sprite for main character)

However, there were several issues with the character.

1 – It didn’t have a transparent background. 

2 – It was holding a water gun (not good if I want him to use other weapons, or holster them).
3 – I only had one singular sprite, so no good for animations. 

 To address issues 1 and 2, I altered the character manually using paint.NET, removing the background and the weapon. Now, I had a great base image that I could work with:

(Image: Character sprite with background and weapon removed)


Stage 2: Character Animation
To address the issue of only having a single sprite, I made my own spritesheet by manually altering the image for different movements. I also did this using paint.Net.



(Image: Sample spritesheet showing blinking, tail-wagging, angry shooting and walking)

This spritesheet was good, but didn’t really allow me full flexibility, such as holding weapons correctly, or moving the head when looking up, moving the body down when crouching... etc. So I then worked towards separate spritesheets for separate parts of the player body. I haven’t included all of them in the devlog, but here is an example below.


(Image: Sample of spritesheets made to move individual body parts)

A similar method was used to create a spritesheet for the horse in the game and these were used to make all the animations within Unity. The example of the horse walking is below.


(Gif: Resulting horse animation for the game. Notice the intricate tail wagging too!)

Stage 3: Movement in Unity
With the animations completed, I now needed to tie them with player inputs.

My first script involved the older style of taking player inputs (‘GetKey’ etc. ) and matching them to an animation controller. This approach worked fine, but I could see it would present more work later on if wanting to implement changes or additional controls. An alternative approach was to use the newer unity input system and input manager, which I found very useful and flexible. It also made adding gamepad support very easy (discussed later).


(Gif: Basic Player movement and jumping)

Stage 4: More complex animation controls.
I added more complex controls so that the player could look up, crouch and shoot (I’ll try to discuss this more in a later devlog). These movements involved using a more complex animator controller and a blend tree method. 


(Gif: Player crouching and looking up)

Stage 5: Mounting the horse and horse movement
This was the first major headache I approached in the project. Getting the player to successfully mount the horse was not as easy as I had hoped.   Multiple scripts were made for both horse and player.

Some of the issues (just to name a few!) were:
-Player would not face in the direction of the horse
-Player would keep moving whilst on the horse
-Player would get stuck somewhere whilst the horse kept moving
-Horse began flying randomly all over the screen (Collider issue)

Eventually I was able to fix all these bugs and get it working. The player could now successfully mount and ride the horse!


(Gif: Oh yeahhhh, look at those horse riding skills. I could finish the project right now and be satisfied!)


Stage 6: Feedback
Some of the feedback I received was:
- Cat is very cute
- Movement is smooth and enjoyable
- Cat can jump infinitely up into the air
- Players couldn’t pickup items
- Some overlapping of layers between player and objects

Stage 7: Feedback Improvements
-I’ve fixed the infinite jumping issue and player now can only jump once. I will also look to incorporate a small double jump.
-Not being able to pickup items was that there was a lack of instruction on how to pickup items!
-I’ve made more detailed and easier to understand gamepad layouts for players to understand controls.
-I updated and improved the keyboard controls and included a keyboard + mouse combination.

- Added sorting layers to tidy things up and prevent layer overlapping.
This actually isn’t that easy, because there’s a conflict. The player must be behind the horse, but the arm of the player must be in front of the firearm, and the firearm should be in front of the horse. Very confusing!
The solution for now is to just keep the weapon behind the horse, but I’ll look at trying other solutions if there is time. 


(Image: Illustrates some of the layering problems when having separated body parts and weapons!)

Below are the updated control layouts:










(Gif: Fixed infinite jumping. Fixed overlapping of arm onto horse)




Final Comments:
-I'll leave it there for this devlog as that just about covers the progress on most of the basic player movement.
-If interested, please also see the weekly summary for a short list of all the other additions I made to the project during week 1 and 2.
-All original sprites and images for this game were created using Open AI's DALL-E 3 software (https://openai.com/index/dall-e-3/).








Files

Builds.zip 22 MB
9 days ago
Build p1_0_2.zip 26 MB
5 days ago

Get KIT109 - Fur Force: Kittens on Call

Leave a comment

Log in with itch.io to leave a comment.