Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.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
Python可以用来创建基于浏览器的多人游戏吗?_Python_Sockets - Fatal编程技术网

Python可以用来创建基于浏览器的多人游戏吗?

Python可以用来创建基于浏览器的多人游戏吗?,python,sockets,Python,Sockets,我有兴趣创建一个基于浏览器的多人游戏用于学术研究,但我主要精通Python(有PyGame的经验) 我知道PyJS(),但不确定它是否能够处理异步的多人协作 这在Python中可行吗?Pygame在这里对您没有用处。你可能会这样做(对你也没什么用处),不过我不建议你这么做 如果你学习了JavaScript,你会发现你的任务会容易得多。创建游戏需要画布,这是JavaScript的专长,即使是Flask和Django这样的web框架也不会对其进行解释,因此最终您可能会发现自己编写了大量JavaScr

我有兴趣创建一个基于浏览器的多人游戏用于学术研究,但我主要精通Python(有PyGame的经验)

我知道PyJS(),但不确定它是否能够处理异步的多人协作


这在Python中可行吗?

Pygame在这里对您没有用处。你可能会这样做(对你也没什么用处),不过我不建议你这么做

如果你学习了JavaScript,你会发现你的任务会容易得多。创建游戏需要画布,这是JavaScript的专长,即使是Flask和Django这样的web框架也不会对其进行解释,因此最终您可能会发现自己编写了大量JavaScript,游戏是非常复杂的,迟早你会发现一些不需要抱怨的问题,并且无论如何都会被迫写JS

然后,您可能需要登录或保存分数的方法。这是Python非常有用的地方,您可以用Python将所有要处理的信息发送到服务器端。这是以前做过的,而且相当容易

如果你说的是3d游戏,那么你需要某种形式的3d引擎,比如three.js,它们将用js编码(你会发现所有的在线引擎都是用js或Jquery编码的),如果你试图用Python中的一个引擎,那么这些引擎会让你头疼不已

如果你想开发一个在线浏览器内游戏,你需要在某个时候了解一些JavaScript知识,Python是优秀的服务器端和客户端,但是游戏在最好的时候是极其复杂的,包括图形和其他。它不像一个网页,这是一项艰巨的任务(即使使用所有的web开发语言——HTML/CSS/JS/Jquery/AJAX/SQL/AngularJS,这也是一项艰巨的任务),而使用Python只会让您的任务变得更加困难,您将经历许多麻烦,最终,如果您真的能挺过来,学习和使用JS可能会更容易

服务器端,是的,选择Python,如果是客户端,您需要JavaScript


如果你仍然决定这样做,从一个简单的2d单人游戏开始,比如flappy bird或俄罗斯方块,然后进行更难的游戏

我不知道它是可行的,但是即使是,你也应该考虑另一种语言。Python是图灵完成的,所以是的。建议你询问这些问题,而不是SOI正在寻求实现一个低分辨率版本的转换()来减去大部分核心特性。(只有基本的跳跃和重力力学,以及聊天和多人游戏功能)。你能推荐一个javascript平台吗?Node.js?现在流行什么?@Parseltongue好的,如果你使用正确的工具,你想做的事情看起来是可以做到的。我建议学习图形的javascript,这将运行客户端(在用户浏览器中)[这里是一个简单JavaScript游戏的示例](),对于多人游戏部分,可能使用angularJS(这更多的是一种编程技术,而不是一种语言)这将允许您在不重新加载的情况下更新游戏。您需要将所有玩家信息分数/距离/信息发送到服务器,您可以使用表单来完成。您可以再次使用JavaScript来完成此操作,但您可以使用Python来完成此操作(第一个可能会更简单)。接下来,您将发送所有信息并在服务器端进行处理。强烈建议使用SQL(数据库),尽管您可以自己为存储而调用某些内容。接下来,使用Python(cgi编程或其他)将所有信息发送给玩家,您将需要一个将所有数据发送到的所有用户的列表(SQL数据库用于存储).Node.js可以做与Python相同的事情,因为您已经了解Python,我建议您学习web框架,您需要学习一些表单处理库和数据处理/存储库。尽管您可能认为Node.js和Python都值得在服务器端使用,但您可以选择任何服务器端语言.