Hello! I'm Dominic, but most people call me Dom. I am a programmer based in Southern California, originally from Northern California. I recently graduated magna cum laude in Computer Science from San Diego State University, with a minor in Mathematics. Some of my hobbies include walking my dog, playing video games, and snowboarding.

Explore my website and delve into the world of my creations! Here, you will discover my passion for game development and my dedication to creating immersive experiences. I have collaborated on various games, showcasing my ability to bring ideas to life and engage players. With a strong foundation in computer science principles, I have expertise in multiple programming languages, including C, C++, C#, Java, and Python. From solving intricate programming challenges to crafting captivating gameplay, I enjoy every aspect of the development process.

Thank you for visiting my website. I invite you to explore my projects and connect with me for collaboration opportunities or inquiries. I look forward to connecting with fellow developers and creating amazing experiences together.



Procedurally Generated Mesh

C# Unity

This scene generates a fully formed mesh with accurate normals and a suitable collider. The vertices of the mesh are dynamically updated using a combination of Perlin noise and a cosine function.


C# Unity

A fully functional 3D simulation which implements a GUI that allows for three different flocking behaviors. One behavior selects a random point as a destination, continually updating it once the point is reached. Another follows a predefined shape, in this case a circle. The last one has the flock follow a leader.

3D Group Game

C# Unity

A group project centered around game development. Our first step was to produce a Game Design Document (GDD) that served as the blueprint. The GDD outlined core gameplay mechanics, visual style, audio elements, level design, and storyline. Collaboratively, we brainstormed ideas, prototyped gameplay mechanics, implemented sound effects, and iteratively tested the game. Effective communication, task delegation, and regular team meetings were essential throughout this process.

Procedurally Generated Terrain Editor

C# Unity

This script creates a Terrain Editor object that generates procedural terrains for 3D worlds. The Editor allows you to control the height of hills and dynamically updates the terrain using a variety of functions, including sine and cosine waves, random heights, and Perlin noise. With this tool, you can easily shape and customize terrains to bring your virtual worlds to life.

Questing System

C# Unity

A Quest System that implements three quest types: kill, gather, and activate. This system incorporates a range of quest states, such as Pending (not yet able to accept), Unlocked (available but not accepted), Progress (quest in progress), Completed (not yet turned in), Done (successfully turned in), and Canceled (removed).

This Website


A website built to showcase and share some of my games and projects. By sharing my work on this platform, I invite feedback, discussion, and collaboration from fellow game enthusiasts, industry professionals, and potential collaborators, fostering a sense of community and driving further growth and development in my creative journey.

Command Line Interpreter


A program written in C for a simple command line interpreter for a UNIX system. It uses lexical analysis to interpret user-entered commands and handle I/O redirection.

Semaphoric Gym


This coding assignment provides a simulation to explore the effects of semaphores, concurrent tasks, and shared variables. The assignment revolves around managing a gymnasium where two distinct groups, Joggers and Basketball Shooters, desire to use the facility concurrently. However, it is not permissible for both groups to occupy the gymnasium simultaneously.

Wordle Helper


This program parses command-line parameters and emits possible solutions to a wordle game. The first argument specifies the letters that are present in the target word, while the second argument allows exclusion of specific letters. Additional arguments enable precise location-based filtering, enabling users to define where certain letters are or are not positioned within the word.

Wireless Lock


A group project focused on a locking system that can detect RFID (radio frequency id) keys up to a maximum range of one inch away. The system keeps a list of authenticated phone number and RFID pairs for two factor authentication.


linkedin logo github logo itchio logo