William Rosas

Game Programmer

Home Resume Other Projects Sample Source Code


Hello, and welcome to my website. I am William Rosas, a game programmer out of DigiPen Institute of Technology in Redmond, WA. Here I'd like to show off some of the work I've done over the years at this amazing school.
This page has my Junior and Senior game projects. Check out my Other Projects page for samples and some source code of other projects I've done.
Feel free to e-mail me at: billrosas@gmail.com

Game Projects

Aether - Senior Game

Click the images to enlarge.
Coming Soon! Aether is a top-down shooter. The player has to dodge a barrage of enemy projectiles that flood the screen! Use magic bullets and bombs to destroy the enemy boss, and drain energy from the enemy attacks!
Bullet System
I spent a lot of time working on a robust particle system for the bullets in this game. We're able to get precise control over the bullets on the screen. We are able to give bullets some crazy movements and make some very impressive patterns with this system. We can also add new functionality to it to meet our needs.
Cinematic Camera
So the player has been fighting the enemy boss, and the boss is getting pretty angry. The boss prepares the big attack to finish the player off! To help convey the awesomeness of this action, we have a small cinematic scene. While the boss performs his attack animation, the background fades to black and the camera zooms in and around him. I concatenated a series of Catmull-Rom splines that wrap around the boss and interpolate the camera along them. In the end, it's a pretty nifty effect.
Collision Detection
There are hundreds of bullets on screen at any given time. Each has to check collision with the player. Of course, this can be time consuming. How are we doing it? We're using simple bounding sphere collision detection. In game, the player can see the hit box of the player, which is a small sphere in the center of the character. All bullets also have a sphere used for collision. The bullet bounding spheres are slightly smaller than the model itself. This combined with the player's small bounding sphere makes it easier for the player to dodge bullets.
 
This is an early video of Aether. This is the version shown at Career Day in March. The final game will be available for download on the DigiPen website at the end of April.


Ninja vs. Ninja - Junior Game

Download it on this page here
Click the images to enlarge and get a more detailed description of the scene.
It's Red Ninja vs. Blue Ninja in this team-based 3rd Person Shooter. Fight your opponents with close-range punches, long range ninja stars, or the ninja fireball special attack.
I was in charge of the graphics engine. This was my first attempt at making a 3D game and had to solve a few new problems.
3D Models
I learned to load in 3D animated models from .X files. Our ninja model had several different animations: walk, throw shuriken, and jump. The animated model used keyframe animation.
Camera
I had to create a 3rd person camera that would follow the player. It had to be offset a bit so it wasn't following right behind the player, otherwise it was hard to see what the player was aiming at.
Culling
I also had to work on culling the scene. At first, the player was obstructed from view if they got a wall between their character and the camera. To fix it, I had to find any wall that was between the player and the camera and not render it while it was obstructing the view.
Particle System
I also created my first 3D particle system using billboarded primatives. Particles had a few different purposes in this game. The player would shed particles when hit, shurikens flying through the air leaked particles following their motion, and fireballs were nothing but a sphere of fast-moving particles that changed color depending on how far away they were from the center of the fireball.








All content copyright 2008 DigiPen(USA) Corporation. All rights reserved.