spring replay site - Page 6

spring replay site

For the discussion of infrastructure improvements and changes.

Moderator: Moderators

Post Reply
User avatar
Jools
XTA Developer
Posts: 2816
Joined: 23 Feb 2009, 16:29

Re: spring replay site

Post by Jools »

Ahaa, so trustedskill is simply mean - 3 * standard deviation. That leaves a confidence level of 99% (I think). It would be more logical to use a confidence level of 95 % ( I think that equals μ - 2*σ)
User avatar
bibim
Lobby Developer
Posts: 952
Joined: 06 Dec 2007, 11:12

Re: spring replay site

Post by bibim »

dansan wrote:
bibim wrote:You're right, showing detailed stats for users having privacyMode enabled isn't a good thing imo.
Imo it's OK, because the win/loss ratio kind of explains the TS, without revealing the players identity.
It doesn't reveal the identity directly, but it's very easy to guess using this data (exactly the same way as when non-rounded ranking data are shown if privacy mode is disabled).
If we follow this logic there is no point in hiding accurate ranking data neither.
dansan wrote:And the players performance identifies him as smurf anyway.
The players rounded ranking identifies him as a smurf (which is good because we don't want smurfs to be able to hide as new player), but it doesn't say whose smurf.
The privacy mode isn't there at all to hide the fact that an account is a smurf. It's just there to allow some anonymity and respect the wish of some players to not reveal the whole world detailed statistics concerning themselves.
dansan wrote:
bibim wrote:these data allow identifying the player easily.
How would you do that? There is no search function to look for a specific win/loss count or ratio or any statistics.
The community isn't that big to require a search function for that. Usually you just hesitate between 2 or 3 players from same country having quite same skill level. With these accurate number of matches played for each game/gameType, you just need to compare each players page. If they match you have 99.99999...% chance they are smurf accounts of same players.
dansan
Server Owner & Developer
Posts: 1203
Joined: 29 May 2010, 23:40

Re: spring replay site

Post by dansan »

bibim wrote:The community isn't that big to require a search function for that. Usually you just hesitate between 2 or 3 players from same country having quite same skill level.
a) That's only true for well-known-and-strong players. b) If you already know it's one of 2 or 3 players, then there is no point in hiding it anyway.
User avatar
bibim
Lobby Developer
Posts: 952
Joined: 06 Dec 2007, 11:12

Re: spring replay site

Post by bibim »

dansan wrote:
bibim wrote:The community isn't that big to require a search function for that. Usually you just hesitate between 2 or 3 players from same country having quite same skill level.
a) That's only true for well-known-and-strong players. b) If you already know it's one of 2 or 3 players, then there is no point in hiding it anyway.
a) as the community isn't that big, strong players are usually well-known anyway. And it's often for strong accounts that players try to find the true identity indeed.

b) I didn't mean "you already know it's one of 2 or 3 players" (and even though, I don't get why would there be no point in hiding which player exactly in this case?).
What I meant by "usually you just hesitate between 2 or 3 players" is that it's the only players you can think of who can match. Then, comparing their pages with the smurf page can quickly give you the answer with ~100% confidence. And if you were wrong and it's not one of them, then it helps you a lot because you can start thinking of other players. As I said, the community isn't that big so it wouldn't take long at all to identify a good player.
User avatar
jamerlan
Balanced Annihilation Developer
Posts: 683
Joined: 20 Oct 2009, 13:04

Re: spring replay site

Post by jamerlan »

I want to ask about 2 features:

1) Please create array of human friendly colors and use them in replay page. Lot's of colors are unreadable (for example - yellow). I did this in my work so I know it's not so hard ;-)

2) Could you please add "search player" as separate concept. I know that I can search for replay with player and click on it to select replay and then click on player... but I am doing it SO often... would be cool to jump to player faster (with less steps required)
dansan
Server Owner & Developer
Posts: 1203
Joined: 29 May 2010, 23:40

