Angband Forums

Angband Forums (http://angband.oook.cz/forum/index.php)
-   Variants (http://angband.oook.cz/forum/forumdisplay.php?f=4)
-   -   Brainstorming time - what should the character screen look like? (http://angband.oook.cz/forum/showthread.php?t=7098)

nppangband December 20, 2014 02:29

Brainstorming time - what should the character screen look like?
 
In working on the NPP QT port, I am ready to make the character/player screen. Its current form (basic character info, toggle screen to see key resists) that has existed since the late 80s is based on the limitations of an 80x24 screen. In a modern ui there is so much room for improvement, and so many different ways this screen can be implemented, I wanted to open it up to suggestions.

There are plenty of ways to display information outside of just plain rows and columns. The dialog box can use tabs, pop-up boxes, mouse hovers, mouse clicks, etc.

Here is my initial thinking, on which there is a lot of room for improvement:

The top of the character screen would be fairly similar to the initial screen. A mouse hover or click on some of the labels should bring up an explanation of that characteristic (explaining infravision, etc). The max experience row can be hidden if the player's experience is drained, and the experience to advance can be hidden if the player is level 50.

The second screen, which shows stat adjusts, resistances and abilities, can be a different section or a tab. But I think it should cascade down much longer, and display practically every relevant flag. For the weapons, the slays can be shown.

Part of me wants this screen to have one flag on each line, with the equipment, quiver, backpack, and perhaps the home inventory all shown on that line. So the player can look at all their items and see what they have that resists nether, etc. A mouse hover should bring up an explanation of that flag (e.g. Resist shards reduces damage by x%, and also prevents the player from being cut by shard attacks). I would like to improve on the current |---+-++-| way of displaying resists, but I haven't had any good ideas yet.

Eventually, I want to make a screen where the player could select from a section of drop-down boxes all of the possible items from their inventory, equipment and home for each equipment slot, and quickly compare the differences between what their character is wearing now and what they would be like wearing a particular kit.

Suggestions are more than welcome. There must so much that could be done with this screen that I have not thought of.

Nick December 20, 2014 07:12

In FA, I have made it a coloured, scrollable copy of the character dump, which IMHO works quite well.

getter77 December 20, 2014 13:11

What about some manner of radial, zodiac-like display for resists with colored lines or some such being drawn out? No need for scrolling at all, works at a glance, and you can still mouse over for more details. There's a specific name for it in general, comes up somewhat in the jRPG circles, but it escapes me...

In general, visual flourish and style should definitely trump Spreadsheetism now that you lot are fairly unshackled versus the old days.

Derakon December 20, 2014 15:54

How about a list that just says "you have this resist", "you don't have this ability", etc., and you can click on items in the list to switch to a view that shows you all the items you have/know about that provide it.

nppangband December 20, 2014 17:47

Quote:

Originally Posted by Derakon (Post 97466)
How about a list that just says "you have this resist", "you don't have this ability", etc., and you can click on items in the list to switch to a view that shows you all the items you have/know about that provide it.

My thinking there is to separate the resists, immunities, abilities, slays etc. into different widgets. Then, each one can be sortable to allow the player to see what they resists they have and what they don't, or what resists are provided by a particular piece of equipment.

fph December 21, 2014 09:31

Quote:

Originally Posted by getter77 (Post 97463)
What about some manner of radial, zodiac-like display for resists with colored lines or some such being drawn out? No need for scrolling at all, works at a glance, and you can still mouse over for more details. There's a specific name for it in general, comes up somewhat in the jRPG circles, but it escapes me...

A radar chart?

getter77 December 21, 2014 13:01

Yep, I think that's roughly it---add some stylings to it and a picture of a character in that sense could definitely be preferable to 1,000 words.

Could group like and opposing things together as well and cover the entire lot of it.

buzzkill December 22, 2014 16:49

How about a simple horizontal bar chart (or several), one for element resistances, one for status resists (FA, SI, 0 or 100%) , status effects (bless, haste shown as probable % of spell remaining), one for plusses (to hit/dam, stealth, shown as % of excess of natural ability, with peak ability determining scale). Something like this, in it's simplest form.

https://dl.dropbox.com/s/ojh9fgqvrrr..._bar_chart.png

bio_hazard December 23, 2014 00:19

Maybe a few circular charts:

basic 4 + poison
status resists
Exotic resists
Enhancements (sInv, esp, speed, attacks, accuracy,damage)

then a mouse-over or click could pull up the additional details of what gives the resist or by how much.

Carnivean December 23, 2014 03:24

Quote:

Originally Posted by buzzkill (Post 97509)
How about a simple horizontal bar chart (or several), one for element resistances, one for status resists (FA, SI, 0 or 100%) , status effects (bless, haste shown as probable % of spell remaining), one for plusses (to hit/dam, stealth, shown as % of excess of natural ability, with peak ability determining scale). Something like this, in it's simplest form.

https://dl.dropbox.com/s/ojh9fgqvrrr..._bar_chart.png

This will be the easiest to understand. Trying to overlay the items that affect the resistance, though, will make it messier. I'd list them below each resistance.

If you want to be more helpful you could make the list:
Worn (affecting current resistance)
-item 1, item 2, etc
Inventory
-item 3
At Home
-Item 4

RogerN December 25, 2014 16:52

I like buzzkill's suggestion the best. But instead of listing items which affect resistance, I recommend a pop-up window for that when you hover your mouse over the bar.

If you want to be really nice to the player then you could also include the maximum damage (from a single attack) that's possible after resist is applied.

AnonymousHero December 25, 2014 19:07

Quote:

Originally Posted by buzzkill (Post 97509)
How about a simple horizontal bar chart (or several), one for element resistances, one for status resists (FA, SI, 0 or 100%) , status effects (bless, haste shown as probable % of spell remaining), one for plusses (to hit/dam, stealth, shown as % of excess of natural ability, with peak ability determining scale). Something like this, in it's simplest form.

https://dl.dropbox.com/s/ojh9fgqvrrr..._bar_chart.png

The downside to this kind of bar chart is that the information density is really low. It may be OK for at game, but in general "Tufte says no" to bar charts :).

nppangband December 28, 2014 22:31

I kind of agree. I admit I didn't expect the answers I got in this thread.

Some sort of grid where the player can simultaneously analyze what resistances/abilities they have, and see they have if a certain piece of equipment is the only source of that resist/ability seems essential.

I can see where a radio chart or bar chart would have a better visual appeal, but wouldn't it be losing some usefulness?

Derakon December 28, 2014 23:55

Quote:

Originally Posted by nppangband (Post 97670)
I can see where a radio chart or bar chart would have a better visual appeal, but wouldn't it be losing some usefulness?

Agreed. The current character screens have a fantastic compromise between information density and readability. They aren't perfect (mostly in that the text labels for some flags are confusing, e.g. "Imp.HP" for "impaired HP regeneration"), but they're pretty good. If you want to improve them, I'd be looking to do so mostly by adding tooltips and flyouts.

AnonymousHero December 29, 2014 08:32

Quote:

Originally Posted by Derakon (Post 97671)
Agreed. The current character screens have a fantastic compromise between information density and readability. They aren't perfect (mostly in that the text labels for some flags are confusing, e.g. "Imp.HP" for "impaired HP regeneration"), but they're pretty good. If you want to improve them, I'd be looking to do so mostly by adding tooltips and flyouts.

Since NPP now has access to real graphics, it should be possible to refine the classic display a bit: You could essentially just render a table as the classic display does, but add the actual values to each table cell. You would just have to do it in a smaller font in order to keep the table's visual size manageable.

In stat slots you could display the full range, rather than going to "*" for values numerically larger than 9. For immunities and resists you could still display "+", "*" or even "33%" / "100%" (or "Imm."). For regeneration you could display the cumulative result of the Regeneration flag and "Imp. HP regen" flag as a percentage relative to "normal" regen (a fly-out or tooltip could display how the result was arrived at).

Make sense?

Carnivean December 29, 2014 11:27

One other thing that might make sense, especially for new players, would be to display both the % damage resisted and the maximum. In Vanilla, resistances don't stack, but this isn't intuitive. Also the % resisted isn't shown. If you resist Chaos, for example, you resist about 16% IIRC, and that is the maximum. FAA and others however stack resistances.

I've never played NPP (sorry), but I think that if you get this right, then you could set the standard that others will copy when they catch up.

Derakon December 29, 2014 15:01

Quote:

Originally Posted by Carnivean (Post 97682)
One other thing that might make sense, especially for new players, would be to display both the % damage resisted and the maximum. In Vanilla, resistances don't stack, but this isn't intuitive. Also the % resisted isn't shown. If you resist Chaos, for example, you resist about 16% IIRC, and that is the maximum. FAA and others however stack resistances.

In Vanilla, many resistances are variable. Each time you get hit by that element, damage gets cut by anywhere from 1/7th to 6/7ths.

Yes, this is utterly bizarre, thank you for noticing.

buzzkill December 29, 2014 15:54

Quote:

Originally Posted by nppangband (Post 97670)
I can see where a radio chart or bar chart would have a better visual appeal, but wouldn't it be losing some usefulness?

Here's a (partial) screenshot of an actual spreadsheet I used for a winning DaJ character. Bare minimum required info, as this was entered and updated manually. I believe the first section is equipped items and ammo. Second section is carried swaps. Third is home inventory swaps.
More useful? YES. Somewhat confusing? Yes. Info still missing? yes.
If you could combine something like this with expanded mouseover info, I think you would really have something.

https://dl.dropbox.com/s/e8mf3xsse358d48/npp_resist.png

nppangband December 29, 2014 22:18

Quote:

Originally Posted by Carnivean (Post 97682)
One other thing that might make sense, especially for new players, would be to display both the % damage resisted and the maximum. In Vanilla, resistances don't stack, but this isn't intuitive. Also the % resisted isn't shown. If you resist Chaos, for example, you resist about 16% IIRC, and that is the maximum. FAA and others however stack resistances.

I've never played NPP (sorry), but I think that if you get this right, then you could set the standard that others will copy when they catch up.

My plan right now is to have a tooltip that completely explains the source of attack and the resist. For Resist Fire, a mouse hover over the label would bring up something like:

Fire attacks have a maximum damage of 1500 points. Depending on the type of ranged monster attack, the damage is based on either the monster's current hit points or spell power. Fire attacks can also destroy scrolls, arrows (etc). If the player has either a permanent or temporary resist they incur only 1/3 of the un-resisted damage amount, and it also helps protect inventory from damage. If the player has both permanent resist fire and a temporary active resist fire spell active, damage incurred is only 1/9 of the total un-resisted damage and the odds of player inventory being destroyed is further reduced.

nppangband December 29, 2014 22:25

Quote:

Originally Posted by AnonymousHero (Post 97678)
Since NPP now has access to real graphics, it should be possible to refine the classic display a bit: You could essentially just render a table as the classic display does, but add the actual values to each table cell. You would just have to do it in a smaller font in order to keep the table's visual size manageable.

In stat slots you could display the full range, rather than going to "*" for values numerically larger than 9. For immunities and resists you could still display "+", "*" or even "33%" / "100%" (or "Imm."). For regeneration you could display the cumulative result of the Regeneration flag and "Imp. HP regen" flag as a percentage relative to "normal" regen (a fly-out or tooltip could display how the result was arrived at).

Make sense?

Exactly! I was thinking about things like that for stat slots. The stat sustains could be made more obvious as well. Maybe a mouse hover could bring up all the items in the player inventory and home that also affect that particular stat/resist/ability. One of my biggest goals is to make it simpler for the player to see how various equipment lineups would look without having to try everything on.

Also, for pval items such as speed, instead of a simple +, it can display the actual change to speed (+3).

nppangband December 29, 2014 22:32

Quote:

Originally Posted by buzzkill (Post 97688)
Here's a (partial) screenshot of an actual spreadsheet I used for a winning DaJ character. Bare minimum required info, as this was entered and updated manually. I believe the first section is equipped items and ammo. Second section is carried swaps. Third is home inventory swaps.
More useful? YES. Somewhat confusing? Yes. Info still missing? yes.
If you could combine something like this with expanded mouseover info, I think you would really have something.

That can happen. We will also be able to use right-clicks, left-clicks, double-clicks, and mouse hovers to pull up different types of information.

I am working on the status-bar now, and am trying to make it as useful as possible. Everything is represented by icons, but a mouse hover gives a complete explanation equivalent to what is currently found in the help files. It is also interactive. You can click on the searching icon to start or stop searching, or clicking on the study icon opens up the dialog to learn spells.

EpicMan December 30, 2014 16:20

Quote:

Originally Posted by Derakon (Post 97687)
In Vanilla, many resistances are variable. Each time you get hit by that element, damage gets cut by anywhere from 1/7th to 6/7ths.

Yes, this is utterly bizarre, thank you for noticing.

And is something that could be removed and 90+ percent of Angband players would probably never know. Since it's never explained in game (nor is it explained in the source code, it's just some weird magic numbers with no comments), changing the variable resists to the average (3.5/7, i.e. 1/2) would simplify things and keep the experience about the same for players. Right now the variable resistance adds complexity, but does it add enjoyment or interesting gameplay?

More radically, simplify things further - get rid of the high resistances (and add any protection from foo that would no longer be available) and cut high elemental damage in half. Items with high resists would get protections instead.

debo December 30, 2014 17:34

Quote:

Originally Posted by EpicMan (Post 97696)
And is something that could be removed and 90+ percent of Angband players would probably never know. Since it's never explained in game (nor is it explained in the source code, it's just some weird magic numbers with no comments), changing the variable resists to the average (3.5/7, i.e. 1/2) would simplify things and keep the experience about the same for players. Right now the variable resistance adds complexity, but does it add enjoyment or interesting gameplay?

