[net.games] warp questions

debray@sbcs.UUCP (06/09/83)

Does anybody know how the Efficiency ratings in warp are calculated?
What does the "diff" under the Efficiency rating figures denote? 

						Saumya Debray
						SUNY @ Stony Brook
						...philabs!sbcs!debray

newman@utcsrgv.UUCP (Ken Newman) (06/10/83)

diff= cumulative difficulty I think

zzz@mit-eddi.UUCP (Mike Konopik) (06/11/83)

Nope, diff = difficulty for THIS round. (notice it doesn't go up consistently)
cumdiff is cumulative difficulty. I have NO idea what the algorithm for getting
the difficulty or the efficiency is, tho...

				-Mike

debray@sbcs.UUCP (06/13/83)

The "diff" under the Efficiency ratings doesn't seem to refer to the
difficulty of the current round or the cumulative difficulty: I had a
game a few days back where around wave 6, I finished off two or three T's
and a bunch of K's, and had an efficiency rating of around 0.91..., with
diff = about 1050, and got an efficiency bonus of about 2000 points. The
difficulty for that wave was 23, I think, and the Cum. difficulty 66.

jonab@sdcrdcf.UUCP (06/15/83)

	The diff rating is the raw score of the difficulty of the
	current wave.  The efficiency rating is calculated by
	dividing the diff by the time used.

					Jon Biggar
					(A Warp Wizard)

lwall@sdcrdcf.UUCP (06/16/83)

My faithful minion, Jon Biggar (A Warp Wizard), almost had it right.
"diff" is indeed the raw difficulty of the wave, taking into account the
number, average energy, intelligence, and general nastiness of each type
of enemy, as well as some fudges for super-dense or super-sparse universes.
It is supposed to reflect the normative amount of time necessary to clean
things up.  Think of par in golf.

It is not divided by time to get the efficiency rating, however.  The following
does the calculation:

    effectscore = ((double)curscore / possiblescore) *
	atan2(power, (double) timer - 9999.0) / pi_over_2;

where
    effectscore   => efficiency rating
    power         => "diff"
    timer         => number of time units taken + 10000
    curscore      => how many points you got this round
    possiblescore => how many points you coulda got

The atan2 divided by pi over 2 is very nice in that it yields .5 for two equal
arguments, and asymptotically approaches 1 for large power:timer ratios,
and 0 for small power:timer ratios, and is symmetrical to boot.

					Larry Wall
					(The Warp Wizard)