Re: spring replay site

Post by dansan »

jamerlan wrote:1) Please create array of human friendly colors and use them in replay page. Lot's of colors are unreadable (for example - yellow). I did this in my work so I know it's not so hard ;-)
I'd love to! But the colors are not my choice, but RGB-colors chosen by the players. How do you identify a "yellow", if it's not purely yellow? Do you know of an algo that identifies "light" and "dark" colors in RGB? That'd probably be enough for a useful background.
jamerlan wrote:2) Could you please add "search player" as separate concept. I know that I can search for replay with player and click on it to select replay and then click on player... but I am doing it SO often... would be cool to jump to player faster (with less steps required)
You can use the normal search. When you type in a players name, it will auto-complete after 3 letters, then you select the one you're looking for. Then you can just click on the players name - it's a link to the players page :)
dansan
Server Owner & Developer
Posts: 1203
Joined: 29 May 2010, 23:40

Re: spring replay site

Post by dansan »

Lot's of colors are unreadable (for example - yellow)
bug tracked: https://github.com/dansan/spring-replay-site/issues/52
User avatar
knorke
Posts: 7971
Joined: 22 Feb 2006, 01:02

Re: spring replay site

Post by knorke »

Two question about stats:
Maps (All)
Top 20 in last 30 days: DeltaSiegeDry Mini_SuperSpeedMetal Comet Catcher Redux DownCount_v2 Speed_Ball_10x10 SuperSpeedMetal Red Comet Metal_Plate_22x22 blue_fields Dworld Acidic DeltaSiegeDGun Tabula-v4 duck DownCount_v1 Throne Acidic Nuclear_Winter_v1 Arctic Inferno Valles_Marineris_v2 SpeedMetal Coast To Coast Remake V2
How often does this update?
The last game on v1 was 06.01.2014, that is 22 days ago.
Seems bit strange that map that was not played for so long is in list of top maps from last 30 days?
http://abload.de/img/topmaps_28_1_20142qs19.png


2) In XTA room the trueskill value never seems to change?
I could not find one game where TS changed, even if players had very different values.

For example http://replays.springrts.com/replay/a4c ... 779b8f899/
Team 0
Winner
92.5 →96.0
0 QuidProQuo Core 30 →30
1 rabarb Arm 25 →25
2 Cirakon Arm 25 →25
7 nluwdc_dust Core 13 →13

The team TS (i think?) goes 92.5 to 96 but player values do not change. How does this work?
dansan
Server Owner & Developer
Posts: 1203
Joined: 29 May 2010, 23:40

Re: spring replay site

Post by dansan »

knorke wrote:How often does this update?
Once per day.
knorke wrote:The last game on v1 was 06.01.2014, that is 22 days ago.
Seems bit strange that map that was not played for so long is in list of top maps from last 30 days?
29-22 days ago this map was very popular. The next contender "Throne Acidic" should get ahead of "DownCount_v1" this week.
knorke wrote:2) In XTA room the trueskill value never seems to change?
That's because the population and their skill (relative to each other) is very stable. As the match' results match the expectation, the balancing seems to work, so there is no need to adapt the values.

Little changes to the TS values are done nonetheless, but because of the privacy settings they are not shown. I have checked the exact TS values from matches before and after the one you linked for two players (nluwdc_dust and QuidProQuo), and their TS values did change.