More radically, simplify things further - get rid of the high resistances (and add any protection from foo that would no longer be available) and cut high elemental damage in half. Items with high resists would get protections instead.

"After the restructure" (you're welcome Nick)

Nick December 30, 2014 21:51

Quote:

Originally Posted by EpicMan (Post 97696)
And is something that could be removed and 90+ percent of Angband players would probably never know. Since it's never explained in game (nor is it explained in the source code, it's just some weird magic numbers with no comments), changing the variable resists to the average (3.5/7, i.e. 1/2) would simplify things and keep the experience about the same for players. Right now the variable resistance adds complexity, but does it add enjoyment or interesting gameplay?

One of the first things I want to look at is simplifying a whole range of calculations and making them more accessible to the player - to understand, and to change if they choose.

I don't think I would want to get rid of high resists; there are already unresistables, and I think having high resists makes for interesting gear choices.

nppangband December 31, 2014 00:21

Quote:

Originally Posted by Nick (Post 97700)

I don't think I would want to get rid of high resists; there are already unresistables, and I think having high resists makes for interesting gear choices.

Plus, the biggest benefit of those resists is the prevention of the side effects like blindness, hallucinations, confusion, etc. The player would have to heal so much more frequently without those.

-Jeff

EpicMan December 31, 2014 19:00

