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.