SMU Guildhall Graduate Catalog 2025 | Page 84

Cubikki, a Networked Voxel Game

Omar VAIKNESS

Software Development

Cubikki, a Networked Voxel Game

Cubikki is a game running on a custom engine built from the ground up in C ++ and Vulkan. I wanted to create a game using a scriptable component-based actor system and a modifiable voxel world.
I chose this project because I wanted to create something that was robust enough to support a wider range of creativity and to challenge my skills as a developer. I felt a need to pursue this project because similar projects were missing the functionality I desired, namely in graphics and user-generated content.
My project supports mesh-skinned skeletal animation including animation blending, a PBR and material system, a spatialized audio system, a data-oriented component system with actors, multithreaded job scheduling, multi-client networking, and procedural voxel world generation and rendering.
I have worked on this project for six months, but I have been studying and learning about engine development and voxel game strategies for two years. This project is the culmination of my knowledge, designed from the desire to create something that I could share with others.
The project grew me as a developer because it provided enlightening lessons on adapting software to integrate with newer graphics APIs, which require a much different way of thinking than older APIs like OpenGL. It also helped me to understand how making assumptions about my use case would make it easier to structure certain systems. I learned that the more robust I wanted to make my software architecture, the more cases I would have to support.
84 SOFTWARE DEVELOPMENT