Increase scoring formula


Although the central place for design discussion is ##crawl-dev on freenode, some may find it helpful to discuss requests and suggestions here first.

User avatar

Dungeon Master

Posts: 502

Joined: Wednesday, 7th March 2012, 13:25

Location: Lexington, KY, US

Post Saturday, 8th August 2015, 03:40

Re: Increase scoring formula

duvessa wrote:you guys do realize breadswinging isn't just about score right? it also reduces piety decay


Piety delay is based on aut elapsed, not turns. It appears that was the case even before timed effects were made less predictable (in 0.14). You can maybe delay a single instance of piety loss by an extra 15 aut or so (with one well-timed breadswing), but that just means the next event will happen that much earlier.

There are, however, some cases where short turns decrease the variance of an effect compared to long ones, when we scale a random effect by the amount of elapsed time this turn (basically anything that uses timescale_damage; cloud damage for example). Really we should be using a Poisson distribution for those kinds of things, or at least a binomial distribution with one trial per aut.

For this message the author neil has received thanks: 2
Arrhythmia, duvessa

Ziggurat Zagger

Posts: 8786

Joined: Sunday, 5th May 2013, 08:25

Post Saturday, 8th August 2015, 04:13

Re: Increase scoring formula

My mistake! I only looked at the handle_god_time function and not where it was called. I blame the prototype.

In that case, the haste thing is already relevant to anyone with a beneficial god other than fedhas. So it's hard to see how aut-based scoring could cause any harm!

For this message the author duvessa has received thanks:
neil

Abyss Ambulator

Posts: 1244

Joined: Thursday, 10th March 2011, 19:45

Post Saturday, 8th August 2015, 09:16

Re: Increase scoring formula

Why not make swinging anything (weapon or not) take 10 aut if there are no monsters that could be hit?

edit: and I guess make swinging non-weapons always take 10 aut so you can't repeatedly swing against non-threatening monsters.

Tartarus Sorceror

Posts: 1739

Joined: Tuesday, 13th March 2012, 02:48

Post Saturday, 8th August 2015, 13:36

Re: Increase scoring formula

Or removing swinging non-weapons.

For this message the author Rast has received thanks:
Sandman25
User avatar

Dungeon Master

Posts: 502

Joined: Wednesday, 7th March 2012, 13:25

Location: Lexington, KY, US

Post Saturday, 8th August 2015, 13:52

Re: Increase scoring formula

Rast wrote:Or removing swinging non-weapons.


That by itself doesn't prevent slow swinging. Great maces, battleaxes, glaives, and greatswords are all slower than bread; it just requires leaving one weapon skill untrained, and spending an inventory slot. Jeremiah's suggestion would limit the effectiveness of that, in that you'd have to find a plant to attack first, and those weapons all kill plants pretty quickly.

On the other hand, why would swinging your mace at thin air be any faster than swinging your mace at a monster and missing?

But I don't think the solution to "healing improves and turncount stays the same if you take slower-than-10-aut actions" is to remove slower-than-10-aut actions. Wielding bread should be prevented (we just need to figure out how to rebalance sandblast), but not because it gives you slow swings.

bel

Cocytus Succeeder

Posts: 2184

Joined: Tuesday, 3rd February 2015, 22:05

Post Saturday, 8th August 2015, 15:37

Re: Increase scoring formula

Since speedrunning is not a design consideration at all, I don't see why one should be bothered about breadswinging.

Also, aut scoring would screw Chei characters, wouldn't it?
Last edited by bel on Saturday, 8th August 2015, 15:52, edited 2 times in total.

Ziggurat Zagger

Posts: 11111

Joined: Friday, 8th February 2013, 12:00

Post Saturday, 8th August 2015, 15:44

Re: Increase scoring formula

neil wrote:Wielding bread should be prevented (we just need to figure out how to rebalance sandblast)


Is it bad to special-case stones (check if the about to wield item is a weapon or stone/large rock)?

Ziggurat Zagger

Posts: 6454

Joined: Tuesday, 30th October 2012, 19:06

Post Saturday, 8th August 2015, 18:19

Re: Increase scoring formula

Jeremiah wrote:Why not make swinging anything (weapon or not) take 10 aut if there are no monsters that could be hit?

edit: and I guess make swinging non-weapons always take 10 aut so you can't repeatedly swing against non-threatening monsters.

