ID:33525
 
Keywords: hud, skins
You’ve probably downloaded 4.0 by now if you develop games now, or plan to in the foreseeable future. The most obvious of the myriad of enhancements to 3.5 is the fact that you can design your own skin for your game.

At first I wasn’t sure that this would truly define a BYOND where “The screen is for viewing”, a phrase I coined to mean that player screens now and in the foreseeable future will probably not include player HUDS and other cluttering HUD objects. But when I played Foomer’s new RPG it hit me pretty hard. Why?

Well for one, HUD objects are to my experience clunky and slow. Generating a lot of them creates mass lag and they block map view. Having to have a bigger view to retain the same amount of viewable map means, obviously that more images have to be generated in the view(). Even if players can’t view them, slower play.

With skins, we can all have cool graphical inventories, skill panes and health bars on the screen as with HUDs, but faster and with less clutter and possibly more information. Plus, they won’t hog screen space. Also, compared with how long/complex coding in a good on screen inventory system is, adding on screen inventory systems to an output box is dazzlingly simple.

If you’ve ever tried to make your HUD look pretty you can use the power of a graphics editor and then dmi cut it into little slabs and painstakingly program in each icon. Or you can painstakingly draw them all by hand. Skins offer you the choice of importing an image directly from that powerful graphics editor you just used and sticking it on your background. 100’s of times easier.

Another advantage is the elimination of fonts in .dmi icons. They never usually look as good as the original and are slow for writing because they are an object or an image. BYOND 4.0 can write to 4.0 with any font you want, retaining the original look and polish. And if you’ve ever seen a game try to write on screen with .dmi fonts you’ll appreciate the speed.

Of course this doesn’t mean the complete elimination of HUDs, as they are still very useful in a niche of BYOND’s capability. BYOND games don’t have a lot of special effects, whether it be in a shooting game where your vision clouds when you take a bullet, a super powerful spell that fades gradually into white or a space station meltdown scenario that tints everything red with the hazard lights. All of these effects would have looked fairly horrible in a lower BYOND version. But with the advent of alpha layer transparency they’ll look genuinely great.

This doesn’t mean that you should go around and rewrite all your hard worked on HUD systems. Chances are if you’ve already written them they’re fairly efficient because you’re proficient enough to know that no one is going to play a game that lags to high heck.

However if you are considering creating systems like these, skins are the way to go.


Ur hawt
Using a pop-up skin window is superior to hud.

PERIOD.

1. They can be movable without lag.
2. They don't need to be generated object by object.
3. You can use large images as backgrounds making it look prettier
I'm going through the process of 4.0izing Progeny because skins are obviously just better.
Just FYI, client.screen HUD objects can be drawn off of the viewable area of client.screen. For instance, try giving something a screen loc of 1,0 to have it appear below your viewable area.
I personally think that screen objects are prettier than skin panes. For an interface as complex as one in Terra ex Machina, it doesn't make sense to even try to put the whole thing in a pane.

It would probably be impossible to move anything but the inventory and skills windows because of how graphical the UI is.

You can expand the HUD and make it invisible except for the buttons. The health and stamina meters are very graphical, health being a humanoid figure that fades to red, and stamina being a liquid in a tube that drains it away.

The on-screen HUD is not going to be completely obsoleted until the big boys implement Multi-Map support for the skins. When this happens, say good bye to the HUD objects that occupy the main map window.
Yeah, I'm eagerly awaiting multiple maps, but grids accomplish that purpose almost as well.