我想用Action Script在浏览器中创建一个2D实时多人游戏,它可以做以下事情:
客户:Player通过Flash Client登录Account .
玩家点击"对战模式"按钮。
一个带有在线服务器列表的大厅出现了。
玩家加入游戏
这里的问题来了,我希望服务器是社区托管。例如,玩家在自己的桌面下载并运行服务器应用程序,以便其他玩家加入。然后玩家进入网站并访问基于浏览器的客户端以查找活动服务器列表。
这将是一个商业产品(玩家购买一个帐户通过客户端登录),每个玩家托管服务器必须处理20个在线玩家。由于服务器不是集中的,可扩展性是由社区处理的,典型的解决方案,如SmartFoxServer许可证将不起作用。
体系结构概述:
我有一个服务器的帐户详细信息,服务器的DB列表,客户端和可下载的服务器应用程序。
播放器下载服务器应用程序并运行它。
服务器应用程序指向我的服务器并被添加到世界列表中
玩家通过客户端访问他们的帐户,并加入其中一个玩家托管的服务器玩。
设计说明:任何关于玩家进程的状态都是基于每个服务器。客户端和我的服务器只关心验证玩家帐户。
我该如何创建这个游戏大厅?我可以用什么来创建服务器应用程序?AS有任何内置的库来处理这个问题吗?我想让事情尽可能简单。
我有AS3, Java 7和PHP 5的经验。
提前感谢!
你总是需要一个集中的服务器来处理玩家登录请求和游戏室大厅。
你可以使用任何技术,因为AIR客户端可以通过RPC/Webservice/RestService连接到你的服务器。
至于客户端游戏托管,我相信你正在寻找的词是P2P。
有很多方法可以在flash/flex中实现P2P。http://www.flashrealtime.com/basics-of-p2p-in-flash/
是一个很好的入门资源
也看到使用Flash在本地托管游戏?