VELOCITY, is going to be a geometry-themed side scrolling infinite game where you can change your color by pressing various keys, different colors being mapped to different keys. The goal is to match your color to the randomly colored tiles below you. 'X' mistakes, and you're out. You can pick various upgrades on the way such as 'The Slo-Mo' and 'The Decolorizer', which I will talk about below.
DAY 1:
Started off the first day 2 hours after the Game Jam started.
Here's what the To-Do List looks like for Day One:
With that being set up, it was now time to rock and roll !
Since I was alone in my team, I started right off the bat by making graphics in PhotoShop(PS). I'm quite okay with PS and because the theme is "geometrical" all I had to draw were a few shapes. Without spending much time on it, I made these shapes in PS:
For the player, I made a small white colored square. Why white-colored, you ask? Because Unity can change sprite's color via SpriteRenderer only if the sprite is originally colored white.
I was able to quickly find great color combinations and schemes from the free website Coolors. Highly recommend checking it out.
For the font, I downloaded one called 'Velocity' from dafont.com and yes, you're right - that's where the game's name was inspired from ;)
Graphics and Color Scheming
Font Decision
Note: The strikethrough means completion of the task xD
For Movement, I quickly coded a script where the player's position(transfom.position) increases every fixed frames a second, times the moveSpeed which I could manually configure in the editor. Here's the code for movement:
[SerializeField] private float moveSpeed = 2f; [SerializeField] private Vector3 moveVector; void FixedUpdate(){ moveVector = (moveSpeed, 0f, 0f); transform.position += moveVector * Time.fixedDeltatime; }
Movement
Instantiation of random tiles was a bit tricky.
I created an empty GameObject named TileSpawner and attached a script into it. The script makes it so that the 'Tiles' prefab, which were of three different colors (for now), is spawned at TileSpawner's position whenever it is called. Now, all I had to do was spawn TileSpawner, and it would spawn random colored tiles at it's position.
Hence, I made a circle collider along with the TileSpawner prefab. Whenever the player collides with the collider, it causes a new TileSpawner prefab to spawn at a certain x-position ahead of player's position. Boom, done! Worked flawlessly, at least for now.
Instantiate Random Tiles
For Death mechanic, I had to check if the tile's color matches with the player's color, which was quite easy.
I attached a script in the Tiles prefab. The script checks it's color and the player's color by accessing it's SpriteRenderer component. If the condition is false, it would cause death. Simple as that.
Death Mechanics
For Controls, I assigned the following key mappings:
A - change color to red
S - change color to green
D- change color to blue
Space - jump
Controls
Finally I added a score functionality and 5 lives to start with. 5 color mismatches and you're out!
After scoring 10, i increased the player's speed and this added a bit more thrill to the game :)
Final Touches
At the end of Day One, here's what the game looks like: VELOCITY, alpha version
All in all it was a great experience and I'm really satisfied with what I made in my first day. I will keep this DevLog updated as I go along.
Thanks everyone! Feedbacks highly appreciated.
Also, does anyone know how to get rid of the "Trial Version" at the bottom right? I'm using Unity Personal. Didn't have this before but after I updated to the recent version, it started showing up.