47

A quick and easy way - though not 100% precise one - is to consider just the five extreme points white, black, red, green and blue. First, let's transform RGB into linear space. Officially this is usually done by this formula (assuming the source data is in sRGB, which is the default for most graphic card operations on 8-bit data and nearly every image you ...


31

There's no "best" way. The game design in your case is intimately connected with the UI design. However, given your setup, I'll lay out (haha get it) some advice. You're right about the lower-level spells being on the most convenient keys can be a problem. I would recommend something along the lines of Diablo 2 and 3 where you assign spells to keys in an ...


23

Almo's advise to allow the player to assign spells to hotkeys according to their own preference is good. You can increase the number of spell slots if you allow modifier keys like Ctrl and Shift to access additional hotkey bars (but keep in mind that when the player has one hand on the keyboard in the typical WASD position and the other hand on the mouse, ...


22

Most answers have addressed the feasibility of using heart container systems, I'd like to present a reason why you would want to use them over a health bar. Here's a word for you: Subitizing. People can make near-immediate judgments about the number of items in a group if you keep that number round about 4. Once you go above that point confidence and ...


17

Why not do both? You can have a health bar divided on discrete intervals. That has a lot of the advantages of both systems: You can make health increases be always an extra block. After you get hit, you know how much of a block an attack takes and it's easier to measure how many hits you can take. You can choose whether to make the bar longer or the blocks ...


17

If the health can grow significantly over the course of the game, I think that health bars are more appropriate. For example, in my current mmo game, the characters starts with 300 health, but that health can grow to over 3000 as the player levels. If this were implemented as hearts, it means you might start with one heart but have 10 or more hearts ...


16

