| 導購 | 订阅 | 在线投稿
分享
 
 
 

基于OGRE所實現的高層遊戲引擎框架(1)

來源:互聯網  2008-05-19 00:44:16  評論

人類對于遊戲的研究起源于近代。關于遊戲起源的問題,自近代而來就有了多種理論:例如席勒的「本能論」,斯賓塞的「剩余能量論」,谷魯斯的「練習理論」,弗洛伊德的「宣泄理論」等等。

然而,什麽是遊戲?遊戲的本質是什麽呢?我們先看看下面幾種遊戲形態,看能否獲得一些啓發。

棋牌似乎是所能列舉出的人類最早的純智力的遊戲形態;而當遊戲規則開始與體力結合時,就誕生了諸多體育項目;自上世紀年代之後,伴隨著芯片處理能力的提高,又産生了電子遊戲這種新的遊戲形態。抛開這麽多遊戲的存在形態不說,精神是物質的映射,遊戲這種人類的精神産物所反映的是如何的客觀存在呢?

象棋、軍旗和圍棋,是從人類戰爭中找到了靈感。戰爭,是人類所能接觸和理解到的事物。

王朝网络

圖0-2 象棋很可能來自于人類對戰爭的理解和認識

現代戰略戰術類電腦遊戲的規則大多始祖于近代出現的軍事推演,這個軍事推演可以准確的說是從戰爭中找到的靈感。

王朝网络

圖0-3 左:《文明》的截圖

右:1894年,清政府派人參加美國軍方軍事推演時的照片

圖0-4 左:《地球帝國》的截圖

右:1910年,美國海軍軍事學院的一場海戰推演

圖0-5 左:《帝國時代2》的截圖

右:近代圖版戰爭遊戲的包裝盒

最早的電子遊戲是1962年在PDP-1型電子計算機上,由一個名叫斯蒂夫?拉塞爾的大學生開發出來的《Space War》,單從名字我們就可以看出這個遊戲所立足的,是人類對于空間的幻想,和對于戰爭的體會。

王朝网络

圖0-6 左:在這台電腦上,誕生了人類曆史上第一款電子遊戲

右:利用計算機繪制的太空幻想圖

圖0-7 左:戰術FPS遊戲《CS》

右:提出了Thanatos和Eros的奧地利心理學家弗洛伊德

圖0-8 左:傳統圖版RPG遊戲的人物屬性表格

右:玩圖版RPG能激發玩者豐富的想象力

圖0-9 左:某網絡RPG遊戲場景截圖

右:正在玩圖版RPG遊戲的玩者,右下爲裁判

而被冠以「暴力」等罪名的FPS,尤其是萬人矚目的Quake和HalfLife,似乎也是爲了滿足弗洛伊德所說的人類對于Thanatos的本能追求,其表現形態往往來自于真實的殺戮場面,這些殺戮場面在一些網站、文學、新聞和電視劇中比比皆是。

下面來看看另一種遊戲類型――RPG遊戲。歐美RPG的始祖是托爾金的名著《指環王》,作爲一部文學作品,《指環王》似乎是從人類各個集團的政經軍事的交互中尋找到的靈感,同時在這之中體現出了一個幻想的世界和幻想的世界觀。此後發展而成的《龍與地下城》規則,更是繼承和發揚了這個體系,刻畫了一個世界的各個集團之間的政治、經濟、哲學和戰爭的體系。幻想的事物,也作爲人類所能接觸到的事物,成爲了遊戲開發者賴以開發遊戲的靈感。《龍與地下城》遠在電腦遊戲出現之前就已經被做成了圖版遊戲。後來,電腦遊戲介入了這個規則體系,用一種嶄新的面貌重現著以往的圖版遊戲中刻板的教條和變化無窮的世界。

由上面的敘述我們可以看到,遊戲的開發都離不開「人類所能接觸到的事物」,這中間包括人類所能接觸到的客觀世界和精神(藝術、幻想)世界。《電腦之王?遊戲文明論》中說到:「電腦遊戲的本質就是模擬現實」,這也是圖靈所揭示的計算機的本質特征:「模擬人類的思維」。

被電子競技的現實形態所決定的程序形態

