
Software Engineer
Systems / UX Designer
4th year at Rochester Institute of Technology
Experience:
Languages: C++, C#, GDScript, HTML/CSS, Javascript
Engines: Godot, Unity, Unreal
Tools: Github, Trello, Jira, Inkscape, VS Code
Email: ryan@duick.com / rad8555@rit.edu


Overview
A physical card game where players try to collect as many fish as possible! In order to play cards, you need to discard cards from your hand. The fish aren't collected until the round ends, so you need to defend them until then! This game was originally designed as a solo project, until I decided to co-found Primary Colors Studios and turn it into a full-fledged video game!
Challenges
I spent a lot of my time on this project balancing the cards and making the cards readable and intuitive. Initially, the game was much more complicated to play. I simplified the game a lot and playtested a bunch of different card mechanics until I figured out what worked for this game. Overall, I learned a lot about making physical games, and games in general, from this project.
After this project switched over to a team project, I gained a lot of experience with directing and game production. As the game was almost finished design-wise, I focused on properly reimagining it as a video game. Since I ended up working on this project full-time for 3 months, I ended up learning how to properly balance my time and work on a larger scale project. This includes standard things like organization and documentation, but also the less discussed subjects such as team motivation. Overall, I gained a lot from this project and it taught me how to work on larger projects in the future.


Overview
Run around a dark world, with the only source of light being the muzzle flashes from your shotgun and the occasional pyre that you might find. Oh, and the eyes of some monsters too. Try to live for as long as possible, and you might just run into something a little more dangerous than the average deer. I was the main programmer on this project.
Challenges
This was the first proper game that I had ever finished, having only attempted much larger or more experimental projects before. The menus, screen transitions, and various other elements of polish took more time than I had expected. I also learned about lighting in Godot, which really made the whole game come together and give the player a sense of dread and unease.


Overview
A platforming reverse-roguelike where the player starts the game with a lot of abilities and gets weaker after each level. The player must reach the goal in a level in a limited amount of time while dodging enemies, and at the end they receive a choice of a few different abilities to downgrade. I was the main programmer and level designer on this project.
Challenges
The main difficulty of this game was in production, with scheduling and scope being the main factors. While this game jam lasted a month, it was over the holiday season and we realized ~2 weeks in that our original plan for the game (a bite-sized metroidvania) wasn't finishable in the remaining time. We shifted the entire scope of the game, adding randomized elements and a timed goal. Ultimately, design fell by the wayside as we were focused on turning what we had completed into a playable game rather than spending a lot of time on the details of the gameplay.


Overview
First person shooter where you play as a child running around in your dad's office with a stapler. This game was made for Global Game Jam 2024 over 48 hours. I was the main programmer on this project.
Challenges
This was the second 3D game that I had ever worked on, and going in I was aware of some issues that I wasn't able to solve in the first game but wanted to solve in this one. The most important thing was loading, as the other game I made was unplayable online because of the large loading times. I fixed this by loading the game in the background of the main menu using multithreading. The other big issue I faced was getting the stapling logic to work properly, as it needed to rotate the enemy in the right direction and move the enemy flat against a wall at the proper angles. This was also my first time using 3D models in Godot, so I needed to figure out how they worked.


Overview
A sound-based FPS platformer where the goal is to collect as many CDs as possible while the ground disappears beneath you! Run across the tiles, being careful of where you step, and shoot enemies using different types of waves. I was the main programmer on this project.
Challenges
This was the first 3D game that I had ever worked on. Learning how 3D worked wasn't too difficult, although Godot's viewport system was a little hard to get used to due to certain bugs that it had. Aside from those things, the movement ended up being a little weird because my implementation of walljumping wasn't very great. The biggest challenge was navigation, as Godot's built-in navigation systems weren't documented very well for what we were trying to do. Ultimately, the navigation resulted in very long load times that made the game unplayable in the browser.


Overview
A pinball game where you only get one life, but scoring 1000 points by hitting various bumpers or hydra heads gives you another ball. Try to balance 8+ balls all at once!
Challenges
For this game, I wanted to make something short and simple, and used it as an excuse to learn more about physics in Godot. Ultimately, I underestimated how difficult it would be to design a pinball machine. It took more time than I thought, but it was pretty fun and turned out well! There was a lot of last-minute polish that had to be done to clear up a few bugs involving the physics system and the balls clogging the drop track.


Overview
A top-down shooter where you try to expand a zone and survive for as long as possible! Various types of blobs will come in from the sides of the screen, and if they hurt you enough times, you die. But, if you stand inside the zone, you can move and shoot faster than normal!
Challenges
For this game, I mainly focused on the design. None of the other video games I had worked on had a very good gameplay loop, because we hadn't spent too much time considering the design of those games. For this one, since I didn't want to give the player a multitude of different weapons, I figured that the best way to make the game interesting would be with a variety of enemies. I added explosive enemies that could help the player, as well as an enemy that didn't damage the player but forced them to move. This worked, and the game turned out well because of it!