buttonmen-dev / buttonmen

Buttonmen - an online dice game
Other
16 stars 24 forks source link

Play with a randomly-generated button #779

Closed jimmosk closed 8 years ago

jimmosk commented 10 years ago

The previous site had an option to create a game where the players had randomly-generated buttons, with different skill-densities ranging from no skills (though perhaps one Swing die?) up to what I think was termed the CRAZY level (most dice having one or more skills).
Can someone recall what those levels of skill-density were? And more importantly, I'd officially like to request this functionality be added. [edited title to make clear I didn't mean simply selecting an existing button randomly]

jimmosk commented 9 years ago

Okay, it's a short month, so I'm going to use my February BFotM on what blackshadowshade said was "close to trivial---and would be a great place for an up-and-coming back-end dev to jump into adding new button skills!": I'd like the rest of the Old Site random buttons to be implemented, or as many as you can get to. Here are their descriptions (in the order I'd prefer them done):

Anime -- 4 Dice and 4 reserve dice, chosen from standard button sizes, Twins possible Standard -- 4 Dice, chosen from standard button sizes, plus one Swing of any type, with one skill chosen from all existing (non-excluded) skills and given to 2 Dice Multi -- 4 Dice, chosen from standard button sizes, plus one Swing of any type, with two skills chosen from all existing (non-excluded) skills and each given to 1 or more Dice Freaks -- 4 Dice, chosen from standard button sizes, plus one Swing of any type, with three skills chosen from all existing (non-excluded) skills and each given to 1 or more Dice CRAZY -- 4 Dice, chosen from standard button sizes, plus one Swing of any type, with five skills chosen from all existing (non-excluded) skills and each given to 1 or more Dice Soldier -- 4 Dice, chosen from standard button sizes, plus one X Swing, No Twin or Option Dice Fantasy/Foglio -- 4 Dice, chosen from standard button sizes, plus one Swing of any type

irilyth commented 9 years ago

Jimmosk (or others), how would you feel about not using the old-site definitions for the ones that are like sets, but instead using the definitions I suggested earlier for those, which I think more closely match the other buttons in the sets?

jimmosk commented 9 years ago

Okay with me. You mean these ones?

Soldiers -- 4 regular dice - one X swing - no skills on any dice Fantasy -- 1–3 regular dice - the other 2–4 Option dice Studio Foglio -- 3 regular dice, one Twin die, with a 1/2 chance that it has Poison, one W or X swing, with a 1/10 chance that it is also a Twin die

blackshadowshade commented 9 years ago

Okay, let's take Anime first.

Die size distribution from Sailor Moon 1 and 2, excluding Wiseman and Shadow Warriors:

Normal die: (1) : 1 (2) : 1 (4) : 12 (6) : 18 (8) : 8 (10) : 13 (12) : 19 (20) : 15

Reserve die: (1) : 0 (2) : 2 (4) : 11 (6) : 12 (8) : 15 (10) : 19 (12) : 15 (20) : 16

Recipes are allowed to have repeated die sizes, so I'll generate recipes by sampling die sizes from a uniform distribution for 4 normal and 4 reserve dice.

irilyth commented 9 years ago

Jimmosk: Yep, that's what I had in mind. Also Anime, which I think is already done. :^) (The only difference there was about Twin dice; I think Cammy Neko and Sailor Main are the only ones with Twin dice, and they're not part of the main anime sets, so I think it'd be better to leave Twin dice out, or maybe give them a very small chance of showing up if that's easy to do and people like it better.)

irilyth commented 9 years ago

Should Tenchi Muyo count for distribution purposes? Probably doesn't matter a whole lot.

jimmosk commented 9 years ago

I like the possibility of them having twin dice, but only slightly, and primarily for reasons of more-possibilities-means-more-fun. And if blackshadowshade has already crafted the logic without having twins, I don't see any need to add them (just remove "Twins possible" from their description).

As for Tenchi Muyo, I don't see why not. They're anime buttons.

jimmosk commented 9 years ago

Any thoughts on whether the text after a game ends should be changed for RandomBM, specifically the "play with the same buttons" option? It implies the exact same random buttons, but that's not what you get...

edpegg commented 9 years ago

At http://www.buttonweavers.com/ui/forum.html#!threadId=96 , I started a list of possible skill pairs. Some skill pairs don't make any sense, and I marked them with an X.

In http://www.buttonweavers.com/ui/game.html?game=4594 , the RandomBMMixed button got a "cw(1)" die, a Slow Chance die.

RandomBMMixed should work with a list of forbidden skill pairs.

irilyth commented 9 years ago

I think we've concluded that cw and c(1) are useless, but not forbidden. (There are definitely buttons that have Chance and Focus on dice that also have skills which prevent those dice from counting for initiative.)

irilyth commented 9 years ago

This is my BFOTM for March.

I don't care as much about the types from the old site. :^) Here's my preference list, of the set-based types I suggested earlier, with point values:

