In the page, I show the timestamp of each day to show how excruciating it is to make a game.
Every day, I spend at least 1 hour to work on the game.
I hope you enjoy reading it:)
During this time frame, I get to create the game narrative and do the game design of Fixing Bob. I also get to spend time to figure out the low-core mechanics of the game.
Reflection: Should have spent time trying it out on unity instead of working it out in the head as the expectations and reality are often different as you soon see.
As my game is about gears, I decided to quick get started. I went and used the Gear factory unity asset to create the gears and decided to figure out how my gears are going to move.
What I had completed:
Made the gears to start rotating
Started working on the Joint to connect the gears
At this point of time, I had already created the Joint and layers so that the gears can interact with one another. Which will make even more complex puzzles for player to play! I also manage to create different layers for players to toggle between
What I had completed:
Joints
UI buttons to toggle between layers
Layers
This is by far one of the most brain breaking part of the development. The code I wrote to rotate the gears will ultimately reach stack overflow as it based on recursion. After implementing the joint, unity engine have to do more recusion which causes the problem.
I did 4 iteration of refactoring and problem solving but none have solve the problem. After much frustration, I decided to skip this part and move on to UI
During this time period, I create the basic UI to play the game. This include the gear menu and gear button. I also have buttons to toggle between layers, delete gears and close the gear menu.
What have I Completed:
Making the UI component of the game
I was quite proud as I figure out a solution to mine problems after nights of dreaming about it. I manage to get both the Gear and Joint working in one try (though there where a lot of bugs)
What have I completed:
Making sure the rotation mechanic works in the game.
During this time period, I had to debug a lot of the code. I also made a bunch of optimizations to make it work smoother. This meant refactoring the code I work and trying to come up with better solutions to make the code run faster. I talk more in functionality.
What have I completed:
Improving scalability of the game
I decided to make the game a bit more interactive. I added three new gears, show the progression of player and making the gears change colors. During this time, I also made some developer tools for myself to make the level design easier.
What did I complete:
Improving workflow to create functionality.
Improve the gear UI
During this stage, I decided to make the game's layout. I decided to use Unity Tilemap as it is easy to use. I use Tile rule so that the layout can be easily created and played around.
What did I complete:
Make level Layout
During this stage, I decided to make the game's layout. I decided to use Unity Tilemap as it is easy to use. I use Tile rule so that the layout can be easily created and played around.
What did I complete:
Make starting and level Scenes
During this stage, I decided to add a new gear called the one directional Gear. It is a gear that rotates in one direction. I also had to make significant changes to the gear script in order to get the gear stop if they try to rotate the gear in the opposite direction of the one direction gear.
I had to solve a pretty big bug in my game where the gears do not seperate as what I want it to. I initially use Collider.distance() to do separation but it does not seperate it properly. Therefore, I had to use a bit of math to seperate the gears. (Had to pause for a while due to medical reason)
I decided to add audio to the game to add more juice. Also at this time, I also did some refactoring of the code so that the different components can play audio
I decided it was time for me to get started with the level design. So I decided to create two levels and see how fun it is to play it.
What did I complete:
2 levels (level 1 and 2)
During this time, I work quite a bit on the seperation function. Though there were many trials and error, I eventually manage to get it to work. I also went ahead to debug several bugs along the way
I decided to make the game a bit more interesting with the obstacle gear. Gear that can remove an obstacle for players to access different part of the map. This was meant to make the final few levels harder with an extra layer of difficulty
I also decide major tweaking of the music (adding sliders for players to change the music volume)
At the last stretch, I decided to add a bit more elements to make it feel like a game (like adding a tutorial). Did some run throughs to see if there were still any bugs left to fix (there still is)
All I did was adding documentation in my scripts. This can be seen in my GitHub repositories