日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
20年,1人寫出70萬行代碼!沙盒游戲「鼻祖」13年靠玩家捐贈維生

 一款游戲,讓一位玩家皈依佛教。

這位玩家曾寄信開發(fā)者,因其開發(fā)的游戲理解了「眾生皆苦,世事無常」。

[[414413]]

究竟是什么游戲還能讓人看破紅塵?

Dwarf Fortress (矮人堡壘)!

在Roguelike游戲界,你一定不要錯過大名鼎鼎的矮人堡壘!

2006年面世的矮人堡壘可以說是「開創(chuàng)類的老游戲」,就連《我的世界》開發(fā)者們表示自己深受這款游戲的啟發(fā)。

你可知這個游戲背后的開發(fā)者如何將其建造出來?

矮人堡壘是由Tarn Adams(又名Toady One)一人開發(fā),20年來,親自寫下70萬行代碼!

最「現(xiàn)實」的游戲,最有理想主義的開發(fā)者

Tarn Adams 從2002年開始就在矮人堡壘工作。最初,它只是一個兼職項目。

從2006年開始,Adams一心投入,自己編寫所有的代碼。

期間,Adams的兄弟還幫助他來設(shè)計和創(chuàng)建基于游戲的故事。

[[414414]]

圖右為Tarn Adams

目前,他正在開發(fā)一個帶有像素圖形和改進(jìn)用戶界面的版本,可以在Steam上購買。

近13年來,矮人堡壘并未在任何游戲平臺上發(fā)售,這是因為「亞當(dāng)斯兄弟」的信念。

他們希望這款游戲和市面上發(fā)布的商業(yè)版本有所不同,并且矮人堡壘也要以10年為單位,一直更新下去。

對于這漫長的更新,這對兄弟表示并沒有任何規(guī)劃。

「想到哪,做到哪?!?/p>

[[414415]]

開發(fā)后的游戲不賣錢,穩(wěn)定的收入從何而來?

全靠玩家捐贈維持生計!據(jù)說,亞當(dāng)斯兄弟每個月可以有幾千美元的捐贈收入,足以維生。

許多游戲玩家為此憤憤不平,但他們卻表示,「我們只是不想成為商人,賺錢對我們來說沒有意義」。

他們開發(fā)了最「現(xiàn)實」的游戲,卻是最有理想主義的開發(fā)者。

沙盒游戲「鼻祖」,70萬行代碼,亞當(dāng)斯兄弟自述

矮人堡壘至今已持續(xù)開發(fā)20年,有3種游玩模式。

1、要塞模式(Fortress mode):玩家要幫助一小群矮人從無到有建造城市。

2、冒險模式(Adventure mode):該模式下到處都是中世紀(jì)武器和要命的怪物。

3、傳說模式(Legend mode):玩家能夠體驗逐漸演變的精巧歷史,親歷充滿英雄人物、橫跨幾代人的史詩戰(zhàn)爭。

那么僅憑一個人,如何敲下這70萬行代碼?

Adams表示,「我嘗試給變量和對象一致命名,并且留下足夠的注釋來提醒自己到了一個代碼點時會發(fā)生什么。有時候我需要多次搜索才能找到想要的線索。

當(dāng)我去重溫一些已經(jīng)十年沒有碰過的游戲片段時,這種情況經(jīng)常發(fā)生。」

在矮人堡壘開發(fā)過程中,Adams 主要使用了2種編程語言,C和C++。

為了將其更容易地移植到OSX和Linux系統(tǒng)中,Adams使用OpenGL和SDL來處理引擎問題。

整個項目中,除了SDL以便我們可以做端口之外,所有這些都一直保持不變。

在游戲機制方面,Adams并沒有使用很多外部數(shù)據(jù)庫,但是偶爾會選擇一些隨機的數(shù)字原始資料—— 比如梅森旋轉(zhuǎn)算法(Mersenne twister),還有SplitMix64。

其它類似于矮人堡壘的游戲會因為算法問題「夭折」。

矮人堡壘用的是A*算法,速度很快,但Tarn認(rèn)為還是不夠好。

一般而言,為了簡化操作,開發(fā)者會在地圖頂部添加各種大型結(jié)構(gòu)。

但因為矮人堡壘的地圖非常大,而且還會不斷變化,用A*算法只會耗費大量維護(hù)時間。

所以Tarn決定,通過行走來追蹤可到達(dá)的連接組件。這樣就算地圖變化再快,更新也很容易。

雖然更新維護(hù)變快了,但這個方法還是有缺點:

維護(hù)的部件指數(shù)只能用于行走。

針對這個問題,Tarn做過一些嘗試,但都以失敗告終。

他留意到有些成功的游戲用了矩形覆蓋,覺得這個方法還蠻不錯,但又沒法確定那些游戲的地圖大小和穩(wěn)定性。

Tarn認(rèn)為,最簡單方法其實就是為飛行生物添加一個新索引。

但因為兩個索引都需要同時維護(hù),而其中一個索引已經(jīng)夠差了,所以這對內(nèi)存和速度有很大影響。

又或者可以跟蹤它們的路徑屬性,但是隨著地圖的變化,維護(hù)起來還是會變得困難緩慢。

Tarn表示,在代理和地圖復(fù)雜性方面,目前已經(jīng)盡最大能力來支持agent和復(fù)雜的地圖了,所以如果我們想從中得到更多,就必須做出一些讓步。

「失敗就是樂趣!」

除了矮人堡壘,Tarn在過去十年左右的時間里也嘗試做過其它游戲項目。

不多,也就大概90個吧。

不過,有些項目只能持續(xù)了幾天,有些就持續(xù)了好幾年。

這些游戲項目幾乎都是其它類型的游戲,但也有一些是矮人堡壘的輔助項目,比如神話生成器原型。

雖然基本上沒有多少個項目能夠持續(xù)運作下去,但Tarn認(rèn)為,偶爾擺脫矮人堡壘,開開小差還是挺不錯的。

在這90個「隨便做做」的項目里,Tarn也想過用其它編程語言。

他認(rèn)為有些語言是能夠加快實現(xiàn)設(shè)計,所以他覺得自己應(yīng)該再學(xué)一點腳本語言,多玩一些線程。

不過人嘛,都是「想一套,做一套」。

對于更喜歡設(shè)計的Tarn來說,既然那90個項目是用來摸魚放松的,又怎么會去學(xué)編程語言呢。

bug是所有開發(fā)人員都逃不掉的坑。

在矮人堡壘這個游戲里,Tarn最喜歡的bug是那只永遠(yuǎn)都打不贏的醉貓。

在酒館里的貓在地板上走來走去,貓爪就沾了不少灑出來的酒,結(jié)果貓在舔爪的時候就喝醉了。

這個bug是因為在貓?zhí)蜃z入東西的代碼里,有個數(shù)字出錯了,結(jié)果這個bug就讓貓顯示出了酒精中毒的癥狀。

不過,這個bug反倒是被Tarn利用起來,添在了有毒生物的設(shè)計代碼里了。


當(dāng)前文章:20年,1人寫出70萬行代碼!沙盒游戲「鼻祖」13年靠玩家捐贈維生
本文路徑:http://m.5511xx.com/article/ccospho.html