Age :42
Group: Member
Location: Stockholm
No presentation has been written.
Tournaments  /  14 Mar 2013, 16:20
Climbing the Ladder
Ever since i played the automated ladder in warcraft 3, i thought this is the kinda functionality a game needs to keep activity up over the years.

The basic functionality of wc3-ladder (the starcraft 2 ladder is similar)

1. user logs into the game
2. user clicks a "play-button" which places the him in a queue for upcoming games. When there skillwise is a suitable opponent available, the system starts a match and between the players.
Why is this so important one might ask?
It allows new players that know little to nothing about the game, to find opponents on similar skill-level.

So i've spent time trying to implement something like this for qw. I guess it is somewhere in the stage between alpha and beta at this point.

So i thought it is time to share some information and possibly get some feedback or suggestions. Let me begin with explaining the current technical implementation (i've played around with quite many different implementations, always trying to having a working prototype).

The user-experience is as follows:
1. User signs up on webpage and selects what games he want to play (current there is support for qw and q2)
2. User launches a Java-plugin (the plugin ensure that nquake-online is installed)
3. User enters the queues to the ladders he wishes to play
4. When there is 2 players available in same queue, the system puts them into a match and sends a message to the plugins to launch game-clients and connect a provided ip:port using correct playername/password.

5. When game is completed the results are collected and ladder-ranks are updated.

The Server side.
1. Trusted server admins may contribute with servers to the shared server-pool by registering them in the Web-UI with ip/port/maxcapacity/rcon_password.
2. The system will monitor which game-servers it considers to be online.
3. When a match is about to start, the system will select the most fair server from based on the automatically collected ping-data of users.
4. For the duration of the game, the system password protects the server to keep unwanted players out.

Current status:
I've got help from nquake-online and q2-online author hifi to integrate with named applications. Currently all above functionality is implemented and works to some degree satisfaction when testing with 2-3 players in the queues.

Next step:
System is still hosted on my localhost. Need to move to a proper beta-test-server
Scale: need some more users testing at the same time to find race-conditions etc..

snapshot of current web-ui:
2013-03-14, 19:53
Sounds great.

Why do you want to password protect the server? I bet some specs will love to watch games.
How ping data is collected? Is it ability to use proxies?
Is it possible to use currently installed QW instead of NQuake?
2013-03-14, 20:23
Idea with managed servers is to strictly only allow the players from the system to participate in the match. QTV should ofc be available.

The java-plugin collects ping-data on startup.

It downloads nquake-online by default currently, but when download completes it allows you to select your own ezquake installation.
2013-03-14, 20:58
Should set up a dedicated test team of a few volunteers and do some hardcore testing and get the snowball rolling. Really interesting project which has felt impressive the few test games I've done.
2013-03-15, 14:08
high five to willgurth for this!
hopefully lots of players start using this and submitting problems!
2013-03-18, 15:57
The concept is working and really promising, although there's still alotta work to do. Let's try it further.
2013-03-30, 16:56
Just tested it, awesome work. Go test it folks!
You have to be logged in to be able to post a comment.