為什麼你的遊戲人工智慧需要模組化行為?

source:http://aigamedev.com/modular-behaviors/motivation

從設計的觀點來看,近代的遊戲行為越來越複雜。因此實做出來的程式和資料就變得越來越難以管理。
模組化行為針對下列基本的問題提供了可行的解答:

  • 藉著重複使用,工作量減少了
  • 現在流程可以更容易地被管理,工作也可以更加輕易地分割
  • 實做一個簡單的行為不再需要那麼多的資料
  • 隨著行為變得好管理,設計上也得到更多好處。

人工智慧引擎通常都擁有這些功能,使用模組化設計也是一個達到這個目的的好方法。

halo.png

圖(作者說之後會放大一點的圖)
Halo2 中所有行為的一個子集

實際上,當你在做一款遊戲的時候如果有下列現象,你就會注意到這是行為的模組化。

  • 行為可以被應用在任何符合必要功能的遊戲上
  • 增加一個新的行為對程式設計師而言相當容易
  • 設計師或是script撰寫者可以很容易地重新使用其他已經存在的行為
  • 行為可以被用在不同的等級和不同的角色上

所以,讓我們接觸更多技術上得細節,這些模組化的行為到底長什麼樣子?

Startcraft Ghost 再起?

source: Blizzard Still Has “Hope” for Starcraft Ghost
從這篇看起來,Blizzard並沒有完全放棄Ghost。唔,這真是好事,很想看看Blizzard能把第三人稱射擊遊戲作成怎樣呢!!!
不知道Blizzard做的3D射擊遊戲會不會比較不容易頭暈 😛
不過希望這次可以出到pc上,要不然也出到xbox上,這樣我可以順便買藍龍來玩玩XD

不過他們也說了,近期內是沒有人力的….

DokuWiki

Dokuwiki真的算是最好用的wiki了(比較對象有mediawiki and pmwiki)。我想最主要的好處在:

  1. 可以從前端進行設定 (外掛啟動與否、權限控制…etc 這部份mediawiki沒有辦法) ,無須修改.php檔案
  2. 不使用資料庫(對於中小型的站台來說,使用資料庫對他們來說是個負擔,備份又麻煩。)
  3. 速度快(mediawiki的速度喔…..)。

缺點:

  1. 外掛不多 (不過他幾乎基本的都有了,不太需要額外裝些什麼。外掛數量這方面,pmwiki and mediawiki勝出)
  2. 佈景主題不多(ㄟ..好像跟上一個一樣耶XD)
  3. 開發較慢(跟開發者人數有關吧…不過很夠用了)。

最近因為開始了一些小計畫,所以開始用這套,用起來感覺很不錯。如果你的站台屬於中小型,那麼Dokuwiki就很夠用了。用到mediawiki,結果可能會跟我研究所的wiki一樣,用不到10%的功能,卻要付出很多代價。

弄的差不多了,過幾天可以再回過頭來寫DBN了,每次寫出來的東西都跟腦海裡長得挺不一樣的XD。

ref:http://www.robbin.cc/dokuwiki/doku.php?id=syntax:syntax

update:

感謝 網站製作學習誌的站長jaceju 大人在迴響中的整理,這份整理的比較好 😛

dokuwiki的好處有:

1. 安裝容易 (其實根本就是解壓縮以後就開始用了) 。
2. 支援程式語言變色功能。
3. 內建有輸出 RSS 的功能。
4. 頁面能用 namespace 來建立階層關係。
5. 能外掛 Blog 及 Tag 等 plugins 。

遊戲人工智慧中的模組化行為

source:http://aigamedev.com/modular-behaviors

每個人都了解模組化在程式設計中的好處。實際上,今日所有的遊戲引擎都至少有著某種程度的模組化。但是在人工智慧的行為這領域中模組化意味著什麼?一般來說在實際的情況下它是如何完成這些工作?和 還有哪部份它可以增進的地方?

這系列的文章包含了人工智慧的模組化方面你所需要知道的事情

作者歡迎提問,只需留言在原網址下

沒有這個命喔…

話說前幾天我在組織門口的廣場看到一堆巨大的木箱,我還以為是要組裝一台機器人…

沒想到這幾天在一樓資訊中心的機房 看到應該是這個等級的東西..

看起來好像很小…實際上大概有1U機架寬度的六七倍吧…. 而且好像不只三大個而已喔…….

在組裝的時候,真的很像在裝機器人,一堆人一邊看說明書一邊裝XD 還有拿小椅子爬上爬下的..

唉 為什麼我不是在資訊中心阿…這種東西應該要給我玩一玩阿 !!11

我們中心的比起來大概就像R2/D2..那種大小..   ..而且我還碰不到  T_T

什麼是遊戲中的人工智慧?

(唔,標題的中文似乎有點怪….)

source:http://aigamedev.com/learn

