2011-12-01 90 views
1

我在gamedev.stackexchange.com上問過這個,什麼也沒得到。請修復標籤,如果我做錯了基於mmo瀏覽器的遊戲需要什麼語言?

這種遊戲需要什麼?我很瞭解java,C++,javascript和objective c(iphone編程),但是我對網絡編程一無所知,但是我一般都知道網絡(數據包,mac地址都是好東西)

所以這個是我的主要問題:對於像部落戰爭,Evony,Shadowland在線,travian這樣的遊戲,我需要知道什麼編程語言才能完成並自行完成它?我想大部分都是用java來完成的,但是對於整個連接其他玩家,戰鬥,排行榜和(最重要的)在線付款的東西,我應該學習什麼語言來開發類似的東西?所以我需要查看哪些編程語言。

另外,我在遊戲製作網站上發佈遊戲,所以我不需要設計一個網頁或任何東西,我只是把直銷遊戲賣給他們。

+1

'......自己完成' - 祝你好運,這對於一個單一的程序員來說是相當大的任務。 – Thomas

+0

我會說要學習服務器端和客戶端語言(也許PHP和Javascript)來運行遊戲。你也需要知道如何做數據庫查詢(SQL)。你需要知道一些HTML(不是一門語言)。您可以查看PayPal API以接受付款(這很容易入門)。 – Boundless

+0

@Thomas我知道那很^ _ ^,不幸的是我不知道任何其他的編程知識足夠真正幫助我。 – Gabe

回答

2

網絡編程不是一種不同的語言。您需要以您選擇的語言學習網絡庫/ API。然而,單一會話應用程序更困難。不確定哪種語言更容易「聯網」,但我確信java,C++將支持後端的聯網庫。

和MMO瀏覽器基礎應用程序並非易事。當你開始學習時,嘗試先製作一個多人戰列艦遊戲/ tic tack toe /等。從小開始。一旦你做到了,建立你的技能組合。 MMO可能需要長達一年的時間才能發展。但不要讓這讓你害怕遠離學習!

我做的Java網絡快速搜索兩名球員
http://www.cs.lmu.edu/~ray/notes/javanetexamples/

本教程可能是一個良好的開端,使兩個球員井字棋。從小開始,學習,成功!

+2

'一個MMO可能需要長達一年的時間來開發這是一個非常樂觀的估計:) – Thomas

+0

我應該在這裏提到基於Java瀏覽器的遊戲是一項非常艱鉅的任務。這是我最喜歡的圖片之一(儘管你不應該使用Rails來製作MMO)http://www.amedias。org/img/java_vs_rails_books.jpg – varatis

+0

@varatis:我同意,真的比Ruby更多的書可用於Java ... ;-) –

1

基本上,我會說你應該很好用Java,HTML,Javascript,SQL,XML和一些基於這些語言的庫。

恕我直言,你的客戶端主要是使用AJAX與服務器通信的HTML和Javascript(你可能使用Flash,但它會被放棄,支持HTML 5)。

服務器本身可能用Java編寫,並會爲每個玩家運行遊戲。客戶端和服務器之間的通信將由玩家命令,屏幕更新等組成,但遊戲邏輯實際上不會在客戶端運行。

如果性能可能成爲問題並且您有硬件限制,您可能會考慮使用C++編寫服務器。然而,我懷疑這是否值得這麼麻煩,因爲大多數情況下性能瓶頸是由帶寬,算法實現等引起的。因此,我建議在Java中實現服務器,可能使用應用服務器技術來加快啓動速度。

編輯

按照要求通過加布這裏是對各「語言」將在這方面做一個簡短的總結:

  • 的Java:大部分的邏輯
  • 的Javascript:多爲客戶端動畫和通信
  • HTML:客戶端UI
  • SQL:您將存儲遊戲狀態,玩家等在一個dat因此你需要用SQL來查詢數據庫。
  • XML:在大多數情況下使用AJA X以及配置

這只是一個粗略的名單,雖然。

+0

嘿,你可以編輯到你的答案:單獨,JavaScript會做什麼,SQL和XML會做什麼(遊戲)?喜歡什麼目的,每一個服務 – Gabe

+0

好的清單,我同意。但是,如果您不是特別喜歡大規模併發網絡服務編程,我強烈建議您使用現有的,也許是開源的服務器內核。有幾種可用的Java語言,可以使用特定的遊戲邏輯進行擴展,其中許多具有適用於JavaScript/HTML-5客戶端的JSON或XML接口。因爲我親自將基於Java的MMO服務器改寫爲Lisp,但我個人會提倡其中的任何一種服務器邏輯:-),並且作爲一個品味問題,我更喜歡使用JSON而不是XML來處理數據。 – BRFennPocock

2

我會說學習服務器端和客戶端語言(也許PHP和Javascript)來運行遊戲。你也需要知道如何做數據庫查詢(SQL)。你需要知道一些HTML(不是一門語言)。您可以查看PayPal API以接受付款(這很容易入門)。

如果要在網絡上運行,並希望人們玩它,我會在客戶端使用Javascript。我也會研究HTML5。你不會在客戶端驗證數據,你在服務器上這樣做(例如,你不希望他們改變他們有多少黃金)。您可以使用許多服務器端語言。如果它將被安置在Windows服務器上,您可以使用c#而不是PHP(PHP只是一個建議,因爲我熟悉它)。

祝你的冒險成功,這將是一次很棒的學習體驗。

相關問題