超想做一个网络游戏!有兴趣的人进来讨论讨论!
生活随笔
收集整理的這篇文章主要介紹了
超想做一个网络游戏!有兴趣的人进来讨论讨论!
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我昨天發了一個帖子,說想做網絡游戲,結果馬上就有人附和了!反應真是快啊,Blog這個東西就是好!
嗯,那么我們討論些什么呢?我想可以討論一下下面的幾個方面:
1、我們這個開發采取什么協議?GPL還是別的?
2、我們如何組織這個項目?
3、我們這個游戲的是什么樣子的?劇本?
呵呵,前兩個留給大家說說,我先說說對于這個游戲有什么樣的設想:
一、網絡穿越能力
? 之所以前一段時間我那么關心NAT穿越,主要就是因為網絡游戲必須能夠穿越NAT,否則中央服務器就必須要有很強大的計算能力,我們這種因為興趣而參與的朋友肯定沒有辦法支付這樣的費用。如果能夠穿越NAT,那么就很可能讓部分的計算分布到每個玩家身上,并且大部分的數據流量都不需要經過服務器。關于這方面的知識真的很重要,大家不妨看一下我的這兩個帖子,雖然說我也是才開始學的,但是自己瞎想總不是路吧?我的這兩個帖子基本上已經把穿越NAT的原理探索了一下:
關于P2P穿越NAT/防火墻的困惑
關于穿越NAT進行P2P通訊
其中里面提到了一篇文章,非常的重要,幾乎是編寫穿越所有類型防火墻的核心原理,我在這里再貼出來一次,不過是英文的:
http://www.watersprings.org/pub/id/draft-takeda-symmetric-nat-traversal-00.txt
實際上Terrarium之所以能夠發動起來,主要就是對于服務器幾乎沒有什么太大的要求,只是提供一個用戶登錄以及技術統計平臺,本身幾乎不參與什么運算,運算都是由客戶端自己承擔的。哦,對了,順便提一下,Terrarium的服務器端可以下載的:
http://www.windowsforms.net/terrarium/server/download.aspx?tabindex=6&tabid=42
這個Terrarium的服務端幾乎就是用戶在上面注冊,登錄的時候在服務器上面登記一個地址,然后別人就可以通過連接這個地址的5000端口和你互連了。所以Terrarium必然無法穿越NAT,實際上我們只需要改進一下這個服務端,增加NAT穿越能力的協議就基本上OK了。嗯,這個Terrarium似乎有計劃要開發下一個版本,并且打算公開下一個版本的源代碼。不過目前似乎已經有接近兩個月沒有消息了,這個Terrarium的開發這似乎是MS里面的一個員工,參與Longhorn的任務,不知道是否看錯了。如果沒有看錯的話,那也許是他最近工作比較忙吧。
二、關于游戲背景的設想:
??? 我覺得Terrarium本身的背景還是蠻好玩的,所以我想還是以動物為背景,也就是盡可能把Terrarium的元素復現出來,甚至做得比Terrarium要優秀。但是我們再往里面添加另外一種可控制的角色,我們就可以參與到里面去了。這個添加的角色是什么呢?比如說原始人怎么樣?我們就可以去打獵了!出了打獵還可以參加種族戰斗啊!當然,我們必須要讓這個添加進去的角色能夠和原有的角色兼容,有所有的屬性比如攻擊力、“肉量”等等,這樣原來的那種人工智能生物才能夠攻擊我們,殺死了人控制的角色之后還可以吃“尸體”。此外,為了配合這個原始人,我們還可以增加另外一類東西:比如刀啊槍啊。這個嘛,就還沒有仔細考慮清楚,到底是直接由我們用程序設計刀槍呢?還是在游戲里面提供原材料讓人來打造呢?比較復雜,涉及到游戲的平衡性問題。
三、關于分布計算的設想:
?? 我覺得這個游戲必須要能夠分布計算,理由如下:
1、如果我們不分布計算,那么強大的中央服務器群的費用,包括運行費用誰來提供呢?
2、如果我們采用Terrarium那種方式,CPU占用率太高了!基本上應該每個終端負責一部分人工智能生物的計算能力,并且將計算結果直接告訴其他參與的中斷……當然這樣的話會有其他的復雜問題,但是至少這樣才能夠制成大量的人工智能生物的存在啊。除非大家不打算有人工智能的Object存在或者有哪一個大款能夠提供幾百萬的經費出來采用集中式服務器方式。
3、順便可以學習一下分布式計算方面的東西,主要是深入了解這里面會遇到的問題。
四、關于安全性的設想:
?? 如果你玩過Terrarium的話,你不得不贊嘆設計者考慮得那么周到,使得你無法寫出有惡意的代碼——反射功能被禁止了;不允許出現靜態類、靜態函數、靜態變量;不允許訪問外部資源如硬盤;獲得其他生物(包括同種)的信息是通過一個接口,這個接口背后的東西實際上是一個結構,這個結構里面的所有數據是從某個生物里面拷貝出來的,所以你無法通過獲得的信息訪問對方生物的任何不期望讓你知道的內容;等等。這個是一個考慮的方面,但不是全部。我還希望加入加密和驗證的能力,杜絕諸如木馬攻擊、詐騙攻擊、中間人攻擊以及DOS攻擊等,因為涉及到分布式計算,還需要防止用戶篡改數據。
大家說說我想得是否太過于復雜了?其實我覺得不會啊,人家那個Terrarium也就是一兩個人能夠完成的,我所說的基本上只是在他的那個基礎上增加NAT穿越、更多的角色類型、分布式計算能力以及加強安全型而已。(……而已?)
好了,剩下的大家來討論一下吧。
嗯,那么我們討論些什么呢?我想可以討論一下下面的幾個方面:
1、我們這個開發采取什么協議?GPL還是別的?
2、我們如何組織這個項目?
3、我們這個游戲的是什么樣子的?劇本?
呵呵,前兩個留給大家說說,我先說說對于這個游戲有什么樣的設想:
一、網絡穿越能力
? 之所以前一段時間我那么關心NAT穿越,主要就是因為網絡游戲必須能夠穿越NAT,否則中央服務器就必須要有很強大的計算能力,我們這種因為興趣而參與的朋友肯定沒有辦法支付這樣的費用。如果能夠穿越NAT,那么就很可能讓部分的計算分布到每個玩家身上,并且大部分的數據流量都不需要經過服務器。關于這方面的知識真的很重要,大家不妨看一下我的這兩個帖子,雖然說我也是才開始學的,但是自己瞎想總不是路吧?我的這兩個帖子基本上已經把穿越NAT的原理探索了一下:
關于P2P穿越NAT/防火墻的困惑
關于穿越NAT進行P2P通訊
其中里面提到了一篇文章,非常的重要,幾乎是編寫穿越所有類型防火墻的核心原理,我在這里再貼出來一次,不過是英文的:
http://www.watersprings.org/pub/id/draft-takeda-symmetric-nat-traversal-00.txt
實際上Terrarium之所以能夠發動起來,主要就是對于服務器幾乎沒有什么太大的要求,只是提供一個用戶登錄以及技術統計平臺,本身幾乎不參與什么運算,運算都是由客戶端自己承擔的。哦,對了,順便提一下,Terrarium的服務器端可以下載的:
http://www.windowsforms.net/terrarium/server/download.aspx?tabindex=6&tabid=42
這個Terrarium的服務端幾乎就是用戶在上面注冊,登錄的時候在服務器上面登記一個地址,然后別人就可以通過連接這個地址的5000端口和你互連了。所以Terrarium必然無法穿越NAT,實際上我們只需要改進一下這個服務端,增加NAT穿越能力的協議就基本上OK了。嗯,這個Terrarium似乎有計劃要開發下一個版本,并且打算公開下一個版本的源代碼。不過目前似乎已經有接近兩個月沒有消息了,這個Terrarium的開發這似乎是MS里面的一個員工,參與Longhorn的任務,不知道是否看錯了。如果沒有看錯的話,那也許是他最近工作比較忙吧。
二、關于游戲背景的設想:
??? 我覺得Terrarium本身的背景還是蠻好玩的,所以我想還是以動物為背景,也就是盡可能把Terrarium的元素復現出來,甚至做得比Terrarium要優秀。但是我們再往里面添加另外一種可控制的角色,我們就可以參與到里面去了。這個添加的角色是什么呢?比如說原始人怎么樣?我們就可以去打獵了!出了打獵還可以參加種族戰斗啊!當然,我們必須要讓這個添加進去的角色能夠和原有的角色兼容,有所有的屬性比如攻擊力、“肉量”等等,這樣原來的那種人工智能生物才能夠攻擊我們,殺死了人控制的角色之后還可以吃“尸體”。此外,為了配合這個原始人,我們還可以增加另外一類東西:比如刀啊槍啊。這個嘛,就還沒有仔細考慮清楚,到底是直接由我們用程序設計刀槍呢?還是在游戲里面提供原材料讓人來打造呢?比較復雜,涉及到游戲的平衡性問題。
三、關于分布計算的設想:
?? 我覺得這個游戲必須要能夠分布計算,理由如下:
1、如果我們不分布計算,那么強大的中央服務器群的費用,包括運行費用誰來提供呢?
2、如果我們采用Terrarium那種方式,CPU占用率太高了!基本上應該每個終端負責一部分人工智能生物的計算能力,并且將計算結果直接告訴其他參與的中斷……當然這樣的話會有其他的復雜問題,但是至少這樣才能夠制成大量的人工智能生物的存在啊。除非大家不打算有人工智能的Object存在或者有哪一個大款能夠提供幾百萬的經費出來采用集中式服務器方式。
3、順便可以學習一下分布式計算方面的東西,主要是深入了解這里面會遇到的問題。
四、關于安全性的設想:
?? 如果你玩過Terrarium的話,你不得不贊嘆設計者考慮得那么周到,使得你無法寫出有惡意的代碼——反射功能被禁止了;不允許出現靜態類、靜態函數、靜態變量;不允許訪問外部資源如硬盤;獲得其他生物(包括同種)的信息是通過一個接口,這個接口背后的東西實際上是一個結構,這個結構里面的所有數據是從某個生物里面拷貝出來的,所以你無法通過獲得的信息訪問對方生物的任何不期望讓你知道的內容;等等。這個是一個考慮的方面,但不是全部。我還希望加入加密和驗證的能力,杜絕諸如木馬攻擊、詐騙攻擊、中間人攻擊以及DOS攻擊等,因為涉及到分布式計算,還需要防止用戶篡改數據。
大家說說我想得是否太過于復雜了?其實我覺得不會啊,人家那個Terrarium也就是一兩個人能夠完成的,我所說的基本上只是在他的那個基礎上增加NAT穿越、更多的角色類型、分布式計算能力以及加強安全型而已。(……而已?)
好了,剩下的大家來討論一下吧。
總結
以上是生活随笔為你收集整理的超想做一个网络游戏!有兴趣的人进来讨论讨论!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 心痛。
- 下一篇: SizeOf与Structure与Man