在電子遊戲中,電腦方究竟是否知道玩家的一切行動,並且根據玩家的行為來改變策略。?
比如說魔獸爭霸,星際爭霸這種即時戰略遊戲,如果給電腦的設定是針對a兵種則出b兵種應對,那電腦是會在知道 你有出a兵種這個操作的時候,出b兵種 ; 還是會在第一次看見你的a兵種時,出b兵種。 再就是cs這種射擊遊戲, 選擇1v10個電腦,儘管電腦按照程序設定它不會主動的去尋找你(根據小時候經常玩cs打電腦得出的結論。。。),但當你即將接觸到電腦人物的時候,它是否會提前預知你的到來。
具體一個。 cs等遊戲中 電腦人物是否提前預知你的到來。通俗說就是電腦是否開透視掛。 在看電腦視角時,電腦面向的方向 且距離較近 有敵人到來時,它會提前預瞄準,但是當敵方從後方到來時,電腦的視角是 瞬間回頭,進行反擊。 這時候,就知道電腦。。究竟是否有每個遊戲人物的具體坐標。 但我說的不是只局限於我所提的這幾個遊戲。 比如gta這類有隨機任務的,這些任務中所出現的npc,是設計者 設計的當玩家路過這裡就會觸發任務;還是 遊戲中一部分(數量可能會少一些? 多一些是否會給遊戲帶來很多的bug和趣味?)的npc體內都存在一個a b c d....而設計者設計 當擁有a的npc與擁有c的npc相遇時,才會觸發這個隨機任務? 好吧。儘管排第一的那個回答很具有代表性。但是。。並沒有回答我的問題。 下面的很多回答從不同方面回答了我的問題。儘管可能看不到。但還是感謝這些回答者們的回復。謝謝。
電腦一般不知道,但是有個遊戲叫《合金裝備 固體》 其中有個BOSS讀心者,有讀心術,他知道你要怎麼操作, 其實就是設計的他會讀取你手柄介面的操作,預判你的行為,不過玩家也非常壞的,把手柄接到2P介面就可以輕鬆打敗他。
在卡普空的怪物獵人系列遊戲中。卡普空使用了一種傳說中的黑科技讀心術。他可以根據你的想法,判斷你想要的素材。然後它會將該素材在遊戲中的爆率調至零。而應對的方法只有自我催眠。當你以為你要的不是天麟而是韌尾的時候,你就會發現你不光在尾巴上不出天麟,而且也再也剝不出韌尾了。
AI是否知道玩家的行為,以此來改變策略,不同的遊戲有不同的做法,具體到某個遊戲,這個只能由開發者說明或者自己去觀察,沒有統一的規則,看遊戲的需求。
樓上有很多人說打dota的機器人,天火基本上中不了,無論有沒有視野,這就說明,AI是讀取了你的操作的,他準確的獲取到了你在某個地方釋放了天火這個信息,然後走位躲開了傷害,至於這個是不是合理,那麼對於職業玩家來說,在沒有視野的情況下,你的天火就一定能中么?
就以這個例子,解釋下AI為什麼要作弊,對於人來說,有「看見」這個概念,比如說像天火這種技能,是有短暫的預警時間的,我可以「看見」特效,然後躲開,然而AI沒有「看見」這個概念,所以要實現看起來靈性一些的AI,就需要作弊。
有些人可能會說,某些FPS里的角色就有「看見」的概念啊,我偷偷從背後摸過去,它就「看不見」我,但是我從正面過去,它就能「看見我」,並向我射擊,這種「看見」,和實際意義上的「看見」概念是不一樣的,遊戲為了讓角色的行為更真實,讓玩家更有代入感,才加入了視野的概念,但是這種視野是很low的,它只是給角色配備了一個正面的扇形的檢測區域,如果玩家出現在這個區域里,就認為是「看到」了,稍微複雜一些的會判斷有沒有障礙物阻擋,但和玩家的視覺上的「看到」始終是兩碼事,作為玩家,我看到一個人,可以得知這個人的所有信息,比如說長相,髮型,發色,武器等等,然而遊戲里的角色「看到」一個人,能得到的數據都是程序指定的,只能「看到」開發者想讓它看到的東西。
再具象一些,玩家可以看到特效,可以根據特效去分辨這個是什麼技能,然而AI是不可以的,AI無法「看到」特效,那麼想讓AI得知這裡播放了特效,就要作弊,播放特效的時候通知AI,然而AI得知這裡有一個特效播放依然是沒有意義的,它需要知道是來自於哪個技能的特效,所以任何人在釋放技能的時候都會通知AI,AI才可以躲開你所釋放的技能,當然,這個通知是瞬間完成的。
有人提到AI的難度問題,從程序角度來說,一個火力全開的AI,玩家1V1是無法戰勝的,因為AI不需要反應時間,AI面臨的問題是團隊協作上的決策最優解的選擇,所以如果拼操作拼不過,拼策略你是可以贏的,舉個例子,CS裡面的機器人如果想,你出現的瞬間一顆子彈就可以爆掉你的頭,絕對會比你快,但如果5v5,總會有玩家想辦法取得勝利,RTS遊戲里的小兵,每一個都有自己單獨的走位空間,同樣的兵種,能虐的你生活不能自理,但要看作者是不是想這麼做,一般都是需要一定程度的削弱的。只要你玩的是電子遊戲而面對的是AI,你永遠是客場作戰,而你的對手永遠在放水.
我認為,即時戰略遊戲,電腦真想虐你,不需要智能。
不知你玩沒玩過《地球帝國1》,反正我是服了。
我開全圖開修改器,然後發現,電腦即使沒有礦了,仍然能瘋狂出兵······有一個最簡單的例子,dota2里打電腦,你在電腦屏幕外用alt+滑鼠左鍵點敵方電腦英雄以此來指揮本方英雄集體擊殺他,那麼敵方英雄會瞬間後退,儘管他的視野里看不見你們任何人。
電腦沒有思維,一切都是判斷,也就是當A發生的時候是否執行B。AI在設計的時候加入越多判斷,AI的智能型就有可能越高。按你說的,你是否出了A兵種,電腦是知道的。但是否要生產B兵種,是由是否有這條判斷來決定的。
不要把電腦看成一個人,雖然電腦遊戲在很多地方都在有意無意的將ai暗喻為一個統一的,具有自我意識的對象。我從技術角度簡單剖析一下,電腦遊戲本質上就是一個軟體,我們的電腦里運行著很多軟體,雙擊一下瀏覽器圖標就給你開出個網頁窗口,任務欄出現一個橫條,這些都意味著你打開了一個軟體。在操作系統看來,一個瀏覽器和一個遊戲都是軟體,打開後都會在任務欄上佔據一席之地。
用專業的話說,打開一個軟體,就等於是在操作系統中建立了一個進程,你可以把操作系統看作是工商局,軟體是來工商局註冊的公司,公司註冊後要佔工商局的資源等同於軟體要佔內存和cpu等電腦資源。
建立這個模型之後,我們來看這個名叫遊戲的公司,這個公司也就是這個進程,裡面有很多部門,專業術語叫線程,在公司上班的都知道,大公司里部門溝通都是很不暢通的,但這個名叫遊戲的公司,部門之間的溝通不僅不暢通,而且是被嚴格限制的。程序規定了特定部門只能向特定部門傳遞特定信息。就是說,公司財務部的會計可以知道總經理姓王,但財務部總監就不允許知道總經理的名字,要想知道,必須要從會計這裡問,而且會計要根據具體情況選擇是否告訴財務部總監。而且和現實的公司不同,軟體中一切規則都是被嚴格執行的,不存在財務部總監賄賂會計得到總經理名字的可能。理解了這一點之後題目的問題就很容易理解了,公司的玩家部門了解玩家的一切行動行為,但規則規定了他不能和負責指揮電腦戰鬥的戰鬥部透露玩家的任何消息,戰鬥部只能從指揮部詢問他應該知道和可以知道的那些玩家的信息。這就是關於遊戲AI的一個粗糙模型,當然具體情況上會有變化,比如AI實在太蠢,所以必須作一點弊,但一切信息的流動都是被嚴格控制的,設計者不可能讓作弊機制太過分導致遊戲玩不下去。據說紅警3會,不過不是你出剪刀他出鎚子的關係,而是ai會從你遊戲的過程中學習並一步步變強
當然會,電腦既然智商上不能碾壓玩家,就只好「技術」上彌補一下了。
舉個例子,我以前玩戰地1942,非常老的遊戲了,一直覺得高一點難度的AI偵察兵有一點很噁心,因為1942的拴動步槍(含狙擊槍)有一個特性就是不存在隨機散布,不管多大的動作只要射擊時瞄準了就一定打得中。然後AI最喜歡預瞄你,在卧倒的同時射擊,而且幾乎是必爆頭,有時我剛探出頭就被狙殺了,而他因為忽然卧倒我有時瞄準了也打不中。這個動作在人類身上幾乎是不可能完成的。
還有就是1942AI還有一定學習能力,有張圖德軍有個地方可以抄捷徑偷盟軍家,一開始我不知道的時候也從來沒見AI用,後來我發現了這條路,用了幾次以後總是看到AI有時有模有樣地跟著我一起,有時我在盟軍還會看到德軍AI偷偷摸摸地摸進來。。。
然而坑爹的1942AI卻不具備執行命令的功能!最後德軍把捷徑當主攻方向了,傻乎乎的AI隊友還特么走原來的路,不理會我的求援,看著我一個人被德軍的鋼鐵洪流淹沒!!!我來正面回答題主 你說的這些情況 ,電腦當然是可以知道的 ,比如war3你出什麼兵 ,cs你在什麼位置 ,作為編寫ai的程序猿都可以輕鬆的獲取到這些信息的。唯一的區別就是 :我寫的ai是否是假裝不知道 或者知道了不利用而已。
星際爭霸2 小狗沖坦克陣!!你真的希望和這種ai打嗎?
電腦當然知道,一個設計準確的、馬力全開(上帝視角,監測玩家數據及操作)的AI你根本就不可能贏。
所以設計對抗用AI的時候一般都是減法,要故意讓AI犯傻、犯錯來降低難度。P.S:大部分RTS其實沒什麼AI,都是靠作弊提難度的,因為這麼做省事。但如果想做的話多花幾周寫一個吊打普通玩家的AI在技術上難度不大不要把AI想像成一個人,就好像看電影的時候不要老想演員是對著鏡頭和攝影師在說話一樣。
我有一些不同的觀點。
遊戲中ai設計成可以預判,並不是技術原因,而是開發者一般並不想在ai方面投入太多的精力。
因為對於對戰類遊戲,ai只是起一個引導作用,遊戲主推的還是玩家之間的對戰。如果一個遊戲玩家與ai之間的互動比較頻繁,那麼ai方面的設計自然會完善。關於對戰類遊戲,如果開發者有心去讓ai更趨於真實的話,是完全有辦法的,主要就是分析並學習玩家的操作,更深層次的話,還會分析玩家操作的心理。這些分析並不一定由程序自動完成,有時候可以是人工分析,再添加相應的代碼到ai中去。也拿Dota的天火舉個例子,ai不去讀取卡爾的技能位置,也可以設置規則去規避天火,比如說- 當自己殘血時,如果對面陣容里有卡爾,則有50%的概率在移動到下一點時採用隨機路線。- 如果殘血準備回城回家,則有相同的概率選擇泉水或者附近的幾個個建築。以上就是一個簡單的躲天火的ai方案。雖然依舊很明顯能看出來是ai,但至少不會覺得假了,玩家是有可能命中他的。我們還可以根據玩家對戰數據,繼續優化ai策略,讓他更接近於玩家。其實有些版本的地圖裡,ai已經加過類似的功能,當它殘血走回家時,如果對面有卡爾,會採取走兩步停一下的策略。大家可以觀察一下。如果設計者就是這麼設計的,那麼是可以的。但是具體到每個遊戲是不是就不一樣了。不過任何一種設計,目的都是為了好玩,難度是給予玩家挑戰,有希望的才叫挑戰。
謝邀,也沒啥時間,簡單說說,也不是AI大神,求輕噴。
電腦可以像上帝一樣知道一切,也可以不知道,這個要看設計師的設計了。
遊戲AI很多時候不同於其他領域的AI,比如機器學習什麼的, 但有時候也有。
在我的認知內,大部分時候,遊戲AI是被人為設計出來的。
比如當你在怪物的可視範圍內,這時候遊戲設計師設計的規則是,如果你比怪弱,怪就打你,否則就跑,這時候一個簡單的遊戲AI就出來了。當然真正的遊戲AI比這個複雜的多,我就是舉個簡單的例子。
一般這種AI的設計思路就是,維護遊戲對象的一個狀態,每個狀態可以向其他幾個特定的狀態轉換,當觸發轉變的條件發生時,就轉變一個狀態。比如上面的主角在怪的可視範圍內,怪可能由【巡邏】狀態轉變為【逃跑】或者【攻擊】狀態。
這東西有一個高大上的說法,叫【有限狀態機】(FSM)。下圖是Unity中的動畫狀態機(不是AI的狀態機),雖然不是AI,但是其實狀態機的道理都一樣。箭頭連線說明可以從一個狀態變到另一個狀態,沒有連線的就不能直接轉變。而轉變的條件就是一些參數值,在AI中就對應上面說的觸發條件。
狀態機只是一種實現方法,它的條理清晰,在狀態比較少的時候易於維護,但是狀態多的話就比較亂了,基於此,大神巨巨們還開發了【分層狀態機】,【行為樹】等。
分層狀態機就是分個層,易於管理,還是個狀態機。行為樹稍有不同,在一個樹狀結構里有很多節點(樹葉,枝幹),每個節點都是一個行為,行為還有子行為。行為樹不記錄狀態,只判斷每一次需要執行哪個行為,當然條件是設計師定好的規則。
行為樹各行為相對獨立,可以刪除可以增加,不會有很大影響,但是每次都會遍歷樹知道找到合適的行為為止,可能會比較耗時,再就是可能找的不是最優解。
以上是三種說的都是比較簡單常用的AI設計或實現思路,其實我還知道幾種。【效用系統】,【目標導向型行動計劃】【分層任務網路】,這些稍微複雜點,我也沒具體研究過,雖然很希望能開個專欄記錄下自己的學習過程,不過我這粉絲和水平還是暫時算了吧哈哈哈,大家有興趣可以查查。
但是有一個問題,比如戰遊戲完全可以採用電腦純計算的方式,就像題主說的,直接判斷出玩家出了什麼兵,這個電腦知道。但是機器算的太准太快了,如果要用算的,玩家根本打不過,因為電腦基本是最優解,而且一瞬間操縱所有單位,玩家會瘋的。
上述說的一共六種,都是【人為設計】出來的AI,那麼時下很火的機器學習,是否能用於遊戲呢?
機器學習簡單說就是,記錄外部的輸入,然後存起來,這樣輸出的時候就答案更準確。
比如你想讓機器鑒別黃圖,你就得輸入大量黃圖,並告訴機器這是黃圖,等以後你再輸入一張圖片,機器就會分析這張圖片跟我黃圖庫里存的圖有哪些相似特徵什麼的,最後判斷出是不是黃圖。你輸入的黃圖越多,就越準確。但是,如果你輸入了不是黃圖的圖,也告訴他是黃圖,但是機器也認為這種特徵是黃圖,當然具體還要看輸入量。
我的觀點是,能,但是要看需求。
我從我同學那裡得知一個消息,就是CS貌似就是用的機器學習的思路,儘管裡面的演算法未必是現在通用的機器學習演算法(具體沒查過)。大家都知道,CS可以選難度,但是這個只是個起始高度,越往後打,電腦的AI越強。比如最開始電腦只會站著打,後來逐漸會跳著打,繞著走打了,其實學著你的操作。(這是我同學告訴我的,我感覺好像是這樣,沒有深究)
確實,這種遊戲,如果自己很強了,電腦還維持一個難度,就很沒意思了,所以讓電腦學習玩家的操作,從而進化(注意,可能退化,因為錯誤的操作也會被寫進去,而且很難辨識出來正確還是錯誤)。對於對戰遊戲,我覺得完全可以採用這種思路,因為玩家越來越強,機器也得跟上才行。
突然發現不扣題啊。。。。。。。。那不寫了,就寫到這吧。。。肯定會啊,不如我五子棋早就贏了。
Act遊戲ai出招大部分都是讀玩家的操作做反應,否則它怎麼知道何時要防禦,往何處進攻?比如無雙各boss那種變態的擋。
1、魔獸爭霸和星際爭霸不是,沒必要啊,電腦是按照固定流程和判斷進行操作的。
2、CS不是,電腦不知道你的位置,他是隨機移動的,一旦看到你,就會觸發一些操作。
3、玩家路過就會出現。推薦閱讀:
※一個網遊的副本的核心應當是什麼?
※如何評價移動端《神武》這款遊戲?
※一般真實背景的遊戲的地圖都是真實的嗎?
※如何評價魔獸世界《熊貓人之謎》的翻譯?
※Kingdom Rush 為什麼會在紅海的塔防遊戲中脫穎而出?