遊戲既然是對客觀世界的認識和理解,那麽就可以站在最爲抽象的角度,來分解這個認識和理解。

一是遠古以來就業已存在的世界:山水、森林……諸如此類,他們有一個共同的特點,是很少或幾乎不會因爲人類的精神活動而發生變化,基本上可以認爲在整個遊戲期間很少或沒有變化。這一部分我們用一個詞語來描繪就是地圖或地形。一般在三維中都叫地形,二維中都叫地圖。

二是這個世界的居住者以及他們所使用的各種工具:人、動物、汽車……,他們有一個共同特點是會發生強烈的相互影響相互制約的關系。由于變動明顯,這一部分的物體經常會發生變動。這一部分我們也用一個詞語來描繪就是物件。在另外的分類中,往往也把地圖和地形當作一種物件,但在大部分遊戲中,這兩者屬性和方法都不同,因此我們在此將地圖獨立出來考慮。

第一二世界的組合就成了我們肉體可以感知到的物質世界,而這個世界在我們心靈中的映象,就叫做場景。換句話說,廣義的場景就是地形和地形之上的物件的集合。從一個簡單的角度來考慮,我們可以把場景看作是舞台布景,舞台背景等等就是地形,而舞台上的演員和一些雜物等等就是物件。

第三世界是一種比較難于感知的世界,它肉眼無法看見,但卻在很長的時間期限內處于相對靜止狀態的規律集合。例如 「生命體失血過多會死亡」、「在其他條件相同的前提下,有效率的人比沒效率的人在單位時間內收益要大」,等等等等。這一部分很大的可能會在暗中影響到「第一第二部分的世界」,我們用一個詞語來描述它就是規則或者規律。這一部分還有一個重要的內容就是人類精神領域的活動,包括思維世界和情感世界,我們可以把這種活動認爲成一種特殊的規則和規律。

遊戲作爲一種交互娛樂手段,還有一層層面就是交互。交互中首當其沖被大家接受的是通過這個人一切可能的方式來向遊戲系統輸入,來從遊戲系統接收輸出。因此I/O控制是一個遊戲系統所必須的系統。例如我們下象棋時,我們的手可認爲是遊戲系統的輸入設備,可見的棋盤和棋子從遊戲系統向我們發送輸出,可認爲是遊戲系統的輸出設備。

另一方面,在電腦遊戲中。I/O系統除了鍵盤鼠標顯示器這些基本的設備之外,還有一個交互的重要組分就是GUI界面,對于現在越來越複雜的遊戲系統,一個僅通過鼠標和鍵盤,靠輸入命令來維持的I/O是很難想象的。因此GUI用它的強大功能彌補了標准I/O設備的不足,因爲GUI系統的重要性,因此在這次我們也必須把它考慮在內。

通過上面的論述我們可以得出的結論是:一個遊戲可分解爲地圖、物件、規則、I/O控制和GUI的集合。作爲棋牌類遊戲可以考慮之爲地圖、物件、I/O和GUI部分退化而規則相對進化的遊戲,古代沒有那樣強大的系統來完美體現地圖、物件,因此規則就相對強大得多。近代出現的軍事推演已經是一種有完整地圖、物件和規則的遊戲系統了。而作爲GUI,似乎只有電子遊戲才有這樣的東西,它是爲了方便交互而産生的。

大部分遊戲引擎中,會把第一部分映射爲地形(地圖)系統來處理,對其支持至少有:地圖文件的讀取、導出、渲染等。

而第二部分,各個不同遊戲的實現也不盡相同,一般引擎對物件的支持除了渲染外,至少會提供如下支持:物件碰撞檢測、模型編輯等。

第三部分,這有很大一部分是受遊戲類型的限制,而且即便是在相同遊戲類型裏面,由于程序員的個人劃分不一樣,也會出現不同的結果。比較基本的技術包括狀態機等。

第四部分,GUI和控制則有很多參考,MFC等都是很好的參考,因此這一般不是經常會被拿來討論的技術。

