December 2023 - May 2024 | Godot 4| 2 developer team
Game designer, Programmer, Sound Designer, Composer
Pebbles' Presents is a whimsical workshop management game where Pebbles the penguin works in his workshop to make gifts for his friends on Christmas.
This game was initially created as a part of the Jame Gam Christmas Edition: a Christmas-themed game jam that lasted for one week. Of the 238 entries in the jam, Pebbles' Presents had the honor of receiving 25th place overall. The original game jam submission can be found here.
The game was later updated to be ready for commercial release and will be available on CoolMathGames.com on December 15th, 2024. The updated build can be played here.
The game jam required incorporating a special object into the game that was announced at the start of the jam; the object was an anvil. After some iteration, me and my partner for the game jam decided to develop a dating sim which took inspiration from the café minigame from Kirby and the Forgotten Land and Papa's Pizzeria. While the dating sim aspect got quickly descoped out, the gameplay was still at the core and needed to be developed.
We decided that the process of making orders for customers would span several stations which would be swapped in and out of to perform different tasks. Initially, the idea was to have an elaborate scene switching system where each station was a scene prefab that would be spawned and despawned as the player swapped between the stations. This approach proved to be with issue, however, as spawning a scene would necessitate a master game manager that held a station's data which the prefabs would read from. This proved to be too cumbersome, so I decided to make each station simply toggle it's visibility and show a transition effect to change the scene.
Two weeks after our game was released to the game jam, we were contacted by a representative at CoolMathGames to see if we would give them a non-exclusive license to host our game on their platform. We were excited at this opportunity and started working diligently to make the game fit to release commercially. One consideration we had to make was getting the game to work for mobile devices. The initial build had, admitted very clunky, keyboard controls, so we added buttons to the top of the screen where clicking one would send you to its respective station. This change proved to be more streamlined for even mouse and keyboard players, so it was a brand new feature for the game.
One setback that heavily impacted development was our usage of Godot's web export. At the time of development, the latest release of Godot was version 4.2, and a big drawback of using Godot for web games was that all web exports were multithreaded, meaning that all Apple devices and a few web browsers were incapable of running the game. This was obviously not good for ease of accessibility, and there was no way to change the export to use single threading. After several hours of problem solving, I ended up finding an experimental build of Godot 4.3 which included the ability to use single threading with little to no issues after messing with the export settings.
The last thing that had to be done was to incorporate CoolMathGames' advertising API into my game to allow it to interact with the site's ad services. The given documentation for Godot was referencing Godot 3.5, but after a little bit of debugging, the game worked with ad breaks and was ready for commercial release!
In this project, I was the sole programmer, sound designer, and quality assurance tester. This was my first commercial project so that came with a lot of learned lessons. Most importantly, I gained a lot of experience with coordinating and interacting with other teams to make a retail product. CoolMathGames takes a lot of pride in hosting games of high quality, so as developers, me and my partner were given a lot of feedback that we iterated on to make an overall more polished product. It was very invaluable to learn how to take feedback, as a majority of the insight were great ideas, but also there were some ideas that I suggested. A big learning point in my communication skill revolved around me learning the best way to interact with others, especially who are not on the team and who doesn't have insight on how things work behind the scenes.