Author Topic: The TimeSplitters Elite is Live! (Post any issues in this topic)  (Read 1212 times)

Silent Thunder

  • Moderator
  • Posts: 1095
  • Less dangerous than invisible lightning.
    • GE
    • PD
https://tselite.net

If you were on the NGC-Elites or Scopinfo rankings, check out this topic for information on how to recover your account.

Thank you to Anemptybox, BothanSpy, and wheatrich for help with testing the site over the last week.

New players can join here.
FAQ and submission information is here.

The two extra surprises I was working on at the end of February was support for Single Segment runs for all three games and full rankings support for TimeSplitters 2 Story!

If you run into any issues, please post them in this topic or email the support email shown in the FAQ on the site.  Have fun competing everyone!

Remlosh

  • Posts: 189
Re: The TimeSplitters Elite is Live! (Post any issues in this topic)
« Reply #1 on: March 18, 2018, 05:02:11 pm »
Fantastic work. Many good memories just by browsing the scores and watching some videos. Congrats and thanks for the work done !

Anemptybox

  • Moderator
  • Posts: 2743
    • twitch
Re: The TimeSplitters Elite is Live! (Post any issues in this topic)
« Reply #2 on: March 18, 2018, 09:44:26 pm »
Happy to see the new TS Elite home. Once again, great work!

Silent Thunder

  • Moderator
  • Posts: 1095
  • Less dangerous than invisible lightning.
    • GE
    • PD
Re: The TimeSplitters Elite is Live! (Post any issues in this topic)
« Reply #3 on: March 25, 2018, 03:24:57 pm »
Just a quick update on continued development of the site.  Today I started work on having a news section on the front page and enabling moderators and other users to be able to create news posts.

This is a feature I've been planning on adding for quite a while, but I cut it for go-live since it would be a significant delay.  It won't be anything too fancy, but it will enable me to broadcast new additions and updates right from the site instead of having to post them on the forums where fewer people see them.  It will also allow us to highlight recent scores, world records, or up and coming players.  It will also be nice to have for announcing any proof calls.

I'm hoping it will be ready by next weekend barring any unexpected hurdles.

Silent Thunder

  • Moderator
  • Posts: 1095
  • Less dangerous than invisible lightning.
    • GE
    • PD
Re: The TimeSplitters Elite is Live! (Post any issues in this topic)
« Reply #4 on: April 03, 2018, 12:56:05 pm »
Last week and my weekend was unexpectedly busy, so I'm a couple of days late, but the news update has been released.  Any current mods should be able to make a news post.  I also have to ability to add a user as just a news writer, so if you're interested let me know.  You just need to know some basic html (how to make a link, for example).

Anemptybox

  • Moderator
  • Posts: 2743
    • twitch
Re: The TimeSplitters Elite is Live! (Post any issues in this topic)
« Reply #5 on: April 03, 2018, 05:24:13 pm »
That's a really great feature + the ones you mention in the news post!

Silent Thunder

  • Moderator
  • Posts: 1095
  • Less dangerous than invisible lightning.
    • GE
    • PD
Re: The TimeSplitters Elite is Live! (Post any issues in this topic)
« Reply #6 on: April 19, 2018, 03:55:02 pm »
I'm currently working on a overhaul of how the point rankings are calculated across all games.  My initial research is promising.  Once finished, I should be able to have the main point rankings get updated almost instantly (within a couple minutes) after a player adds a new score rather than the hourly updates that happen now.  It also should allow me to add points and highlight new WRs in the most recent scores on the front page.

I don't have an ETA at this point.

TheFlash

  • Posts: 2741
    • twitch
Re: The TimeSplitters Elite is Live! (Post any issues in this topic)
« Reply #7 on: April 22, 2018, 12:23:32 pm »
I'm currently working on a overhaul of how the point rankings are calculated across all games.

Notes from the GE/PD rankings implementation:

Time submissions are stored in a `times` table that also has frequently updated fields like `rank`, `points`, and `is_untied`.  The current overall rankings are calculated when updates happen and stored in a `cached_rankings` table that basically looks just like the point/time rankings page with the totals for each player.  The first time the overall rankings or a particular stage is requested after an update happens, the data returned from the database is cached by the web server in a convenient format so the web server doesn't have to ask the database again until the cache has been cleared.

All required recalculations are done immediately on any submission.  In the case of a single record being updated, that means updating that stage and the overall point/time rankings.  (There is also an entry point to recalculate all stages instead of just one for when there are larger actions like adding a new player or modifying multiple times at once.)

The general strategy when updates happen is:

1. Re-rank all submissions on a stage(s), from 1 to whatever, also filling in the points that rank is worth
2. Recalculate the `is_untied` field for that stage(s)
3. Update the `cached_rankings` table
4. All affected overall/stage rankings cache files on the web server are cleared

There's a button admins can press (in "rare circumstances"  ??) that will re-run the calculations on all stages, both games, Rare ranks, everything. It currently takes around 0.5 seconds.  Individual stage updates are faster but I don't know the exact figure.

Looks like YE was pretty pleased with himself to come up with this one for #1 above:

Spoiler

Code: [Select]
// This is the mega super duper query that does all the rank and point
// calculations at lightning speed.
$query = "
UPDATE
times
SET
is_untied = IF(@diff=(@diff:=difficulty), (@rownum:=@rownum+1)*0, ((@rownum:=1)+(@time:=0))*0),
rank = IF(@time=(@time:=time), @rank, (@rank:=@rownum)),
points = CASE
WHEN stage_id = 41 THEN 0
WHEN rank = 1 THEN 100
WHEN rank = 2 THEN 97
WHEN rank < 98 THEN 98 - rank
ELSE 0
END
WHERE
status = 'Current'
$where   [[[ <--- limit to a specific stage or full games ]]]
ORDER BY
stage_id ASC,
difficulty ASC,
time ASC
";


Silent Thunder

  • Moderator
  • Posts: 1095
  • Less dangerous than invisible lightning.
    • GE
    • PD
Re: The TimeSplitters Elite is Live! (Post any issues in this topic)
« Reply #8 on: May 09, 2018, 06:37:21 pm »
Thanks for the info flash.  My approach is similar and the update mainly involves more caching and changing around where the points get calculated.

The TS elite rankings are complicated by the fact that the ranking can be smallest to largest or largest to smallest depending on the stage (plus all the different score formatting, but everything ends up converting to a decimal in the end).  Individual stages are still ranked on the fly and it happens pretty much instantly and that logic didn't change.  It's just when calculating total points and all the category rankings that takes a bunch of time (and the categories are different for every game too...).

I also have had only two days to work on this since my last post.  In that time, I've started a new job and we're looking for a new apartment right now, so I'm really busy.

Silent Thunder

  • Moderator
  • Posts: 1095
  • Less dangerous than invisible lightning.
    • GE
    • PD
Re: The TimeSplitters Elite is Live! (Post any issues in this topic)
« Reply #9 on: May 27, 2018, 09:43:57 pm »
New ranking update is live.  Details are in my news post on the site.  Let me know in this topic if you run into any issues.  A lot of code changed in this update.

wheatrich

  • Moderator
  • Posts: 2851
    • GE
    • PD
    • twitch
Re: The TimeSplitters Elite is Live! (Post any issues in this topic)
« Reply #10 on: June 08, 2018, 05:05:05 pm »
Can you just PM me your paypal, it won't let me donate to you on that site even through paypal for some reason.