基于 mmo 浏览器的游戏需要哪些语言?

Posted

技术标签:

【中文标题】基于 mmo 浏览器的游戏需要哪些语言?【英文标题】:What languages are required for an mmo browser based game? 【发布时间】:2011-12-01 15:53:18 【问题描述】:

我在 gamedev.stackexchange.com 上问过这个问题,什么也没得到。如果我做错了请修复标签

这类游戏需要哪些“东西”?我对 java、c++、javascript 和 Objective c(iphone 编程)的理解相当好,但是我对网络编程一无所知,但我对网络的总体了解(数据包、mac 解决了所有这些好东西)

所以这是我的主要问题:对于像 Tribal Wars、Evony、Shadowland online、travian 这样的游戏,我需要了解哪些编程语言才能自己完成并完成它?我想大部分都将在 Java 中完成,但是对于连接其他玩家、战斗、排行榜和(最重要的是)为事物进行在线支付的整个过程,我应该学习什么语言来开发这样的东西?那么我需要研究哪些编程语言。

另外,我将游戏发布在游戏制作网站上,因此我不需要设计网页或其他任何东西,我只需将游戏直接卖给他们。

【问题讨论】:

... finish it by myself - 祝你好运,对于一个单独的程序员来说,这是一项相当艰巨的任务。 我会说学习服务器端和客户端语言(可能是 php 和 Javascript)来运行游戏。此外,您还需要知道如何进行数据库查询 (SQL)。您将需要了解一些 html(不是真正的语言)。您可以查看 PayPal API 来接受付款(这很容易上手)。 @Thomas 我知道 ^_^ 不幸的是,我不知道任何其他足以真正帮助我的程序员。 @Boundless 我没有托管网站,因此不需要 html,我会将其发布在现有网站上。另外,你是说我用javascript而不是java做游戏? 我认为,如果你有足够的动力和才华,那将不是问题。是的,这需要时间,但会很有收获。 【参考方案1】:

网络编程不是另一种语言。您将需要以您选择的语言学习网络库/API。然而,它比单会话应用程序更困难。不确定哪种语言对网络来说“更容易”,但我确信 java、c++ 将支持后端的网络库。

MMO 浏览器基础应用程序并非易事。当你开始学习的时候,试着先做一个多人战舰游戏/tic tack toe/等。从小开始。一旦你做到了,建立你的技能。 MMO 可能需要长达一年的时间来开发。但不要让这让你远离学习!

我快速搜索了“java network two player”http://www.cs.lmu.edu/~ray/notes/javanetexamples/

本教程可能是制作两个玩家井字游戏的良好开端。从小处着手,学习,成功!

【讨论】:

a MMO could take up to a year to develop 这是一个非常乐观的估计:) 我应该在这里提到,基于 Java 浏览器的游戏是一项非常艰巨的任务。这是我最喜欢的一张图片(虽然你不应该使用 Rails 来做 MMO)amedias.org/img/java_vs_rails_books.jpg @varatis:我同意,Java 的书籍确实比 Ruby 多... ;-) @Traroth 我知道你在那里做了什么 XD 它不是我想象中的“Runescape”MMO,只是那些基于图像的点击和升级游戏之一。【参考方案2】:

我想说学习服务器端和客户端语言(可能是 PHP 和 Javascript)来运行游戏。此外,您还需要知道如何进行数据库查询 (SQL)。您将需要了解一些 HTML(不是真正的语言)。您可以查看 PayPal API 来接受付款(这很容易上手)。

如果要在网络上运行并且您希望人们玩它,我会在客户端使用 Javascript。我也会研究 HTML5。您无需在客户端验证数据,而是在服务器端进行验证(例如,您不希望他们更改他们拥有的黄金数量)。您可以使用许多服务器端语言。如果它将安装在 Windows 服务器上,您可以使用 c# 而不是 PHP(PHP 只是一个建议,因为我很熟悉它)。

祝你冒险顺利,这将是一次很棒的学习经历。

【讨论】:

【参考方案3】:

基本上,我认为您应该可以使用 Java、HTML、Javascript、SQL、XML 和一些基于这些语言的库。

恕我直言,您的客户端主要由 HTML 和 Javascript(您可能使用 flash,但它会被 HTML 5 取代)使用 AJAX 与服务器通信。

服务器本身可能是用 Java 编写的,可以为每个玩家运行游戏。客户端和服务器之间的通信将包括玩家命令、屏幕更新等,但客户端中不会实际运行任何游戏逻辑。

如果性能可能成为问题并且您有硬件限制,您可以考虑使用 C++ 编写服务器。但是,我怀疑这是否值得麻烦,因为大多数情况下性能瓶颈是由带宽、算法实现等引起的。因此,我建议用 Java 实现服务器,可能使用应用程序服务器技术让您更快地开始。

编辑

根据 Gabe 的要求,以下是每种“语言”在这种情况下的作用的简短摘要:

Java:大部分逻辑 Javascript:主要用于客户端动画和通信 HTML:客户端用户界面 SQL:您将游戏状态、玩家等存储在数据库中,因此您需要 SQL 来查询数据库。 XML:在大多数情况下用于 AJAX 以及配置

不过,这只是一个粗略的列表。

【讨论】:

嘿,您能否编辑您的答案:单独来说,javascript 会做什么,sql 和 xml 会做什么(对于游戏)?比如每一个服务的目的是什么 好清单,我同意。但是,如果您不是特别喜欢进行大规模并发网络服务编程,我强烈建议您使用现有的(可能是开源的)服务器核心。 Java 中有几个可用的,可以使用您的特定游戏逻辑进行扩展,其中许多具有 JSON 或 XML 接口,可以适应 JavaScript/HTML-5 客户端。但是,由于我个人将基于 Java 的 MMO 服务器重写为 Lisp,因此我个人主张将它们中的任何一个用于服务器逻辑 :-) 并且出于个人喜好,我更喜欢 JSON 而不是 XML 数据。跨度>

以上是关于基于 mmo 浏览器的游戏需要哪些语言?的主要内容,如果未能解决你的问题,请参考以下文章

推荐几个编程游戏

“MMO类型网络游戏”是啥,请详细介绍下

Firebase 用于基于浏览器的实时 MMO [关闭]

MMO游戏技能攻击区域的计算3--效率分析

多人在线游戏(MMO)|建筑|学习路径

MMO游戏技能攻击区域的计算