栖息地:來自一個在線社區的報告

關燈
什麼。

    對象之間的交互應該由功能模型而不是物理模型來描述。

    這些高級别表現和直接用戶交互所需要的低級别表現之間的轉換所需要的計算本質上是局部功能。

    在本地處理器中,顯示渲染技術可能是任意複雜的,物理模型也是任意複雜的。

    然而,這種計算所需的數據通道容量不需要也不應該被壓縮到本地處理器和遠程處理器之間可用的有限帶寬中。

    嘗試這樣做隻會導緻像北美表示級别協議語法(NAPLPS,一種發送數據的格式,用于可視圖文系統)這樣的災難。

     一旦我們開始在概念層面上而不是在表現層面上工作,我們就會被以下的觀察所震驚: 實現平台相對而言并不重要。

     表現層和概念層不能(也不應該)彼此完全隔離。

    根據對象的配置和行為,而非它們的表現來定義虛拟環境使得我們能夠跨越系統中參與者之間海量的計算和顯示能力。

    這個範圍既向上又向下延伸。

    作為一個極端的例子,一個典型的風景對象,如樹,可以用一些參數值來表現。

    可以想象的事情的底端可能是一台古老的Altair8800[70],它擁有300波特的ASCII簡易終端,此處,界面被簡化為文本片段,用戶将看到文字冒險遊戲玩家再熟悉不過的簡陋字符串:“這裡有一棵樹。

    ”在頂端,你可能有一個強大的處理器,它通過增加分形模型并以高分辨率在三個維度上進行渲染生成樹的圖像,實時繪制最細微的細節,在微風中飄揚的樹枝和風的聲音通過高保真數字立體聲耳機傳到你的耳中。

    兩個用戶可能會在同一個世界裡的同一個地方看到同一棵樹,并相互交談。

    目前,這兩種情況都是令人難以置信的,首先是因為當更好的界面變得可用時,沒有人會繼續忍受這種粗糙的界面,其次是因為計算硬件還不存在。

    然而,問題的關鍵在于,這種方法涵蓋了已經過時的系統和那些在設計師眼中仍然閃爍着光芒的系統。

    它的兩個後果是顯著的。

    第一,我們今天可以建立有效的網絡空間系統。

    栖息地的存在充分證明了這一原則。

    第二,你可以想象,隻要有一點點的聰明和遠見,你就可以開始用今天的技術建立一個系統,它可以随着未來的技術發展而順利發展。

    在現實世界中,增長途徑的可用性很重要,特别是如果網絡空間要成為一種重要的通信媒介的話(正如我們所認為的那樣)。

     鑒于我們将網絡空間看作一種通信媒介,而不是簡單的用戶界面模型,并且考慮到我們提倡的面向對象方法的風格,另一點變得清晰起來: 數據通信标準至關重要。

     然而,我們對網絡空間數據通信标準中心的關注更多地集中在傳輸數據的定義,而非較數據傳輸協議上。

    從A點到B點可靠地獲取比特的機制對我們來說并不特别有趣。

    這并不是因為這些機制不重要(它們顯然重要),也不是因為它們不會形成重大的研究和工程挑戰(它們顯然已經做到了),而是因為我們關注的是基于對象的網絡空間的獨特通信需求。

    我們關心的是在對象之間發送消息(通信行為而非表現)的協議,以及将對象定義從一個系統傳遞到另一個系統的協議。

     通信對象定義似乎是一個非常重要的問題,而我們實際上沒有機會在栖息地中解決這個問題。

    我們如果想要擁有一個動态系統,就必須解決這個問題。

    如果系統能夠發展,那麼随着時間的推移添加新的對象類型的能力至關重要。

     當我們讨論通信标準的時候,我們想對開放系統互連的ISO參考模型(ISOReferenceModelofOpenSystemInterconnection)做一些評論。

    如今,這種多層模型已經成為大多數讨論數據通信标準的核心内容。

    不幸的是,雖然這個模型的底部四層或五層提供了一個還算完善的框架來考慮數據傳輸問題,但是我們認為,在考慮空間數據通信時,模型的表現層和應用層并沒有太大的用處。

     我們對ISO模型主要有兩個争議:首先,它以一種與網絡空間系統需求不匹配的方式劃分了一般數據通信問題的方式;其次,也是更為重要的一點,我們認為這是混亂的放射源,因為它将系統設計者的注意力集中在一系列錯誤問題上,從而引導他們花時間去解決錯誤問題。

    我們之所以了解這些,是因為這件事在我們身上發生過。

    “表現”和“應用”隻是網絡空間通信協議的更高級别的錯誤抽象。

    “表現”協議假定顯示的特征被嵌入到協議中。

    上面的讨論應該能說明為什麼我們認為這樣的假設既不必要也不明智。

    “應用”協議假設消息環境有一定的預知能力,這與我們設想的動态演進的對象系統不兼容。

     更好的模型是替換一對不同的頂層:信息層,它定義了對象彼此尋址的方法,以及封裝結構化數據和編碼低級數據類型(例如,數字)的标準方法;建立在信息層之上的定義層,它定義了對象定義的标準表示,以便對象分類可以在機器之間遷移。

    有人可能會說,這些隻是用不同标簽的簡單表現和應用,但我們不認為這些差異可以輕易調和。

    特别是,我們認為ISO模式已經有意無意地系統性地讓該領域的工作人員的思考與許多我們關心的問題偏離。

     世界中的建築 栖息地提出了兩種執行挑戰。

    第一個挑戰是開發一項技術——開發動畫引擎、面向對象的虛拟内存、傳輸消息的僞操作系統,并将它們全部壓縮到荒唐的Commodore64中(後端系統也帶來了一些有趣的技術問題,但它的約束并沒有那麼嚴重)。

    第二個挑戰是栖息地世界本身的創造和管理。

    我們認為後一種挑戰的經驗對未來的網絡空間設計師最為重要。

     最初,這項事業中的最大敵人是我們自己,我們工程師是危險的思維方式的受害者。

    這種思維方式的特點是,所有的事情都可以事先計劃好,然後根據計劃的詳細說明直接實施。

    對于那些以簡單、明确、易于理解為基礎原則設計和構建系統的人來說,這是一種自然的态度。

    此外,在進行大多數工程項目時,這是完全合适的。

    這是一種思維框架,它是優秀工程師的概念工具的基本組成部分。

    正如馬斯洛的主張“對于隻有錘子的人來說,整個世界看起來就像釘子”,這是一種很容易超越其适用範圍的工具。

    當一個系統超出複雜性的阈值時,人類的大腦就失去了維持完整和連貫模型的能力。

     人們經常聽到,當系統超出複雜的阈值時,會變得非常龐大。

    例如,航天飛機和B-2轟炸機都是高于這一阈值的系統,需要格外複雜、煩瑣和耗時的程序來保證設計在控制之下——這些程序十分昂貴,而且成功的隻有部分。

    在一定程度上,複雜的問題可以通過砸錢來解決。

    然而,這種資本密集型的管理技術對于大多數項目來說都是一種奢侈。

    此外,盡管對于大多數項目而言,這些不靠譜的複雜問題的“解決方案”是遙不可及的,但是複雜性阈值本身并非如此。

    較小的系統也可能會遇到同樣的問題。

    通過引入超出設計師控制範圍或理解範圍的混沌元素,在複雜性阈值上也可以推出更小、更簡單的系統。

    這些混沌元素中最重要的是自主計算代理(例如,其他計算機)。

    這就是為什麼即使是調試非常簡單的通信協議也經常困難重重。

    此外,一個特殊的人間地獄等待着系統的實施者,其中包括了所有的、交互的人類群體的最重要的自動計算代理。

    這直接導緻我們的下一個(可能也是最有争議的)主張: 詳細的中央規劃是不可能的,甚至都不要去嘗試。

     對于使工程師們陷入上述問題中的建構主義偏見,經濟學家和社會學家的研究成果比軟件工程界的要多。

    遊戲和模拟設計師在為個人和小組創建虛拟世界方面經驗豐富。

    然而,他們沒有理由去學習如何處理大量同時使用的用戶。

    由于每個用戶或小組都與其他用戶無關,所以可以重複使用同一個世界。

    如果你正在玩一場冒險遊戲,在(真實的)世界其他地方的成千上萬人也在玩一樣的遊戲,那麼這對你的體驗沒有任何影響。

    對于這個世界的創造者來說,為了用戶與世界交互的一個小時,花費幾十甚至上個百小時創建環境也是合情合理的。

    因為成千上萬的其他個人用戶都能享受到這一個小時的體驗。

     在線服務和通信網絡的構建者在處理龐大的用戶群體方面具有豐富的經驗,但總體而言,他們并沒有創建複雜的環境。

    此外,在設計用于傳輸信息或通信服務的系統中,龐大的用戶隻是一個負載問題,并不複雜。

    所有用戶得到的都是相同的信息或服務,上文關于重複體驗的評論同樣适用于此。

    沒有必要将信息空間的大小和複雜性與用戶數量相匹配。

    盡管可能的結果是服務可用的信息量是用戶數量的函數,但是這些信息通常可以被組織成一個系統的結構,仍然可以由少數人來維護。

    複雜性在于,它是用戶自己的産品,而不是系統設計人員的——系統的操作人員無須創建所有這些材料(這是解決我們問題的第一個線索)。

     栖息地最初的規格要求我們創建一個能夠支持兩萬名化身的世界,并計劃可擴張到五萬。

    無論怎麼看,這都是一項龐大的事業,複雜的問題肯定在意料之中。

    然而,在實踐中,我們在開發的早期就超過了複雜性阈值。

    當我們網絡社區的人口達到五十左右時,其複雜性就會超出我們的理解(這五十人是做好了容忍漏洞的準備的“内部人員”)。

     此外,像栖息地這樣的虛拟世界需要擴大人口規模。

    對于兩萬名化身,我們需要兩萬間“房子”,它們連同相關的交通要道、購物區以及休閑區共同構成城鎮和城市。

    我們需要城鎮之間的荒野地區,這樣大家不會擠在同一個地方。

    最重要的是,我們需要兩萬多人做的事情。

    他們需要可以去的有趣的地方——因為他們不能同時都在同一個地方,因此需要很多有趣的地方——以及在這些地方做的事情。

    房子、城鎮、道路、商店、森林、劇院、競技場以及其他地方都是需要有人設計和創建的獨特實體。

    我們試圖扮演全知全能的中央規劃者的角色,但卻陷入了泥沼。

     可以創建自動化工具來幫助生成天生具有高度規律性和結構的區域,比如公寓大樓和道路網絡。

    我們創造了許多這樣的工具,它們的精神後代無疑将在未來網絡空間設計師的标準袋中找到。

    然而,讓這個世界上的某些地方适應這些技術的特性也使得世界上的那些相同的地方變得不再重要了。

    如果每一棟公寓樓看起來都像其他的一樣,那真的不是問題。

    但如果每片魔法森林都是一樣的,那就是一個大問題。

    那些價值在于其獨特性的地方,或者至少是與周圍不同的地方,這些都需要手工制作。

    這個過程所耗費的大量人力和時間,令人難以置信。

    此外,即使是極富想象力的人,他們的創造也會局限在一定範圍内,特别是如果他們在一個沒有受到其他設計師作品和反應影響的原始環境中工作。

     運行這個世界 如果所有玩家都有相同的目标、興趣、動機和行為類型,那麼這個世界設計問題可能仍然是容易處理的。

    然而,真人是千差萬别的。

    對于普通遊戲或模拟的設計者而言,人的多樣性并不是一個主要問題,因為他(她)要為參與者設定目标和動機,并指定他們所能利用的活動,以便将事件引導到最優方向。

    然而,栖息地是刻意開放和多元化的。

    我們這個世界背後的理念剛好是,它并沒有為它的居民設定一套固定的目标,而是提供了一種廣泛可能的活動,讓玩家可以根據自己的興趣來選擇。

    我們的目的是提供各種可能的體驗,從有既定規則和目标的事件(如尋寶遊戲),到由玩家的個人動機所推動的活動(創立公司、經營報刊),再到完全自由、純粹的生存活動(同朋友閑逛、談話)。

    然而,對我們來說,大部分活動都涉及一定程度的預先計劃和安排——我們就像遠洋航行中的巡航總監一樣,但我們仍然像遊戲設計師一樣思考。

     我們為栖息地規劃的第一個目标導向事件是一項相當複雜的尋寶活動,叫作“德納利斯島的冒險”。

    我們花了數個小時設計、數個星期構建(包括一百個區域的海島),又花了幾天來協調其中角色的行動。

    它的設計很像冒險遊戲中的謎題。

    我們以為它會讓我們的玩家玩上好幾天。

    事實上,這個謎題不到八個小時就解決了,有一個玩家在最初的十五分鐘裡就找到了關鍵線索。

    許多玩家甚至沒有機會進入遊戲。

    結果是,一個人完成了一段奇妙的體驗,而許多人都不知所措,花費在設計和時間設置上的巨大投資眨眼間就消耗完了。

    我們原本期望栖息地的觀衆會有各種各樣的“冒險”技巧。

    直到後來才明白,大多數人都沒有享受到快樂時光,因為他們壓根兒就沒真正參與進去,除此之外沒有其他更合适的原因了。

    對于我們來說,經常做這樣的事情顯然愚蠢又不切實際。

     我們一次又一次地發現,基于經常無意識地假設玩家行為的活動會有意想不到的結果(當它們不是徹底失敗的時候)。

    很明顯,我們無法控制。

    某些事情牽涉到的人越多,我們就越難以控制。

    我們可以影響事物,可以建立有趣的情境,可以為事情的發生提供機會,但是我們無法決定結果。

    社會工程至多是一門不精确的科學(或者,正如一些人說過的,“在最精心控制的條件下進行的最精心設計的實驗中,生物體會做任何它想做的事情”)。

     在這些經曆的推動下,我們轉變了運作方式,讓玩家自行決定設計方向。

    事實證明這更有效。

    我們沒有試圖把社區推向我們認為應該去的方向,而是像放老鼠一樣,我們試圖觀察人們在做什麼,并幫助他們。

    我們成了推動者,就像我們是設計師和實施者一樣。

    這通常意味着以瘋狂的速度向系統添加新功能和新區域,但我們添加的幾乎所