If you wish to see your exact TS value, just login to the replay site. Tell the other XTA players to do so too, and they will report to you, that their TS values change with each match. (Overaggressive server side caching may show you previously seen pages as if you were not logged in - just open another XTA match :P
knorke wrote:The team TS (i think?) goes 92.5 to 96 but player values do not change. How does this work?
Ah yes - that must look strange :D

In team matches with more than two players per team, a little privacy is dropped and the team TS sum is calculated from the exact TS values.
User avatar
Jools
XTA Developer
Posts: 2816
Joined: 23 Feb 2009, 16:29

Re: spring replay site

Post by Jools »

Yes, I can say for instance that after our game on Desert Triad, which knorke won, my TS changed 26.34 → 26.28. So not very much. It has to go all the way to below 22.50 to show a different rounding (20 instead of 25). The values shown are 10,13,..,20,25,30,38 I think.

The spring replay site is very useful. It's the only place where each player has kind of a player page nowadays, for XTA at least. Now BA already has achievements that are awarded after each game, and XTA also has one award for veteran units. I wonder if it would be possible to make a section on that player page for awards? Maybe BA already does something like that?

Because then you could do much more interesting awards, such as awards that depend on how you play on the long run and not just one game. If people are okay with sending their play data to some server that is...
User avatar
Jools
XTA Developer
Posts: 2816
Joined: 23 Feb 2009, 16:29

Re: spring replay site

Post by Jools »

dansan wrote: Do you know of an algo that identifies "light" and "dark" colors in RGB? That'd probably be enough for a useful background
Here is one I use in the widget ecostats:

Code: Select all

local luminance  = (r * 0.299) + (g * 0.587) + (b * 0.114)
if (luminance < 0.3) then
  r = r + 0.2
  g = g + 0.2
  b = b + 0.2
end
dansan
Server Owner & Developer
Posts: 1203
Joined: 29 May 2010, 23:40

Re: spring replay site

Post by dansan »

Jools wrote:Now BA already has achievements that are awarded after each game, and XTA also has one award for veteran units.
Ah I didn't know that... if you wish to communicate that (and other stuff) you can use the simple trick BA uses to get the info through to the replay site: by having it included in the demofile using a Spring.SendLuaRulesMsg() : http://imolarpg.dyndns.org/trac/balates ... s.lua#L396
Jools wrote:I wonder if it would be possible to make a section on that player page for awards? Maybe BA already does something like that?
I'm currently so busy with RL, that I'm not getting into the mood for coding, but it is queued: https://github.com/dansan/spring-replay-site/issues/53
The site will have the awards-count listed on each player page as well as have a section added to the hall of fame.
Jools wrote:Because then you could do much more interesting awards, such as awards that depend on how you play on the long run and not just one game.
Technically yes. The difficulty I see, is that an award from one match is very often not comparable to the same award won in another match. Silent and me were discussing this about the BA awards and the scores (total M produced, total dmg taken etc.) that exist, and how numbers from different matches are not comparable (8v8DSD is a perfect exception xD).
But if that's true for XTA depends on the kind of awards you have and the kind of analysis you want to do.
Jools wrote:If people are okay with sending their play data to some server that is...
They already do - the replay contains everything that happens in a match - or what do you mean?
Jools wrote:Here is one I use in the widget ecostats
Oh nice - thank you!
User avatar
knorke
Posts: 7971
Joined: 22 Feb 2006, 01:02

Re: spring replay site

Post by knorke »

ah ok. thanks for explaining :)
User avatar
Jools
XTA Developer
Posts: 2816
Joined: 23 Feb 2009, 16:29

Re: spring replay site

Post by Jools »

dansan wrote:
Jools wrote:Because then you could do much more interesting awards, such as awards that depend on how you play on the long run and not just one game.
Technically yes. The difficulty I see, is that an award from one match is very often not comparable to the same award won in another match. Silent and me were discussing this about the BA awards and the scores (total M produced, total dmg taken etc.) that exist, and how numbers from different matches are not comparable (8v8DSD is a perfect exception xD).
I was thinking of something like foursquare does, here's a list of badges for inspiration: http://www.4squarebadges.com/foursquare-badge-list/

But you could make an award for the player when he has created the 10 000th flash for instance.
dansan
Server Owner & Developer
Posts: 1203
Joined: 29 May 2010, 23:40

Re: spring replay site

Post by dansan »