If you stop calling it "pushing forward" on the joystick/mouse, and start calling it "pushing up" (which is the way that most players think of it -- particularly the ones who don't play flight simulators), then the "invert Y axis" name makes complete sense, since pushing up causes the player to look down. Edit: The fundamental issue here is people's mental ...


13

Conceptually, a streamlined UI is one where every UI element is exactly where the user wants it at the exact moment that the user needs it, and is not visible when the user doesn't need it. Obviously, what constitutes "streamlined" is semi-subjective. There are some objective measurements, and there are a lot of objectively wrong things you can do with UI ...


13

The elements you can use to present emotions I can think of are: Visual character animations (walking upright, bowed or hobbling, arms near the body when cold) especially facial expressions textures or decals (injury, blood, scratches) particles (sweat, blood) Gameplay player abilities (movement speed, jumps, reaction time, attack strength) body ...


13

You could express it in terms of "attacks per second" or "attack rate". If the per-second numbers are too small to be convenient for the player to compare, you could just scale them by an arbitrary constant - e.g. 0.5 attacks per second (1 attack per 2 seconds) could be multiplied by 10 or 100 and displayed as "5" or "50". The way you'd code it would be ...


11

Just to distill Martin Sojka's excellent answer into something simple to apply, here's how to decide whether black or white text would have higher contrast on a given background color (R, G, B) in the sRGB color space: const float gamma = 2.2; float L = 0.2126 * pow( R, gamma ) + 0.7152 * pow( G, gamma ) + 0.0722 * pow( B, gamma ); boolean ...


11

The most contrasting color would be the color that is as far as possible from color X. It's easy to get it this way (assuming 0,0,0=black and 1,1,1=white -- floating point colors): y = rgb_color( x.r > 0.5 ? 0 : 1, x.g > 0.5 ? 0 : 1, x.b > 0.5 ? 0 : 1 ); The result is quite ugly though, so you might want to consider a few more things: ...


11

Here's a strategy for making arbitrarily bent UI: we'll render our UI into a texture (in realtime, not as a baking step), and then map that texture onto whatever mesh we want. Here's how I made this spherical example: Create a RenderTexture to store the UI. This needs to be quite high-res to get text looking crisp. I used 4096x2048 because I intend to map ...


9

Not having the source from which you read the terminology, I'm going to guess it was simply referring to the literal definition of the word "streamlined." stream·lined    [streem-lahynd] adjective having a contour designed to offer the least possible resistance to a current of air, water, etc.; optimally shaped for motion or conductivity. ...


9

Immediate mode in OpenGL consists of glBegin/glEnd calls, with one or more glVertex calls (the minimum legal number depending on the mode param of your glBegin call), and optionally other vertex attribute specification calls (glColor, glTexCoord, etc), between them. glBegin instructs the GL driver that you're starting to draw a point, line or polygon. ...


9

In addition to the old classic, coming from fighter games - key combos. The better the spell, the longer the combo. This has the added benefit of feeling like casting, and a high level spell actually requires a bit more mental power. If the mouse is an option then Legend of Grimrock has a nice idea - a 4x4 or 5x5 square board (can't remember). The combos ...


9

Alright my dude. Welcome to the hell that is layout groups. Here's a few things you'll need to know first: If nothing is sizing the object, the layout group will not work as you expect (in fact it appears the opposite). Things that size the object include LayoutElement and ContentSizeFitter. For whatever reason the default rect transform sizings make the ...


8

The iTunes App Store already has a process in place for adding custom terms and conditions to any app you upload. http://developer.apple.com/library/ios/#documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/8_AddingNewApps/AddingNewApps.html Scroll down to "Providing an End User License Agreement". Tell your lawyer about this if he doesn't ...


8

The item you're talking about would be referred to as a progress bar: In this case, the progress bar is animated to fill up over a small amount of time. When completely full, the progress bar matches the highest score for that category. So, where 4975 is equal to 100% of the bar being full, 2000 is 2000/4975 = .40 or 40% full, as you can see in your ...


7

The first step is to have design goals. Figure out what kind of features your game will have, so you know where to focus your efforts and what designs to look out for. Will it be graph heavy? Will it be minimal and have panels upon panels hidden away? Will most of the action take place in the UI or in the game world? Will it be animated? Does it have a theme ...


7

Let's call the content you want to scroll content and the viewable area of that content viewPort. Your scrollbars will be at the sides of the viewport. The first step is to create a mask such that only parts within content which intersect with viewPort are visible. I can't answer exactly how to do this because it depends on your language and technologies. ...


7

There are many reasons a designer/programmer would want to draw the crosshair on the exact center of screen, or a little lower. A hybrid system may even be implemented, taking advantage of the properties of these two systems in a game fich of different weapons, vehicles, interactive spots, and so on. Drawing the crosshair centered or lowered can depend on ...


6

There are multiple options for where the art comes from. It's perfectly possible for the developers to create the art themselves, or have a separate team make the art. Probably the easiest way to get started on this is just finding free art assets and using those as place holders or even the final art if it's good enough.


6

I don't see why you couldn't give some less subtle hints. Something like this: Seems like an obvious enough encoding. You could remove the keys from the levels that have already been completed. Of course you can tune the prominence of the keys into your desired solution. They could be the same scale as the locks behind the numbers as well. Just some food ...


6

The answer by danijar already has some good ideas, but I have another one. Unless you want to go for a silent protagonist, you could have the player-character monologue about feelings of discomfort. First just occasionally ("I could need a snack right now") and then more frequent and demanding ("Hunger! I'm starving! Food! Please!"). The player will feel ...


6

Hiding the player-character's (PCs) health actually got quite common in the FPS genre. Instead of showing a health number on the bottom of the screen, they represent the health state of the PC with a meta-interface. When the player is hurt, the screen gets a red tint or gets splattered with blood. This represent the pain the PC is experiencing. The idea ...


5

It seems intuitively obvious that the mouse (or, even more so, a thumbstick, which even looks kind of like a head sitting atop a neck) is modeling the perspective character's head. Maybe this seems intuitively obvious to you, but not to everyone. To some it would seem intuitively obvious that moving the mouse "up" should move your view "up." I'm not ...


5

A simple piece to make your Tetris puzzle look better is to go with the original design scheme tetris used: Seperate the 7 colours that you will use (these don't need to stay close to the originals at all but may help with attracting those that recognize it's classic colour scheme.) Giving yourself a colour pallette before you have even made your set of ...


Only top voted, non community-wiki answers of a minimum length are eligible