Introduction

The purpose of this scope of work document is to layout the foundation for the Player UI sprint. We need to figure out all of the things that are going to change, and why they’ll be changing. Again, as a thinking-out-loud process, its going to benefit me to write this, in order to organize my development. Plan, write, plan, write, etc.

After just finishing up the Login UI with the new Burnblade UI assets, we’ll be moving on to the Player UI. So, one was the pre-login UI, now we’re doing the post-login UI. This is going to include all of the in-game UI assets, such as health bars, action bars, etc. Lets get started.

Cleanup & Unification

So, after finishing the last sprint, its apparent that we need to combine the LoginUI and the GameUI under some common umbrella. Right now the two systems are seperate and don’t like to talk to each other. They have their own ways of dealing with things. In addition, we’ve also got another UI that needs mentioning; the UI elements that correspond to combat damage, chat messages, health bars, etc.

Lets list these out and try to come up with the correct names:

  • Client UI – This is the pre-login UI.
  • Player UI – These are the UI elements that coorespond to the player we’re logged in as.
  • Game UI – These are all of the things that float above players, monsters, etc. Nameplates, healthbars, etc.

Now that we’ve got our naming schema sorted out, how are we going to Unify these things. Well, lets say that they all belong to something we call the “Interface”. The interface is managed at a top level by the “InterfaceManager”. This manager handles all of the high-level managing of interfaces. Then below that we have the ClientInterfaceManager, which we just wrote for the last sprint. I’m starting to see a visual coming together, so lets graph it up real quick.

ui_restructuring

On the left hand side, we’ve got the actual heirarchy of game objects. Each with their respective canvas so they display at the correct ‘height’. On the right hand side, we’ve got our interface managers. The TextManager that is being shown here is currently already in place, but will probably get merged with the GameInterfaceManager. This looks pretty good, I like this. Writing it I’m sure I’m going to run into problems and issues, but so far this seems to be a pretty good start.

UI Element Changes

Okay, so now that the cleanup and unification stuff is out of the way, lets discuss the changes to the UI. Some of these are changes to already existing UI elements, and some of these are completely new functionality. Lets try to list what we already have.

  • Chat Window – displays chat messages that have been said by players near you.
  • Logout Button – logs you out
  • Keybinds Button – displays the keybinds menu.
  • Keybinds Menu – shows all of the keybind settings.
  • Outfit Button – displays the outfit menu.
  • Outfit Menu – displays options for changing the color settings of your outfit.

Thats a good start. Now lets think ahead at what we’ll need. So, lets take a look at our long-term development timeline, and list out of the future sprints. Lets also discuss ui changes for each of these points.

  • Inventory – the ui implications are pretty obvious for this one. We’ll need a character inventory panel so they can equip items, and a backpack to store misc items.
  • Items – as above.
  • Abilities – we’ll need an abilities action bar. We might also need an ‘abilities menu’ or a spellbook so they can click and drag abilities onto the action bar. We’ll also need all of the resource elements that allow players to use abilities (health, mana, stamina).
  • Combat – might need an indicator to show whether or not in combat.
  • Death & Respawn – will need to display a death icon, and a respawn button. Also handling transitions.
  • Map Update – no change.
  • Monsters – no change.
  • Loot – will need a way to display loot for a killed monster.
  • Experience & Levels – will need ui elements to show experience, experience bar, experience distribution with the multi-class feature, etc.

Okay, so this scope is starting to get kind of large. Starting to look like a 2 week sprint minimum. Anyway, lets get to the next section.

New UI Structuring

At this point its clear that there’s a lot of work to be done. Its also clear that we need to visualize how all of this will look. Lets go back to YED and graph it up again.

new_ui_layoutSo, as we can see, we’ve got 4 main UI elements in our design. List and describe:

  • Action Bar – the action bar holds all of the icons for the players usable actions.
  • Health Bubble┬á – the health bubble displays the players health.
  • Mana & Stamina Bubble – this bubble displays the players mana and stamina.
  • Main Menu – the main menu has a number of sub menus.

Now lets try to tackle what will be in the sub-menus of the main menu.

  • Inventory Menu – displays the character slots, as well as a backpack for misc items. (this will change later on)
  • Outfit Menu – displays color options for outfit.
  • Settings Menu – displays options for visual settings, keybinds, etc.
  • Logout Menu – displays confirm, or cancel buttons.

Some of these things will be purely scaffolded. Like the inventory menu. Too many things in relation to inventory are still a mystery for me, so there no point in nailing down the UI completely.

Conclusion

I think I have enough of an understanding as to what will need to get changed to get started. I’m sure as always there will be things that I can’t see right now, but thats normal. Next up, writing the sprint document, and then we get started.