1
\$\begingroup\$

I am working on a field hockey like game for Android and iOS. Currently I support being able to play against another player online in a client/server fashion where one device host and the other provide an IP address.

I would like to be able to have ranked matches that are recorded in something like Amazon's GameCircle or something similar.

For recording the win/loses I thought having one leaderboard for wins, one leaderboard for loses and perhaps another leaderboard for amount of games in progress...

That is assuming I can read the leaderboard result for each player which I think I can.

Other than that, there are many issues in how to have ranked matches. I am guessing the biggest difficulty is actually being able to have a client/server session since most devices are not set up to have a direction communication with another device?

What are your suggestions for having ranked matches given no extra server? And what are your suggestions given my own server?

\$\endgroup\$
  • \$\begingroup\$ Don't forget about proper mathematics behind rank calculations. \$\endgroup\$ – madneon Nov 11 '15 at 14:16
1
\$\begingroup\$

You will need a server handling the match-making. If a device or player connects to the server, the player needs to deliver its player-statistics which are crucial for finding a fair opponent. You could store the active connections (connected players) in an array or database to find the right one.

\$\endgroup\$
  • 1
    \$\begingroup\$ You don't need to have player-statistics on your server. It can be also be a P2P network with majority "vote" ( software communication, not user vote ) for right statistics ( ofc. only registered/trusted nodes can "vote" ). \$\endgroup\$ – Marqin Jan 14 '16 at 2:07
0
\$\begingroup\$

I would do a copy of something like the ELO system with steam or trophies with Clash of Clans, personally I would make an algorithm where depending on your score to the enmies' score each goal, win, body check, or whatever that involves skill would gain you a certain amount of score, as well as getting scored on, losing, getting body checked, etc. makes you lose score determined by the other player's rank and yours. Take the score and put a rank on top of it like. 1-100 score is considered novice, 100-300 is Seasoned, 300-700 is NHL, and 700-100 is professional or something along those lines. Players also need to be ranked with players close to their score to ensure fair gameplay, I would make it so there is a limit to how far away the score can be before not being allowed to be matched up together. This is just how I would do it though, be original and have fun making your game.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.