拳頭做一個可以打贏對面5白金的人機難嗎?

拳頭如果要做一個能打贏一區5個白金水平左右玩家組隊的人機電腦,難度大嗎?需要多久?需要超級計算機嗎?

注意聽題哦,盡量平等的狀態下,也就是說沒雙倍經驗沒全圖視野的ai哦。。。從純技術編程的方向來看難不難做哦。。。


要做真的很簡單,只是拳頭願不願意做,和做了以後經濟效益的問題。

首先ai真的很聰明,這是我最近手操mugen得出的經驗。pp978各種0幀投各種神反應打的我一點脾氣都沒有。就算拿出H之類的人物,八爺照樣可以從一幀的空檔期把對面抓出來。

而這個放在moba里大概是什麼水平呢。

你抬手的瞬間,ai判斷你的技能軌跡,然後躲開,是不是很像腳本。

ai抬手的瞬間,ai判斷你的走位軌跡,然後技能砸你臉上,如果再加上一點喪心病狂的學習功能,判斷你常用走位的話...看來只能隨緣走位了。

在你閃現後瞬間閃現跟進,中間最多差個幾幀,正常人應該是沒辦法反應的。

在你讀條技能放出的瞬間打斷你,這個從代碼上很簡單。

兵線處理上,ai可以算出每個兵的血量,然後一刀不漏。dota的話還能正反全收把線控死。

當然和你保持距離不讓你耗到血更是輕而易舉了。

如果你要衝上去換血,ai瞬間計算出這波換血賺不賺,然後決定前進或者後退。

當然ai也會在常見的地方插上眼,只要打野在視野里出現哪怕一幀,也能依靠得到的攻擊護甲移速血量buff之類的來判斷打野的動向,你也抓不到他,只能看著他在你臉上裝逼。

好吧看來對線肯定打不過了,別說白金,如果寫的巧妙一點的話職業都未必打得過。

那團戰呢?很遺憾,還是打不過。而且別說這種線上處處被壓的情況,就算線上ai友情一點五五開,還是打不過。

好好想想平時你們團戰處理吧,別說白金,就算大師也是各種失誤。

如果對面是操作不會失誤的ai呢?

如果對面不是單純走位躲掉技能,而是可以判斷出敵我技能傷害,然後看情況決定是否抗技能強沖呢?

分帶的同時,ai抗塔強上呢?

別說我上我也行了,至少我是真不行,我選擇死亡。


兄弟你知道星際爭霸么 當年忘記誰做的ai了 我記得用的Z 一場ZVT 在自由之心的時代 毒爆滾坦克陣 電腦ai瞬間算出坦克每次攻擊的毒爆 然後散開 你知道多可怕么 如果lol也出現這種極限計算的ai 你的非指向性技能可能打中電腦么 所有對拼的血量全部計算明白 別說白金了 鑽石也虐給你看


上路:野爹上路來一下

野爹:幫中路拿完藍就上來

中路:等我吃完這波行不 差100

上路:.....干 XX會玩嘛?我要被風箏死了

野爹:吵什麼吵什麼 來了來了催個毛線

一分鐘後Gank上路怒秀操作強行越塔然而失敗 被拿雙殺

Bot:

Jg.ganktop();

15秒以後

敵方上路卒


非指向性技能一直打不到ai,氣不氣

永遠在你攻擊範圍外,氣不氣

你想閃現先手?ai閃現按的比你快,氣不氣

耗血??根據你的攻擊力和自己的護甲計算能挨幾下,打完走人,氣不氣

完美計算你的大招時間,你沒大就跟你浪,有大錢五秒就跑,氣不氣

玩石頭人琴女?讓你變孫亞龍,氣不氣

操作上肯定是打不過ai了,人類只能從戰術上想辦法了,畢竟ai也要根據基本法,也只是反應快,用獅子狗,寡婦這種智商型,應該還能套路套路。總會被愚蠢的人類摸到一些漏洞的。

再加一點,ai強大的計算能力,根據自己的裝備,傷害,穿透和你的抗性,血量,計算出自己的一套打在你身上能有多少傷害,也就是所謂的「斬殺線」,這個數值在隨時變化,ai也在一直計算,當你的血量到達斬殺線,他就100%有信心殺掉你。


不是做不出,做出來的電腦其實都是內掛。在編程外掛腳本的人眼裡,這些代碼都是可以直接拿來用的。

一般人機都可以躲非指向技能。

外掛腳本,直接就把這條參數拿來做到自己的程序里。於是你看到了,人不用滑鼠自動躲技能,用的就是一般人機的這條代碼。

一般人機可以根據你走的位置,放非指向技能並命中。

外掛腳本,直接就把這條參數拿來做到自己的程序里。於是你看到了,自動放非指向技能無視野情況下100%命中。

