
This basic and simple prototype of a game was made using a game engine called "Unity". If you'd like, you can check this game out on my Itch.io page which is free btw :)
Key Features within CopterCat
Hi there. So, this little game was made way back when I was 18 years old for not a game development class, but a marketing class. Weird, right? But I had this group project thing and we needed to make a product. I decided with my team that why not we make a game. I've done it before, we just need a prototype and it'll be really different compared to what anyone else was doing. They all agreed and the rest was history. This game was original showcased on my portfolio but I since removed it cause it's not that impressive to show off. But, it still does hold some sentimental and nostalgic values for me cause it was the first game I ever made with a team. So, I am here to talk about the mechanics and gameplay intentions I had for them that I implemented into the game way back when I first started out. Without further ado, let's take a trip down memory lane, shall we?:
Player Movement
Okay, let's start off with the basics. The game was designed to be somewhat of an endless runner type thing, similar to Cookie Run, a mobile game that my artist (who was an Art Student btw. Not a game dev student. I was one to) was obsessed with. He liked casual games that had gatcha in them. I couldn't do the gatcha part but we can state in our report that we plan to include it in the future and I just ran with the endless runner thing that he gave me. No pun intended. So, movement was the first thing I needed to think off. I have never developed for mobile during this time. That would come way later in my game dev journey (check out The Clean Up prototype on my Itch io) so, I decided to go with PC and just say that this what the game would be like on mobile instead of learning how to do a whole new thing. I had a week to do this so didn't want to spend too much time on this and neglect the other parts of the assignment that carried more marks.
With that in mind, I just decided to make the game's control for the character to have 4 directional movement like you would see in old school Pokemon and Zelda games. The code that I used for this was meant for a 4 directional pixel game top down movement, I just made sure to not include the part of the code for changing the sprite when you press the up and down key to face that direction. So, all directional buttons would just be the 1 static sprite. The next thing I needed to do was to only include the Up and Down directional movement as realistically, it's the only 2 directions that a mobile endless runner would ever need if its in a side scroller view.
Programming that part was easy enough. I just needed to remove left and right and make the character stationary. I decided to not move the character but move the background and the enemy to give the illusion that the character is moving. This allowed for me to make the enemies spawn at random much more efficiently without effecting performance and was actually faster for to do given my time constraint. So, yay.
Random Enemy Spawning
This is how the enemies work in the game. They would move forward towards the player and collide with the player, damage them and disappear with a pretty little VFX. Once the player's health reaches 0, the player will die and lose the game. The enemy also had individual animations and sound effects. The enemy also had specific collision groups to ensure it did not collide with each other. The game needed an obstacle and challenge for the player to overcome, I decided to make it into cute bird enemies. You know, to fit with the whole flying theme and I thought enemies would be a fun thing to do. I also found a video on Youtube that showed how to program this behavior, showed it to my team and they said it was perfect. So, I just carried on with that.
Programming this from what I can recall was actually kind of tricky. Putting in the enemies, getting them to work and spawn was easy to do. The issue came when trying to randomly spawn them in a pattern. I was still relatively new to programming using C# at this point in time, so the concept of arrays and what not was still a bit confusing for me. But, through pure willpower and a friend named Will who was good at math, I managed to figure it out. I even managed to make the random spawn modular, meaning that we can easily change it in the editor instead of having to go to the code and hardcode it there. Made playtesting and tweaking things really easy for the project later on as we hade multiple different levels and I could just tweak things in the editor easily to increase or decrease the difficulty for that particular level
Level Select
Now, lastly is the Level Select. CopterCat doesn't have many flashy and cool mechanics to show off, but it does have mechanics and functions that I included with purpose and intention that was needed for the game and assignment. We added multiple levels as way to show as part of the marketing thing on how we can retain players for a long period of time, on top of the gatcha. Having multiple levels allowed for us to show that the game is capable of doing special events or new levels to keep the game interesting and fresh for the long run.
The levels didn't have much of anything new to them. Pretty much everything was the same as the base level, we just changed the background, enemy sprites, and level music to give them the feel that it's a "different" level. We planned to have the enemies do different things and even include a boss in some of the levels for the players to survive, but time was again the enemy here and a week really wasn't enough time for me to do that on top of other coursework. So, the whole team just decided to settle on just changing the sprites, pictures and music for each level to make them different. To give credit where credit's due, my artist, Poh Qi Chuan really came in clutch with helping design 5 different enemies and level backgrounds in such a short time and would like to just thank him for that
With that all being said, that's all that I have to talk about CopterCat. It's a rather simple game to begin with, but it helped me so much in terms of teaching me not only how to design and program, but also how to work with a small development team. It was fun and we managed to make something cool. Even though we didn't win (There was like a competition to see who could come up with the best product for the whole batch. It went to a mop. Yeah, a mop. I know)
Comments