top of page

HaberDashers

HaberDashers is a console-style arcade (kart) racer for the PC in which players control miniature humanoid inhabitants of an everyday home, racing past outsized household items and through rooms as they compete against human and AI opponents with both driving skills and item pick-ups.

Role

UI/Tools Programmer

Game Engine

Unreal Engine 4.23

Platform

PC (Windows)

Development Time

4 Months, 2020

Team Size

54 People (17 Programmers)

HaberDashers - Poster
Screenshots
Screenshots
Roles and Responsibilities

As a UI programmer on the team my core responsibilities included collaborating with artists and designers on UI & UX design to feel natural and intuitive to the player. Developing a tool for displaying Character, Wheel and Kart meshes on their respective selection screens. Developing the Tutorials Menu and reflecting UI-Gameplay interactions like Kart selection, Character selection, Track selection done via the UI to reflect in game. Updating UI assets such as checkboxes, sliders, buttons and fonts based on the style guide provided by the Art Lead.
 

My other responsibilities as a tools programmer involved developing a tool scalable across the number the players for level designers for Camera Flythrough at the start of the level.

​

General Responsibilities as a developer were finding cause of Performance drops and improving it by reducing number of overlapping dynamic lights. Tracking tasks using Monday.com and bugs using JIRA (AGILE).

​

Roles and Responsibilities
Flythrough Camera Tool
  • The Flythrough Camera tool uses a Render Target which is dynamically created for any level the tool blueprint is placed on

  • The tool was designed to handle any number of players and could be easily used with any number levels

  • The level designers would create a level sequence and input it as an editable parameter into the fly through camera blueprint

HaberDashers - Bathroom Level Flythrough | Camera Panning

Bathroom Level Flythrough

Flythrough Camera Event Graph

Flythrough Camera
How It Works?

A Level Sequence uses a fly through camera which outputs to a render target view which in turn is then used by a material to render the output on the entire screen. This helped the tool to be modular for any number of players and the use of sequencers and render targets allowed it to be used for any level.

Menu System and UI

Worked with 2 other programmers, 2 artists and 2 designers to provide the following functionalities: -​

  • Single player and multiplayer Character and Kart Selection and passing data to the game mode.

  • Rendering Skeletal Meshes on the widgets using same logic as the camera panning tool

  • Options menu interactions

  • Tutorials menu design and interactions

  • Empowering designers with data tables to easily create new tutorials

  • Track Selection Menu interactions

  • Applying UI Assets and Fonts as per the style guide

HaberDashers - Main Menu UI

HaberDashers - Main Menu UI

HaberDashers - Kart Select Menu Design

HaberDashers - Kart Select Menu Design (Click to Enlarge)

HaberDashers - Tutorial Menu Data Table

HaberDashers - Tutorial Menu Data Table (Click to Enlarge)

HaberDashers - Kart Selection Menu Event Graph

As the development progressed I realized how much harder it is to make changes to a multiplayer UI, good initial architecture for the UI design and UI-Gameplay interactions allow faster iterations. Also the thought that UI cannot be resource heavy was a  mistake and had to be optimized to fix frame rate issues on the Menu screens also.

Menu System and UI
Post Mortem
Post Mortem

What Went Well ?

  • In-person work during the first-half of the semester helped ease the transition into online mode when the Covid-19 pandemic came.

  • Did a good job supporting each other across discipline lines.

  • Cross-departmental communication improved substantially over the course of the project.

  • Once-a-day check-ins had a good pace to them.

What Went Wrong ?

  • Should keep in mind the software being used while providing information.

  • Be mindful of how many people are needed to complete a task/request and how long it would take them.

  • Centralized documentation got lost behind all the listed updates.

  • More technical details on specific assets were needed.

  • Information flow down was incomplete and some parties weren’t informed of relevant changes until they were already implemented.

  • Some tasks were underestimated in planning.

 What I Learned ?

  • "Being remote has its advantages and Disadvantages"; One of the by-products of the Covid-19 Pandemic is that I got the experience of a virtual development environment.

  • Clear, Centralized  documentation that is easily and quickly accessible.

  • Always be prepared for Scrum on daily basis + know what you’ll be working on before you come to Scrum. 

  • Have time set aside to showcase gameplay footage so that team can see the game while in online environment. 

  • Have a clear understanding of who’s working on what and who needs to be informed and consulted about issues.

bottom of page