• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

A new (simple and robust) way to create a unique UI

Status
Not open for further replies.

Zwiebelchen

Hosted Project GR
Level 35
Joined
Sep 17, 2009
Messages
7,236
So here's an idea I had when thinking about new unique ways to design custom WC3 UIs.

Instead of going the way of Fullscreen inventories by applying the usual hacks to move elements in front of the camera (which will always have the drawback of getting slow due to synchronizing data in multiplayer), how about adding a UI as some kind of "ring menu" when clicking on something?



Example:

It would be very simple to create an "item interface" when selecting (left clicking) an item on the ground. We can create a box-shaped model on top of the unit and use floating text and more dummy units to add buttons to the item UI. (like "need" or "greed" for a MMO-style looting system).

MockupInventory1.png

In the same style, an inventory or shop window could be created as a ring menu next to the clicked unit.

A panel-based structure for this could be amazing.


This basicly does the same thing as a fullscreen system, but it circumvents the usual issues that these systems have - and its actually pretty cool to use anyway, because every menu is always immediately associated with the object in question.
 
Instead of going the way of Fullscreen inventories by applying the usual hacks to move elements in front of the camera (which will always have the drawback of getting slow due to synchronizing data in multiplayer)

What synchronization are we talking about here? I don't know if you have tried my user interface system but synchronization is not an issue. The dummy units are displayed and moved locally (yes you can move units locally without desyncing) and event responses for clicking are fast enough. The main drawback is that the camera must be locked to a unit or point, and of course that it inherently requires dummy units to work.

Anyway if I understand correctly, your idea should work just fine. It would be an awesome system for looting (clicking button above item to roll, or view contents of drop), but for an inventory system I imagine it being awkward.

There are many ways billboarded dummy UI can be implemented in maps, just nobody aside from me and @Quilnez have done it.

By the way, custom UI is also possible through creating a custom time indicator frame model. You can make the texture fit the whole screen. This works while moving the camera as well. A user from THW discord has this feature in his map.

What do you mean exactly by 'billboarded'? Like a sprite or something?

Basically dummy units that are positioned to face the camera so they look like UI elements.

I wonder if it's possible to make a unit's hitbox as a sprite, so that it is always perpendicular to the camera direction, to make clicking it easier.

It should be possible to align dummies based on player camera position.

heres how to create unique UI RIGHT NOW instead of waiting for someone at Blizzard to do it for you;
[RenderEdge] Memory Hack

Except that's clearly not an option for his project.
 
Last edited:
Level 13
Joined
Oct 18, 2013
Messages
690
At all times can't be helped. Hidden icons weren't working on his map for a few months during one of the patches iirc.

Other than unexpected minor things, yeah. New patches make exploits unstable until we get dynamic memory allocation.
 
Status
Not open for further replies.
Top