Quote:

Originally Posted by nppangband (Post 97707)
Plus, the biggest benefit of those resists is the prevention of the side effects like blindness, hallucinations, confusion, etc. The player would have to heal so much more frequently without those.

-Jeff

I had envisioned replacing the high resists with the appropriate protection. But Nick is right - there are also irresistible elements distinct from the high ones, including time whose effects are not avoidable. No reason to blur that line, as time & mana are notable right now because you cannot resist them.

I would still advocate fixing high resists at 50% damage reduction instead of the current random protection.

nppangband January 3, 2015 04:59

The object flags and stat modifiers still need to be done, but here is the work-in-progress of the character screen. Each label has a tooltip with a detailed explanation of how it is calculated and the purpose in the game. In source-diving to make the tooltips I learned some things I never know(the hunger attack has a saving throw!?).

On a different note, if a brigand is a credit to the family, they need their own reality show pronto.

http://download.nppangband.org/char_screen.png

Tibarius January 4, 2015 00:09

character sheet
 
I like the character sheet basically as it is. It is easy to overlook and has a very good mix of Information density to clear structure.

If you want to make things easier to understand for players then make the resistances all the same. Resistance to an element = damage reduced to 1/2. Point. It is easy to take a half from some values in head. Make it always work that way, regardless if resistance comes from item or spell. You either have resistance or you don't have it.

