Game Development Reference
In-Depth Information
The premise behind Scaleform is that it allows artists and content creators to use
Adobe Flash to design the entire layout of the UI. This way, a programmer does
not have to spend time manually setting up the locations of all the elements. Much
of the UI programming can also be done in ActionScript, which is a JavaScript-
esque scripting language that Flash uses. Using Scaleform does mean that some
time will have to be spent integrating it into the overall game engine, but once
that is complete the UI can go through many iterations without any system-level
changes.
User Experience
One very important aspect of UIs that this chapter has not discussed at all is
user experience (or UX), which is the reaction a user has while actually using
the interface. An example of a poorly designed game UI is one where the user
feels like he or she has to make several button presses to perform simple actions,
which is notoriously a problem in certain console RPGs. If you are tasked with not
only programming but also designing the UI, it's critical to take into account UX.
However, because this topic is not specifically related to programming, I have re-
legated any further discussion on this topic to the references.
Summary
Game UIs can vary a great deal—a MMORPG such as World of Warcraft might
have dozens of UI elements on screen at once, whereas a minimalistic game may
eschew the UI almost entirely. Often, the UI is the player's first interaction with
the game as he or she navigates through the initial menu system. But the UI is
alsofeaturedduringgameplaythroughtheHUD,usingelementssuchasanaiming
reticule, radar, and waypoint arrow to provide important information to the play-
er. Although experienced programmers often express a dislike of programming UI
systems, a well-implemented UI can greatly improve the player's overall experi-
ence. A poorly implemented UI, however, can ruin an otherwise enjoyable game.
Review Questions
1 . What are the benefits of using a “menu stack”?
2 . What property of letter key codes can be taken into account when imple-
menting a function to convert from key codes to characters?
3 . When implementing a waypoint arrow, how does one determine the posi-
tion of the 3D arrow in world space?
Search WWH ::




Custom Search