Gareth, aka. Spirited

Specialized in network programming and distributed service architecture

Thanks for taking an interest in my projects! If you’re new to my work, then here’s a little more about my background:

I started teaching myself game server programming as a hobby back in high school after joining the Conquer Online private server community. It was around that time when I decided to drop my acceptance to a four-year university in graphic design and marketing to pursue my interests in programming and computer science.

During my community college years, I made friends with likeminded engineers and professors who helped put a roof over my head, gain self confidence, and become financially independent. The college hired me as a lead tutor and lab administrator after my second year, and I eventually broke into the software industry a year later with a paid internship in industrial automation software. It was at that internship and in that college’s lab where I discovered interests with new friends and now current colleagues.

In early 2017, I graduated from a four-year university with a bachelor’s degree in Computer Science; and today, I work in the game industry for the company that inspired my commitment to quality since the very beginning. At the end of the day, I couldn’t be happier with my current role and where it’s taking me, and I’m so glad I took the initiative back in high school. I lead each day with a desire to continue learning and brighten the lives of players around the world through software and entertainment.

Grinding experience

These are the skills I spend time refining professionally and in my free time...

Microservice Design

Cloud computing and cloud microservices have been my primary focus for the last decade. Most of my professional and personal projects involve service APIs and game server architecture. Currently, I work on game services professionally in C++ and personally in Go. I also have experience writing services in C# and Java using various frameworks.

Big Data Analytics

Part of by background experience with Business cloud software had me working on big data pipelines for call prediction machine learning using Spark and Hadoop. During this time, I wrote Jupyter notebooks for transforming raw input data from an IoT device ecosystem and extracting structured data into data lake storage solutions.

Database Architecture

Most of my projects in high availability require sophisticated persistent storage solutions for organizing and relating data. Outside of document storage solutions, I use distributed relational databases to partition and index data for critical high concurrency search systems, such as player matchmaking and game server priority queue sorting.

Shell Tooling

Though some of my tools explore graphical interface design, most rely on elegant command-line interfaces for script-ability. Projects posted here are usually command-line to help support graphical tools, such as game map editing. Currently, my tools are written in Go to expand on its robust networking and parallelism constructs.

Got a burning question?

I've got answers! Here are some quick facts about me...

Why snow leopards?

Animals are globally identifiable by their unique traits and characteristics. Snow leopards started as an avatar theme to describe my online presence. Their energetic and fun personality became characteristics I aspired to. After a decade of using the ghost cat to mask my identity online, I suppose I also enjoy the familiarity.

Why the game industry?

Games serve many purposes in modern art and entertainment. They can tell a story, invoke powerful emotions, bridge international communities, and capture a culture. The field itself comes with many challenges: from complex software system architecture to in-game microeconomics. There’s never a dull moment in developing games.

How did you get started with programming?

I first picked up the basics using online tutorials, and then dove head first into a game server project by writing NPCs and fixing game feature bugs. The learning curve was steep, but I took small steps at a time and eventually took myself to college to solidify and refine those skills.

What games do you play?

I’m a big Nintendo fan, and love playing the newest installments of Legend of Zelda, Animal Crossing, Pokémon, Mario Kart, and Super Mario! I also love playing multiplayer games such as Borderlands, Diablo III, Guild Wars 2, and World of Warcraft with my friends.

What are some of your other hobbies?

As you dig through my projects and posts, you might notice that I have a lot of hobbies. Just to name a few, I love photography, illustration, painting, 3D modeling, video production, computer hardware, gardening, and of course, making games and authoring table top campaigns.

How can I get in contact with you?

I appreciate your interest; however, I prefer that you reach out to the community. I set up some forums to help with that, and I moderate them very strictly. It’s a safe space for those just learning programming and for veterans of the game development community.