Jools wrote:I was thinking of something like foursquare does, here's a list of badges for inspiration: http://www.4squarebadges.com/foursquare-badge-list/
I like those. They seem all to be "personal achievements" - not competition related.
Jools wrote:But you could make an award for the player when he has created the 10 000th flash for instance.
Yes - fun - I'd like that :)

Technically: you would have to produce the records ("this match player X created Y flashes") and the replay site could accumulate that until an award is reached.
The replay file contains the information, but to get the info, it'd have to be "replayed" (with spring-headless to run the sim) - and that's something I don't want to do on the server.
Meaning that this data cannot be obtained (by the replay site) from matches previous to XTA having a gadget like the ba_awards_gadget that collects the data during runtime.
IMO you can collect arbitrary data (starting build queue, metal invested in def/eco/units, elmos walked by com, elmos flown by com :mrgreen: ) without memory problems.
dansan
Server Owner & Developer
Posts: 1203
Joined: 29 May 2010, 23:40

Re: spring replay site

Post by dansan »

So... I investigated django-cms for various days, and it turns out: it's not useful for this site. It's a (really nice) framework to build a custom CMS, but not a finished CMS to free me from coding HTML, CSS and JS :/

As I'm the only user that edits the site, I estimate that the trade-off of adapting all specific content code (everything that's not a text or an image...) to be CMS-plugins, is not worth it. It'd make changing the sites design much easier, but I'm not much of a designer, so I tend to stick long with something that seems "good enough"... so I'll just pour it into the HTML templates again :)

Plan for now is to move to Bootstrap or Foundation.
User avatar
knorke
Posts: 7971
Joined: 22 Feb 2006, 01:02

Re: spring replay site

Post by knorke »

1) Looking at http://replays.springrts.com/users/ it seems replays from relay hosts do not get uploaded?

2) How do awards work, or more general getting stuff from ingame to replays page?
Only info I found is http://imolarpg.dyndns.org/trac/balates ... s.lua#L389
As I understand the game does Spring.SendLuaRulesMsg(message) and if the message has certain prefixes then the site interprets that but some more detail would be nice.

Things I would like to do:
-In Capture the Flag games not just show winner but also the score.
Like in sport: TeamA - TeamB: 3-2
-Build orders or at least start factories. (So one could for example look for vehicle vs kbots games)
I guess constantly asking to have images added to site like
http://replays.springrts.com/static/img/bawards/ (and new code) for every new award that a game inventes would be annoying?
So idea:

It would be nice to have a prefix that simply makes the sent message appear under replay.
A new SendLuaRulesMsg would indicate a new line or use \n character.

If there was such way a to send pure-text messages and have them displayed under replay that would allow lots of things.
Preferably in a monospace font, then could do some formatting or even primitive diagrams. Example: http://pastebin.com/raw.php?i=W1hswutX
The text and ascii art would all be generated by the game, so site just needs to display it.
(Html or svg would be nice of course but maybe security problems? And even just with text lots could be done)
dansan
Server Owner & Developer
Posts: 1203
Joined: 29 May 2010, 23:40

Re: spring replay site

Post by dansan »

Hmm... I think Mezzanine might be what I'm looking for. Has anyone experience with it?
dansan
Server Owner & Developer
Posts: 1203
Joined: 29 May 2010, 23:40

Re: spring replay site

Post by dansan »