拳頭作出更高級的電腦,無疑是在加快自己遊戲的死期。再高級的加密,在遊戲進行的時候,都會自己解密,遊戲進行的時候,同樣技術的程序員,把對局數據截取下來,分分鐘外掛就做出來。不論這個外掛收不收費,一但大範圍流出,英雄聯盟這樣的競技類網遊直接就死了。


這種問題居然有人說做不到?

電腦的優勢:無延遲溝通,精確打擊,極度精準的走位和傷害計算

人的優勢:非電腦能預測的套路

對線期人類玩家可以說是完全處於劣勢。LOL里只有極個別的英雄沒有非指向性技能,而對於電腦來說,只要你的技能不是點控,它就能躲給你看。那麼線上無限劣勢的玩家憑什麼覺得能打過電腦?

再說gank,這估計是人類玩家唯一能取勝的點了,首先說打野,LOL的打野gank並不難應對,電腦一樣可以通過大數據分析得出最佳眼位。電腦打野可以在進入遊戲的瞬間就把對面五個人所有的操作習慣歷史記錄全部分析一遍,你喜歡用什麼英雄,是不是熟練,喜歡光臨哪路,插多少眼,扒的一乾二淨,人類你真覺得你有勝算嗎?

樓上有說卡牌大招gank的,其實不過就是河道草一個眼的問題,而且卡牌離開線上的一瞬間下路就已經做好應對了。況且你確定電腦不會拿個魚人?落地見魚才特么尷尬。


外行真多。

dota類遊戲壓根沒那麼多變化。有本事你把上路小兵拉到下路試試。

三條路三個小戰場;野區只是2~4個英雄的對決而已——而且AI可以通過眼位搜集的信息+精確到毫秒的計算完美刷野甚至偷野,壓根不在你方野區和你打;己方野區那麼本方支援肯定更快。

說白了就是三個局部戰場+一個地廣人稀的野區戰場而已,哪有什麼像樣的「決策」。

即便在某個局部戰場上,小兵也不是雙方能控制的。這種按照機械規則動作的單位哪需要什麼決策樹。

所以到最後也不過是雙方10個英雄單位在三個半小戰場的零星戰鬥而已;戰場之間支援需要考慮時間、金錢損失——這點電腦比人可強太多了,它甚至能根據上路離開時兵線的狀態、算出上單可以在其它路參戰多久損失最小。

還自稱寫程序的,連最基本的分治原則都不知道?

實在太煩了,還是集中給外行科普一下什麼才能叫「不同選擇」吧。

作為對比,我們可以看看圍棋和五子棋。

哪怕棋盤、棋子數量都一樣;只是規則不同;圍棋直到alpha go才……

而五子棋呢?

五子棋先下的一定贏嗎?如何證明? - 數學

其中1992年Victor Allis通過編程證明不帶禁手的五子棋,黑必勝的,文章地址在這裡:https://project.dke.maastrichtuniversity.nl/games/files/phd/SearchingForSolutions.pdf

2001年Janos Wagner第一次證明的帶禁手的五子棋,也是黑必勝的,文章地址在這裡:http://www.sze.hu/~gtakacs/download/wagnervirag_2001.pdf

請注意,請注意,請注意:五子棋是已經找到了先手必勝策略,並不是弱爆了的「棋力蓋過了頂級棋手」,兩者可謂天壤之別

有先手必勝策略,意思就是這種遊戲已經徹底被研究透了、它的演算法足夠窮究一切可能;現在這已經不是下棋,而是像消元法求解N元一次方程組一樣,按照機械步驟得出答案。

這中間,沒有絲毫不確定之處。只要你讓它拿到黑棋,它就贏了(或者,如果你拿黑棋,有一步不是必勝走法,你就輸了)。只要五子棋還是這個規則,你就是找上帝來都沒轍。

這兩種棋,棋盤、棋子不都一樣嗎?為什麼會有這麼大差別?

因為按五子棋的規則,電腦可以精確計算每一步的利弊;而圍棋不能。

說的更清楚些,圍棋每一步都可以在300多個交叉點中選擇其一落子;但這個落子好還是不好,常常需要若干步後才看得出來——甚至,alpha go都走過幾十步後才發現某個落子是「妙手」的情況(但一般能算十幾步已經很恐怖了)。

這就使得,圍棋AI不可以隨意忽略任何一著。這就使得,每多算一步,它的可能性就要再乘上一個300+——推算10步,就成了(300+)^10。

但五子棋不同。它的每一步的好壞,很容易就能判斷出來。程序很容易就能識別出這種無效/自殺走法,並把它剔除掉。這樣一來,五子棋的複雜度就不再是每多一步就要乘上個300+,而只是裁剪之後的1~10了——於是哪怕1992年的計算機都能做到「直接推算到終局」了。

所以同樣的棋盤、棋子,只是規則不同,圍棋直到今天才藉助人工智慧+超強的計算機擊敗頂尖的人類選手;而五子棋早在1992年就找到了必勝策略——前面科普過,找到「必勝策略」比起「擊敗過世界冠軍」,高明的可不止一個兩個檔次。

