krank / Charm

Charm is on online [Char]acter [M]anager for use in role-playing games. It allows users to create and share character sheets and build characters that are saved "in the cloud". Currently only in swedish.
4 stars 0 forks source link

Field type: Dots #25

Open krank opened 13 years ago

krank commented 13 years ago

Dots, world of darkness-style. Needs a maximum value as well as a default.

neogregorian commented 13 years ago

This could be generalized for different kinds of symbols. You could select one symbol for empty, One for filled, a maximum value and a default value.

['●','○',5,1] -> ●○○○○ ['o' ,'ø',10,8] -> ooooooooøø ['□ ', '', 20,12] -> □ □ □ □ □ □ □ □ □ □ □ □ etc.

krank commented 13 years ago

Good idea; problem is it either requires a) the user to write these values, comma-separated, him- or hereself or b) requires dots to have their own UI.

My current idea is a bit of both; allowing the user to type these things in, but also presenting a dropdown panel containt extra text fields etc. IE a text box for writing (5,1,o,x) (max/start/empty/filled), and a dropbox in which the user may choose things.

Also, I like the max/start/empty/filled more, because it allows for more reasonable defaulting:

x = normal ○ dots, filled as ●, default 0, maximum x

x, y = normal ○ dots, filled as ●, default y, maximum x

x, y, a = a dots, filled as ●, default y, maximum x

x, y, a, b = a dots, filled as b, default y, maximum x

There's a natural progression - z, y, a don't make much sense, but x and x,y should be possible... Using filled/empty/max/start would mean the user always had to specify empty/filled.

neogregorian commented 13 years ago

I agree on the ordering, there is no sane way to have a usefull default number that suits all systems for maximum.

I'm not sure that '●'/'○' will be the best choice for default values though. It is mostly prevalent in WoD, but for example '□'/'' trackboxes is used almost universally for health etc. This also has the additional benefit of having a meaningful default value (the empty string) for b and therefore the -x, y, a progression

I'm not sure if this is what you mean, but (max [, default [, filled-symbol [, unfilled-symbol]]] ) is then supposedly used for writing the Forms? And while using the Character editor you edit just a single number? Visible as a number in edit mode, rewritten as symbols in "printed" mode?

krank commented 13 years ago

In edit form mode: Select "Dots" as type. When clicking the input box, a small box appears directly below it, with the items "Before: ", "After: ", etc. as separate fields. Numbers and symbols entered into these fields is then transformed into a string which looks a bit like "5,1,●,○".

In edit character mode: Empty dots are displayed. Like □□□□□□. If the third one is clicked, the result is ■■■□□□. This is "expected behavious" for dots. A foll row of empties as default. Had the starting value been 2, it would have been ■■□□□□.

Clicking the first dot when it's filled, empties it. Which makes 0 a valud value.

The reasoning here is that people who create characters should be presented with an easy, visual interface whenever possible.

So - symbols everywhere but in the Forms editing.

Also; why is an empty string a good default value for □? I'm pretty sure I consider □ to be an empty form of ■.

krank commented 13 years ago

(sorry about accidentally closing the issue all the time btw)...

neogregorian commented 13 years ago

Given your description, I see that en empty string is not only a bad idea for a default value, but also impossible to use for empty or filled symbols as well.

What I described would allow removing excessive symbols (like for health points), to reduce clutter. example (12,12,'□', '') would show 12 boxes by default, but if the character only has 9 boxes, he could select that in the form, and then the rest would be removed.

I agree though that simply clicking is more intuitive and the prefered approach, even though it is less expressive. Or perhaps two different field types could be implemented, if the additional functionality is wanted.