Kevin Wall
Home Projects Résumé
Invasion Of Liberty
Quick Links:

Contributions

Utilizing the Vulkan API. Managing HLSL Vertex/Fragment Shaders. Debugging Tools. Developer Lighting Toggle. Game Pause State with Enemy/Bullet responsiveness.
Created and implemented assets. Source Control Management with Github. Clarified and Refactored Code during Code Freezes. Managing multiple viewports for information (lives/minimap/score).

Team Role: Graphics Programmer / Secondary Lead

Team Size: 4

Development Time: 1 month

Using Vulkan
  • Chose Vulkan due to my experience with it from the previous class.
  •  
  • We reused my previous class's renderer which helped speed up production and testing.
  •  
  • Benefitted from having clarity in code structure from my previous renderer with debugging options.
Learning/Using Shaders
  • Used Vertex/Fragment shaders to help draw models and apply filters (greyscale).
  •  
  • Setting up additional viewports and passing info to the shaders was easy since the team reused my previous rendering pipeline.
  •  
  • Used Descriptor Sets and Constant buffers to pass along viewport information.
Debugging Tools
  • Wireframe or Lighting Toggles helped find problems related to the pipeline and models.
  •  
  • Material color cycling helped find if objects were being improperly drawn or hard to see.
  •  
  • Console logging for anytime an action was performed (entity hurt/shoot/death/sounds).
Pausing Functionality
  • Implementing a pause menu helped players when they need a break or found it stressful.
  •  
  • The players attention is primarily on the ship, which is where the 'Game Paused' notification is located.
  •  
  • Implementing pausing functionality was much more of a challenge than initially thought.
Github and Code Refactoring
  • Using Github helped manage source control, manage workflow, and resolve conflicts.
  •  
  • Being the most proficient with Github led me to being in charge of resolving merge conflicts.
  •  
  • Merge Requests were always peer reviewed in order to help prevent errors or conflicts.
Managing Multiple Viewports
  • Viewports helped display player lives/score, the minimap, and gameplay.
  •  
  • Each viewport had an associated function to help manage drawing functionality.
  •  
  • Using multiple viewports helped avoid having to create multiple pipelines just to draw specific models.