游戏邦在:
杂志专栏:
gamerboom.com订阅到鲜果订阅到抓虾google reader订阅到有道订阅到QQ邮箱订阅到帮看

程序生成在游戏创造中的重要性

发布时间:2015-08-10 16:40:17 Tags:,,,,

作者:Luis Diaz

如今每一位开发者应该都听过程序生成。即关于好朋友会在我们启动电脑的时候为我们的游戏创造无数不同的关卡,从而为我们的每个关卡设计省下了大量的工作。许多成功的游戏(游戏邦注:包括《我的世界》,《洞穴探险》,《废土之王》等等)如果缺少了程序生成内容的话便很难获得成功。

但是我们似乎还未能真正发挥该工具的最高潜能。我们经常受限于地图生成,因为这是我们长时间所使用的工具,并且它也很简单,但是我们却未能进一步钻研新方法并将其用于游戏中。

现在我们正在探索程序生成叙述及其可能性的领域。《暗影摩多》(及其Nemesis系统)便在这方面做得很棒,让玩家觉得自己就像真正的游戏世界组成部分一样。

创造有意义的玩家互动是许多开发者的目标。我们希望让玩家改变游戏故事和世界,所以我们创造了复杂的对话系统,并提供给玩家自由去杀死大多数角色并创造“重要的”二元决策,即玩家可以选择拯救或摧毁一座城镇,前往一个地方或另一个地方等等。

这就像是那些“选择你自己的冒险”的书籍一样,你可以做出一些无意义的选择或者你可以投入常规项目所需要的时间,即至少10个小时。在游戏中我们基本上掌握了如何从叙述角度欺骗玩家,但在我们的创造中却并未真正侧重这点。

在《辐射3》中我们可以选择拯救或摧毁一座城镇,《神鬼寓言》也拥有许多双向选择,然而我们在这些游戏中可以做的事只是摧毁一系列资产并改变一些对话内容,这看上去虽然是一些重大决定,但其实并没有什么大不了;你最好不要期待着能够在自己的项目中添加这样的内容,或者说完成这项内容可能需要耗费你一辈子的时间。

程序生成叙述能够帮助我们创造一款不断改变并且会让玩家沉浸于其中的游戏;这能够节省开发玩家可能做出的每一个选择的99%的时间。这就像是设定一个“选择你自己的冒险”功能,在这里玩家可以写下一系列规则并使用这些声明去编写每一章节的内容。

我们便使用了程序生成内容去获取现有的数据并基于特定的规则去改变它们。这就像是Conway的生命游戏一样,即用户输入一些参数(代表一个殖民地,植物群等等),而计算机将估算这些参数在特定时间内将作出怎样的改变(按照我们所设定的规则)。

spel(from gamasutra)

spel(from gamasutra)

这听起来比实际做来简单得多,而为了执行这一系统,我们需要为我们尝试着再次创造的内容创造一个逻辑模型,基于我们的目标,这可能需要许多规则和参数。执行算式是程序员的工作,但是创造却需要由设计师来完成。

这并不是一种适用于任何项目的工具,但这却能够改变未来我们体验游戏的方式。我相信这是一种革命性的工具,并且很适合小型的独立团队。如果你还未玩过《暗影魔多》,请尝试看看,你将会看到程序生成叙述是如何创造出一款比《侠盗猎车手》等游戏更具沉浸感的游戏,即玩家能够从中获得更多自由。我敢保证我们会因为使用程序生成而获得更多创造性。

本文为游戏邦/gamerboom.com编译,拒绝任何不保留版权的转发,如需转载请联系:游戏邦

Procedural Generation: digging deeper

by Luis Diaz

Every dev has heard about procedural generation by now. It’s that great friend who can make thousands of different levels for our game everytime we boot our computer, saving us the huge work of designing every level individually. Many successful games( Minecraft, Spelunky, Nuclear Throne, etc ) wouldn’t be as great without it and we do love using procedural generation to save time whenever we get the chance.

As awesome as this tool may be we’re far away from reaching its full potential. We often limit ourselves to map generation ’cause that’s what we have been watching for a long time, it’s “easy”, but we have yet to keep digging deeper for new ways to use it on our games.

We’re now exploring the realms of procedurally generated narrative and its possibilities. “Shadow of Mordor”(and its Nemesis System) did a wonderful job at it, making the player feel like he is truly part of the world.

Meaningful player interaction with the game has always been the goal of many developers. We wanted to let the player change the story and the world, so we created complex dialog systems, gave them the freedom to kill most characters and created “huge” binary decisions where the user could choose to save or destroy a town, go to one place or another, etc.

It’s like those “Choose your own adventure” books, either you make the choices meaningless or you’ll need to spend at least x10 hours of what a regular project would take. In games we have almost mastered the art of disguising that players, from a narrative point of view, don’t really matter that much in our creations.

In “Fallout 3″ we could choose to save or destroy a town, while “Fable” was full of binary choices, however, all we could do in those games was to destroy a bunch of assets and change a few dialog lines, it looked like a huge decision but it wasn’t that big of a deal after all; and you can’t expect having many of those in your project or finishing it could take a lifetime.

Procedurally generated narrative is what can help us creating a game that keeps changing and where the player feels really involved; saving us 99% of the time that would take to develop every single choice the player can make. It’s like having a “choose your own adventure” where you write down a bunch of rules and the book uses those statements to write each chapter.

We use procedural generation( or procedural evolution) to take an existing piece of data and change it based on a set of given rules. Just like Conway’s game of life, where

the user enters some parameters (which represent a colony, flora or whatever we want it to be) and the computer calculates how those parameters would change in a give unit of time( using the rules we set).

It might sound easier than it actually is, in order to implement this system we need to create a logical model for what we’re trying to re-create, which may require lots of rules and parameters depending on our goal. Implementing that algorithm is the job of the coder, but its creation should be done by a designer.

This is not a tool that should be used on every project, but it’s something that can change the way we experience games in the future. I believe it’s truly revolutionary and easy to use even by a small indie team. If you still haven’t played “Shadow of Mordor” go and get it, you’ll see how procedurally generated narrative makes the game more immersive than other products like GTA or TES, where more freedom is given to the player. I’m sure we’ll keep seing innovative uses of procedural generation.

On future posts I’ll discuss the implemention(on a basic level) and some ways to create these logical models that we use to evolve our data. Meanwhile, hit me on twitter or leave a comment here, I’m always around ;)source:Gamasutra

 


上一篇:

下一篇: