A portrait of Owen Ayers

Hello!

I’m Owen, a diligent, team-oriented programmer who uses efficient coding skills and innovation to design new interactive stories. I’m always striving to learn more and work with others to create unique and unforgettable experiences.

Icon of two people talking

reaching goals together

Throughout my education, I have worked in teams to invent original games and meet tight deadlines. I have acquired many valuable skills during my game development journey, such as:

  • Organizing complex and dynamic file systems through robust version controlling and use of file software such as Git
  • Positive and resourceful problem solving while working in a group
  • Arranging teams and leading through time-sensitive projects with the use of Agile Development
  • Efficiency in learning object-oriented programming (C, C++, C#, and Java)
  • The ability to maintain a positive attitude and always strive to learn and improve
Icon of hard-working person on computer

Demonstrable Growth

As a developer, I know that the field is constantly changing. The ability to quickly learn new software is a valuable skill that I have established. 

The following is the list of relevant software I have experience using.

  • Unity
  • Microsoft Visual Studio
  • GitHub Development Platform
  • WordPress
  • Adobe Creative Suite (Photoshop, Premiere, Animate, Illustrate, XD)
Icon of open book

It’s NOT JUST VIDEO GAMES

Although developing interactive games is my passion, throughout my education, I have learned to use my development skills towards additional educational pursuits.

Game play of Big Bang Baby. The player is throwing around the Alien and catching it.
Click GIF to watch full game play of Big Bang Baby

AN intergalactic VIRTUAL REALITY CO-OP GAME OF CATCH

The objective of the school project was to make a multiplayer game in Unity with the help of PUN 2. From there, my group came up with a concept of playing a game of catch in virtual reality, where successful catches would progress you further in the level.

As the main programmer, my responsibilities included:

  • Allowing two people to connect to a network within Virtual Reality with BeardedNinja’s VR Interaction Framework
  • Developing multiplayer code to display a unique set of textures for each player, visible to the local user and the additional network player.
  • Adding the accessibility option for the player to switch between right-handed mode and left-handed mode. The local player’s multiplayer representation gets updated for this change as well.
  • Adding additional accessibility through subtitles being displayed inside the VR space for the player and on the desktop monitor for spectators. Subtitles are read through a data file and have the ability to be toggled on or off by the player.
  • Creating an array of positions for each player to teleport to only when they catch the object from another player. Implemented methods to ensure a player could not teleport further by catching their own thrown ball.
  • Added buttons to open doors synced over the network including one pair of buttons that must be pressed by both players to continue.

My biggest learning curve in this project was developing the multiplayer networking. The process was completely new territory for my group, and I volunteered to take full responsibility of configuring the network. In the end, I was able to get everything working. I still have a lot of learning to do with networking, but I was very proud that I was able to get it working so smoothly. In the future, I would love to do more networking and improve my skills with the process.

A NEVER-ENDING TIME TRIAL RACE AGAINST YOURSELF

My objective this game was to recreate the Speed Lap mode from the racing series Wipeout, specifically the one in Wipeout 64. The mechanics of speed lap rely on the player completing a lap as fast as possible. Next, a “ghost” vehicle appears and emulate the players movements from their fastest lap. The ghost vehicle only gets update when the player completes a faster lap.

While working on this solo project, I accomplished many tasks, including:

  • Implementing a physics-based vehicle inside of Unity using real world calculations of acceleration, drag, and springs.
  • Creating a recording system for the players lap by creating a dynamic list of a custom class containing positions and rotations of the players car.
  • Using conditional logic to either update or repeat the ghost’s lap based on whether the player has obtained a lower time than their fastest lap.
  • Building a modular checkpoint system to keep track of the player’s progress through the map and preventing lap completion if the player skips any part of the map by going out of bounds.

The main component of this game is the ghost vehicle system, and implementing it perfectly was my biggest accomplishment in this project. It took me a lot of understanding of lists in C# to be able to complete my goal, as research on this concept inside of Unity was close to non-existent at the time of development. It strengthened my ability to think outside of the box and work hard to fulfill a self-imposed assignment, despite it feeling out of the range of my current knowledge.

Game play of Daemon Drifter. A car races behind a transparent ghost car.
Click GIF to watch full game play of Daemon Drifter
Game play of Chaos Cavern. Two miners are jumping around the level's platforms to reach crystals.
Click GIF to watch full game play of Chaos Cavern

A CHAOTIC TWO-PLAYER PLATFORMER

This game was created in the GMTK Game Jam 2020 with a deadline of 48 hours and the theme “Out of Control”. In that time, we developed a co-operational game where each player has to get to the same platform to mine the gems and gain a point with the additional challenge of having to maneuver around the caves mystical powers which makes things out of control.

As the main programmer, my responsibilities included:

  • Working with teammates to brainstorm ideas and implement them appropriately.
  • Developing a platforming character controller a snappy control system
  • Creating unique gameplay effects included with a random number generator to add challenge in the game loop.
  • Organizing code through comprehensive documentation to clearly share work and ideas with other team members

This game jam was created with four other friends and is a testimony to my collaboration skills. I had worked on many group projects before this one, but the strict deadline was able to put our team-working skills through the test. We were able to complete all our goals due to our coordination and our active attempts to eliminate scope creep. We made something we are still proud of today, all while being in our separate spaces during the quarantine.

A TOP-DOWN ACTION GAME WHERE STEALTH IS KEY

The goal of this school project was to make a game in Adobe Animate’s Flash that demonstrates the use of a State Machine. The inspiration for both the game’s art design and gameplay comes from Hotline Miami. This was one of the first games I have ever made, and the final project for my first semester of GIMM.

As the main programmer, my responsibilities included:

  • Creating a robust movement system with keyboard controls paired with an aiming system via moving the mouse.
  • Researching and developing the use of a State Machine used to make enemies patrol the room, chase and engage in combat, and go back to patrolling after losing the player.
  • Implementing an interactive environment to create events the player must go through to complete the game.

Conclusively, this game was my first dive into what it was like to be a game developer, and influenced my desire to work with others in a team. Additionally, it gave me a good lesson on dealing with scope creep. In the end, we were able to effectively tone down a lot of the more complicated gameplay mechanics, while also being able to make a functional and fun experience.

Game play of Sneakurai. A samurai is exploring a house while avoiding guards.
Click GIF to watch Sneakurai’s full trailer