Jump to content

In-game ladder -- progress, and question


Agent

Recommended Posts

One of my current projects is a bot-side ladder system, which can be deployed on a per-server basis, as well as potentially (probably) globally. This system is more-or-less done with its initial testing phase, and should be committed to my GitHub before too long.

This ladder collects and maintains a lot of player stats as well -- everything from total score, to GDI wins, to game-time, to the most kills/deaths a player has had. It requires users to be using Steam in order to be added to the ladder, and updates on GameOver.

More specifically, here's the data stored in each entry (so far):

uint64_t steam_id, total_score;

uint32_t total_kills, total_deaths, total_headshot_kills, total_vehicle_kills, total_building_kills, total_defence_kills, total_captures, total_game_time, total_games, total_gdi_games, total_nod_games, total_wins, total_gdi_wins, total_nod_wins, total_beacon_placements, total_beacon_disarms, total_proxy_placements, total_proxy_disarms, // totals (15)

top_score, top_kills, most_deaths, top_headshot_kills, top_vehicle_kills, top_building_kills, top_defence_kills, top_captures, top_game_time, top_beacon_placements, top_beacon_disarms, top_proxy_placements, top_proxy_disarms, // tops (12)

most_recent_ip; // other (1)

time_t last_game;
Jupiter::StringS most_recent_name;

