Anna Reid 471 Final Project: Iron Man Flight

Description

For my final project, I built a game where you are Iron Man and you fly around a city trying to rescue the other Avengers (or objects from the Avengers, such as Thor’s Hammer and Peter Parker’s camera). I found all of my models online on TurboSquid and CGTrader. Many of them came with material files and/or textures that I used to make them look like Iron Man, Spider Man, and the Hulk.

Characters

spiderman hulk cap camera thor

In my game, the goal is to find these five Avengers characters / items! They are hidden throughout the scene.

Graphics Technologies

Camera Navigation

In my game, I attached Iron Man to the camera. Using the WASD keys, as well as Q to go up and E to go down, the user has control over where Iron Man flies in the scene!

cam

Particle Systems

I implemented many particle systems in my scene, one for each of Iron Man's hands as he flies around the scene. I then colored these systems to appear like the rockets in Iron Man's hands. I also added another particle system to celebrate when an Avenger or item has been saved that is then drawn where the Avenger used to be located.

particles

Blinn Phong Lighting

I used Blinn Phong lighting to appear like moonlight in my scene from the night sky. I used multiple shaders for textures, my skybox, and my program as a whole.

light

Texture Mapping & MTL File Mapping

Many of my OBJ files came with texture mappings, including Spider-Man and Hulk. In addition, Iron Man came with an MTL file that I was able to read in using TinyOBJLoader and apply to the individual shapes that made up Iron Man.

Hierarchically Modeled & Animated Boids with Flocking Behavior

For my animation and hierarchically modeled character, I used the dummy and modeled it to walk around the scene. My original plan was to make these dummies appear like Ultron and the enemies of the Avengers, but I had some difficulties implementing that. Therefore, I decided to make them appear as characters running around the scene and flocking in one direction, instead.

models

Skybox

I set a background of a city skyline and skylight overhead. I had difficulty finding warped images that shaped to a box but appeared like a sky, so my skybox does look square rather than continuous.

Simple Flight Simulation

I also implemented a simple flight movement to represent gravity, as Iron-Man is floating in the sky, so when the user is not pressing a WASD key, the character floats up and down slightly. This is not a true physics based implementation.

Video Demo

You are able to see all of my different technologies at play in the video above. When Iron Man collides with the skybox and other objects in the scene, he is not allowed to leave or move forward as the camera does. To collect the different objects in the scene, Iron Man must collide with them, and when he does, a new particle system errupts from that location. In addition, my flocking boids run throughout the scene, and when they collide with the skybox, they are reset to a new position within the scene so that they do not continue to walk outside of the skybox forever.

References