Demonstrates:

  • Familiarity with and understanding of Unreal Slate, GAS, and Plugins
  • Tools programming and architecture for game-agnostic systems
  • Data-driven design allowing designers to customize the system to their needs
  • Test-driven design using unit tests to prove the system works
  • Project management, task organization, and completing milestones on a deadline
  • Capability to write, follow, and update technical documentation for systems (view here)

Features:

  • Built as a plug-and-play plugin that can easily be added to existing games
  • Does not require usage of a provided Unreal class (Character, Controller, Game Mode, etc)
  • Includes optional example content for in-game components and widgets
  • Includes custom editor windows to add/change game data:
    • Item Editor: Create your own items and edit existing items
    • Attribute Editor: Generate code for Unreal GAS attribute sets
    • Affix Editor: Customize how attributes are added to items
    • Item Set Editor: Activate bonus affixes when specific combinations of items are equipped
Here are some examples of items I created
normal_item magic item unique item set item
These are the custom editor windows used to input data for the system to use
base item editor named item editor attribute editor affix editor item set editor
This is the poster I created that was displayed at the Spring Show poster-failed-to-display
This is the video I created that was displayed alongside the poster

Weighted Randoms:

  • This project heavily utilizes weighted randoms, which allow you to modify the chance that each element has of occurring for a more specific distribution
  • For example, given the values 5, 10, and 15, if higher values are meant to be more rare:
    • 5 is given a weight of 1 and has the highest chance of occurring
    • 10 is given a weight of 0.5 and has the next highest chance of occurring
    • 15 is given a weight of 0.25 and has the lowest chance of occurring