I'd like as many points worth as can be done, so if one of the three-point ones is particularly hard, feel free to skip it if that means getting more points worth of other things done. Or ignore the whole points thing and just go in the order I listed. :^)

Two other notes:

Jimmosk, if you have an opinion about this, maybe chime in about what you'd like "each given to 1 or more Dice" to mean for the latter three? In particular, should each skill be given to 1 - 5 of the dice, with the number selected randomly and independently? Or should each skill end up on the same number of dice? Or should there be a consistent number of skill-on-dice total, but randomly as to how they're distributed? (e.g. for Multi, say a total of five skills-on-dice, so you might end up with one skill on one die and one on four, or one on two and one on three.) I sort of like that last one, and suggest maybe 3N-1 as a formula, i.e.:

That also seems to beg for the addition of something like

Whatcha think? (If you like the general idea: 3N-1, or 2N? 2N might be a little less out there. Or it doesn't have to be a consistent formula. :^)

jimmosk commented 9 years ago

When I originally wrote my understandings of the terms (just after I put the bugfix of the month label on this 21 days before the day I'm writing this), I was thinking along the lines of your first version, with random, independently-chosen numbers of skills. But thinking about it some more, that could lead to really lopsided battles between random dice of the same type -- more than the lopsided ones that already happen, I mean. So it'd probably be more fun to follow your 3N-1 plan. And I can't actually remember which is truer to the previous ButtonMen site. Can anyone else?

irilyth commented 9 years ago

Yeah, I have no idea what the previous site did. I sort of recall at least some of the descriptions not matching what actually happened. :^P (Like, it said "five skills" for CRAZY, but you only ever got three skills, but all five dice had at least one skill, or something like that.) But that might have been due to a mis-reading of the descriptions, who knows.

irilyth commented 9 years ago

You know, on further reflection, I kind of like the idea of the Standard/Multi/Freaks/Wacky/Crazy ones as the next target.

One question: Should we change the names, to avoid any hint of pejorative terms for mental illness? I'm happy to try to come up with something else.

jimmosk commented 9 years ago

I'm in support of making that change. I think Crazy is the only one seen as pejorative, right?

irilyth commented 9 years ago

I think "Freaks" isn't great either; and I'm not all that enthused about "standard" and "multi", just because they don't seem all that meaningful.

How about some combination of: Hyper, super, ultra, uber, and/or mega? Perhaps combined with "skill", so RandomBM SingleSkill, RandomBM MultiSkill, RandomBM HyperSkill, RandomBM SuperSkill, RandomBM UltraSkill?

Or we could use actual numerical prefixes: Monoskill, Duoskill, Triskill, Tetraskill, Pentaskill. (Or more Latinesque: Uniskill, Biskill, Triskill, Quadroskill, Quintaskill. I like the Greek ones better.)

Whatcha think?

jimmosk commented 9 years ago

I'm not big on the first option, since Hyper etc don't have as much of an ordering in my head as Freaks etc (though I admit that may just be repeated exposure to the latter). I'm fine with the other two suggestions, and I too prefer the Greek.

irilyth commented 9 years ago

Ok, let's go with Greek! Any opinions about the root? I think "skill" is ok, something else could also work, I don't have any great ideas. I like not camelcasing it, so "RandomBM Tetraskill" etc.

jimmosk commented 9 years ago

I think skill is totally the proper root, since that's what we're randomly choosing one (or more) of. But it occurs to me that the Create Game menu lists buttons in alphabetical order within their set, which would be suboptimal here. So either we jigger that around, or go with Random 1-skill, Random 2-skill, etc, methinks.

irilyth commented 9 years ago

Hmm. Dev folks, can the sorting of the buttons within a set, in the Create Game menu, be overridden? Or must it always be sorted by name?

irilyth commented 9 years ago

We'd like to remove a number of skills from this list eventually, but we're also open to adding skills to this list, including Slow as proposed by irilyth.

Any objections to removing Slow?

blackshadowshade commented 9 years ago

irilyth, we explicitly specify the order of buttons in data.button.sql, so we have have whatever order we like.

irilyth commented 9 years ago

irilyth, we explicitly specify the order of buttons in data.button.sql, so we have have whatever order we like.

Ok, great! Here's my request for the next set of RandomBM buttons, then:

I think 3N-1 is too many, but 2N might be too few, so I made up something in the middle here. (approximately 2.5 x N, I guess. :^)

I think we should also:

Thanks!

edpegg commented 9 years ago

Over at Create Game, one option is Die Skill. It lists all the various skills, ANY, Auxiliary, Berserk, ..., Warrior, and Weak.

If one of these skills is selected, say Value, then Random Button, Beatnik Turtle, Miser, Noeh, schwa, The Fool are shown. The Random Button pretty much ignores the previous selection.

I propose that the prior selections mean something. If I clicked Value, it would instead show Random Existing Button + v (Value) (5 choices) Beatnik Turtle, Miser, Noeh, schwa, The Fool Random Created Button + v (Value)

Second, add a few more dropdowns.
One would be Die Skill, again. This would allow a button to be specified with two skills.
Value + Trip would give: Random Existing Button + t v (Trip, Value) (2 choices) Noeh, schwa Random Created Button + t v (Trip, Value) The second would be Number of Skills. 0, 1, 2, 3, 4, 5, 6, 7+. This would be the number of distinct skills. For example, Da Pimp has 5 distinct skills.

Currently, there are 3 dropdowns: Button set, Tournament legal, Die skill.
I'm proposing 5 dropdowns: Button set, Tournament legal, Die skill, Die skill, Number of skills.

With these, I could create a random button with Shadow, Konstant, and 1 other skill (3 skills total). ,

irilyth commented 9 years ago

A randomly generated button isn't the same as a randomly selected button. Check out #1234 instead.

irilyth commented 9 years ago

Ah, I didn't read that whole comment carefully.

I think being able to make up on-the-fly formulas for a randomly-generated button would be a fine thing, but I think it's beyond the scope of this ticket. But it'd be a fine thing to make a new ticket for!

jimmosk commented 9 years ago

In http://dev.buttonweavers.com/ui/game.html?game=1745 I got a die with Speed and Stealth. But since Stealth dice can make no kind of attack other than multi-die Skill attacks, I can't actually use its Speed skill. That strikes me as dumb, and I'm wondering if Random buttons should be unable to have Stealth paired with skills that are supposed to give it other kinds of attacks (Shadow, Trip, etc).
I'm saying so here, but if you think it should be its own separate issue just let me know.

(Oh. and has anybody brought up the potential confusion of using 'skill' to mean a specific kind of attack as well as any of a large number of powers?)

irilyth commented 8 years ago

I had BFOTM-ed this previously (last March), and said

Here's my request for the next set of RandomBM buttons, then:

I think 3N-1 is too many, but 2N might be too few, so I made up something in the middle here. (approximately 2.5 x N, I guess. :^)

I think we should also:

I don't think any of those actually got implemented, so that's still what I'd like to see here, and I'm BFOTM-ing it again for Jan 2016.

blackshadowshade commented 8 years ago

The description has already been updated, as far as I can see.

blackshadowshade commented 8 years ago

Slow has already been excluded.

blackshadowshade commented 8 years ago

The set ordering was changed, but apparently the button display algorithm always sorts them in alphabetical order within sets.

blackshadowshade commented 8 years ago

BTW, these changes happened in #1579, which partially addressed (i.e., two hours) the BotM of March last year.

irilyth commented 8 years ago

Ah, ok. As it turns out, I only barely cared about any of those things, but it's good that they're done. :^)

Is it feasible to get some of the new button types I mentioned in this current BFOTM?

blackshadowshade commented 8 years ago

Sure, shouldn't be too difficult.

blackshadowshade commented 8 years ago

Okay, I've found the code that orders the buttons:

https://github.com/buttonmen-dev/buttonmen/blob/master/src/engine/BMInterface.php

BMInterface->execute_button_data_query() has the following SQL ordering:

ORDER BY s.sort_order ASC, b.name ASC;

Thus, it sorts by set order and then by name.

If you want the RandomBM buttons sorted in a particular order, we might have to do that by choosing names that sort in the correct order when sorted alphabetically. What do you think about calling the new ones something like RandomBM_with_1_skill, RandomBM_with_2_skills? It's not pretty, but it'll sort correctly.

blackshadowshade commented 8 years ago

The other option is that we order within sets by ID number, which maintains the ordering in the database. Any thoughts about that?

AdmiralJota commented 8 years ago

Or add a button.sort_order column, then ORDER BY s.sort_order ASC, b.sort_order ASC, b.name ASC;?

blackshadowshade commented 8 years ago

Good point. However, I'm still interested in whether people would like to have buttons displayed in canonical order within each set, as opposed to alphabetical order. For example, when I look at Brom, I expect to see Echo last, instead of in the middle of the set.

dwvanstone commented 8 years ago

Where does the canonical order come from? The way they were listed on the DHS site?

irilyth commented 8 years ago

I think that being able to control the ordering is good, so we don't just get stuck with alphabetical (or whatever). I don't have a strong preference about how we control it, or what it should be for sets other than RandomBM.

AdmiralJota commented 8 years ago

I don't have strong feelings about whether buttons are normally in alphabetical or canonical order, but I like being able to support it on a case-by-case basis with the sort_order field (so Fanatics can be alphabetical without anyone needing to manually set their sort orders individually, but RandomBM's can be canonical).

blackshadowshade commented 8 years ago

I was taking the canonical order as "the way the designer decided to list the buttons". In the case of the standard buttons, many of them are ordered in alphabetical order, but Soldiers isn't. Also, promos that were later included in a set (e.g., Echo) often don't show up in the canonical ordering, and were often listed on the DHS site after the standard set (if I remember correctly).

I'm happy to add a sort order for special sets where the sort order is important. For example, there's a Zodiac set currently being designed, and I think it would make sense to order those by month order, instead of alphabetical order.