遊戲人工智慧基本上與行為有關。你需要設計並且實做程式控制你的演員讓遊戲變得有趣。要達到這個目標,你需要這樣做:

  1. 收集有關這個世界的資訊
  2. 需要的時候,記住某些東西
  3. 搶在時間之前決定怎麼做
  4. 嘗試跟著計畫走,檢查發生的問題

有許多方式可以做到這些,但是在這個網站你將會學到一些在實做上最棒的技術。你將會很快地發現世界上所有專業的遊戲人工智慧開發者都使用類似的技術 – 但是會產生非常不一樣的結果。在這個網站上你將會從經驗中學到一些很重要的課程,而這會幫助你把事情做對。

一個好的遊戲人工智慧引擎基本上必須遵守下列的原則:

使用ffmpeg,mencoder 把wmv 轉成flv

最近組織的線上觀看要改成使用flash 來放。不過原本因為跟中華電信合作,使用他們的串流伺服器,所以原始檔是..wmv(wmv 7)。而原始檔是動態用程式去組合起來的(vb6+不知名元件)一堆東西,所以要改成輸出raw data 再來轉就不太可能。

把wmv 轉成flv 可以選用 ffmpeg or mencoder,不過這兩套都有點問題,簡單來說,mencoder 對於flv的支援不太好,ffmpeg對於wmv的支援不太好。 如果直接使用這兩個程式把wmv -> flv的話,就會產生奇怪的問題(因為wmv 7是封閉格式嗎?)。

以這次的例子來說,我轉某些檔案(有些wmv會有些不會..@@)會有播放到某個畫面停滯的問題(兩套皆然,我還用過很多套轉檔程式,都會有這個問題),使用mencoder的話,某些檔案的時間軸會不對,就算修復了meta資料也還是一樣,主要的現象是無法正常跳到你點選的時間點。

突然想到,那就把wmv->avi(或是其他中介格式)-> flv看看。唔,結果某個年代久遠的wmv格式還是會卡死在某一格。所以就變成現在這種尷尬局面。不過測試到現在應該是可行的,如果有人有類似的問題,可以試試看這種詭異的作法。

1.wmv->avi (使用mencoder)

mencoder wmv\xxx.wmv -o avi\xxx.avi -ovc lavc -oac lavc

2. avi->flv (使用ffmpeg)

ffmpeg -i xxx.avi -ab 56 -ar 22050 -qscale 6 -b 500 -r 15 -s 320×240 flv\xxx.flv

這樣時間軸就可以正常拉動,有些有問題的檔案也不會卡死在某一格,不過要注意的是,這邊參數都沒有最佳化,得到的品質/檔案大小 不見得符合你的需求喔 !!!

Designer’s Notebook: Is It Time to Dump EA?

source:http://www.gamasutra.com/view/feature/1445/designers_notebook_is_it_time_to_.php

這篇文章談到:是不是應該把手頭上的ea股票賣掉XD。作者簡述了一下EA的歷史,一開始EA 把遊戲設計者當作搖滾明星對待,把他們的照片都放到遊戲的封面上,不過等到他們擁有十幾二十幾位員工之後就終止了這個設計。題外話,這種政策下我覺得最有名的就是Sid Meier了。遊戲居然要冠上他的名字阿~~

裡頭提到一個重點就是作者認為EA近年來已不再創新。以模擬人生為例,這套遊戲其實一開始是不被EA所接納的。作者認為大公司有著許多包袱,遠不如小公司來的自在。而EA近年來的表現則趨向保守,並且走以量取勝的架構(唔,對比是指Blizzard的以質取勝嗎?)。作者的結論是,不需要XD ,但是該考慮投資別家公司。

不過這兩家公司風格真的很不一樣(EA還兼發行商)

最近好像很流行講媒體造假

提供一個聽到的東西。對面課長講的XD。

颱風來的時候,預報員都是輪班不能休假的。多年前(時間不確定),有一家記者來訪問。

問到:

每天這樣輪班會不會很累阿?

預報員:

不會啦,習慣就好。

結果剪出來的時候卻變成了:

記者:預報常常不準,會不會怎樣?

預報員: 不會啦,習慣就好。

學長說,那時中心氣炸了XD。後來此記者據說被列為拒絕往來戶。

Gamedev.tw

有在關心Gamedev.tw 這個網站的朋友,應該知道站長Bill最近很忙。連新聞裡面有spam都沒有刪XD。 以後我看只有越來越多而已…。 說到台灣的遊戲設計網站,數量實在少的可憐。以前的那些大站也都倒了XD。我印象最深刻的就是拿鐵遊戲研究院了。據說他是一家遊戲公司所架設(應是寰脈科技,現在好像不在了..)。不過當我知道這網站的時候,已經是拿鐵遊戲研究院的生命後期了。那時討論的數量已經很少了,但是即便如此,精華區中還是有相當多的資料可供新手學習。算是當時華人界的第一大遊戲設計網站了。不過看看這個統計資料…,就算是當時的第一大站,這樣的統計資料也….。

