Development of Version 1.0
I basically started off this game with no idea at all, I just wanted to see how different Unity 2D was from Unity 3D (which is what I've always used before this). I had fallen into the common misconception that 2D games are a lot less capable and in general, worse, than 3D games. After losing a lot of motivation to complete my previous 3D game, I decided to challenge myself and try Unity 2D for the first time.
After messing around for a while, I ended up with a very basic sprite that could cycle through various colors on the press of a key. I still had no idea what I was doing, but I continued. I created something similar to a platformer, a gun system, and a very basic enemy AI system (which was fine tuned over time, it barely worked at first) which allowed them to patrol these platforms and attack the player when the player enters its vision. Whenever I code, I always make everything as versatile & expandable as possible to make it easier for future me to code and develop new things (which is why I love polymorphism so much). I designed an enemy class with tons of customizability, allowing me to copy paste the enemy, change anything I wanted, and simply drop it into the scene and it would work. The color cycle system was also super expandable, allowing me to add a color to a list in the Unity inspector, and it would be fully implemented and added to the player color cycle with zero issues. Then I realized this game had some sort of potential but I wasn't sure what to do with the color cycling I implemented at the very beginning. I decided to allow the player to "claim" the platforms if there were no enemies on them (this took a really long time to get right). Still, with no idea how this claiming would benefit the player in any way, I took a break.
The next day I randomly came up with the idea that each of these platforms would have a specific multiplier attached to them. The player would begin with a specific default multiplier for various statistics (attack damage, defense, regeneration) and claiming these platforms would increase those multipliers. This incorporated a bit of strategy into the game as well, but to make use of the color cycle and add more strategy into the game, I decided to make it so the player only gained the multiplier of the specific color they have equipped. This forces the player to think about which platforms they should claim with which color.
In terms of enemies, I decided to name them phantoms and created a list of all the phantom types:
- Basic Phantom
- Hyper Phantom
- Radiant Phantom
- Nova Phantom
- Stellar Phantom
- Quantum Phantom
- Quantum Elite Phantom
- Void Phantom
- Galactic Phantom
The first level only contains the basic and hyper phantom, but due to the expandibility of the enemy system, I will be able to add new phantoms very easily.
The art for the game was done entirely by me (except for the scrolling background image, free asset from unity asset store). I really hate doing art & UI for games, but considering this was a 2D game with a pixel theme, I forced myself to sit down and actually make some decent art (it turned out terrible but I still ended up using it). I used paint.net for this, which I really enjoy using because of the various custom effects you can get from the community. I didn't spend too much time on UI, but I wanted to make it very responsive, so I added a hover and underline effect to the buttons. I didn't have time to find audio for UI and the game itself, but managed to find some royalty free music for the game.
During the development of this game, I ran into a LOT of bugs, but one sticks out to me the most because I decided to keep it as a feature. The method I used to do the ground check allowed the player to sort of mantle onto platforms, which I liked because it gave the player access to platforms they didn't think were accessable, allowing for more level ideas. I ended up spending more time fixing bugs with the game to improve user experience than actually developing the game and its mechanics, but I am proud of where the game ended up.
A hidden mechanic that I will list here is if you hold down jump, you can actually jump higher than if you let go.
The consequences theme was implemented through the player's strategic choices of claiming platforms. The player might regret claiming a platform with a certain color (like red/attack, for example) when they reach a specific enemy (one that deals a lot of damage). This will become even more apparent later in development when boss battles & special enemy types are implemented.
I wanted to try my best to implement the easter egg in my project with the time remaining, so I made a vault with a four digit code. Each of the digits were hidden in corners of the map, and different maneuvers were needed to find them. I'm not going to mention them here to avoid spoiling the game, but if you manage to open the vault, it contains the easter egg that will give you a permanent bonus.
Sadly, currently, there is only one level (I wouldn't even consider it a level), but now that I've finished all the basic mechanics, I can begin making levels with different unique characteristics (like the vault).
A few of the struggles I experienced throughout this development process were the tediousness of making spritesheets for animations of guns and the player. To add on to this, making the player itself took forever because I was trying my best to fit it into a 16x16 image. I also had to spend large amounts of time thinking about the most efficient way to implement things like enemies, the gun system, and the general flow of the game in a way that makes it easy for the user to understand.
Throughout this whole experience, I was using Taskade to track to-do items, bugs, ideas, as well as mechanics and important things for me to remember later.
Overall, I am very proud of what I accomplished in this time frame for this game, as well as the fact that I had constant motivation to develop, which I often lose on my other games. I learned a lot about Unity 2D, art, UI, and organization and will definitely use this knowledge in my later projects. I will definitely be continuing development on this game though.
Get Color Clash
Color Clash
A strategic 2D Unity game where you claim platforms, defeat enemies, and gain multipliers to enhance your abilities.
Status | In development |
Author | Vevaan |
Genre | Platformer, Action, Shooter, Strategy |
Tags | 2D, Pixel Art, Real time strategy, Singleplayer, Tactical, Unity |
Languages | English |
Accessibility | Subtitles, Interactive tutorial |
Leave a comment
Log in with itch.io to leave a comment.