本文所主要討論的就是利用一個現有的底層引擎來構架高層引擎,並借之討論高層引擎構架的一般思路。

  人類對于遊戲的研究起源于近代。關于遊戲起源的問題,自近代而來就有了多種理論:例如席勒的「本能論」,斯賓塞的「剩余能量論」,谷魯斯的「練習理論」,弗洛伊德的「宣泄理論」等等。   然而,什麽是遊戲?遊戲的本質是什麽呢?我們先看看下面幾種遊戲形態,看能否獲得一些啓發。   棋牌似乎是所能列舉出的人類最早的純智力的遊戲形態;而當遊戲規則開始與體力結合時,就誕生了諸多體育項目;自上世紀年代之後,伴隨著芯片處理能力的提高,又産生了電子遊戲這種新的遊戲形態。抛開這麽多遊戲的存在形態不說,精神是物質的映射,遊戲這種人類的精神産物所反映的是如何的客觀存在呢?   象棋、軍旗和圍棋,是從人類戰爭中找到了靈感。戰爭,是人類所能接觸和理解到的事物。   [url=/bbs/detail_1440300.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1211129054789.jpg[/img][/url]   圖0-2 象棋很可能來自于人類對戰爭的理解和認識   現代戰略戰術類電腦遊戲的規則大多始祖于近代出現的軍事推演,這個軍事推演可以准確的說是從戰爭中找到的靈感。   [url=/bbs/detail_1440300.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1211129055070.jpg[/img][/url]   圖0-3 左:《文明》的截圖   右:1894年,清政府派人參加美國軍方軍事推演時的照片   圖0-4 左:《地球帝國》的截圖   右:1910年,美國海軍軍事學院的一場海戰推演   圖0-5 左:《帝國時代2》的截圖   右:近代圖版戰爭遊戲的包裝盒   最早的電子遊戲是1962年在PDP-1型電子計算機上,由一個名叫斯蒂夫?拉塞爾的大學生開發出來的《Space War》,單從名字我們就可以看出這個遊戲所立足的,是人類對于空間的幻想,和對于戰爭的體會。   [url=/bbs/detail_1440300.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1211129055648.jpg[/img][/url]   圖0-6 左:在這台電腦上,誕生了人類曆史上第一款電子遊戲   右:利用計算機繪制的太空幻想圖   圖0-7 左:戰術FPS遊戲《CS》   右:提出了Thanatos和Eros的奧地利心理學家弗洛伊德   圖0-8 左:傳統圖版RPG遊戲的人物屬性表格   右:玩圖版RPG能激發玩者豐富的想象力   圖0-9 左:某網絡RPG遊戲場景截圖   右:正在玩圖版RPG遊戲的玩者,右下爲裁判   而被冠以「暴力」等罪名的FPS,尤其是萬人矚目的Quake和HalfLife,似乎也是爲了滿足弗洛伊德所說的人類對于Thanatos的本能追求,其表現形態往往來自于真實的殺戮場面,這些殺戮場面在一些網站、文學、新聞和電視劇中比比皆是。   下面來看看另一種遊戲類型――RPG遊戲。歐美RPG的始祖是托爾金的名著《指環王》,作爲一部文學作品,《指環王》似乎是從人類各個集團的政經軍事的交互中尋找到的靈感,同時在這之中體現出了一個幻想的世界和幻想的世界觀。此後發展而成的《龍與地下城》規則,更是繼承和發揚了這個體系,刻畫了一個世界的各個集團之間的政治、經濟、哲學和戰爭的體系。幻想的事物,也作爲人類所能接觸到的事物,成爲了遊戲開發者賴以開發遊戲的靈感。《龍與地下城》遠在電腦遊戲出現之前就已經被做成了圖版遊戲。後來,電腦遊戲介入了這個規則體系,用一種嶄新的面貌重現著以往的圖版遊戲中刻板的教條和變化無窮的世界。   由上面的敘述我們可以看到,遊戲的開發都離不開「人類所能接觸到的事物」,這中間包括人類所能接觸到的客觀世界和精神(藝術、幻想)世界。《電腦之王?遊戲文明論》中說到:「電腦遊戲的本質就是模擬現實」,這也是圖靈所揭示的計算機的本質特征:「模擬人類的思維」。   被電子競技的現實形態所決定的程序形態   遊戲既然是對客觀世界的認識和理解,那麽就可以站在最爲抽象的角度,來分解這個認識和理解。   一是遠古以來就業已存在的世界:山水、森林……諸如此類,他們有一個共同的特點,是很少或幾乎不會因爲人類的精神活動而發生變化,基本上可以認爲在整個遊戲期間很少或沒有變化。這一部分我們用一個詞語來描繪就是地圖或地形。一般在三維中都叫地形,二維中都叫地圖。   二是這個世界的居住者以及他們所使用的各種工具:人、動物、汽車……,他們有一個共同特點是會發生強烈的相互影響相互制約的關系。由于變動明顯,這一部分的物體經常會發生變動。這一部分我們也用一個詞語來描繪就是物件。在另外的分類中,往往也把地圖和地形當作一種物件,但在大部分遊戲中,這兩者屬性和方法都不同,因此我們在此將地圖獨立出來考慮。   第一二世界的組合就成了我們肉體可以感知到的物質世界,而這個世界在我們心靈中的映象,就叫做場景。換句話說,廣義的場景就是地形和地形之上的物件的集合。從一個簡單的角度來考慮,我們可以把場景看作是舞台布景,舞台背景等等就是地形,而舞台上的演員和一些雜物等等就是物件。   第三世界是一種比較難于感知的世界,它肉眼無法看見,但卻在很長的時間期限內處于相對靜止狀態的規律集合。例如 「生命體失血過多會死亡」、「在其他條件相同的前提下,有效率的人比沒效率的人在單位時間內收益要大」,等等等等。這一部分很大的可能會在暗中影響到「第一第二部分的世界」,我們用一個詞語來描述它就是規則或者規律。這一部分還有一個重要的內容就是人類精神領域的活動,包括思維世界和情感世界,我們可以把這種活動認爲成一種特殊的規則和規律。   遊戲作爲一種交互娛樂手段,還有一層層面就是交互。交互中首當其沖被大家接受的是通過這個人一切可能的方式來向遊戲系統輸入,來從遊戲系統接收輸出。因此I/O控制是一個遊戲系統所必須的系統。例如我們下象棋時,我們的手可認爲是遊戲系統的輸入設備,可見的棋盤和棋子從遊戲系統向我們發送輸出,可認爲是遊戲系統的輸出設備。   另一方面,在電腦遊戲中。I/O系統除了鍵盤鼠標顯示器這些基本的設備之外,還有一個交互的重要組分就是GUI界面,對于現在越來越複雜的遊戲系統,一個僅通過鼠標和鍵盤,靠輸入命令來維持的I/O是很難想象的。因此GUI用它的強大功能彌補了標准I/O設備的不足,因爲GUI系統的重要性,因此在這次我們也必須把它考慮在內。   通過上面的論述我們可以得出的結論是:一個遊戲可分解爲地圖、物件、規則、I/O控制和GUI的集合。作爲棋牌類遊戲可以考慮之爲地圖、物件、I/O和GUI部分退化而規則相對進化的遊戲,古代沒有那樣強大的系統來完美體現地圖、物件,因此規則就相對強大得多。近代出現的軍事推演已經是一種有完整地圖、物件和規則的遊戲系統了。而作爲GUI,似乎只有電子遊戲才有這樣的東西,它是爲了方便交互而産生的。   大部分遊戲引擎中,會把第一部分映射爲地形(地圖)系統來處理,對其支持至少有:地圖文件的讀取、導出、渲染等。   而第二部分,各個不同遊戲的實現也不盡相同,一般引擎對物件的支持除了渲染外,至少會提供如下支持:物件碰撞檢測、模型編輯等。   第三部分,這有很大一部分是受遊戲類型的限制,而且即便是在相同遊戲類型裏面,由于程序員的個人劃分不一樣,也會出現不同的結果。比較基本的技術包括狀態機等。   第四部分,GUI和控制則有很多參考,MFC等都是很好的參考,因此這一般不是經常會被拿來討論的技術。   本文所主要討論的就是利用一個現有的底層引擎來構架高層引擎,並借之討論高層引擎構架的一般思路。
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有