Page 1 of 1

Name 10-aut units, or do away with them and just count auts

PostPosted: Saturday, 22nd February 2020, 18:58
by Psymania
Hello,

It is very confusing to new players, and to a certain degree even to experienced players, that the standard "1.0" unit of time has no name. It is especially confusing not only because it does not have a name, but because it is very easy to incorrectly assume it must be a "turn," which of course in Crawl terminology is actually a single player action, no matter how much or how little game time that action consumes. I think it would be resonant with the "clarity" portion of Crawl's design philosophy if this were...well, clarified.

Proposition 1: Give the 10-aut unit a name, for Pete's sake. If this happened (someone in a years-old Reddit comment suggested calling it a "decaut" or "dec"), it would both add definition to Crawl's game time and help to provide the distinction between auts, 10-aut intervals, and "turns."

Proposition 2: Just do away with the unnamed 10-aut unit altogether, so that auts are the standard unit and they are always simply counted as whole numbers, which would save, not add, characters on the screen because the decimal point would simply go away and the rest of the numerals would stay the same.

Personally, I feel more drawn to proposition 2, because then there are only two potentially-confused things to be distinguished from each other: the "aut" and the "turn." However, I think that either proposition would be a big improvement to clarity.

The most obvious argument (AFAIK) against proposition 2 is that the 10-aut unit of time is important, being the standard movement delay for an average-speed character or enemy. To this I reply: "Yes, but it's apparently not important enough to be given a name." I ask which of the following is a more straightforward thing to explain to the player: "10 auts is the standard movement delay," or "1.0 of some unnamed chunk of time is the standard movement delay and it is equal to 10 auts."

Thanks in advance for feedback!

Re: Name 10-aut units, or do away with them and just count a

PostPosted: Saturday, 22nd February 2020, 21:27
by petercordia
I wouldn't mind using 'turn' to mean 10 auts.

The word 'action' is much better suited to describing "a single player action, no matter how much or how little game time that action consumes".

The change this would imply for speed-runs I'd consider positive. (No more bread swinging.)

Re: Name 10-aut units, or do away with them and just count a

PostPosted: Saturday, 22nd February 2020, 23:58
by duvessa
petercordia wrote:I wouldn't mind using 'turn' to mean 10 auts.
People uncritically using 'turn' like this is the reason this whole debacle exists in the first place.

Definitely just get rid of the decimal point.

Re: Name 10-aut units, or do away with them and just count a

PostPosted: Sunday, 23rd February 2020, 16:02
by Shtopit
I wonder if it makes sense to use the word "aut" in general. "Arbitrary unit of time"? That's not readable, just call them Time Units, or something simpler.

I find definitions like "attack delay" and "movement delay" also more complex than needed.

"This weapon's fastest attack speed (0,6) is reached at skill level 14" reads simpler to me.

Re: Name 10-aut units, or do away with them and just count a

PostPosted: Sunday, 23rd February 2020, 20:26
by Psymania
Shtopit wrote:I wonder if it makes sense to use the word "aut" in general. "Arbitrary unit of time"? That's not readable, just call them Time Units, or something simpler.

I like that too, not a bad idea. "TUs" for short?

Shtopit wrote:I find definitions like "attack delay" and "movement delay" also more complex than needed.

"This weapon's fastest attack speed (0,6) is reached at skill level 14" reads simpler to me.

The problem with this is that "speed" and "delay" are conceptually opposite. A higher speed means a lower delay. If the number in question is 0.7 instead of 0.6, that means it's slower, not faster -- but a "speed" of 0.7 ought to be faster than a "speed" of 0.6.

Re: Name 10-aut units, or do away with them and just count a

PostPosted: Sunday, 23rd February 2020, 23:30
by Shtopit
Psymania wrote:
Shtopit wrote:I wonder if it makes sense to use the word "aut" in general. "Arbitrary unit of time"? That's not readable, just call them Time Units, or something simpler.

I like that too, not a bad idea. "TUs" for short?

Yes, possibly. The best would be a very short word that doesn't need shortening. (The only one I can think of right now would be "beat", which might be just as opaque).
The problem with this is that "speed" and "delay" are conceptually opposite. A higher speed means a lower delay. If the number in question is 0.7 instead of 0.6, that means it's slower, not faster -- but a "speed" of 0.7 ought to be faster than a "speed" of 0.6.

