About Me

Hello there! My name is Andrew, and I am an independent multi-faceted game designer and developer. Making games has always been a major interest and passion for me, and I've wanted to make a career out of it since I was very little. I graduated from the game design and development program at Rochester Institute of Technology in May 2021, and over the past few years, I have gone above and beyond my curriculum with many side projects to build my skills and teach myself new design and development concepts. I specialize in the Unity game engine, which I currently use for most of my projects as well as the various virtual reality and artifcial intelligence experiments I have been doing recently. Outside of developing in Unity, I have a lot of experience in web development and general software architecture programming, and I'm always willing to challenge myself to learn new aspects of both. Feel free to reach out via this site's contact form or my e-mail if you have any questions, and thank you for stopping by!


LinkedIn:
andrew-brook
Phone:
(339) 933-6245

My Projects



Stoutheart: Broken Spirits

Role: Development Lead

Date: January 2020-Present

Engine: Unity3D C#


Project Description

This game is the biggest indie project I've ever worked on, and my game studio's main ongoing development product. Starting as a simple school project I led a team on in a Production Studio class in early 2020, this procedurally generated roguelike souls-like has since grown into a legitimate independently developed game that I went as far as to form my own company Dark Ring Studio to formally work on it. A love letter to FromSoftware's Soulsborne series and popular roguelikes like Dead Cells, the game is a complex fusion of the two genres with the unique spin of it being fundamentally built around the mechanic of dynamic enemy possession. My role on Stoutheart was and continues to be a major responsiblity for me, as being development lead not only means managing the workflow of the studio's 4 other developers, but also being the game's main programmer. After nearly three years of development, I have programmed everything from a complex AI system utilizing a hierarchical task network, core gameplay managers, character action systems/animation pipelines, item databases, and a JSON-based save system for storing data across runs. This project continues to provide an outstanding learning experience for me as I tackle all sides of professional independent game development, and I always love coming back to it in my spare time!


Screenshots


View Site

Vocaroo Chorale

Role: Independent Designer and Developer

Date: March 2020

Engine: HTML Canvas / Javascript


Project Description

This fun audio visualizer was made for an assignment in my final Web Design and Development class during my Junior year at RIT. Utilizing HTML's Canvas API and web audio API, this application reads and interprets audio data in real time and uses that information to color, scale, and position various composite shapes. While I was only really required to draw a few rectangles and have them rise and change color based on the average calculated from the audio analyser node, I decided to have more fun with it and have little capsule characters I dubbed "Vocaroos" to move and "sing" along with the audio. This is definitely the favorite out of all the web projects I've made over the years for its appearance as well as how much it taught me a lot about how I can work with data across multiple web API's in a single application, and it provided a perfect early playground for experimenting with what you can do with HTML's Canvas API.


Screenshots


Play

Sword of Faith

Role: AI Designer/Developer / Tech Artist

Date: November 2019-December 2019

Engine: Unity3D C#


Project Description

This game was made for the final group project in my Game Design and Development class during my Junior year at RIT, and it helped enforce my skills in rapid prototyping. This two player cooperative arcade game required me to simplify my usual system for artificial intelligence architecture, and introduce horde-like enemy behaviors. In addition to programming AI, I was also responsible for handling player combat, which I handled through the use of melee hitboxes that are synced to activate during attack animations via animation curves and events. This heavily simplified detecting enemy and player hits, which suited the fast-paced arcade-style gameplay. In addition to enemy combat and artificial intelligence, I was tasked with handling the visual polish and optimization of the game. Using my knowledge of Unity's post processing stack, I applied camera-based effects (i.e. color adjustments, vignette's, ambient occlusion, etc.) to better suit the game's overall theming and aesthetic. My teammates and I learned a lot more about what it takes to make a minimum viable product with this project, and we were quite pleased with how it turned out. If we were to return to this project, we all agreed that online multiplayer and controller support would definitely help the game towards a marketable product, and we may address that at a later date. All in all, I think this project was another great showcase of what I am capable of doing in terms of rapid prototyping with tight deadlines.


Screenshots


Download

Scopophobia

Role: Level Designer

Date: December 2019

Engine: Source


Project Description

