如何让AI“放水”

在gamasutra上看到一篇关于如何让AI“放水”的游戏设计文章,有点意思。

作者先是探讨了通过降低电脑运算能力来限制其AI水平,不过得到的结果是AI会犯“不是正常人会犯的错误”,这样就很不现实了。所以作者提出了一个疑问 “Design or Code? ” AI的“放水”应该通过规则实现还是通过编程水平实现(这里译成中文有点偏离原意,还是直接看英文好)。

答案当然是通过Design啦。于是作者又提出了一些想法,比如定一些条件来限制电脑的发挥;让电脑故意让玩家取得优势,而且做得很自然,让玩家感觉不到被防水了,从而能让电脑AI计算能力全开的情况下依然让玩家有势均力敌的感觉,等等。
摘录文章里两段话:

By reducing the amount of computation, we create an AI opponent that is trying to win, but has been crippled in a way that leads to unrealistic gameplay. But does the player actually care about what is going on under the hood? What if we don’t cripple our AI, but instead let it play at full strength, but have the AI deliberately throw the game?

In a shooter, the enemy aliens should not simply randomly break from cover — they should sometimes break from cover when the player is close to them and panning toward them. They should "accidentally" throw themselves into the line of fire to make the game more interesting.

Advertisements

Author: SuperFatCow

I am a human-being.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s