所以,懇請某些人不要繼續就著別人科普給你的、關於圍棋的那點粗淺的知識賣蠢了。你在浪費大家時間

http://player.youku.com/player.php/sid/XMjU3NzIwNjQ4/v.swf

這個視頻是星際爭霸里,100條腳本控制的小狗單挑20輛架起的攻城坦克。

這個腳本需要同時監控20輛坦克的攻擊CD、攻擊距離,並根據小狗與每輛坦克的距離、事先計算出每輛坦克的首選攻擊目標。

當坦克攻擊CD結束前一瞬間、腳本需要控制目標周圍的其他狗散開,確保20輛坦克的每一次炮擊都只能殺死一條小狗。

星際坦克的攻擊無彈道、無延遲。若有真實的彈道、且偏離炮擊中心不造成秒殺效果,那麼腳本有可能做到不損失任何單位全滅20輛坦克。

——哎呀雙方共120個單位、一場戰鬥平均每個單位還能發出N次攻擊,加上地圖的網格數,哎呀這可能性……

很遺憾,但並不是這樣算的。不要拿著你被人科普的那點圍棋/象棋AI的基本知識當真理。那玩意兒在這個領域卵用沒有。因為它根本就不足以構成所謂的「分支」。

不僅如此,處理好如下問題,就壓根不需要什麼「統籌決策」了:

1、對線

AI完美補刀,完美控線。甚至可以通過干擾雙方小兵的站位,保證兵線會推過來——沒有干擾的話,AI完全可以做到讓兵線在塔前穩定30分鐘不動分毫。

人類至多能保證不讓兵線太快被控到對方塔前、或者快速推線避免AI完美控線+完美補刀——但這也意味著人類就只能全程在對方塔前作死了。

——你就在對面塔前,打野怎麼幫你?

這就是個腳本的活,哪需要上升到AI的高度上。

別像那些外行一樣,覺得電腦就一定是會被一個個引誘到野外然後XXOO的弱智。這說明寫人機AI的傢伙太懶,壓根沒設計脫戰邏輯——小兵都沒那麼傻。

若想在這點上繼續加強,最簡單的,以塔和兵線為中心,找出一個安全區域(甚至可細分為安全區域、優勢區域、必殺區域,甚至可計算出不同區域在不同對戰人數情況下、換算成以血量表示的「優勢指數」)。

除非已經把對方打到走A一兩下或者一個位移就能拿人頭的地步,否則死不出安全區域,你奈它何?

2、消耗

AI完美按照雙方射程式控制制距離、按照技能作用範圍控制隊友間距;發現人類走位略有失誤,一幀之內就能算清利弊(連小兵移動所需時間、攻擊傷害都算的清清楚楚:尋路演算法而已,這麼小的局面,太容易算出來了);以至於一旦AI出手,玩家不交位移甚至閃現就必然大虧——而AI甚至可預先知道這次衝突若玩家完美應對、自己可在殺掉對方後以多大的概率保留多少血(這個剩餘安全血量可通過參數調節,高手可調的略高一些,菜鳥甚至可調到負數:因為後者不可能「完美應對」,自然打不出「理論最高傷害」)。

3、視野

AI可在幾個毫秒內輕易遍歷整個地圖的每一個點,來保證眼位可準確封鎖儘可能多的攻擊路線、保護儘可能多的重要資源(需配合資源刷新CD)。

然後,哪怕你只是擦著視野邊緣出現過一幀(換成人類很可能就漏了),AI都能發現、然後根據你的裝備換算移速、最終算出你按最佳路線到達的時間。它可以在這個時間前把兵線控回安全地帶、或者稍微後撤到安全距離。

這可以保證戰術推線時不被gank。

4、小配合

你踩下路女警夾子的一瞬間(同一幀!),如果程序判斷2v2/2v3難以完勝,上路就已經開始傳送;輔助會完美擋路、極限接控,確保雙殺。

甚至,當發現人類方打野血量較低、其它線沒有離開時,下路就可以積極換血、同時上路推線避免損失經濟、然後輔助抓住時機強開打一波了(在輔助控制技能出手同時上路開始傳送)——「對方打野血量不足;把你的兵線處理好,13.2秒後可以打」:你什麼時候見過人類做到過這種程度的配合?

LOL是設計給人玩的遊戲。經常下路打起來3~5秒了、上路才注意到並傳送下來都不算遲。這種「以幀計」精度的配合絕對能把人打到絕望。

記住,這是三個小戰場。而且每個小戰場範圍不過三屏,其它區域壓根無需納入考量——至多在眼位發現對面英雄動向、或者相鄰線上英雄消失時,額外考慮1~4個可能中途加入戰鬥的英雄而已。

哪有非要把整個地圖無論遠近所有壓根不可能造成影響的單位/地形全部當作必需考慮的變數的——裁剪、裁剪(敲黑板),這些人的AI入門究竟是怎麼學的?

