游戏将如何搜索其他在线用户并显示所有用户列表?

问题描述:

我问这个问题只是我有关游戏编程的问题系列的一小部分.

I am asking this question as a small part of my question series regarding game programming .

此问题作为主要问题.

现在假设我想在iphone上开发一款多人游戏.那么它将如何处理有多少用户在线并显示他们.

Now suppose I want to develop one small board game on iphone that is multiplayer . so how it will handle how many users are online and displaying them .

假设它是在线多人娱乐场游戏.

Suppose it is an online multiplayer casino game .

然后假设它必须显示当前正在播放的桌子和桌子上的用户.

Then suppose it have to show currently playing tables and users on them .

那么我们可以在iphone中做什么来做这种事情.

So what can we do in iphone to do this sort of thing .

谢谢.

您实际上是在问PC和主机游戏中的配对".

You're essentially asking what is referred to as 'matchmaking' in PC and console games.

显示当前所有在线玩家或进行中的比赛的概念是在线多人游戏中的早期现象,我认为这已经过去了.相反,请尝试为玩家提供两个选择:与您的朋友一起玩或与您的技能水平的人一起玩.

The notion of displaying all currently online players or active matches is an early one in online multiplayer gaming, and I think it's seen its time. Instead, try and offer your players two options: Play with your friends or play against people of your skill level.

向某人展示数十/数百甚至数千个游戏/玩家的完整列表只会使他们不知所措.人们知道与自己认识的人比赛(并且相信自己不会像运动家一样),或者至少与同等技能水平的人比赛时,人们会感到更加自在.这两个概念通常称为基于好友的配对"(或朋友列表)和自动配对"或基于技能的配对.

Showing someone a complete list of tens/hundreds or even thousands of games/players is just going to overwhelm them. People are much more comfortable knowing they're playing against people they know (and trust not to be unsportsmanlike) or at least that they're playing against someone of comparable skill level. These 2 concepts are often called 'buddy based matchmaking' (or friend lists) and 'automatch' or skill based matchmaking.

很遗憾,根据我在 OpenFeint ,ngmoco( plusplus ),Chillingo(水晶)等可以满足您的需求.OpenFeint似乎在谈论他们网站上的配对,而plusplus提供基于伙伴的挑战.OpenFeint注册过程最简单,您无需事先批准即可立即访问其SDK以进行开发.

Unfortunately, from what I've seen in the GameKit framework, neither are fully supported, at least as far as playing on non LAN connections. You're going to have to either develop that yourself (and very few iPhone developers are going to have the resources to create and host it), or see if someone like OpenFeint, ngmoco (plusplus), Chillingo (Crystal) etc match your needs. OpenFeint seem to be talking about matchmaking on their site and plusplus offer buddy based challenges. The OpenFeint signup process is the easiest and you get access to their SDK right away for development without prior approval.

现在这是要考虑的最后一件事:较小的游戏不会有足够的玩家基础来吸引足够的并发玩家,因此每个人都可以在一天/一周的任何时间找到合适的比赛.除非您有促销和发行商的支持,或者获得突破,否则选择基于自动匹配的解决方案不是您的最佳选择,也不应该是您唯一的匹配方式.理想情况下,您的游戏应允许某些基于回合的游戏形式,因此您可以异步进行游戏.该模型非常适合《 Words With Friends》之类的游戏.

Now here's one final thing to consider: smaller games aren't going to have the player base to have enough concurrent players around so that everyone will always find a suitable match at any time of the day/week. Unless you have promotion and publisher backing, or a breakaway hit, picking an automatch based solution is not your best bet and shouldn't be your only mode of matchmaking. Ideally your game should allow for some turn based form of game play, so you can play asynchronously. That model has worked great for games like Words With Friends.