The problem I see with that suggestion is the "an invis creature is present" problem, either there'd be an information leak (You could detect the presence of invis creatures by swinging a slow weapon), or it'd be faster to swing a heavy weapon at an invisible creature you haven't detected. Either option I consider unacceptable, personally.
Spoiler: show
This high quality signature has been hidden for your protection. To unlock it's secret, send 3 easy payments of $9.99 to me, by way of your nearest theta band or ley line. Complete your transmission by midnight tonight for a special free gift!

Tartarus Sorceror

Posts: 1739

Joined: Tuesday, 13th March 2012, 02:48

Post Saturday, 8th August 2015, 18:48

Re: Increase scoring formula

bel wrote:Since speedrunning is not a design consideration at all, I don't see why one should be bothered about breadswinging.

Also, aut scoring would screw Chei characters, wouldn't it?


I'm willing to make that sacrifice.

For this message the author Rast has received thanks:
Sandman25

mps

Tomb Titivator

Posts: 886

Joined: Saturday, 3rd January 2015, 22:34

Post Sunday, 9th August 2015, 06:35

Re: Increase scoring formula

re: breadswinging, Berder's suggestion of 15 auts per resting turn is exactly correct, with the additional proviso that a round of resting is interrupted when a monster comes into view, regardless of what point in the 15 aut cycle you're in -- this is how it should work anyway. Hell, I'd go farther: a round of resting is 30 auts, so you can't do better even with chei statue movement or xxxbow swinging or whatever other crazy shit. Crawl speedrunning would be a lot more interesting if extreme avoidance of resting weren't such a central consideration. You'd also have a scoring system that penalizes "optimal" play less heavily.
Dungeon Crawling Advice tl;dr: Protect ya neck.

For this message the author mps has received thanks: 4
bananaken, Berder, byrel, Sar

Spider Stomper

Posts: 205

Joined: Saturday, 20th September 2014, 07:40

Post Sunday, 9th August 2015, 16:46

Re: Increase scoring formula

Rast wrote:
bel wrote:Since speedrunning is not a design consideration at all, I don't see why one should be bothered about breadswinging.

Also, aut scoring would screw Chei characters, wouldn't it?


I'm willing to make that sacrifice.


Chei already has a place in speedruns, they're ridiculously strong for RTAs: viewtopic.php?f=12&t=15685&p=214253

Vestibule Violator

Posts: 1508

Joined: Monday, 21st November 2011, 07:40

Post Monday, 10th August 2015, 15:04

Re: Increase scoring formula

Yeah, it would be quite nice in general if resting didn't have a chance that a hasted executioner will be 2 squares inside your los when you stop resting. As it is, I suppose it's theoretically optimal to go quick-blade-swinging while you rest to ensure a fast enemy doesn't close with you (and really to decrease the number of auts any monster has to react to you in.) And that's mildly terrible. I don't recall why resting takes place on 10 aut intervals (I know it's been discussed.) Maybe something to do with the way the clock is driven by player action, and the game slows down a lot with fast player actions?
Usual account: pblur on kelbi

Ziggurat Zagger

Posts: 6454

Joined: Tuesday, 30th October 2012, 19:06

Post Monday, 10th August 2015, 16:56

Re: Increase scoring formula

byrel wrote:Yeah, it would be quite nice in general if resting didn't have a chance that a hasted executioner will be 2 squares inside your los when you stop resting. As it is, I suppose it's theoretically optimal to go quick-blade-swinging while you rest to ensure a fast enemy doesn't close with you (and really to decrease the number of auts any monster has to react to you in.) And that's mildly terrible. I don't recall why resting takes place on 10 aut intervals (I know it's been discussed.) Maybe something to do with the way the clock is driven by player action, and the game slows down a lot with fast player actions?

That's accurate.

The way the "clock" works is that each player action takes some time, then passive junk happens depending on how much time elapsed, and monsters get that amount of time added to their pool of resources that they then use to take their own actions (which they can only do if they have enough in their pool to take said actions)

Dripping 1 aut through that process at a time forces everything to go through a bunch of computations that often result in 'nothing happened' 10 times more often then doing it in 10 aut chunks, which isn't quite, but is similar to, 10 times higher requirements for ram and CPU power. I believe 10 auts was selected out of a simple "that's how much time a "normal" turn takes, rather than any sort of heuristic or anything.
Spoiler: show
This high quality signature has been hidden for your protection. To unlock it's secret, send 3 easy payments of $9.99 to me, by way of your nearest theta band or ley line. Complete your transmission by midnight tonight for a special free gift!