甚至,前面說過,人類方根本不可能正常gank。因為兵線總被完美控在塔前——除非5人齊上然後塔下強殺。後果嘛……除非大後期、並且AI居然沒有第一時間傳送支援,不然恐怕是被控塔下2換3甚至2換5的多。

而且,一旦發現多人擠一條路……其他路AI(如果沒有傳送的話)就會趁機快速推線、推塔——雙方經濟差距只會越拉越大。

既然三線全優、又完美控線不留半點機會,那麼中路遊走支援之類邏輯甚至可以不做,只需照搬人類的分路策略即可。

這又可以大幅簡化AI的設計。

5、大配合

一旦AI計算己方戰力取得較大優勢、可以在考慮對方背靠一塔前提下贏得團戰,就會立即抱團中推(它們甚至可以提前半分鐘預見到這點、從而把兵線處理成優勢狀態、然後各路同一個毫秒到達中路並立即強開團),然後毫無懸念的破你一路、再換下一路。

如果開全圖看大地圖,你會發現它們略有先後的沿不同路線奔向中路、然後石頭人壓根沒停頓、沒改變路線便悍然開大,落地前0.x毫秒亞索接上、同時從不同方向來的其它英雄恰好趕到。瞬秒。

就好像發動機轉動間、氣門/連桿的配合一樣行雲流水、精密可靠。

哪需要像人一樣,推個中還得事先集合、試探、走位許久。

不要寄希望於1-4分推之類戰術。

AI可以在離開某線時,保證一定時間內己方兵力剛好可以緩慢推線,這就拖延了單帶者的推進速度;然後,當某人單帶一路時,AI或者可以分出最不影響戰力、但可配合防禦塔成功防禦的1人阻止他(然後正面戰場4v4繼續推塔);或者,發現對方缺人後,立即利用5V4的優勢強開團破掉一路。

6、小「技巧」

走A?弱爆了。

AI可以原地A!

比如說,若人類方英雄不能忽略碰撞體積、不交位移……那麼AI理論上可以利用「擋路機制」使得人類像中了虛弱一樣寸步難行:因為AI可以在你轉身的同一幀同向移動、以便一直擋在你的路上。

甚至,你交閃現,AI可以同樣閃到你一個身位之前、仍然死死的擋住你!

只有你的位移技能壓倒性的多於AI,才可能有機會逃離——但是小炮不行,只要AI還有控制技,她就跳不起來。

不考慮網路延遲和移動速度差異的話……一旦機器人E到你一下,它甚至可以在原地幾乎平齊的那條線上繼續E你第二下、第三下。

考慮網路延遲,一旦機器人E起你第一下,你可能勉強走幾個厘米就會被E起第二下——這種憑人那弱爆了的反應速度絕對實施不了的「臟」打法,AI實現起來……大概也就是3~5行代碼的問題。

所以?

所以一旦AI判定硬剛你會輸,那麼只要讓它走到你的退路上……你就放棄抵抗,老老實實回泉水看黑白電視吧。

顯然,哪怕完全不做額外的更多優化、不搞什麼機器學習、智能進化,僅僅機械的執行如上幾點,AI都肯定會毫無懸念的贏得比賽。

這壓根就稱不上AI,只是個判定邏輯稍微豐富的腳本而已。這麼簡單的東西根本用不著拳頭,任何平均水準以上的程序員都可以完成。

————————————————————————————————

澄清幾個誤解。

1、人類可以用靈活的支援策略,使得AI難以判斷形勢

實質上,這很簡單。

設置5組變數,比如t1~t5 + pos1~pos5,分別記錄對方五人最後一次出現的時間、地點——這個邏輯執行一次只需幾個納秒而已。

所以,可以輕易在每一幀,都根據對方可見與否來刷新這個變數;然後,考慮對方找最近的野怪尋死、TP以及閃現/技能過牆趕路等等可能性,計算每個對手趕到特定路所需的時間——精確到幀。

那麼,每次決定是否開戰前,演算法只需掃描一下如上五組變數,就會知道「中路已經消失1120幀了,如果他來我這裡參戰,那麼還有2000幀的安全期」——然後,如果2000幀能結束戰鬥,就可以打;否則不打。

這和人那種「哎呀好像中單消失有一會兒了,他去哪了?」完全不可同日而語。AI知道每個英雄在線上消失的精確時間——精確到幀。

換句話說,AI壓根不用「猜」你去哪了。你要麼趕不上看著隊友送命;要麼就浪費時間曠日持久的蹲(肯定蹲不到,因為如上5組變數中,屬於你的那一組一直處於紅色警戒狀態:除非AI判斷你就是來參戰也不過是多送個人頭,否則肯定不在紅色警戒下開戰);要麼就……放棄一切不切實際的幻想吧,幻想越多你越是虧。

2、完美控線?想的吧,哪可能。而且一邊完美補兵、一邊還要換血,電腦要手忙腳亂了吧?

