磁芯大戰是貝爾實驗室裡面的三個年輕人在業餘時間折騰出來的一個小東西,他們將馮」諾依曼的理論變為了現實,讓程序實現了自我複製和傳播。
但是,這種複製和傳播只是局限在類似於「達爾文」這樣的虛擬機平台中,裡面的所有資源,都是已經限定好了。
這個遊戲雖然是病毒的鼻祖,但實際上它並沒有創造病毒,充其量僅僅只是一個流行於程序員這個小圈子內的小遊戲而已,大家通過一種名為RedCade的彙編語言編寫代碼,按照自己的算法製造戰士。
不過,這個遊戲,卻啟發了不少人,他們覺得,這些程序,可以不用僅僅局限在這個平台上,而是可以直接運行於真實的操作系統和硬件平台中。這其中,就包括莫裡斯的兒子,羅比特」莫裡斯,他編寫了著名的莫裡斯蠕蟲,一舉摧毀了無數號稱安全無比的計算機系統。
而林鴻也是從磁芯大戰這個遊戲得到啟發,覺得可以直接將吳東他們編寫的這個虛擬機轉為這樣的平台,讓他們直接在裡面編寫遊戲程序,然後在裡面運行。
這樣一來,他們編寫的這個虛擬機平台也有了用武之地,讓他們在玩遊戲的同時又鍛煉自己的編程能力。
當然,在林鴻看來,「磁芯大戰」整體來說還是太原始了一點,不但界面原始,可使用的編程語言也原始。
他對吳東說:「磁芯大戰畢竟是幾十年前計算機技術剛剛萌芽階段的遊戲,用於現在的話,過於簡陋了點,也沒有什麼趣味性。我的意思是仿照它的原理和思想,打造一個全新的更為複雜一點的遊戲。」
按照林鴻的意思,程序員的遊戲,就應該像磁芯大戰這樣,和普通的遊戲完全不同遊戲的角色,需要自己通過編程來產生,包括這些角色的動作和應對。
「等等,我拿紙幣記錄下來。」
東吳聽到林鴻的構想,眼神越來越亮,他生怕會忘記任何一個細節,立刻找來筆記本和筆,快速地將林鴻的想法給記錄在本子上。
要是在之前林鴻直接跟他說要打造這樣的一個可以讓程序員自己編寫「戰士」的對戰遊戲平台,他肯定會覺得這實在是太複雜了,根本完成不了。
可是,在聽說了「磁芯大戰」這個遊戲之後,他已經對這個遊戲的基本原理有了一定的瞭解,心中已經有一定的底氣。
林鴻繼續說道:「磁芯大戰的目的是爭奪內存資源,它們就像是一個飢餓的貪婪者,不停地進行著吞噬這個設定有點過於簡單了,表現形式也很單一,缺乏趣味性。我們可以變通一下,既然是戰士進行對戰,那就乾脆設定為常見的對戰模式,角色也不再是簡單的兩個小方塊而是可以引入更為形象具體的圖形。」
「類似於拳皇那樣的格鬥遊戲嗎?」吳東一邊記錄一邊問道。
「嗯,後期倒是可以考慮這樣。」林鴻點點頭,「不過前期的話最好是再簡化一點,拳皇這樣的格鬥模式有點過於複雜了。
拳皇遊戲的格鬥,完全是在真實格鬥的基礎上進行了精簡,將主要的一些攻擊和格擋動作給抽離,建立模型。
這樣的遊戲如果能做成功,的確有很大的趣味性但是這樣一來,對於吳東他們來說的確過於複雜了點其中的變量和參數太多,只能將其作為後期的一個發展方向。
林鴻之前也只是一個大概的想法,現在也是邊思考邊說。
「這樣……攻擊方式簡化一下,不要分什麼手、腳攻擊,直接將攻擊手段抽像成一種,也不要分什麼重拳輕拳,所有的攻擊威力都只有一個標準。」
「如果只是你一下我一下的對打的話,這也沒什麼意思吧?」吳東停下筆抬起頭問道。
這時,林鴻已經心中已經有了新的想法,他臉上露出笑容,道:
「不一定要肉搏,可以做為射擊遊戲,這樣就有意思了。」
「對哦,射擊遊戲的攻擊方式比較單一,也很有趣!」吳東恍然大悟。
接下來的思路就比較清楚了。
他們兩個一個問,一個答,就相當於是在進行一場頭腦風暴,漸漸地將這個新的遊戲給完善了起來。
最終設計好的遊戲是一個坦克對戰平台,甲乙兩方分別是兩輛坦克,剛開始出現在戰場的時候,擁有一定量的血槽,相互之間可以進行發炮對射,如果被擊中的話,就扣掉一定血量,如果持續中彈,血槽耗盡便爆炸,輸掉比賽。
坦克可以在戰場上隨意進行移動,大炮的方向也可以隨時進行調整。
坦克就相當於是磁芯大戰中的戰士,需要大家對其進行編程,給它指定合理的攻擊策略和閃躲策略,誰的策略最科學最合理,誰最終就可以贏得比賽。
也就是說,這個平台以後的比賽,涉及到的主要是算法的比拚,以及對算法的實現能力。
為了讓參加這個遊戲的人更多,林鴻覺得應該支持多種語言,將常見的C和JAVA都要包括進去。
吳東:「老大,這個遊戲叫什麼名字好?坦克大戰?這個名字好像太普通了,容易和其他的坦克遊戲混淆。」
「是啊,坦克大戰雖然是個很好的名字,不過這個名字已經被很多遊戲使用過。為了區別,就叫機器人坦克吧,英文名RabaTank在剛開始的時候,就做好國際化的工作,讓國外的高手也能夠加入這個遊戲中來。」
編程本身就是一個非常國際化的工作,程序員之間的溝通基本沒有語言障礙,能夠編寫出優秀的程序,其英文水平也不低,至少其英文閱讀和撰寫能力不會低。
這是沒辦法的事,因為計算機領域的著作和資料,大部分都是英文版的,例如英特爾CPU的技術文檔,PDF格式的,一個個都是幾十上百兆的大小,這些文檔,很少有人會有專門會去做翻譯,因為其中涉及的專有名詞和原理太多,非業內人士翻譯不了,而業內人士覺得既然你都已經達到了要看這些文檔的地步了,那麼你閱讀這個文檔也就沒有障礙。
之前吳東他們做這個項目的時候,一本十幾斤重的技術文檔翻來覆去不知道翻了多少遍。當然,也不是整個全部看,只是在其中查找需要的資料。
現在還只是將RabaTank的框架給設定好,要想真正讓這個遊戲實現可玩性,還有一段很長的路要走。好在對CPU的模擬工作已經完成,接下來的事情倒也不複雜,主要有兩個方面的工作。
首先是圖形化,實現畫圖函數,需要將坦克以及炮彈攻擊這些元素全部用圖形顯示出來。
其次便是跨平台的編譯器。最終編譯的坦克文件代碼,要能夠直接被虛擬機給讀取並執行。
不過這些工作對林鴻來說都不是問題,不過他自己卻不會親自做這些,都要交給吳東他們自己去做。他只負責提出需求和框架,細節方面的實現他不管,留給吳東他們練手。
當然,關鍵的地方,林鴻還是會負責幫忙搞定,至少這個項目要能夠繼續下去。
林鴻之所以對這個項目這樣熱心,一方面是為了幫吳東,另外一方面也有自己的一點私心,他希望能夠積極推動這個遊戲在國內高校流行起來,從而能夠發現一些這方面的人才。
不過,暫時他還比較忙,先將公司的事情忙完之後,再來做這個事情。
吳東見林鴻又列出了一個長長的列表,將整個項目分割成好多步驟讓他們去實現,不由想起他今天來學校的事情,於是問道:「老大,你這次回來,輔導員那邊去過了沒?」
「嗯,已經去了,剛剛提交了停學申請。」
「停學?」吳東一愣。
「是啊,暫時不上了,以後如果有時間有心思的時候,再看吧。」
林鴻也有些捨不得他們這幾個室友,在這裡雖然只有短短的一段時間,但是他去卻體驗到了大學生活的真摯無瑕,也交到了幾個好朋友好兄弟。
「那你打算去哪裡?」吳東追問道。
林鴻笑笑:「以後很長一段時間我都會在上滬市,如果你們去那裡玩,直接打我電話,我把我的新聯繫方式留給你們。對了,還有我網絡上的聯繫方式。
你們有沒有玩OICQ?」
「對啊,直接使用OICQ就可以在網上即時地進行聯繫了!」吳東一拍腦袋,「老大,你的OICQ號碼是多少,我加你為好友!」
「10108。」林鴻報上自己的OICQ號。
「多少?」吳東以為自己聽錯了。
「10108。」
「不會吧?108號?」
這個時候,OICQ這個軟件已經開始在校園裡面流行起來,隨著註冊人數的增多,號碼也越來越靠後,他們申請到的號碼,已經不是1開頭的了,而是五或者六開頭,也就是說,至少有四五萬的用戶了。
「我和這個軟件的作者認識,當初幫忙進行了這個軟件的內測。」
老大就是老大,連OICQ這個軟件的作者都認識,吳東對此除了佩服沒有其他感想。
林鴻再呆了一會兒,張達和李奇兩人也回到了寢室。
他們對於林鴻要停學回去開公司,也非常地捨不得,紛紛表示有機會一定要去上滬市去他公司看看。
傍晚的時候,他們幾個在學校附近的一個小餐館中聚餐,這一次張達和李奇兩人又喝醉了,一直叫嚷著要再和林鴻喝幾杯,一如當初他們剛剛認識成為室友的時候。