OR makes resistances a number between 1 and 99. Which would multiply to reduce resistance. That way item and temporary resitance would add up without ever reaching immunity.
100% damage taken without anything
item gives 40% reduction=>
damage taken = 100 * (100-40)/100 = 60% of full damage
2nd item gives 20% reduction=>
damage taken = 100 * (100-40)/100 * (100-20)/100 = 48% of full damage
spell gives temporary another 50% reduction=>
damage taken = 100 * (100-40)/100 * (100-20)/100 * (100-50)/100 = 24%
of full damage taken
That way it does not matter in which order the modifiers are applied. Cast Spell first and wear item or the other way round, it always Comes out the same.

The charachter sheet would Show the % damage taken ... 100 without resistance and the reduced value if resistance is applied.

I still have no clue what "saving throw %" is good for tho. Does this partially replace the protections? If i have 100% saving throw with high stats, does i still Need pBlind for example?

Cheers,
Tibarius

nppangband January 4, 2015 01:03

After playing around with it for a while, I came to the same conclusion. The character screen doesn't need to be all that different. I am trying to work in as much information as possible. Although it doesn't show up in the screen shot, almost every label has a ToolTip that gives extremely detailed information.

With regard to the different resistances, they are unique because each breath attack does different things. The most dangerous thing about the chaos breath is the hallucination and confusion side effects. Having resist chaos stops the side effects. It is far more important than the damage reduction.