這說明,提這個問題的人,對什麼是AI一無所知。

我在前面貼過小狗打坦克那個錄像。

但他對它仍然沒有半點理解。他壓根不知道同時精確掐20輛坦克的攻擊CD、精確計算每輛坦克的射程意味著什麼。

這意味著,同樣的演算法拿到dota類遊戲裡面,可以監控雙方每個小兵的攻擊CD。

這也意味著,電腦可以輕易的控制遠程英雄,讓它的每次補刀,都恰好能讓子彈在己方小兵那可以殺死對方小兵的最後一擊出手後、但扣血完成前的一瞬間,擊殺對方小兵(遠程都能做到,近戰只會更容易)。

換句話說,電腦可以保證補刀和小兵自然對打效果一致——以至於你敢點一下小兵就必然造成推線。這就叫完美補刀+完美控線。

電腦甚至可以輕易的計算出,如果你打了一下小兵,它需要打哪個小兵一下才能保持平衡(但可以暫時不打,儲備給消耗演算法靈活運用)。

這個計算,一幀時間裡,足夠電腦完成成千上萬次。

至於對點……只能說,人的無知,竟能達到這個程度。

只需設計兩個函數,每一幀都調用。

第一個計算雙方英雄相對位置、計算兵線情況,就可以事先知道換血會不會虧;若可能虧,向己方兵線後走位,避免衝突。

若第一個函數無動作輸出,則調用第二個函數完成完美補兵——連判斷都不用寫,完美的優先消耗、其次補兵策略就有了。

甚至於,我早在前文中提到過,可事先根據兵線+塔的位置計算安全區域、優勢區域;這個區域就是用來走位的。

更甚者,電腦可根據玩家當前幀位置、速度,事先知道若他上前,則多少幀後雙方可以發生衝突、若衝突誰能得利——然後提前補兵,保證將來發生消耗動作時,不會因此而漏兵(前面提到過,完美補兵邏輯會故意少打幾下,就是儲備給這裡使用的)。

——這顯然不是任何人類玩家能做到的;但如果你真的仔細琢磨過那個星際爭霸小狗打坦克視頻,就會知道,AI做這個真的非常容易——如果你是個平均水平以上的程序員,就知道這其實是非常非常容易。

整體效果就是:電腦連一幀的失誤都不會有(這是必然的),而它的對手連一幀的失誤都不能有。

因為每一幀失誤,都會被電腦換血——而且肯定是電腦更佔優勢。

3、如果N個玩家都不在視野里,AI怎麼處理

問這個的,他玩LOL的水平肯定渣到姥姥家了。

哪怕倆野區都給你,我看你放著3路經濟/經驗不要憑什麼贏。

LOL數據帝:補刀補不好十分鐘讓你落後倆人頭_17173英雄聯盟專區

按15年的設定:LOL遊戲到10分鐘時,每條線上會刷出18波兵,但只有17波共106個小兵能趕到前線。每波小兵3遠程3近戰,每3波兵多一個炮車。所有這些兵全補到(忽略金幣隨時間增長)是1945個金幣——注意 LOL 一分三十秒後才會出兵。

那麼,敢離開兵線1分鐘,每條線上都會損失大約200個金幣,相當於2/3個人頭。

所以凡問這個問題的,都顯得非常有種。

但還不算是真有種。真有種還是5個人20分鐘都別出來,試試看AI敢不敢推他們的基地。

——————————————————————————————————————

再貼幾個星際爭霸AI相關:

https://player.twitch.tv/?channel=certicky

這是2016年的比賽,貼出時比賽正在進行中。

其中一些很可笑(畢竟是大學生作品,濫竽充數的不少);但比較強的幾個AI,探路、騷擾、攻擊、兵種配合(包括空投金甲蟲、運輸機來回收放金甲蟲躲避攻擊)——你看哪樣沒有。

Artificial intelligence

大堆星際AI。包括那個100條小狗對20坦克的。

You Can"t Beat This Starcraft AI

這是2010年的大學生作品。

文章名字很霸氣。而且其中最強的AI真和人類頂級選手打過——2001年參加過WCG大賽的選手=DoGo=。=DoGo=通過不間斷偷襲AI主基地的方式獲勝。

StarCraft AI Competition Results

這是2010年大學生星際AI比賽錄像。從小規模戰鬥到無限制的全場比賽都有。

看最後幾場比賽,不知有幾個覺得自己能打過最強AI的?

尤其最後一場那個蟲族,無限飛龍甩尾;追擊到對方基地、判斷無利立即返回,毫不拖泥帶水。

換人來來打的話,如果中前期不能弄死這個AI,那麼到了中後期,絕逼是被10線以上的不間斷騷擾給活活玩死的料。


lol說到底是打錢推塔遊戲。

在經濟差很大的情況下,翻盤可能性不大。

電腦完全可以在對線階段做到一刀不漏,前期大劣勢。

別指望打野幫得上忙,插兩個眼足夠算出打野的大致方位了。

