【问题标题】:Python Game NetworkingPython 游戏网络
【发布时间】:2015-04-03 22:54:20
【问题描述】:

我目前在寻找网络游戏编程资源时遇到了麻烦(特别是在 Python 中;我不知道任何其他语言)。我在 Python 中发现了很多关于通用网络的东西,但我不确定这就是我需要的(因为我相信游戏网络还涉及其他一些因素)。我正在尝试创建一个在不同计算机上玩的 2 人局域网游戏。我已经看到了一些人建议并被其他人鄙视的 Twisted python 库,所以我想我应该不管它。我对在哪里或如何开始创建这个游戏感到非常困惑,任何帮助将不胜感激。 (我已经阅读了与此类似的帖子,但它对我没有多大帮助,我确实阅读了客户端/服务器模型的创建和客户端预测,所以我对它应该如何工作有一个非常基本的想法)。

感谢您的阅读!

附:我不知道这是否有帮助,但游戏应该是 2D-Arena Fighter 并使用 PyGame 库。

【问题讨论】:

  • 大声笑我写了一个完全一样的游戏在github上查看:github.com/mthsrobot30/Ship-Fighters
  • 实际上游戏网络概念并不是特定于语言的。所以有大量的 c、java 或其他语言的材料,很容易翻译成 python
  • @hexeri 哦。老实说,我对自己来回翻译的能力没有足够的信心:I。不过还是谢谢你的建议! :D

标签: python networking pygame


【解决方案1】:

这是一个较晚的答案,但它应该为寻找 Python 网络库和游戏指南的人们提供一个很好的概述。

pygase 这是我自己为各种独立项目编写的库,因为没有其他库满足我的所有要求。它有据可查,而且很有见地。它考虑了过去几十年在游戏网络方面的大部分学习,并且 API 相当高级。它也是由我积极开发和维护的。

podsixnet 一个设计精良的低级游戏网络 API,适用于任何类型的游戏。您仍然需要在架构方面做出一些决定,这需要对游戏网络有更深入的了解。

simple-game-server 不是真正的图书馆,更像是组织玩家“房间”的现成服务器,可以直接交换消息。这是一个简单的概念,只适用于不太紧张的小游戏。

如果您想深入了解游戏网络方面的实用知识,请查看here。连同 socketSocketServer 软件包的文档,这应该使任何人都可以使用 python 为游戏编写出色的网络代码。

干杯,西拉斯

【讨论】:

    【解决方案2】:

    我实际上已经在 Python 中做到了这一点。我使用 Pygames 制作了一个竞技场斗士:https://github.com/mthsrobot30/Ship-Fighters

    除了标准套接字库之外,我没有使用任何特定技术。

    我使用的模型是我有一个线程运行在从套接字接受来自其他玩家的按键并基于它更新屏幕的一侧。然后,本地玩家不仅会更新屏幕,还会通过同一个套接字发送他的按键。

    我建议阅读套接字教程。我发现很难直接进行协调,因此设置一个除了传递信息之外什么都不做的基本服务器将是一个让玩家相互匹配的好主意。

    【讨论】:

    • 太棒了!我实际上尝试下载并播放它对我来说看起来很有趣。我一定会尽快查看套接字教程。
    猜你喜欢
    • 2013-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多