Trophy's

29 views
Skip to first unread message

p@

unread,
May 29, 2014, 11:56:00 PM5/29/14
to schem...@googlegroups.com
Is there anywhere the shows explicitly how the values used for trophies are calculated? For example, the Discoverer trophy - is one ship going a distance 500 worth the same as 5 ships going 100? And how is "most powerful" determined?  

Abstrct

unread,
May 30, 2014, 11:00:43 AM5/30/14
to schem...@googlegroups.com
There is nowhere that I spell it out completely other than the source itself: 

you will also want to look at stats.pl
and the stats views, specifically current_player_stats


The trophy system is also a lot like the fleet system in that all the code is also available in the trophy table.

Let's look at some of the specific examples you brought up. 

Here is the code for the distance covered trophy:

FOR players IN
SELECT
player_round_stats.player_id
FROM
player_round_stats, round_stats
WHERE
player_round_stats.round_id = _round_id
AND
round_stats.round_id = _round_id
AND
player_round_stats.distance_travelled > round_stats.avg_distance_travelled
LOOP
winner.round := _round_id;
winner.trophy_id := this_trophy_id;
winner.player_id := players.player_id;
RETURN NEXT winner;
END LOOP;

The trophy code in this case is basing the results off the player_round_stats, so we also need to jump over to the stats view to see how that is calculated


  COALESCE((( SELECT sum(r.location <-> r2.location)::bigint AS sum
           FROM ship_flight_recorder r, ship_flight_recorder r2, ship s
          WHERE s.player_id = player.id AND r.ship_id = s.id AND r2.ship_id = r.ship_id AND r2.tic = (r.tic + 1)))::numeric, 0::numeric) AS distance_travelled,

This piece is likely a bit confusing but basically, it just adds up each section travelled by a ship and then sums them all up together. So it doesn't matter if you have 5 ships moving 1 or 1 ship moving 5. 

As for the Most Powerful, that is this trophy:
which also pulls the results from stats (ship_upgrades). The stats is generated through a lookup of the event table (also known as my_events to players):

            sum(
                CASE
                    WHEN event.action = 'UPGRADE_SHIP'::bpchar THEN event.descriptor_numeric
                    ELSE NULL::numeric
                END) AS ship_upgrades,


Basically, any time you upgrade a part of your ship, this stat goes up. 

The stats and trophies are all a tad complicated but if you are starting to wonder what exactly they are then you are on the right track to begin very good at this game. The top players study these pretty closely when working not their strategy.


-Abstrct
Reply all
Reply to author
Forward
0 new messages