Scoring and Pawer Ups
Improvements
Today was a great day for Cat Tap game development! I was able to import a new sprite in for the cat paw which makes it look less like a detached cat limb and more like a super long and extended cat arm. Additionally, I fiddled with the gravity physics of the balls and speed of the paw to make gameplay a bit more fun. One final improvement I was able to make was in the form of how the paw actually punches the ball.
Previously I just relied on the 2D collider of the paw and the rigidbody of the ball to act as the opposing forces. However, that never worked the way I wanted when I would actually punch the ball with speed. After some digging and investigating on some discord servers I decided to scrap the collider and rigidbody and go for the trigger route. I know have a trigger associated with the paw and when the ball enters this trigger an opposing force is applied to the ball. Then once it exists the trigger the score increases.
Additions
As you can see I was able to include a rudimentary scoring system on the bottom left. I will plan to make this more exiting and maybe add some flare when the score goes above your high score or in 10s, but for now it will do. Another exciting addition is in the form of the "Pawer Ups"! I am exploring scriptable objects, but made my first one where after 5 taps the pawer up instantiates above the screen and allows the player to punch it to duplicate the balls. This adds a lot more gameplay variety and chaos. I actually found myself playing around with this more than I thought. I think the core gameplay loop going forward will reside in the variety of these pawer ups.
Further, I added some quality of life improvements in the form of the off screen arrows. The logic for these was pretty simple. I essentially have them as a child of either the ball or pawer up and have a short script to always follow them on the x axis and follow the offset of the ball and an invisible bar I set above the screen. This creates this effect. I especially like how the arrows come far down and then back up to show the illusion of how fast and soon the ball will be returning to the screen. The simple script is below:
using System.Collections; using System.Collections.Generic; using UnityEngine; public class LookAtArrow : MonoBehaviour { public Transform topBar; private Transform ball; public float ballDistance; void Update() { transform.position = new Vector2(transform.parent.position.x, (topBar.position.y - transform.parent.position.y + ballDistance)); } }
What's Next?
Next week I am going on a work trip so I won't be able to do any involved game development. However, that leaves me an opportunity to explore some more pawer ups and create some more vector art for the game. I really like these break points as it is a nice change of pace and allows me to focus on other aspects of the game which I usually tend to leave to the last minute. Now if I am able to spend this next week working on art and pawer ups it could hopefully help fuel better game design and development when I return!