True, but directly above you have the base attack delay. The result would be e.g.

  Code:
Base attack speed: 1,3
This weapon's fastest attack speed (0,6) is reached at skill level 14.


which would show that faster = lower number.

But again, any alternative that is easier to read and has less ambiguity than "speed" would be welcome by me.

Re: Name 10-aut units, or do away with them and just count a

PostPosted: Monday, 24th February 2020, 02:41
by chequers
How about:

  Code:
This weapon's attacks take 13 TU at 0 skill.
Its fastest attack speed (6) is reached at skill level 14.
At your current skill level (7.9), attacks take 8-9 TU.

Re: Name 10-aut units, or do away with them and just count a

PostPosted: Monday, 24th February 2020, 17:25
by damerell
Psymania wrote:Proposition 1: Give the 10-aut unit a name, for Pete's sake. If this happened (someone in a years-old Reddit comment suggested calling it a "decaut" or "dec"), it would both add definition to Crawl's game time and help to provide the distinction between auts, 10-aut intervals, and "turns."

Proposition 2: Just do away with the unnamed 10-aut unit altogether, so that auts are the standard unit and they are always simply counted as whole numbers, which would save, not add, characters on the screen because the decimal point would simply go away and the rest of the numerals would stay the same.

I was thinking about this after you mentioned it on IRC and it struck me that as a player I favour Proposition 1 - on reflection, I think I usually already call 10-aut intervals "nominal turns" (in a sensible world they'd be "turns" and you would take "moves", but we can't get there from here).

However, as an occasional programmer, I favour Proposition 2, because there are some things in the code that use nominal turns and some which use auts and goodness me, does this make for hilarious gotchas.

Re: Name 10-aut units, or do away with them and just count a

PostPosted: Monday, 24th February 2020, 18:43
by Psymania
Shtopit wrote:Yes, possibly. The best would be a very short word that doesn't need shortening. (The only one I can think of right now would be "beat", which might be just as opaque).

What about a "tick"? "Beat" sounds a little weird and ambiguous, I agree, but I think that for most English speakers, "tick" conjures thoughts of time more directly than thoughts of anything else. It's also very short and easy. And has a nice ring. :P

Re: Name 10-aut units, or do away with them and just count a

PostPosted: Thursday, 27th February 2020, 12:55
by Shtopit
Psymania wrote:What about a "tick"? "Beat" sounds a little weird and ambiguous, I agree, but I think that for most English speakers, "tick" conjures thoughts of time more directly than thoughts of anything else. It's also very short and easy. And has a nice ring. :P


It sounds very good! I'd go for it.

Re: Name 10-aut units, or do away with them and just count a

PostPosted: Sunday, 1st March 2020, 21:44
by tasonir
+1 for ticks. They're fairly commonly used in games, especially various "incrementals" which have a minimum time defined (like kittensgame uses .2 seconds for their tick, or 5 ticks per second). Or old school muds which had fairly long ticks, often around 1 minute, which was when the player got health/mana regeneration. Real time games often use "frames" instead, but I think ticks is better here.

Re: Name 10-aut units, or do away with them and just count a

PostPosted: Wednesday, 4th March 2020, 14:27
by Shard1697
"Time Unit/TU" is already used in some old games like XCOM which roguelike players are relatively likely to be familiar with, so there's a familiarity upside with that option.

Re: Name 10-aut units, or do away with them and just count a

PostPosted: Thursday, 5th March 2020, 15:45
by njvack
For one single little anecdote: I've been playing on and off for a long time, and this thread was the first time I realized that weapon delay is just the number of ten-aut-units it takes to use the weapon. (God, I hope this is actually correct.) I'd always thought "oh, 0.6 is just some unitless thing compared to some other arbitrarily-chosen 1.0 weapon speed." Yes, I could have just watched the time meter as I swung a weapon. I didn't, or didn't really internalize what the result meant.

Partly, I think, this is because game time is displayed in tens of auts and people talk about actions taking time in a mixture of auts ("speed 10 monster") and tens of auts ("minimum delay is 0.7"). They sound like different things.