I can always add more data to each entry, as well. When I eventually add a web interface for this (it'll be a while), most of these variables (everything but IP) will be viewable on a player's profile.

In the meantime, however, I'm trying to figure out what I should include in the "ladder" command's output. So far, it's pretty bland:

[22] <~Agent> !ladder 1
[22] <@Comis> #1: "Jessica!" - Score: 69463 - Kills: 4 - Deaths: 3 - KDR: 1.33 - SPM: 18.41

(SPM means "Score Per Minute")

So with this in mind, I want to know what the community values when it comes to stat visibility. I'm asking everyone: What should be shown?

Thanks,

Agent

Link to comment
Share on other sites

I like the Reccomendations system on TmX. And: Kills, Vehicle Kills, Building Kills.

I wouldn't want to be reminded of how many hours of my life I've spent playing Ren-X all the time. It's ok if it's in the player profile, but don't show it when entering the game please. :P

Link to comment
Share on other sites

Well, i personally would like an option which you have to tick first for extended information. It could contain average and/or total building kills, average repair points on vehicles and average repair points or buildings total amount of beacons placed. basically statistics statistics statistics. People would love to see in what they excel most, hahaha. I'd say go crazy just because you can!

Link to comment
Share on other sites

I find it odd to enter in a server an having an n00b statement related to your nick when in reality you acheive a lot for your team.One great acheiment that may pass under the radar is Building saving ..like timed c4 disarmed on CP or building saved that was damage under 50%.

How long have we keept a vehicule without loosing it .

How many veh we have steal or been stealed

Any Stats is welcome ,itcould show uswhere we can improve our gaming .

Great Project Agent, Thanks

Link to comment
Share on other sites

Well, i personally would like an option which you have to tick first for extended information. It could contain average and/or total building kills, average repair points on vehicles and average repair points or buildings total amount of beacons placed. basically statistics statistics statistics. People would love to see in what they excel most, hahaha. I'd say go crazy just because you can!

It would be nice to have a player choose what is visible or not. Like, collect all that good stuff, but a player has a lot of commands like !kills [player], !showkills, !hidekills, !spm, !showspm, !hidespm. The first one states your kills or the kills of the player's stated if allowed, the second one allows the bot to state your kills, the third one declines the bot to state it if requested. You could combine both the commands to !togglekills, !togglespm

Unfortunately that is another layer of work. It might be easier, just to allow server owners to display info from that data on their website so they can control what is visible or how to allow it.

Link to comment
Share on other sites

To all the replies above, yes! Oh man, i'm getting excited by all those suggestions! :o

If people could have such extensive access to player stats... Just imagine if server owners, somehow, could in an easy way configure the way, in some interface, to balance teams, depending on how heavily they count certain stats? Or even ONLY count certain stats in the team balancing process that they find important?

Oh man, if this would be possible... *drools*

Either way, Agent, i think you've got yourself some great feedback now from others and from people yet to comment!

Link to comment
Share on other sites

Thanks very much for the feedback. To clarify, this is just trying to figure out the default output for the "ladder" command -- nothing to really do with join messages, nor recommendations, nor team balancing. I'm also trying to figure out if there's any other data what-so-ever that should be tracked (it's better if have a little extra, than not enough).

The current format again, generates this example: #1: "Jessica!" - Score: 69463 - Kills: 4 - Deaths: 3 - KDR: 1.33 - SPM: 18.41

I'm wanting to avoid adding a ton of commands, so I'll probably change the ladder command's input from "ladder [rank|name]" to "ladder [rank|name] [var]" eventually; thanks for the suggestion! It would technically be possible to add some sort of bitfield to entries, to determine logging output, so you could toggle what stats you want displayed about you in-game. If/when I eventually deploy this globally, it'll likely use '.' instead of '!' as the command prefix, to prevent conflicts with other server-specific systems.

As far as more data: I may add total_gdi_game_time, total_nod_game_time, top_gdi_game_time, and top_nod_game_time, as well as other gdi/nod variables.

As far as command output format: I'm thinking Vehicle Kills and Building Kills would be nice additions.

As far as commands implemented:

[COMPLETED] ladder [rank|name]

[PLANNED] top5

[PLANNED] ladder [rank|name] [var]

As far as access by server owners: I plan to eventually add an web interface with this, run on the stats bot itself. So there'll probably be some sort of easy-to-parse URL for server owners like "ladder.renegade-x.com/data?steamid=00000000&vars=total_score%2Ctotal_kills%2Ctotal_game_time", or perhaps some other mechanism.

Thanks for the suggestions and feedback!

Link to comment
Share on other sites

I think that global implementation of this should also have average SPM for each player, because in my opinion, that would be the most descriptive number as of how good the player is (or we come up with some even better "player skill -> integer" converter)

And then this could be used for team balance.

Link to comment
Share on other sites

I am a stats whore. I want statistics about all of my games to be as detailed as possible.

I don't care about a leaderboard (I think the recommendation/skill point system on the servers is enough), but I want to know the stats about me myself.

I wouldn't want to be reminded of how many hours of my life I've spent playing Ren-X all the time.

I see that every time I start the launcher via Steam.

Link to comment
Share on other sites

I refuse to play this game on Steam as it forces my Steam username into the game. I know i can change my username into anything i want, but i have a tradition to create a unique username for nearly every game i play, and i just refuse to change my username every time i play another game.

Link to comment
Share on other sites

I think that global implementation of this should also have average SPM for each player, because in my opinion, that would be the most descriptive number as of how good the player is (or we come up with some even better "player skill -> integer" converter)

And then this could be used for team balance.

Didn't know that the best players are arty pointwhorers and the guys at the MCT totally neutralizing their efforts. I mean, sure on AOW all that matters...

Imo a ladder system should work by Recommendations[most kills, most vehicles destroyed, buildings destroyed]/played matches. With the addition that recs can not be accumulated under 8-10 human players, so farming is not possible.

Link to comment
Share on other sites

  • Totem Arts Staff
Didn't know that the best players are arty pointwhorers and the guys at the MCT totally neutralizing their efforts.

Yeah, nobody ever said point-whores were good. Rank would definitely need to be sorted out by points, and some other means.

I've been the reason teams have won games, while being damn near at the bottom of the scoreboard... then we've got people over there who're MVP virtually every game... and half of it they're not even playing XP.

Link to comment
Share on other sites

It's currently sorted by total_score, just like the previous leaderboard (and every other Renegade ladder I've ever seen), and is already loaded onto the stats bot for testing. There may or may not be database resets, as testing and additions progress.

To view your rank in-game, type ".ladder" in team or public chat. The web interfaces haven't been started on yet at all, so that will come later. Assuming nothing else gains priority on my to-do list, I should be starting on a web interface before too long.

Possible future features:

* (Time consuming) Detailed web interface

* (Easy/quick, if above is implemented first) Data retrieval interface for server owners

* (Easy/quick) All-time/Yearly/Monthly/Weekly/Daily leaderboards.

* (Unknown/Low priority) Detailed in-game interface (pause menu? Load web interface as webpage?)

* (Easy/moderate time/Low priority) Player-configurable bitfield to determine a player's ".ladder" output.

* (Time consuming) Networking capabilities to share ladder data (and other data) between multiple Jupiter bots (likely a hub/leaf structure), to enable non-global multi-server implementations, as well as better network load distribution.

Link to comment
Share on other sites

  • 5 months later...

Just an open question, Radeon and company. Would it be better, if Structure Armor Damage and Structure Armor Repair, rewarded less points, while damage directly to structure health is increased in score (the percent of the building that you killed, the primary game objective).

Just for shits and giggles, for AOW's sake, also give the silo 10 team-score a second while it's owned, so it's tactical value can rival structure shelling in score, so you can either negate shelling damage on structures, or capture it and give the team a chance to field tanks again?

Then would you feel the appropriate people would be rewarded score-wise, and that the appropriate team would be crowned victorious in AOW?

Link to comment
Share on other sites

Just for shits and giggles, for AOW's sake, also give the silo 10 team-score a second while it's owned, so it's tactical value can rival structure shelling in score, so you can either negate shelling damage on structures, or capture it and give the team a chance to field tanks again?

No. Please no. The silo already has enough of a snowball effect on most maps.

Link to comment
Share on other sites

No. Please no. The silo already has enough of a snowball effect on most maps.

Actually, the silo besides Lakeside because there are 2 and ref dies too easily, is usually left neutral now for like 4 minutes into the beginning quite commonly, even in PUGs on Complex and Under. I mean, why risk troops to a 1 credit tick increase, instead of a building kill?

Link to comment
Share on other sites

Just an open question, Radeon and company. Would it be better, if Structure Armor Damage and Structure Armor Repair, rewarded less points, while damage directly to structure health is increased in score (the percent of the building that you killed, the primary game objective).

Yes, it would be quite logical that way if you we want that the score is more related to skill, teamplay or some uncommon epic move. I could go into details how this could/would change some rusty gameplay elements, but I already sinned for being offtopic :) Maybe this could be moved/discussed in another topic.

