🚀 Space Simulation

CSCE 450 Project by Cesar Fuentes


👋🏽 Overview

For this project, I wanted to create a spaceship simulation video game that involves some of the different topics that I learned in class

December 8, 2022



Feature #1
💨 Multiple Particle Systems

The main idea I wanted to implement was to create a couple particle systems with different characteristics (forces, colors, etc.) to emulate some of the effects that can be found in space.



Card image cap
🔥 Engine Flare

This system generates particles in a cone shape out of the drone.

Certain equations were used so that the outer particles appeared the most red and the inner particles blended into yellow and white, hence providing the illusion of fire.

One of the other things I wanted to achieve was to get the particles to spawn/respawning in a natural way once the user starts/stops the engines.

Card image cap
🔦 Trailing

This system spawns a trail of particles wherever the drone has been.

The same spawn/despawn animation is used as was used for the engine flare.

Card image cap
🔫 Laser

This system generates particles out of the drone’s gun based on where the drone is located at and pointing towards (when the user shoots a laser).

I’ve also added a limit so that the drone can only shoot lasers every 3 seconds.

Card image cap
💣 Explosion

This system creates particles outwards rapidly when asteroids are shot.

It uses a different texture to achieve the cloud effect.

Card image cap
💨 Smoke

This system creates particles slowly out of a broken satellite. They are forced outwards and are expanded over time.



Feature #2
🕹 Controllable Drone

  • Uses A and D to control the YAW.
  • Uses W and S to control the PITCH.
  • The angles blend over time to make the rotating animations much smoother.
  • Pressing the SPACEBAR starts/stops the engines which propels the drone in whatever direction it is pointing towards.
  • The drone also decelerates when the engines are stopped for a natural movement effect



Feature #3
☄ Interactive Objects
  • Shootable Asteroids
  • Collidable Asteroids/Satellites
  • Collectible Stars
  • Collectible Medkits

**All of these use a spherical bounding volume to detect collisions.



Feature #4
👾 Heads Up Display

The HUD presents the user’s health and points.



Feature #5
🗺 Skybox (Cubemap)

A cube textured with 6 images to give the player the illusion of the environment.



📝 Acknowledgements


Dr. Sueda's Code for C++/OpenGl (Particle Systems, Shapes, Textures, etc..) Resource for Particle Systems Tutorial on Particle Systems Resource for Particle Systems Resource for Flame Simulation Resource for Explosion Simulation Resource for Smoke Simulation Resource for Cube Maps Skybox Generator Help with Cube Maps Help with Rotating Objects Help with Orthographic Projection Inspiration - Michael Freaney Inspiration - Jose Luis Armesto


📂 OBJ Files & Textures


Drone Asteroid Satellite Health Kit Star Galaxy Image Particle Textures


Contact me at <fuentesivancesar@gmail.com>.