Just listing every time and delay in auts (eg, remove the decimal point) and saying things like "a move speed of 10 means it takes 10 auts to move" and "weapon delay of 14 means it takes 14 auts to use the weapon" would make a lot of the speed system (which is pretty important!) more clear.

I don't think the concept of "10 auts" needs a name at all. 10 auts is not special, it's just the speed that a lot of characters and monsters move at.

Re: Name 10-aut units, or do away with them and just count a

PostPosted: Thursday, 5th March 2020, 19:07
by delarado
Tongue in cheek but half serious reply... just make everything in the game take ten times as long.

Re: Name 10-aut units, or do away with them and just count a

PostPosted: Monday, 9th March 2020, 21:35
by tasonir
njvack wrote:For one single little anecdote: I've been playing on and off for a long time, and this thread was the first time I realized that weapon delay is just the number of ten-aut-units it takes to use the weapon. (God, I hope this is actually correct.) I'd always thought "oh, 0.6 is just some unitless thing compared to some other arbitrarily-chosen 1.0 weapon speed." Yes, I could have just watched the time meter as I swung a weapon. I didn't, or didn't really internalize what the result meant.

Partly, I think, this is because game time is displayed in tens of auts and people talk about actions taking time in a mixture of auts ("speed 10 monster") and tens of auts ("minimum delay is 0.7"). They sound like different things.

Just listing every time and delay in auts (eg, remove the decimal point) and saying things like "a move speed of 10 means it takes 10 auts to move" and "weapon delay of 14 means it takes 14 auts to use the weapon" would make a lot of the speed system (which is pretty important!) more clear.

I don't think the concept of "10 auts" needs a name at all. 10 auts is not special, it's just the speed that a lot of characters and monsters move at.


Are you ready to go down the real rabbit hole? Please correct me if my understanding is wrong, but I think you're still mistaking how weird crawl's time system is. Specifically for monsters; your weapon stuff is correct. Monster speed isn't related to how quickly they can move - all monsters require 10 energy to move unless it's doing something like swimming at a faster rate. A monster's speed is how much energy they gain after a player action (assumed to be 10 auts). So then a 15 speed monster gains 15 energy after each player action, which they can then spend 10 of to move (and will save the 5 extra, so that next turn (again assuming the player took exactly 10 auts on the last action) they'll go to 20 energy, and can act twice.

If the player's action was faster/slower than 10 auts, then the monster's energy gain is scaled, although I have no idea how it handles rounding.

Re: Name 10-aut units, or do away with them and just count a

PostPosted: Tuesday, 10th March 2020, 16:00
by njvack
You're right, I am totally misinterpreting how monster energy works. Gak.

Re: Name 10-aut units, or do away with them and just count a

PostPosted: Tuesday, 10th March 2020, 19:37
by Siegurt
tasonir wrote:If the player's action was faster/slower than 10 auts, then the monster's energy gain is scaled, although I have no idea how it handles rounding.

  Code:
static void _monster_add_energy(monster& mons)
{
    if (mons.speed > 0)
    {
        // Randomise to make counting off monster moves harder:
        const int energy_gained =
            max(1, div_rand_round(mons.speed * you.time_taken, 10));
        mons.speed_increment += energy_gained;
    }
}

div_rand_round randomly rounds up or down proportional to the fractional part (so if the actual math would produce 10.7 you get 10 30% of the time and 11 70% of the time)

the *end result* is that a regular monster with speed 15 attacks and moves 50% more frequently on average than a player who takes 10-aut actions, given the default monster action speed (10)

Monster's can also have specialized amounts of energy they can lose per-action-type (for example deep elf master archers only take 5 energy to fire missiles, but take 10 for everything else, and are "speed 10")

Most monsters use the default energy consumed (10) for everything, and those that don't, have limited exceptions.

Re: Name 10-aut units, or do away with them and just count a

PostPosted: Tuesday, 10th March 2020, 21:18
by petercordia
I thought monsters were effected my weapon delay when using a weapon, taking a number of 'energy points' equal to Average(weapon base delay, 10). Is that incorrect?

Re: Name 10-aut units, or do away with them and just count a