Link to comment
Share on other sites

Here's a progress update!

The new address for this is: http://ladder.renegade-x.com/ or http://leaderboard.renegade-x.com/

I've added substantially more data to user profiles, which show information about how players perform on specific teams. Keep in mind that since this is new data that wasn't previously collected and stored, the values will be 0 for all players until players complete more games.

Planned features:

* Add "Next" and "Previous" buttons to user profiles (i.e: when you press "Next", you go from player ranked #2 to player ranked #3)

* Potentially add even more statistics about players, if I can think of any.

* Possibly separate the GDI/Nod rows from the "Combat Record" table.

* Possibly change the colors of the GDI/Nod rows to gold/red.

* Add "Game Database", which is will be a database of every game completed with tons of statistical information.

* Add "Games" table to player profiles (essentially a table of links to game database entries)

* Display a player's highest-scoring game on their profile

  • Like 1
Link to comment
Share on other sites

  • 1 year later...
  • Totem Arts Staff

The server rank is already enabled.

Just wirte .Rank for the global rank  list in the chat or !Rank for the local server rank list.

But there is no local server rank list at the forum.

Edited by Luhrian
  • Like 1
Link to comment
Share on other sites

@craige1

As Luhrian posted.

.rank is used to access the global rankings in-game,  this polls the information directly from the Stats gathered for the Ladder.

!rank is used to access a local rankings (So all of Constructive Tyranny's servers count as 1 Server, even though we have 4+ servers), just as MPF have their own server rankings.

The local ladder is only available on servers that run a bot that keeps the ladder data stored. (Since most big server groups use @Agent's Bot, most of them do use the ladder plugin to keep the data)

You cannot find out your ranking for CT on the RenX forum or the CT forum, you would need to be in-game to access your ranking.

 

  • Like 1
Link to comment
Share on other sites

Hi thanks for the quick replies. I'm running agents bot (Jupiterbot) and both !rank and .rank work, which is great.

Is there a top5 command currently?

I also noticed that there is a httpserver and renx.ladder.web plugin which i have configured, but cant get working. Jupiterbot never opens the port for the webserver. I'm assuming this is were the local ladder webpage is hosted.

Link to comment
Share on other sites

  • Totem Arts Staff

There is no top5 command, but you can just look on the leaderboard in the internet.

But you can see the rank from other players if you wirte .Rank playername

For example you can see my rank if you wirte .Rank Luhrian

Edited by Luhrian
  • Like 1
Link to comment
Share on other sites

27 minutes ago, Madkill40 said:

Did UKill just obliterate bots for hours on a server?

063a3a9f8ccf48e4873d39dc72fc9a76.png

don't think so. with 2.2k+ games... you should have the amount of points Ukill got. and if you play against bots, you usually have SPM 300++++

Just check the daily ranks from time to time and you'll find a couple "PvE" players only on the leaderboard with SPM 800 - 1k+ :D

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...