Software Engineer
Screenshot_052417_111612_AM.jpg

To The Death

A networked, 2-4 player, one hit one kill, combat game, where the goal is to be the first to person to get a certain number of kills without killing themselves or be taken out by traps.

To The Death

(UE4 - Portfolio Project)

 

2 minute breakdown of my responsibilities on project.

 

Project Pitch:

"To The Death" is a networked, 2-4 player, one hit one kill, combat game, where the goal is to be the first to person to get a certain number of kills without killing themselves or be taken out by traps.

My takeaways

Spending 2+ months and over 360 hours on this project, I'm glad I was able to really use UE4 for a my first time on a small to medium side project, comprised of 4 people. The team voting for my idea led to me taking the reins on most of the design process. After developing the core game, hook, and design, I worked on the UI and Networking to up until deadline. At deadline we got a multiplayer game, with lobby and scene transitions, incorporating a dynamic combat system, and really unique control system. And last but not least, a clean, professional, UI presentation that I am really proud of.  

worked over 360 hours on this project...
— Jeff Yanick

 Downloadable Game File for Windows OS

Six Minute Video of GamePlay Experiance


My Responsibilities 

  • User Interface

    • Title Screen, Main, Options, & Online Menu

    • Character Battle UI

      • Dynamic structure

  • Networking

    • Wrapper for battle position

    • Color Management

    • Combat Feedback

    • Client updating

    • Some Combat

  • Design

    • Designer

      • Battle Concepts

      • Combat Controls

      • Menu Systems & Design

      • Theme & environments

    • Character Select Scene

  • Art

    • Graphic Art

      • Title Screen & TTD Logo

      • Menu Icons

      • Combat UI Icons

 

Development Accomplishments

 

UI (User Interface)

Title Screen, Main, Options, & Online Menu

  • Control Interoperability

    • Menu updating accordingly - All menu systems will update to the control scheme that being used, and will update to reinforce acknowledgement of changed controls.

    • Hot swapping controls - The ability to change from one control type, like controller and/or keyboard, at the detection of use.

  • Menu Highlighting

    • Magnification & Animation - when a select section of the menu is hovered over or press on via controller it will grow and animate to indicating being highlighted.

    • Non-functioning Warning - when an option is select that is not available an animation will flash letting the user it's not available.

  • Modular Design

    • Quickly change/update - a multi-layer system, that allows individual pieces/assets of the UI to be swapped out without the need to create complete whole new assets, allowing for less dependency on artists.

  • Hierarchy Menu Systems

    • Cycle sub-options - using existing menu options to generate addition options without having to create another menu page and/or drop down dialogue.

    • Menu Cycling - using new subsystem menu to circular cycle through more options.

Character Select

  • Shader Built Icons - Player Character Icon are built, modified, and updated through the shader to only depend on a few number of assets with the flexibility for future changes.

  • Scene Interactivity - UI changes causes updating in the 3D scene and/or actors in the scene.

Character Battle UI

  • Button Position Indicator -"Billboard"-ed icons updating and changing biased desired control scheme.

  • Aim Arrow - Color changing to assist with gameplay.

 

Check out Dev. Blog for information about the development of the UI.


Showing off Hotswapping from mouse to controller & Menu Highlighting, Animations, and Warnings.

Showing off Menu Subsystem, Cycling, Updating baised on controls.

Showing off Modular build with Shader built icons & Scene Interactivity.

UI Screens Gallery

 

Networking

  • Wrapper for battle position

    • Translating Player Position - Taking the networking player index and make it correlate with the player battle position index.

    • Lobby/Character Select - Align the networking player index to the correct position.

  • Color Management

    • Battle position works across scenes - the select player battle position index is maintained through network transitions.

    • Control Schemes correlate - Varying control types/schemes work together regardless of the users preference, e.g. Xbox, PS4, Nintendo, IJKL, or Arows.

    • PC, Xbox, PS4, Nintendo Controls - The ability to change control types during combat without effecting the server (experimental). Can be seen through at the 10:15 mark on breakdown video or in the demo if pressed "0 ~ 5" on the numpad.

  • Combat Feedback

    • Updating Combat UI - Targeting ripples to other clients updating exclusive code that reflex the users UI.

  • Client updating

    • Passing Server Info down - Making sure only data that is relevant and needed is passed to the client. Making less network stutter and making combat more responsive.

  • Some Combat

    • Polish & Bug Fixing - Optimize network communications, help fix small issues, and resolve problems.


Check out Dev. Blog for information about the development of the Networking.


Representing the network wrapper from player index to combat position index.

Representing the network wrapper from player index to combat position index.

Representing Color Management from scene to scene.

Representing Color Management from scene to scene.

Representing UI updating over the network.

Representing UI updating over the network.

Networking Code ScreenShots

 

Design

  • Combat, UI, & General Purpose Designer

    • Battle Concepts - Created and iterated on a familiar but unique battle system that used multiple types of weapons with a few various attacks per weapon.

    • Combat Controls - Iterated and developed controls that turn traditional concepts on there head, with a "one button for one opponent" style that allows for flexibility and responsiveness.

    • Menu Systems & Design - Created and developed intuitive menus that mimics the layout of a directional pad on a controller or the layout of the arrow keys on a keyboard; for simplistic and swift use.

    • Theme & environment - Researched and investigated regions and periods in time that embodies the genre and concepts of the game, and build out features of theme to incorporate back into the game.

  • Character Select Scene

    • Placement and Layout - Designed and built out the environment to align with the UI, giving the character select scene more life, and attracting more attention.

    • Interactive Elements - Connected several elements from the 3D scene to work with the UI's interaction.

 

TTD 2 Minute Pitch VIdeo

 

Check out Dev. Blog for information about the Design aspects of the game.


Showing off unique controls, "one button for one opponent"

Showing off unique controls, "one button for one opponent"

Smash Bros. style 3D model character select lobby.

Smash Bros. style 3D model character select lobby.

Showing off the 3D character select lobby with the UI overlay-ed on top.

Showing off the 3D character select lobby with the UI overlay-ed on top.

Design ScreenShots

 

Final Thoughts

With the brief time I had with this project, I was able to create, design, and program a professional modular, interoperable, UI, that extends through 95% of the game. I programmed a network wrapper that facilitated a unique control system that can be used over networked competitive play with the ability for varying control types. Also worked on general networking for gameplay and scene transitions, as well as a quick adapting layered UI leveraging the UE4's shader system. And with help with the rest of the team, I was able to see my design vision for this project/game come to life; key features being unique control system paired with a different type of death match, battle arena, style game and various weapons and traps to keep combat interesting.  

If you would like more detailed infromation, watch, the 11 minute breakdown video at the bottom, or check the post mortem dev blog.
 

 

11 minute in depth overview