中期團戰,人為操作是看狀態的,誰也不能保證沒有失誤。電腦能夠排兵布陣,挑選出一套最穩的輸出方案。

如果十局,人應該能贏一局,這叫做奇蹟。

其實,還有不少人連人機一般都打不過,這還是不智能的人機。

別問我怎麼知道的


可以,不難。

不需要超級計算機,沒有很大運算量。

不做是因為沒有必要。

遊戲更加推崇的是人與人的交互。


其實拳頭設計AI最大的難點是在於

如何設計得不是太變態而導致玩家毫無還手之力


都不考慮作弊的情況下,很容易做到的。

首先,信息處理上速度,所有的機器可以一幀內完成策略。如果按照一秒60幀來算(0.0167s)。一秒內所有的電腦可以根據戰場情況做60次決定。而人的反應速度。呵呵……加上失誤……呵呵呵

比如,一級開始線上發育,電腦同時在0.0167秒內獲得所有線上兵的血量,所有人的血量狀態,位置。他可以0失誤補兵,如果你補兵,他可以打你。你不補兵,就丟兵。就在你技能範圍外距離不遠的位置。反正讓你補兵都噁心。強行補兵直接被打殘,然後必須回家,幾次來回時間,只能越來越差。還想單殺,想多了。

技能消耗,它可以算到你技能具體傷害,放完技能後CD還剩多少毫秒,而不是秒。更可怕的是五個電腦都知道。你打遊戲,能算出對線的敵人就不錯了,但是電腦可以同時算出整張地圖的。

血量,移速,他們精確到單位1。

關於意識和團戰,電腦節奏意識更強,知道可視區域對面情況下,幫助gank是例行任務。人與人溝通,還有溝通理解執行這個階段。這個時間0.16秒內很難完成,但是這時候電腦電腦在0.0167的時候已經決定打還是跑了。而且要命的是人的溝通成本時間太高,甚至意見不統一。電腦可以最優化的算出來當前打誰收益最高。更不會有理解差異。

前期不能好好補兵發育,又不能掌握對面每個人的血量,物理傷害,魔法傷害,魔抗,物抗,暴擊,每個技能傷害,每個技能CD,召喚師技能狀態,被動狀態,移動速度,又不知道隊友這些信息。你說,怎麼發育怎麼打?

現在的LOL應該是簡單的行為樹,只是處理釋放技能然後低血量回家而已。所以很傻。如感興趣了解行為樹,可以看看國內優秀的開源行為樹項目behaviac. behaviac – Tencent behaviac, Game AI, Behavior Tree, Finite State Machine, Hierarchical Task Network, BT FSM HTN, 騰訊開源, 遊戲AI, 行為樹,有限狀態機,分層任務網路,天天炫斗,王者榮耀的AI就是用它開發的

=================更新回答=============

評論區有些同學,積極的在互動,我也跟他們進行了進一步的交流

  • 比如如何提高AI的速度,要不要採用雙循環?

  • 比如怎麼做權重體系來讓電腦做出選擇?在面臨補兵和平A對面英雄消耗的時候,如何選擇?

  • 竟然有些同學把問題的「一個人機模式」,理解為人機模式一個電腦打5個人(反覆強調是白金),然後和答主抬杠,誰厲害?如果這樣,感覺回去讀中學語文會更厲害吧?如果變成大亂斗地圖,以一塔100兵為勝利標準,電腦1v5,我不認為電腦會慫。有興趣做遊戲AI的同學可以試試


人類:打野來幫我拿藍!

AI:jg.attack(buff1)

人類:中單下來抓人!

AI:top.tp(pawn17)

人類:武器去分帶!

AI:jg/top.gank(hero1); sup/adc/mid.defend(midturret2)

人類:下路快點換血!

AI:adc/sup.attack(hero5)

大哥們,你們想多了,要考慮的點真不多……


在絕對的操作優勢面前,奇淫巧技根本沒什麼卵用。

而lol恰恰是一個非常要極限操作的遊戲。


你聽說過腳本嗎?


我只知道非指向性技能我基本就沒打中過一般人機


人類有apm上限,反應時間下限,還有非指向性技能準確度和提前量判斷的誤差,技能時間的誤差等等

神之走位:100%非指向技能非aoe不中………這種東西在dota都是極其噁心的存在……有這個優勢你lol裡面各種非指向技能怎麼贏

100%完美技能:像全球技能的奶媽,船長,死歌,慎,還有超視距大範圍技能的比如拉克絲,炸彈人,還有100%精準治療,基佬實力大招,完美逃跑閃現,蓋倫100%精準大招(搶人頭)…………呵呵……呵呵…………呵呵呵呵…………

100%補兵,最大化消耗,完美收割…………

有這種操作優勢,意識還有什麼卵用

以上都是傳統ai的情況,不是卷積神經網路的做法,而且以上提到的東西普通計算機如果一秒做不了幾萬次就簡直是對intel的侮辱

