Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 多人2人游戏_Php_Flash_Multiplayer - Fatal编程技术网

Php 多人2人游戏

Php 多人2人游戏,php,flash,multiplayer,Php,Flash,Multiplayer,我想创建一个国际象棋多人游戏,1人对1人 我将使用flash制作动画和客户端,并使用服务器端语言检查移动是否正确,将每个玩家的动作记录到数据库中,决定胜利者,并给胜利者一些积分 我的主要编程语言是PHP,我会让别人根据我的指示来做flash工作 我想知道以前是否有人尝试过这样做,或者在开发p2p游戏时,您是否有任何教程、指南、步骤要遵循?我想有效地做到这一点,并能够支持至少100名球员的VDS与512内存 我计划让游戏像这样运行: 1) 在从php中检索后,初始化flash客户端中的变量,如信用

我想创建一个国际象棋多人游戏,1人对1人

我将使用flash制作动画和客户端,并使用服务器端语言检查移动是否正确,将每个玩家的动作记录到数据库中,决定胜利者,并给胜利者一些积分

我的主要编程语言是PHP,我会让别人根据我的指示来做flash工作

我想知道以前是否有人尝试过这样做,或者在开发p2p游戏时,您是否有任何教程、指南、步骤要遵循?我想有效地做到这一点,并能够支持至少100名球员的VDS与512内存

我计划让游戏像这样运行:

1) 在从php中检索后,初始化flash客户端中的变量,如信用、玩家名称

2) 开始比赛

3) 如果我是player2,player1正在考虑一个决策,那么flash客户端将向PHP文件发送请求,以检查数据库是否player1做出了任何决策。如果是这样的话,就轮到我做决定并移动一块了

4) 当轮到我时,不再向PHP发送任何请求,直到我想要移动一块。当我尝试这样做时,它发送一个请求,PHP将检查我的移动是否有效,并返回一些变量,flash将使用这些变量显示错误或将指针移回player1

该游戏还将有一个计时器,将与PHP同步。每个玩家可以思考20秒来做一个动作

1) 对我的实现有什么建议吗?我想要的是提高这方面的效率和减少服务器负载的建议,如果有人有过类似项目的经验,他们是如何做的,或者他们会如何做


2) 我对周期性HTTP请求的实现不是一个好主意,因为我知道服务器可能会过载,我想知道是否有人可以建议除安全选项之外的其他选项。同时有100个用户意味着每秒大约有100个HTTP请求。这是VDS可以处理数天的数字吗


稍后编辑:

在我得到这篇文章的回复后,我得出结论,在等待对方玩家移动时,最好每秒使用套接字而不是HTTP请求

我的游戏将有100张桌子供玩家使用,每个桌子有一个通讯插座和一个端口。因此,1个100端口的插座。当游戏开始并发送初始化变量时,PHP将与闪存表的套接字和端口通信

我计划用flash来监听socket服务器,看看对方玩家必须移动时会发生什么

当我移动时,flash将检查移动是否有效,然后将数据发送到PHP。PHP将返回OK或NOT,并更新套接字端口上的数据

关于套接字,我不确定javascript是否是一个好的选择,所以我考虑使用PHP套接字或JAVA套接字

由于熟悉PHP语言,PHP套接字似乎是我的第一选择。 我的第二个任务是租用smartfoxserver,第三个任务是使用Player.IO的服务。 我计划创造一个非常好的游戏,并出售它。图形已经完成了很多,看起来很棒。最困难的部分是这样做的效率和易于安装后



谢谢你抽出时间!关于

像这样的游戏,服务器负载应该非常小。如果您使用的是flash,我会利用socket对象的优势,只需打开服务器的一个套接字,这样您就不必对它提出关于发生了什么变化的问题。。。当/如果有值得注意的事情发生时,它会通知客户。 否则,你的计划是相当不错的,所以,你可能不得不问一些关于你遇到困难的具体问题


如果你真的想减少服务器负载,在flash客户端中写下象棋逻辑,让它决定(玩家)尝试的移动是否非法,或者玩家是否输了等等。。。严格使用服务器进行消息中继和数据存储。

这样的游戏的服务器负载应该非常小。如果您使用的是flash,我会利用socket对象的优势,只需打开服务器的一个套接字,这样您就不必对它提出关于发生了什么变化的问题。。。当/如果有值得注意的事情发生时,它会通知客户。 否则,你的计划是相当不错的,所以,你可能不得不问一些关于你遇到困难的具体问题


如果你真的想减少服务器负载,在flash客户端中写下象棋逻辑,让它决定(玩家)尝试的移动是否非法,或者玩家是否输了等等。。。严格使用服务器进行消息中继和数据存储。

围绕您现有的内容设计项目有时是错误的,例如PHP知识和访问具有512 MB RAM的服务器。有很多项目需要首先考虑你的资源,但是一个独立的、第一次的游戏项目并不是其中之一。 即使您的主要语言是PHP,您也不应该限制自己使用Flash部分。此外,使用web服务器和数据库作为多人游戏的通信方法将导致一些非常笨拙的行为

您也不受VDS的限制。您可以在上使用一个微实例一年。如果从头开始设置EC2服务器似乎令人望而生畏,那么互联网上到处都有帮助您从头到尾的方法

游戏的前端可以用Javascript或Flash AS3编写。有很多游戏开发库可供两者使用,并且是免费的AS3游戏库。是一个Javascript/HTML5游戏库。他们都有广泛的文档和良好的社区

您可以使用和编写服务器后端来处理游戏通信,即使您对p一无所知