knorke wrote:1) Looking at http://replays.springrts.com/users/ it seems replays from relay hosts do not get uploaded?
They don't. I don't think it'd be difficult to add the feature of after-match-execute-script to the relay hosts code (in tasbot I guess). But I think it wouldn't be the right thing to do... at least not enabled by default... because relay hosts are the only simple and reliable means to have a private match. Replay upload would destroy such privacy.
knorke wrote:2) How do awards work, or more general getting stuff from ingame to replays page?
Only info I found is http://imolarpg.dyndns.org/trac/balates ... s.lua#L389
As I understand the game does Spring.SendLuaRulesMsg(message) and if the message has certain prefixes then the site interprets that but some more detail would be nice.
Nothing more than that. Some "file format" must be established. In BAs case it is:
If a LuaRulesMsg starting with '\161' is found, then the complete message is interpreted in the following way:
  • '\161' is followed by the teamID of the 1st winner of the ecoKillAward, a colon, the score (some number),
  • the next occurrence of '\161' is followed by the teamID of the 2nd winner of the ecoKillAward, a colon, the score,
  • the next occurrence of '\161' is followed by the teamID of the 3rd winner of the ecoKillAward, a colon, the score,
  • '\162' is followed by the teamID of the 1st winner of the fightKillAward, a colon, the score,
  • ....
The replay site stores the teamIDs and scores in a very unimaginative database structure (models.py#L567). When a replay page is being viewed, and the replay has an instance of that data model associated, some additional HTML is displayed.

The parsing part of this is written in plain python, and has a command line "interface"... it can dump you whatever it found on the screen :)
So when you want to experiment with this, I can add the parsing part and a debug output for you to work with.
knorke wrote:Things I would like to do:
-In Capture the Flag games not just show winner but also the score.
Like in sport: TeamA - TeamB: 3-2
I suggest to do it similar to the scores in BAawards:

Code: Select all

<CTF-marker>-<teamID>:<score>_<CTF-marker>-<teamID>:<score>_...
knorke wrote:-Build orders or at least start factories. (So one could for example look for vehicle vs kbots games)

Code: Select all

<Build-marker>-<teamID>:<Unit-marker>:<Unit-marker>:<Unit-marker>:..._<teamID>:<Unit-marker>:<Unit-marker>:<Unit-marker>:..._...
You'd have to make sure, that <Unit-marker> does not change with game releases like unitIDs (or whatever it's called... the numeric ID for a CORCOM etc) do.
knorke wrote:I guess constantly asking to have images added to site like
http://replays.springrts.com/static/img/bawards/ (and new code) for every new award that a game inventes would be annoying?
So idea:

It would be nice to have a prefix that simply makes the sent message appear under replay.
A new SendLuaRulesMsg would indicate a new line or use \n character.

If there was such way a to send pure-text messages and have them displayed under replay that would allow lots of things.
Preferably in a monospace font, then could do some formatting or even primitive diagrams. Example: http://pastebin.com/raw.php?i=W1hswutX
The text and ascii art would all be generated by the game, so site just needs to display it.
(Html or svg would be nice of course but maybe security problems? And even just with text lots could be done)
Such a text message (parsing and display) would be no problem. Remote code and images could be inserted from trusted sources (a specific URL).

But I'd very much prefer, if you'd just add the images and python or lua code to the replay sites repository on github. You can have write privileges or make pull requests. If you're not comfortable with python, there is a very cool lua-python-bridge "lupa": https://pypi.python.org/pypi/lupa/0.21 So you could write the parsing code in lua, and it'd return a python structure that can be saved to the database.
You could also write the HTML display part if you like. Django templates are just HTML files with some special markers to for ex. loop over a list of database objects etc (see replay.html#L72 L.72-L.161).

Hmm.. more generally: The awards parsing and HTML snippets could be in separate files for each game. They would be inserted depending on the replay page being parsed/watched. Game devs could extend the website concurrently with their releases (and be more independent from my laziness).
dansan
Server Owner & Developer
Posts: 1203
Joined: 29 May 2010, 23:40

Re: spring replay site

Post by dansan »

After recreating half the site in Mezzanine, I have decided to abandon it.
Because most pages are autogenerated, the CMS strengths (allowing humans to easily edit webpages, managing media files, automatic menus etc) are mostly getting in the way, and thus the whole overhead for it is not worth it. So I'll start migrating the site to Bootstrap3 now...
Post Reply

Return to “Infrastructure Development”