PostPosted: Wednesday, 11th March 2020, 19:45
by Siegurt
petercordia wrote:I thought monsters were effected my weapon delay when using a weapon, taking a number of 'energy points' equal to Average(weapon base delay, 10). Is that incorrect?

That's incorrect, the number of energy points a monster needs to use to take a normal action is fixed, the number of action points you *give them* is relative to their speed and number of auts your action consumed.

The amount of energy it takes *a monster to swing a wielded weapon* is relative to *that monster's weapon's base delay* and the base attack energy consumption for that monster (10 for everything except juggernauts presently).

Relevant code:
Spoiler: show
Attack code for figuring out how much energy a monster takes:
  Code:
 if (!effective_attack_number)
        {
            int energy = attacker->as_monster()->action_energy(EUT_ATTACK);
            int delay = attacker->attack_delay().roll();
            dprf(DIAG_COMBAT, "Attack delay %d, multiplier %1.1f", delay, energy * 0.1);
            ASSERT(energy > 0);
            ASSERT(delay > 0);

            attacker->as_monster()->speed_increment
                -= div_rand_round(energy * delay, 10);
        }

attacker->as_monster()->action_energy(EUT_ATTACK); is 10 (except for juggernauts)

definition of "attack_delay" for monsters:
  Code:
random_var monster::attack_delay(const item_def *projectile,
                                 bool /*rescale*/) const
{
    const item_def* weap = weapon();

    const bool use_unarmed =
        (projectile) ? is_launched(this, weap, *projectile) != launch_retval::LAUNCHED
                     : !weap;

    if (use_unarmed || !weap)
        return random_var(10);

    random_var delay(property(*weap, PWPN_SPEED));
    if (get_weapon_brand(*weap) == SPWPN_SPEED)
        delay = div_rand_round(delay * 2, 3);
    return (random_var(10) + delay) / 2;
}


Basically for monster's it costs 10 energy + d(Average(10,weapon base delay)) to attack with a weapon, but it's *their* wielded weapon, not yours.

Re: Name 10-aut units, or do away with them and just count a

PostPosted: Thursday, 26th March 2020, 06:29
by Psymania
Anybody mind if I revive this discussion?

It seems like there is an awful lot of support for just doing away with decimal points and making auts the *only* single unit of time used, no?

And, as well, for renaming them to something like "ticks."

You're probably not asking yourself "I wonder what motivated him to come check and see whether this conversation went anywhere?", but I'm going to answer the question for you anyway. It occurs to me that the "%" screen in Crawl itself calls two different things "turns" at the very same time. In the upper right of the "%" screen, it shows the number of "turns" meaning player actions that have elapsed. It doesn't equal the "Time" displayed on the main screen so it is clearly the other definition. However, in the lower left of the "%" screen, it tells you your HP and MP regeneration per "turn," where "turn" means 10 auts...at the very least, this inconsistency should be fixed, no?

Re: Name 10-aut units, or do away with them and just count a

PostPosted: Thursday, 26th March 2020, 11:44
by petercordia
I actually still like the concept of 'a standard turn duration', and thus like the decimal point and I wish 10 auts could have a name.
I also don't think 'tick' is any better than 'aut', neither would I care much if it was changed.

I'd really appreciate if the game stopped counting the number of player actions (currently called turns).

Re: Name 10-aut units, or do away with them and just count a

PostPosted: Friday, 27th March 2020, 22:08
by Psymania
I'm playing Stoat Soup right now (being a faerie dragon is fun and they are pretty!) and I just noticed that in the spell description for its version of Regeneration (which still exists in Stoat in a modified form), it references "per turn" in a way that I am about 95% confident has got to be talking about units of game *time* (10-aut, I would suppose) and *not* player *actions*. It makes me wonder whether there are also other references to "turns" strewn about in Stone Soup that are also referring to time units and not actions.

Would it be feasible to simply quit calling player actions "turns," call them "actions" instead (which is exactly what they *are*), and let "turns" mean 10-aut units, as it's so often been (understandably) assumed to mean? AFAIK, that would only require one, very trivial in-game change: "turns" in the top-right of the "%" screen would have to become "actions" instead. Nothing else. On the flipside, I can see that this would result in some confusion for experienced players: "What, you mean that turns *are* 10-aut units after all, and that player actions are not turns, but are instead actions?"