自拿鐵以降,再沒有如此的網站出現了,現在也只能從 Archive.org的庫存檔 (請自行修改編碼為big5)來瞻仰一下當時的盛況。

之後,我又找到了遊戲星球這個網站(我連網址都忘記了….),那時裡頭還有一些人氣,站長還釋出了他自己做的小2d引擎。不過隨著站長的忙碌,這個網站也是有一時沒一時的。透過這個網站,我那時認識了幾位遊戲人,雖然很不熟XD 。

遊戲星球倒了之後,自己就到處晃,主要在對岸那邊的論壇 ,也曾經鼓起勇氣用我那破破的英文到gamedev.net 的論壇上去問一個鳥的不行的入門問題 😛 (還有得到回應,並且對方還寫的很詳細呢!!! )

中間也在程式設計俱樂部那邊晃過,不過那個網站的設計真的是…。我實在很難想像居然沒有rss。現在沒有rss的網站我幾乎都懶得看了。程式設計俱樂部那邊也曾經很棒過呢,有高手在(小呆、aming、Gary…etc),問的問題有人回答,人氣當然就會過去了。

再來我的足跡就飄到了Gamedev.tw,查了一下我第一篇發表的文章是在2006年2月15號發表的,其實那時論文正在水深火熱,但是為了自己從高中以來的怨念,實在想要做些什麼。於是就選擇了翻一些網站的文章來解解渴。不過站長是遊戲人,不是搞網站的,所以從那時我講到現在的Rss到現在都還沒生出來..orz。此外,這邊的討論人氣真的低迷到不行。

現在,除了程式設計俱樂部 大概只剩下巴哈的遊戲設計版有著最多的人氣,但是討論程式/美術/設計/的議題倒是沒那麼多。或是最近巴哈的網友cicero所架設的電腦遊戲製作開發設計論壇,不過人氣仍然低迷。

現在如果想看中文的資料,都得去對岸了。果然是人多好辦事。

台灣的遊戲設計方面的論壇,看來看去不外乎這幾種類型,不是討論區,就是新聞區。作為一種小眾的市場,光是新聞區實在很難激起討論吧,除非像是黑米那種無所不包的社交網站才有辦法長出長長的長尾。如果要經營討論區,最重要的就是先找到高手。像是javaworld.com.tw就是:

  1. 先有了高手
  2. 高手建站,回答很多問題,撰寫很多教學。
  3. 於是就會吸引到更多的高手,像是Duncan這位高手中的高手。
  4. 良性循環

所以,與其等待高手進駐,不如自己發願成為高手。畢竟有哪些高手會願意花那麼多時間來回答大家那些簡單到不行的問題,除非他自己也能從這種討論中獲取一定的好處阿!!! 話說回來,現在有些高手慢慢地會撰寫一些文章發表在blog上,所以,我們可能需要一個星球來匯集這些rss。此外,國內也缺乏Gamasutra這種類型的網站,遊戲新聞的部份,巴哈會包辦,但是遊戲設計新聞以及一些設計的議題就沒有了。說穿了,其實我們需要一些中文的教學文件,從這裡帶起人氣來。可能要來一位遊戲設計界的良葛格喔 😛

此外,獨立設計遊戲應該也是我們這些獨在他鄉為異客的怨念者可以發揮的地方,不過嘛..除去flash那邊的小遊戲外,我很少看過網路上的合作案有成功的..orz,我自己就失敗了好幾個,畢竟大家都還有生活上的事要兼顧阿,像之前巴哈的天使(DreamYeh) 所作的夢入三國(可能是近期內比較大的合作案囉!), 現在也是無疾而終了… 很可惜阿。更近期的就是garf (頸鹿)大所提的業餘mmorpg製作了(現在一直連不上)。garf許久之前有在msn group 開個群組教大家寫遊戲程式(Direct X),一步步教,每週教作業,garf大後來也忙就.. 另一方面可能也是交作業的人都沒很多就是了。這個群組後來也刪除了,好多資料都不見了阿…雖然說不知道現在還能不能用…。不過那麼不錯的教學程式就這樣不見了,真的很可惜。

本來計畫七月份要弄點東西的,不過手上的事實在太多(其實是自己不夠強啦XD 所以要花很多時間..orz),所以只好延後了。不過長到這麼大,我終於想通了一件事:耐力比爆發力重要。之前總是會覺得等我把手上這些事忙完就來做這些事,可是手上的事總是會一直不斷得來,永遠不會終止。所以要做,現在就要做。就算是每天或是每個禮拜做一點都好。這樣斷斷續續累積總是會長成鐘乳石或是女王頭之類的東東。其他的,現在說什麼都太早了些。