This map for modded Half-Life 2 was created as a final project for my Level Design class during my Junior year at RIT, and marked my first experimentation with the Source game engine. The original assignment was simply to make a mockup for a custom Half-Life 2 level and use Valve's Hammer editor to block out the map and ensure playability, but I took that one step further and put it upon myself to make this horror map using many additional tools/custom scripts within the Source engine. Having grown up playing Half-Life 2 and appreciating the effort that went into the environment and ambience the player experiences throughout the campaign along with countless horror maps made by the community, I was eager to take a stab at it myself. I did a lot of work experimenting with environmental storytelling in this map and utilized pretty much every tool at my disposal to really sell the dark and creepy atmosphere of the abandoned (and just a lil bit haunted) apartment complex I created. Aside from the map creating process typical to working with the Hammer editor, I also really pushed Source to its limits by including features like dynamic soundscapes, random triggerable events, custom NPC's, and numerous spooky elements to keep the player on edge throughout the whole experience. While unfortunately I was unable to ultimately save the completed map file due to a freak incident that corrupted the drive it was stored on, I think this project overall taught me an incredible deal about overall level design and how to to leverage the tools available to create a great atmosphere.


Screenshots


Watch Demo

Inkantation

Role: AI Designer/Developer / Tech Artist

Date: October 2019

Engine: Unity3D C#


Project Description

This game was made for a group project in my Game Design and Development class during my Junior year at RIT, and it taught me a lot of valuable lessons about rapid prototyping. Working with a team of 4 other developers, we had 4 weeks to make this physics-based 3D stealth puzzler. In this game, you control a squid that must sneak through an enemy base to steal a powerful scroll, while avoiding guards, magical detection floors, and other environmental hazards. Most of my work revolved around creating the AI of the guards in the game, which uses an abstract state-based system that communicates directly with Unity's animation and NavMeshAgent components for smooth, realistic movement coupled with navigation. I also did a lot of the visual polish and optimization end of the game's development, including baking lighting in levels, applying various post-processing effects, and creating some custom shaders. I definitely learned a lot about the importance of assessing scope in rapid prototyping, which was a very valuable lesson that I hope to take on to later projects under tight deadlines.


Screenshots


Download

Spirit Labyrinth

Role: Development Lead

Date: November 2018-May 2019

Engine: Unity3D C#


Project Description

This procedurally generated virtual reality dungeon crawler started as a passion project as I experimented with VR development in the Unity game engine. However, more people ended up joining its development and I ended up leading a team of 4 other developers to make it, and even ended up being sponsored by RIT's MAGIC Spell Studios during the Spring semester of 2019. With this project, I gained a ton of leadership skills and learned a great deal about product development as well software team dynamics in general. In addition to organizing team members and delegating tasks, I also did a tremendous amount of work within the game itself. I programmed the core gameplay loop, NPC artificial intelligence, weapon mechanics, all UI/UX work, implemented the player's inverse kinematic driven rig. and much, much more! Out of all of my early projects, I'd say this one taught me the most skils and was essential to my growth as a jack of all trades developer.


Screenshots


Watch Demo

Pond Life: Flocking and Pathfinding

Role: Independent Designer and Developer

Date: December 2018

Engine: Unity3D C#


Project Description

This project was made for the final assignment in my Interactive Media Development class during my Sophomore year at RIT, and it showcases all of what I have learned about autonomous agents and force-based movement over the course of the semester. This particular project is built around agent flocking and pathfinding, which I went above and beyond to model with a full 3D pond ecosystem, with a school of fish and a bigger fish that scares them away. Both the school of small fish and the bigger fish are entirely force-driven autonomous agents, all custom coded by me. The smaller fish demonstrate flocking patterns you would typically in a school of fish as they wander around the pond, and if you activate debug lines, you will be able to see the lines indicating the adhesive and cohesive forces acting on them to keep them grouped together. The bigger fish follows a preset path, and when it is close to the school of fish, they will apply fleeing forces to get away and later group back together again. You can also cycle through various camera angles to see the pond, and the autonomous agents within it, from varying perspectives.


Screenshots


Download

A Walk Through the Woods

Role: Independent Designer and Developer

Date: November 2018

Engine: PixiJS Javascript


Project Description

This project was made for an assignment in my Web Design and Development class during my Sophomore year at RIT, and it was my first experimentation developing a web-based game. Using Javascript as well as the WebGL library PixiJS, I created a simple game revolving around the player controlling a sprite walking through a parallax scrolling background. I also used audio to set the ambience of the game, as well as various special effects offered by the PixiJS library. Additionally, the game uses web storage to keep track of player progress, achieved by collecting secret objects spread throughout the map, and is infinitely scrolling unless the player collects all secrets. I learned a ton of JavaScript to make this, and I gained many web development skills in the process.


Screenshots


Play

Ludicrous Asteroids

Role: Independent Designer and Developer

Date: October 2018

Engine: Unity3D C#


Project Description