mps

Tomb Titivator

Posts: 886

Joined: Saturday, 3rd January 2015, 22:34

Post Monday, 10th August 2015, 23:35

Re: Increase scoring formula

If this ^ is true, it's really funny.
Dungeon Crawling Advice tl;dr: Protect ya neck.

Tartarus Sorceror

Posts: 1774

Joined: Tuesday, 23rd December 2014, 23:39

Post Tuesday, 11th August 2015, 00:26

Re: Increase scoring formula

Siegurt wrote:The way the "clock" works is that each player action takes some time, then passive junk happens depending on how much time elapsed, and monsters get that amount of time added to their pool of resources that they then use to take their own actions (which they can only do if they have enough in their pool to take said actions)

Dripping 1 aut through that process at a time forces everything to go through a bunch of computations that often result in 'nothing happened' 10 times more often then doing it in 10 aut chunks, which isn't quite, but is similar to, 10 times higher requirements for ram and CPU power. I believe 10 auts was selected out of a simple "that's how much time a "normal" turn takes, rather than any sort of heuristic or anything.

So let each rest turn (from 5, not s) take 30 auts, and divide it into three 10 aut pieces. A rest takes only 1 turn on your turn counter but is really 3 turns behind the scenes. This would prevent monsters from moving much in your los, while ending breadswinging shenanigans, without requiring any significant change in resource requirements.
streaks: 5 fifteen rune octopodes. 15 diverse chars. 13 random chars. 24 NaWn^gozag.
251 total wins Berder hyperborean + misc
83/108 recent wins (76%)
guides: safe tactics value of ac/ev/sh forum toxicity

Ziggurat Zagger

Posts: 6454

Joined: Tuesday, 30th October 2012, 19:06

Post Tuesday, 11th August 2015, 00:31

Re: Increase scoring formula

Berder wrote:
Siegurt wrote:The way the "clock" works is that each player action takes some time, then passive junk happens depending on how much time elapsed, and monsters get that amount of time added to their pool of resources that they then use to take their own actions (which they can only do if they have enough in their pool to take said actions)

Dripping 1 aut through that process at a time forces everything to go through a bunch of computations that often result in 'nothing happened' 10 times more often then doing it in 10 aut chunks, which isn't quite, but is similar to, 10 times higher requirements for ram and CPU power. I believe 10 auts was selected out of a simple "that's how much time a "normal" turn takes, rather than any sort of heuristic or anything.

So let each rest turn (from 5, not s) take 30 auts, and divide it into three 10 aut pieces. A rest takes only 1 turn on your turn counter but is really 3 turns behind the scenes. This would prevent monsters from moving much in your los, while ending breadswinging shenanigans, without requiring any significant change in resource requirements.


So then "Do exactly what happens now, just only add 1/3 of the turns rested on for scorekeeping purposes"? I suppose that would work just fine, I don't much care myself.
Spoiler: show
This high quality signature has been hidden for your protection. To unlock it's secret, send 3 easy payments of $9.99 to me, by way of your nearest theta band or ley line. Complete your transmission by midnight tonight for a special free gift!

Vestibule Violator

Posts: 1508

Joined: Monday, 21st November 2011, 07:40

Post Tuesday, 11th August 2015, 13:14

Re: Increase scoring formula

mps wrote:If this ^ is true, it's really funny.

Yeah, that's the essence of crawl's clock system. It's a really nice performance hack, actually.
Usual account: pblur on kelbi
User avatar

Dungeon Master

Posts: 502

Joined: Wednesday, 7th March 2012, 13:25

Location: Lexington, KY, US

Post Wednesday, 12th August 2015, 18:42

Re: Increase scoring formula

sgrunt tried making waiting operate one aut at a time, back in 0.12 development, in order to allow you to press . and stop immediately upon a monster moving adjacent, without it getting the rest of the turn's energy. It ended up being reverted for two reasons. First, as Siegurt points out, it kills performance: it didn't increase RAM usage significantly, but it did make resting (without screen updates) take about 5x as long. Second, many non-monster effects (like cloud damage) don't scale down to shorter-than-one-turn durations very well: compared to a "whole-turn" version of the effect, there are ten times as many random rolls being summed up, so far less variance. That's why I mentioned above that we'd need to model those effects as Poisson or binomial distributions whenever the elapsed time is longer than 1 aut.

