Cassiar Beaver

A game design and development student at RIT looking to break into the industry.

About Me

I'm Cassiar Beaver and I'm currently a senior at RIT majoring in Game Design and Development. While I am proficient at many things: web development, UI/UX, and data analysis to name a few, my passion is in graphics programming.

Skills

  • Significant experience with 3D rendering, including DirectX11 Á 12, and HLSL.
  • Experience with different rendering paradigms, including PBR and cel-shading.
  • Significant knowledge and experience with C, C++ C#, Java, HTML, CSS, JavaScript, and Excel.
  • Some knowledge and experience in 2D and 3D art and animation.
  • Familiarity and some practice with UX/UI design and testing.

My Projects

{} by ; - Download Game, Download Map Editor, Download Wave Editor

Description

In my second semester of college three friends and I made a tower defense game for a class project. Our game was called {} and our team name was ;. The game had the features you'd expect in a tower defense; different enemies, different towers, and upgrading towers. The two biggest achievements were that we had custom art for all the game objects, and that our paths could have intersections.

What I Did

I primarily worked on the map editor (pictured below) and wave editor. Both of these tools worked together to make each level for our game. The map editor allowed us to quickly make the path the enemies would follow and edit previously made maps. They aren't saved directly, during the project another member and I realized we could just save the 'critical points' (start, end and turns) of the map, thus reducing file size and CPU load when moving enemies.

Making a map for my team's tower defense game.

Magic the Gathering Card Finder - https://people.rit.edu/cdb7951/235/project2/index.html

Description

This website lets users search for magic the gathering cards on many different criteria. I included almost all of the possible searches the API supported, and the user can mix and match these in numerous ways. This is certainly designed for experience Magic the Gathering players because it's more for finding cards that fit a theme than specific cards. For example, you could find all cards from a specific set, or all red and blue sorcery cards. Additionally, since some searches will exceed the API return limit, there are next and previous buttons to move between pages.

What I Did

One thing I'm very proud of, is every icon that shows up on a card (i.e. the tap symbol, the different mana symbols, the chaos symbol) has had the text replaced with the corresponding image. For example, every incidence of the text string {G/P} (Green Phyrexian mana) gets replaced with the image Green Phyrexian Mana. These images are all from the game itself. Also, card images have different styles applied to them depending on if they are aligned in portrait or landscape. This is dynamically added to each image as it is loaded onto the page. Finally, the users previous search terms are saved even if they exit and reopen the page later.

Search Field Area of Magic the Gathering card finder

Rendering Engine With Shadows

Description

This project was done for a Game Graphics Programming class at RIT. We started from scratch and built up a basic rendering engine. We wrote different classes separate our concerns and make the program more flexible. At first we were using simple lighting equations but at the end we upgraded to using physically based rendering.

What I Did

For the final project we had to add in some feature we hadn’t done during class. I chose to add shadow mapping. To make it easier I added shadow mapping for only directional shadows first, which allowed me to see if I could get it working. Then, I added shadow mapping for point lights, and I’m really proud I got that working, especially since I was up till 2am the night before it was due figuring it out.


Cartoon Rendering Engine - https://github.com/Cassiar/GameEngine

Description

This was a continuation of my engine from Game Graphics Programming. I worked with another student to combine and improve our engine. Our goal was to support cartoon physics and cartoon rendering. Cartoon physics was more challenging than we expected so we switched to using the PhysX library, but we were able to add cartoon rendering.

What I Did

Adding cartoon rendering took an entire milestone. I thought to make it easier by using an existing file format (PMX) and an unofficial library to load it. But incorporating that library took a huge amount of work; I had to incorporate both another physics library (Bullet) and certain parts of OpenGL Math just to get the library working. Then I had to setup Visual Leak Detector to find and fix all the memory leaks that the library caused.