In terms of saving throw, here is the tooltip. Note Vanilla Angband might be slightly different:

Current Saving throw percentage against some monster magical attacks such as fear, paralysis, slowness, blindness, and confusion. It is based on player race, class, level, and wisdom. Note some monster attacks do not allow a saving throw, so even a perfect saving throw doesn't offer complete protection from these side effects.

Zireael January 10, 2015 19:09

I love that character screen! Can't wait to playtest!

nppangband January 12, 2015 01:46

Almost done. I want to add buttons to pop up windows that display the info for the backpack and home inventory, as well as one for weapon and ammo multipliers. Every label has a tooltip that gives fairly complete information about that feature. That was painful. :) But hopefully it will greatly reduce the learning curve for new players.

http://download.nppangband.org/char_screen2.png

Zireael January 12, 2015 18:38

That is A-M-A-Z-I-N-G!

bio_hazard January 12, 2015 20:01

One thing you might consider is instead of showing all four of of the lower categories at once, show only two at a time (e.g. {resistance and abilities}, then hit right or left arrow to show {nativity and equipment}) You could then have more space between rows/columns to make it easier to see and to mouse over.

Also, are those supposed to be boxes with a check mark inside? Probably just go with a check mark? that would look cleaner imo.

Otherwise, looks great!

immunity could be a full shield icon or something?

Ingwe Ingweron January 12, 2015 20:20

What would immunity look like? Another field that might be interesting is Day/Night (for variants where such makes a difference).

nppangband January 13, 2015 00:46

Right now, immunity is a blue checkmark, resistance is green, and temporary resistance is purple (if the label is purple, it is double resist). I think you are right about using simple checkmark instead of the boxed checkmark.

When I used icons instead of using the checkbox, the squares blew up to 4x the original size. I spent way too long trying to fix it, and eventually gave up and used checkboxes. When I figure out why, there are immunity, resist, and double resist icons to use.

I also agree it is a little cramped. There will probably be a scroll bar for the bottom half, so I can also include layouts for the backpack and home inventory as well. But before all that fine tuning, I wanted to get feedback from different people on how well it works on different size screens.

All of the dialog boxes are generated by code, instead of actually drawing the dialog and using an interface to fill in the buttons and commands. It takes much longer to get right, but it is essential. Early on we discovered that when the dialog is pre-drawn, the game makes way too many assumptions about the size and alignment of the buttons, and it does not display right on different size screens. I am able to test it on a 24 inch monitor, and 17 inch laptop, and an 11 inch macbook screen. So far, it all displays and scales to the screen appropriately.

Thanks for the feedback!


All times are GMT +1. The time now is 22:28.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2022, vBulletin Solutions Inc.