More details are in bug #4893, which is still an open implementable. I think it would be possible to do this more efficiently, by implementing future events in a priority queue, sorted by the in-game time when they will happen. So when a monster acts, it would re-insert itself into the priority queue with key (now + 10 * move_energy/speed); when a player acts, they would reinsert themselves with key (now + time_taken). Then the game loop would be "pull an event off the queue, choose an action for that actor, and perform the action", rather than "choose an action for the player, perform it, then let monsters and the world respond". It would still take some work to figure out which environmental and duration effects need to happen every aut and which can for efficiency happen periodically using the queue.

For this message the author neil has received thanks: 3
Lasty, Rast, wheals

bel

Cocytus Succeeder

Posts: 2184

Joined: Tuesday, 3rd February 2015, 22:05

Post Wednesday, 12th August 2015, 18:59

Re: Increase scoring formula

bananaken wrote:Chei already has a place in speedruns, they're ridiculously strong for RTAs: viewtopic.php?f=12&t=15685&p=214253

Real time speedruns are neither here nor there. Score is not based on real time taken.

Tartarus Sorceror

Posts: 1776

Joined: Monday, 21st February 2011, 15:57

Location: South Carolina

Post Wednesday, 12th August 2015, 20:03

Re: Increase scoring formula

To prevent players from making decisions based on score, the high score list should be presented in terms such as "one choko and many sultana," "###..$," or "Somewhat uncanny."

For this message the author jejorda2 has received thanks: 9
Arrhythmia, byrel, dowan, duvessa, KittenInMyCerealz, mkraemer, Rast, Sandman25, Sar

Ziggurat Zagger

Posts: 11111

Joined: Friday, 8th February 2013, 12:00

Post Wednesday, 12th August 2015, 20:19

Re: Increase scoring formula

jejorda2 wrote:To prevent players from making decisions based on score, the high score list should be presented in terms such as "one choko and many sultana," "###..$," or "Somewhat uncanny."


Is there any reason why current turn is shown? "Only important numbers are shown", I wish that was true.
User avatar

Abyss Ambulator

Posts: 1194

Joined: Friday, 18th April 2014, 01:41

Post Thursday, 13th August 2015, 20:36

Re: Increase scoring formula

It isn't except on the character sheet or when hitting E.
remove food

bel

Cocytus Succeeder

Posts: 2184

Joined: Tuesday, 3rd February 2015, 22:05

Post Friday, 14th August 2015, 00:46

Re: Increase scoring formula

Sandman25 wrote:
jejorda2 wrote:To prevent players from making decisions based on score, the high score list should be presented in terms such as "one choko and many sultana," "###..$," or "Somewhat uncanny."


Is there any reason why current turn is shown? "Only important numbers are shown", I wish that was true.

I am not sure what you mean, but if you want the "turns" used in scoring, you can set show_game_turns to be false.

Ziggurat Zagger

Posts: 11111

Joined: Friday, 8th February 2013, 12:00

Post Friday, 14th August 2015, 01:15

Re: Increase scoring formula

bel wrote:I am not sure what you mean, but if you want the "turns" used in scoring, you can set show_game_turns to be false.


I provided a patch which displayed AC/EV of monsters in xv screen, it was controlled by show_numbers=true. Guess whether the patch has been accepted.

bel

Cocytus Succeeder

Posts: 2184

Joined: Tuesday, 3rd February 2015, 22:05

Post Friday, 14th August 2015, 03:25

Re: Increase scoring formula

Are you saying the "turns" is useless information? Perhaps the total turns, yes, but not the number in parenthesis, which shows the time for the last action.

Ziggurat Zagger

Posts: 11111

Joined: Friday, 8th February 2013, 12:00

Post Friday, 14th August 2015, 03:33

Re: Increase scoring formula

The total of course.

Sar

User avatar

Ziggurat Zagger

Posts: 6418

Joined: Friday, 6th July 2012, 12:48

Post Friday, 14th August 2015, 07:48

Re: Increase scoring formula

It's important to know in case you're going for the end of the world ending!

Ziggurat Zagger

Posts: 11111

Joined: Friday, 8th February 2013, 12:00

Post Friday, 14th August 2015, 12:36

Re: Increase scoring formula

Sar wrote:It's important to know in case you're going for the end of the world ending!


Why? It can be standard "End is about to expire" warning like we get for expiring spells.
Previous

Return to Game Design Discussion

Who is online

Users browsing this forum: No registered users and 49 guests

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.