Bowling Remaster

 

When I first began learning Unity development, I was following a course on Udemy "Learn to program by making games in Unity 2D." In that course, I was taught to make a very simple bowling game as my first ever full and 3D game. Years later, I've decided to revisit many of the games and apps I made earlier on in my learning process and remake them with my current skills and tools. This bowling app remaster will be the first in a long journey. This game has been upgraded from the code to the environment while referencing the original and reusing code that holds up today. This game will be my second available app to be purchased.

Main Focus

I am working on this project with my Unity: Core project, so the foundations I built for this app will be reusable for many of my other apps to come. The intention is to build a solid foundation for bowling in a simple environment, with the ability to be developed with more interesting rules and mechanics in the future. In addition, the environment can be swapped out or reused for other ideas as well. Everything about this app is a stepping stone towards larger goals.

 
 

Bowling Remaster gives players a familiar bowling experience within a space-themed environment. With VR, anyone can enjoy having a bowling alley in their home.

The Process

Because the original bowling game made use of a star-filled backdrop, I leaned into this with a spaceship-themed interior Bowling Alley. I also upgraded the game from being a desktop game to an immersive VR experience.

One of the unexpected challenges with this project was that the original version was made at a 100x larger scale, and much of the code was hardwired to work with this in mind. I ended up rewriting all of the bowling functionality from scratch, but I was able to keep the scoring system from the original. While reworking the logic of the game, I altered the setup so I could have multiple distinct lanes side by side without them interfering, which is something the original code could not support.

During development, I tested new tools for building the scene environment. Specifically, I started with Unity’s Probuilder tools to create a simple prototype of the scene, then used Octave from the Unity asset store to build the final polished version.

While working on this bowling game, I felt the area needing the most added polish would be sound design. I have a strong understanding of sound design for XR, and have implemented it in previous projects, such as Air Hockey. With XR, sound design requires higher standards than a traditional desktop game experience and is significant for creating deeper immersion. I am working on a high-quality sound design pipeline for use on many future projects. As such, I am researching all of the available tools and assets to make this happen.

Completed Project

When playing this Bowling Remaster, the player is placed in a space-themed scene with three lanes to use. The player can relax and enjoy a nice ambiance while challenging their best scores. With physics-driven hands, the player can sense the weights of the various bowling ball options.

Conclusion

Through developing this game, my goal was to assess how much I had grown as a developer and to set my sights on larger ambitions. It was very rewarding to connect with my roots. As a developer, it is easy to always look ahead at how much more there is to learn and create. This can feel overwhelming with the scale of topics to learn in computer science today. By looking back at some of my earlier code and improving upon it, it is clear how much I have improved. It is important for a developer to take time to look back and revisit their projects and ideas to get a sense of perspective.

 
Christopher DiCarlo