對於卷積神經網路的情況,我不太看好,從alphago來看卷積神經網路專註於大局觀而忽視細節,但是moba/rts從來都是微操重於意識的遊戲……人類之所以覺得操作到一定程度後意識更重要,那是瓶頸,那是因為人類達不到更高的操作水平了。

我覺得卷積神經網路在玩moba的時候一定會像人,bp各種給力,戰鬥各種符合邏輯,帶線,大龍,團戰,推塔時機的掌握恰到好處,但是會各種失誤,團戰會打不出最大化收益,能搶的龍不搶,能推掉的塔不推,能收割的人頭不收,能活的時候死了,等等

說到底lol本來就是渣游純操作的


題主這個問題是分兩個部分的:

1.能不能做出白金級別的ai

2.拳頭能不能做出來

首先問題1,按其他遊戲的頂級ai來說,別說做出一個白金級別的,就是最強王者的都很簡單,可能在大戰略上打不過職業選手,但天梯單排這種絕對是虐殺,三路對線壓制,你放的所有非指向性技能都能多開,他的技能全能中(參考卡莉斯塔和澤拉斯腳本),完全無縫連招,完全精確的血量計算,出手非死即殘。玩家們津津樂道的兩個劫、閃現躲陰影出石頭人大招等等精彩操作對於ai來說是基礎中的基礎,想對抗這種ai,一切帶有非指向性技能的英雄基本都無效,而且ai不會犯錯,全程可以保持極限操作。而ai的弱點是無法判斷對方戰略意圖(這點人也做不到),比如玩家採用一級入侵下方野區,而後上單傳送上線這種開局,但這種策略在天梯很難有人能玩出來。

舉例:不知道大家聽沒聽說過dota里電腦的中單卡爾,而且這還只是一個娛樂用的業餘ai,想想專業的會是什麼樣。

其次問題2,拳頭能不能做出來,這個我覺得稍微有點懸,雖然這是拳頭設計的遊戲,但拳頭畢竟不是專業的ai公司,如果是跟其他團體(比如谷歌)合作的話還是很容易的。

ps:網癮少年們不要太瞧得起職業選手了,人工智慧的發展雖然還處於理論期,但這種純操作的遊戲虐虐人類簡直不要太輕鬆,ai的弱點是在語言邏輯,情感邏輯跟創造能力上,這些都是電子競技不需要考慮的。更別說現在的ai都有深度學習能力,你們說的什麼什麼套路虐它個一兩次它就知道怎麼應對了。只要把這個ai扔到天梯上從青銅開始打,經過學習之後分分鐘上王者好吧。

ps2:你們呀,不要老是想著ai打敗人類或者ai不如人類的事情,就算過幾年ai玩遊戲能打敗所有人能怎麼樣?英雄聯盟是十個人的遊戲,不是五個人五個ai的遊戲,汽車摩托車還能完爆賽跑選手呢,到時候我們只要設計一個英雄聯盟ai全球總決賽就好了,人跟人玩,ai跟ai玩,國際象棋早在97年就被ai打敗了,現在那些專業棋手不還是活的好好的(就是有人比賽的時候用軟體作弊哈哈哈)


我只說這樣一個簡單的原理,我們的遊戲運行中有兩條生產線,一條是計算各個物體狀態的我們這裡叫他狀態線吧,一條是渲染每一幀畫面的我們這裡叫他渲染線吧。兩條生產線是獨立運行的,每一幀渲染的時候,渲染線從內存中讀取狀態線的狀態結果,然後做出相應的渲染。

OK,我們是看到渲染線渲染的結果過後,再做出反應和處理,而AI是運行在狀態線里的。所以在AI面前,人類玩家的反應都是渣渣。一個IF語句判斷需要多少時間?肯定不用我多說了吧~~~

所以,考反應的遊戲都人類是懟不贏電腦的,AI是故意輸給你的(AI:愚蠢的人類啊~)

還有,盆友,你見過英雄聯盟的外掛么?


沒做過純moba的ai,但可以根據之前的一些從業經驗瞎聊聊。

好做的地方:在信息採集,處理,反饋速度上完爆人類。

之前一個tps+moba(射擊類似彈幕玩法)項目做過自己測試用的機器人,用python寫的,完全和伺服器合法網路協議交互,只干一件事,跟人控制的角色保持一定範圍跟著人走,你朝它發射飛行子彈他會左右小範圍躲,結果就是你普攻一槍也打不中它。。。。它就在那裡左走躲躲右走走,子彈擦著身子而過

不好做的地方:如果遊戲開放度較高,那可能會處理非常多的異常分支,一個分支處理不妥當,就會被人類利用並可能無限放大。

