我非常精通php,我也在学习python。我一直想创建基本游戏一段时间,并希望在python中创建它。但是为了拥有一个花哨的流畅界面我需要使用javascript(我不太关心flash / silverlight路线)。所以我决定开始在JavaScript中查找游戏开发。在这样做的过程中,我看到的大多数例子都是几乎完全用javascript完成的游戏。其中许多游戏相当不错。
但我想知道的是,如果我将python和javascript结合起来创建游戏;我应该更多地依赖javascript并让python做一些背景的东西吗?或者我应该只使用javascript作为基本的UI元素,动画,华而不实的东西和诸如此类的东西,并保持核心游戏引擎在python中。或两者之间的某种混合。
对于php / python我主要用于MVC样式框架。因此,如果我只使用JS作为视觉效果,我会像在普通应用程序中那样大量使用视图文件中的内容吗?我知道我可以完全用任何一种语言制作游戏,但是要使用两者中的优点,我不太确定我应该在哪里画线让python做起作用并让JS完成工作。
另外作为参考,我想使用一些高级功能,如canvas / svg等。 WebGL并不是那么多。我想要练习的游戏是等距风格的RTS。游戏主要用于学习。我并没有真正计划发布它。
赞赏任何意见。
澄清: 游戏将基于网络。我的网络服务器是nginx。我想要的游戏是多人游戏,其中多人同时在线玩游戏。想想魔兽世界。每个服务器最多可以容纳N个玩家。当那个人说80%满了新的一个。或类似的规定。我希望玩家能够真正地与其他人进行互动。这就是为什么我也以同样的方式调查node.js,但对此还不太了解。但似乎它可能适合。
- 更新:我还计划使用mongodb作为数据库,如果这对任何人来说都很重要。
答案 0 :(得分:1)
python可能会在为您的Web服务器供电的服务器上运行。
如果你想编写多人客户端 - 服务器游戏,那么许多服务器代码/逻辑将在python中。
如果您想编写更简单的单人游戏游戏,那么您的所有代码都在客户端(浏览器)中并且将是javascript。 Python就是为你的网页游戏提供服务。
如果你想编写桌面游戏,可以使用pygame库在python中完成。
所以取决于你想要的东西。
答案 1 :(得分:1)
这些要点中的每一点都可以是微妙的,值得进行一些额外的讨论。
将游戏送到客户端的实际成本分为两部分,即运行游戏所需的物理硬件成本,以及将其分发给客户端的网络带宽成本。通常你可能不得不换一个换另一个;优化网络使用意味着您必须更好地预测客户需要或做什么,增加处理需求,但将更多处理工作卸载到客户端意味着向客户端发送更多数据。
但是,客户只能做很多工作。例如,你不能总是相信客户告诉你他们应该在哪里,因为这可能意味着他们在空中飞来飞去,或者从一个地方传送到另一个地方;你必须确保客户实际上可以做他们说他们正在做的事情。然而,游戏的特殊性质决定了你必须走多远。在男子MMO游戏中,通常采取极端措施来限制机器人玩家的活动,但这通常会对真实玩家产生负面影响。即使在滥用者工作的情况下,严格合作的游戏也经常遭受损失。
并非所有潜在的游戏用户都拥有最好的可用硬件,或者愿意升级到最新,最快的浏览器。因此,制作成功的游戏通常意味着减少图形,以便大多数用户可以玩它
令人惊讶的是,通常情况下客户端或服务器方法实际上并不能产生理想的结果。相反,你必须在两个地方中实现关键游戏逻辑,在客户端上使游戏感觉对用户有响应,同时在服务器上减轻滥用并公平地决定玩家与玩家的交互。