This project was made for an assignment in my Interactive Media Development class during my Sophomore year at RIT, but I went so above and beyond with it that I can't really consider it to be just an assignment. I was assigned to make a 2D clone of the 1984 game Asteroids, and to do it all with hard-coded vector-based movement and collision detection. I went a lot further than that by making the game in 3D, adding a ton of particle effects, sound effects, and a way of storing high scores. The game is also very difficult, with asteroids overwhelming the player after 5 waves, so I dubbed it "Ludicrous Asteroids". All in all, it was a very fun project to make


Screenshots


Download

A Totally Normal Snowman Simulator

Role: Independent Designer and Developer

Date: September 2018

Engine: Unity3D C#


Project Description

This project, like Ludicrous Asteroids, was made for an assignment in my Interactive Media Design class in my 2nd year at RIT and I once again went so far above and beyond that I cannot consider it just a school assignment. All I had to do for the assignment was make a simple scene in Unity with a snowman and a first-person-controller to walk and look around, but needless to say I did so much more than that. I ended up making a top-down survival shooter where spinning enemies spawn and navigate towards the player. I added particle effects, projectile behavior, menu's, enemy AI, a scoring system, and so much more. Honestly, probably one of the most fun I've ever had working on a school project


Screenshots


Download

Robo Ricochet Master

Role: Independent Designer and Developer

Date: July 2018

Engine: Unity3D C#


Project Description

This personal project spawned out of my love for early 2000s era internet flash games, which were mostly simple and based around a single core gameplay mechanic. In this 2.5D puzzle-shooter game, you are a robot that must strategically take out enemy robots in each level using a laser rifle that ricochets shots off walls. To accomplish this, I had to learn a lot of vector-based math that I was not too familiar with at the time. However, by the end of the project I gained so much more confidence with stepping outside my comfort zone to do certain calculations the hard way. To enhance the experience of the game, I added ragdoll physics, explosions, sound effects, particle effects, and a lot more features that were just fun to do. While the game is not as polished as I would have liked, I think it serves as an important milestone in my career as a game designer and developer.


Screenshots


Download

Corckondile: Leave that Dungeon

Role: Production Manager and Support Programmer

Date: February-April 2018

Engine: MonoGame C#


Project Description

This game was made as part of a major project for my Game Development and Algorithmic Problem Solving II class in my first year at RIT and unlike all the other projects on my portfolio, this was a team effort. It was one of my first experiences managing a team to make a game together, and I think it demonstrated my leadership skills very well. The game started as a joke (hence the mispelling of the word 'Crocodile' in the title), but it ended up blossoming into a really cool 2D procedurally-generated dungeon crawler. As far as actual gameplay goes, the player must wander each procedurally-generated level collecting fuel cans and fighting off enemies until you find the exit. Once the player collects enough fuel, they win the game and an ending cutscene (made by the team's architect and Corckondile-enthusiast) comes up to show the player's venture into space. In addition to managing a team, I also coded quite a bit of code for the game, including (but not limited to) player movement, collision detection, special effects, and the game's level editor.


Screenshots


Download

The Great Cosmic Carl

Role: Independent Designer and Artist

Date: February-April 2018

Engine: Unity3D C#


Project Description

This game was made for my 2D Animation and Asset Production class during my second year at RIT, and was primarily meant to showcase the animating skills that I learned in the class. The actual game code was provided by the class, but all of the art and animation was made by me. This was my first experience with animation, and I think what I made turned out really well. I spent most of the time animating the starting cutscene of the game, which revolves around a shy, young magician named Carl making a deal with the devil for a magical mask after being thrown off stage during one of his performance than a less-than-entertained audience. I put a lot of effort into making the cutscene, and it definitely shows for most of it. I also had a lot of fun making the sprite sheets for the player and enemies of the game, which came out really nice and I'm very proud of them.


Screenshots


Download

Robot Pirate Royale

Role: Designer and Support Programmer

Date: November 2017

Engine: Unity3D C#


Project Description

This game was made for the IMAGINE Cup 2017 Game Jam, and it serves as my introduction into making games with the Unity Engine. I met an upperclassmen at the game jam who had an idea for a procedurally-generated ship exploration game that intrigued me, so I decided to help him out in any way I could while learning to use Unity. While I didn't end up doing a lot of code for this game, I did help out a lot with stuff like the game's design, UI elements, player health implementation, and other important components of the game. I actually came uup with the idea of pivoting from an exploration-based game to a game where you must get as far as possible in a procedurally generated sea while fighting off pirate ships with lasers. Needless to say, I practically fell in love with Unity after doing this game and it inspired me to teach it to myself and make a lot of really cool side projects.


Screenshots


Download

Get In Contact!