比如之前做的一個賽車遊戲,基於真實物理,ai車會根據前方路況障礙,自己車的姿態和各機械部件狀態,車和路面摩擦等真實物理參數算出理想行駛軌跡並按此實施,並且每個車和每個賽道的一些控制參數都會離線訓練好,所以它的入彎角度,速度理論上都是最優的,所以空賽道單圈成績人類不要想跟它比!但是,人很壞啊。讓你一圈又如何,我在後面慢慢的把一些交通npc車擠在一起堵路,ai沒有處理相關異常分支,只會傻傻的原地死等,不會像人一樣撞開一輛擠過去,如果遊戲開放性非常強,這種異常分支的排列組合數非常誇張,(比如之前dota的錘錘幫戰術一般預製ai可能完全處理不了)可能目前的機器學習領域能教好覆蓋,但也受限於訓練樣本和遊戲自由度過高等因素。


看了幾個回答一個有用的都沒有。都說很簡單。還有人直接說這問題沒意義,浪費錢。那你回答幹嘛?

這裡建立在ai擁有同樣的屬性技能(lol非末日),只是反應速度為0,計算精確度爆表的情況,各個要考慮的東西統籌並行,不亂不慌。

我是dota2玩家,也是lol玩家,恕老夫眼拙,這裡看不出一個像白金水平的人說的話。

我大學因為愛好,嘗試改過dota1的ai,本科的方向也和人工智慧有關。我可以很負責的和大家講,幾乎不可能。因為有很多東西,人無法精確定義,電腦也就不能理解。電腦眼裡只有0和1。舉個例子,關於危險:卡牌走到小龍後方草叢,進入大招範圍,下路就有危險,一般如果沒有支援會退一下。稍微會玩一些的局在這個位置一般都有眼,你讓電腦怎麼辦?卡牌有大招,看到卡牌走到射程內,這兩個好辦。如果他qw清兵就過來晃呢,晃完了又回去?你電腦下路還補不補刀了?這是個簡單的甚至不太恰當的例子。目的是為了說明,很多複雜的東西,無法量化,計算機就很難做到人那麼好。

至於說非指向性技能,是的,這個電腦會比人用的更好。以屠夫(機器人)為例,當己方小兵血量即將低於敵方大哥攻擊力時,往小兵偏大哥方向出鉤;盲溝時,計算路程,到達時間,敵方速度、方向;有視野時,加入人類特有的s技能(dota可以在施法前搖階段取消技能不計入cd)迷惑對手走位或迫使對方使用保命技能。等等,在大量非指向性技能的lol里,機器人會比人更准。

我們再討論對線和中後期兩個話題,lol做ai難度在於,沒有反補,這意味著,你ai比faker補刀更精準,但大家都是10分鐘100刀。或者你為了不漏刀,被faker點了好多下,faker10分鐘的時候比ai少10刀,但是單殺了ai兩次。補刀、a人、走位、擊殺、消耗,這些事魚與熊掌不可兼得,是博弈。電腦無法精確的博弈,即,對與錯,100與0,電腦分得清,但是,兩個選擇非常接近呢,一個50分一個51分呢。一個失誤可能就是一個人頭。中後期,lol戰術的單一,使得在這一點上我認為比較容易達到,無非是怎麼控制兵線,怎麼控大小龍。但即使如此,打團戰還是打不贏人。

相比之下,dota戰術的超強豐富性,羊刀bkb跳刀等質變裝備的存在,強力的硬控、長距離的先手、無數的保命道具與技能,使得機器人達到人的水平幾乎不可能,比lol難得多。而dota是一款更注重博弈的遊戲,我是補這兩個刀,還是去控符?還是自己拉野?對面人不見了,我這波兵收不收?lol講究精確,全,大家儘力做到資源全收,線野雙收;dota則是做出一個又一個痛苦的抉擇,即博弈。這是電腦判斷不了的,別說電腦了,棒子都學不會。

最後,機器學習等方法,有可能使得ai完成比較複雜的任務,但要達到人類高度,還是太複雜了,feature太多了選不過來,想不過來。

那些回答簡單的,你們玩的局,是不是你一個人殺了對面後排,然後對面劍聖蠻王虎入羊群大殺四方,你們輸了然後噴adc、ap菜?你們有打過團嗎?

我真不是秀優越,畢竟自己也玩lol。但我真心覺得,如果這個問題改成「valve做一個可以打贏對面5個7000分的人機難嗎?」,dota玩家回答可能更好。還有,祝中國lol s6順利。wings奪冠我沒刷屏但是嘲笑了我的鑽一室友,但lol得了冠軍,我也會慶祝。


推薦閱讀:

柯潔真的比李世乭強嗎?為什麼Google不選擇讓AlphaGo挑戰柯潔而選擇李世乭?
未來人類會進化成沒有性別嗎?
智能時代我國為什麼要放開二胎?
如果記憶可以出售,你會選擇出售或者購買什麼經歷的記憶?
如何看待李飛飛高徒Karpathy加入特斯拉,主管人工智慧部門?

TAG:電腦遊戲 | 人工智慧 | 遊戲設計 | 遊戲開發 | 英雄聯盟LoL |