Ultra Jet Force

Summer 2016 (8 Weeks)

 

For my Software Development 6 course we made a Bullet Hell game while focusing on ways to make the game run faster and better. We learned about Threads, Mutexes, and Semaphores, and implemented many tools to aid with optimization. These tools were a Profiling System to track how much time was spent on operations, and a Callstack Trace that lets us know where we allocated memory and if we had any leaks in our program. Other features developed were a Sprite Rendering system that renders Sprites per layer, a Logger system that prints log messages to a file via a separate thread, a Particle System, and a Job System that allows many thread to do work in a “black box” without holding up the rest of the main thread’s time.

The profiler displays live data (at the top) and can print the current frame's data via the Console (at the bottom).
The profiler displays live data (at the top) and can print the current frame’s data via the Console (at the bottom).
Callstack Trace that shows where the leaks are and how many bytes are currently allocated.
Callstack Trace that shows where the leaks are and how many bytes are currently allocated.
Output window that shows the file line of the leak. Double clicking the line brings you to the file and line where the leak started.
Output window that shows the file line of the leak. Double clicking the line brings you to the file and line where the leak started.

Download & Repo

Download Here
Download Here
Github Repo
Github Repository