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

探讨如何为游戏选择一个完美引擎

发布时间:2013-02-26 13:58:10 Tags:,,,

作者:Miko Charbonneau

在设计游戏时,你可能会从自己喜爱的类型入手。或是选择自己熟悉的引擎,而后基于此创建游戏。但若是首次遇到的创意,该如何下手?是套用自己了解的用法? 还是根据游戏指示动手?我从事的大部分项目都是按照叙事模式进行。首先提出想要传递的主题或概念,而后基于此创建游戏世界、角色、机制、以及性能。可能的 话,我会在形成制作理念后,为其选择引擎与平台。目前,我们正处于开发阶段,其中有三款完全不同的游戏需附加到引擎上,因此我认为这是探讨如何选择游戏引 擎的大好时机。

游戏内容

听说过电梯游说吗?如果现在有人询问,你能利用乘坐电梯的时间描述自己的作品吗?即使是从底层搭到顶楼,这也是个严峻挑战。然而,如果你无法用一句话描述自己作品的有多出色,那你应对它进行重新评估。不要只考虑到玩法类型,还要思考传达的氛围与体验。游戏的每个元素都要支持其理念,而出色理念总能维持游戏稳步运行。找出游戏精髓需耗费一定时间,但为了开发,这些付出还是值得的。

game engine(from sourceforge.net)

game engine(from sourceforge.net)

游戏性能

找出游戏体验的核心部分后,便可开始创建性能列表。理想上,在编码原型前就应保证性能完整,但从编码中你会有更多收获,因此,如果你仍致力于某些细节,也不要给自己太多压力。至少,你要考虑到以下这些关键方面:

*是采用2D还是3D模式?是操控3D环境,还是使用动画与插画?或是两者结合?

*采用何种美术风格?使用哪些色彩?需要着色器,粒子效果,或是其它特殊绘图性能?

*采用何种控制策略?是鼠标,键盘,还是触屏?还是使用虚拟墨水、声音或录像这种特殊输入方式?

*音频方面,是需要音乐还是音效?或是两者结合?需要将它们附加到特定的对象或地图区域吗?

*实施哪种核心玩法?它属于常见题材吗,可以借用热门引擎上的免费代码事例吗?

*有何盈利计划?是推出免费模式?还是付费模式?或是依赖广告或微交易模式盈利?各个引擎在费用许可上有着各自政策,你应选择匹配预算的做法。

运作平台

制定出性能列表后,现在应考虑另一方面:运作平台。这是个难题,尤其是处在小型操作时!但是,不少游戏引擎端口连接到多个平台上,因此如果你希望游戏在多个平台上运行,就应考虑到这点。如果你之前仅针对一种设备开发,而后想在更多平台上运行,那你可能要付出双倍精力。我提议,首先选择自己使用的设备,这样既可自我测试,还能在开发过程中向他人推荐。如若可能,最好选择符合游戏理想控制方案的设备。

引擎选择

游戏领域存在大量引擎!快速搜索网页便可获得大量选项,接着根据自个需求进行筛选。同时还可查看自己钟爱的作品,研究其使用的引擎。在此我无法列出所有游戏引擎,但以下是我个人经常使用的引擎:

*JS-VINE:这是款性能强大的工具,它能在你的浏览器内,分支制作视觉小说风格的过场动画。我主要用其研究用户,我提议可在web教程或基于故事的web游戏中使用。

*Inform7:我喜爱这项工具,它能使用英语编程语言制作交互式小说。如果你已提出一个优秀创意,但还未编写代码或绘图,它能活跃设计文档,向用户传递制作理念。

*Unity:该引擎适用3D游戏开发。其使用方法相当简单,且能导出到多个平台上。

*Unreal Development Kit(游戏邦注:以下简称UDK):我个人偏爱UDK。虽然我仍在自学阶段,但是Kismet的视觉编码风格符合我的设想,虽然掌握起来有点难度,但我喜爱你在游戏世界中增减图形的方式。这是款强大的3D引擎,十分适合设计新手。

construct 2(from spiffy.sg)

construct 2(from spiffy.sg)

Construct2:最近我们刚刚注意到这款引擎。它十分有趣,而且提供了大量优秀且简单的教程,方便你在几分钟内制作出简单的街机风格游戏。此外,该引擎针对多个平台推出,包括web与Windows 8。

编写游戏引擎

事实上,有些人认为可以从零开始编写自己的游戏。我知道不少程序员倾向于依靠自个力量制作游戏的方方面面。但我也见识到大量作品一开始便基本走向惨败。我强烈建议你不要执行无谓的重复工作。而是从已有基础入手,编写代码,调整出自己的理想模式!编写人们从未见过的全新性能不是更有趣吗?没错,这种做法是可行的。比如我们最初两款作品一开始便没有依赖外部游戏引擎。尤其在首个项目上,最好完成某些部分,并感觉良好。切记不要盲目行动!如果你打算采用上述做法,那么从小型项目入手。我们首款Android应用其实展示了一组信息。但它已驻扎商店,获得不少好评,那样,未来我们便能围绕此基础制作游戏。

总结

选择游戏引擎后,应开始体验自己的新作!制作教程,创建原型,分解其他事例代码。无论你做出何种选择,你都应根据自个理念不断重新评估进程。相信自己的直觉,在偏离制作方向时及时调整。我们已经决定采用一款简单小型的游戏,基于Construct2引擎完成作品。我想结果将是可观的,而且能会为我们提供大量有用信息,方便我们在之后的项目制作中使用。(本文为游戏邦gamerboom.com编译,拒绝任何不保留版权的转载,如需转载请联系:游戏邦

Choosing the Perfect Game Engine

by Miko Charbonneau

The following blog was, unless otherwise noted, independently written by a member of Gamasutra’s game development community. The thoughts and opinions expressed here are not necessarily those of Gamasutra or its parent company.

When designing a game, you might start with a type of game you enjoy and work from there. Or you might choose an engine you already know and build a game around it. But what about when the game idea comes first? Do you pigeonhole it into what you already know how to use? Or do you let the game dictate how it will be made? Most of the projects I work on start from a narrative. I have a theme or concept that I want to get across, and the world, characters, mechanics, and features follow from there. So when possible, I try to choose the engine and platform after we have a good idea of what we want this product to be. At the moment, we’re in a development position where three radically different games need to be attached to engines soon, so I thought this might be a nice time to talk about how we make this decision.

What is your game about?

Ever heard of an elevator pitch? If someone asked you, right now, could you describe your game in the time it takes to ride an elevator? Even if you’re heading from ground to penthouse, this can be a tough challenge. But if you can’t describe how awesome your game is in one sentence, you should re-evaluate. Try not to think just of the type of gameplay, but the mood or experience you want to get across. Every element of the game should support your concept, and having one you feel good about will keep you on track. Figuring out the soul of your game takes time, but it’s time worth taking in order to shape its development.

What are your features?

Once you’ve found the heart of your game experience, you can start building a features list. Ideally, this will be as complete as possible before you start coding up a prototype, but you can learn a lot from playing around with working code so don’t stress out if you’re still working on some details. At the very least, you should think about these key decisions:

2D or 3D? Will you be navigating a 3D environment, or using animations and illustrations? Will there be a mix of the two?

What kind of art style? What colors will you use? Will you need shaders, particle effects, or other special graphical features?

What’s the control scheme? Mouse and keyboard or touch? Are you using special inputs like virtual ink, voice or video?

What about audio? Will you need music and/or sound effects? Will you need to blend them together? Will you need to attach them to certain objects or areas of the map?

What is the core gameplay? Is it a common genre that might already have free example code in a popular engine?

What’s the business plan? Are you giving this game away for free? Are you selling it, or relying on ad revenue or micro-transactions? Every engine has its own policies on licensing fees, and you should choose the product that matches your budget.

What platforms do I want to support?

Now that you’re armed with your list of features, there’s one more thing to consider: what devices are you going to support? This is a very difficult question to answer, especially if you’re a very small operation! But many game engines port to more than one platform, so you should take this into account if you know there are multiple places you want your game to shine. It’s twice the work if you build it all for one device only and discover you’d rather have it on many. I recommend first choosing a device that you personally use, so you can do testing yourself and bring it with you to show others while in development. And if possible, choose the device with the control scheme ideal for your game.

What are my options?

There are so many game engines to choose from! Doing a quick online search will pull up lots of choices, which you can then check against your requirements. You can also look up some of your favorite games and see what engine was used to make them. I couldn’t possibly list all of the game engines out there, but here are a few that I’ve worked with personally:

JS-VINE This surprisingly powerful tool can be used to make visual novel style cut scenes with branching paths, all within your browser. I used it extensively in a user study and highly recommend it for web tutorials or story-based web games.

Inform7 I love this tool, which uses a programming language based in English to make interactive fiction. If you’ve got a strong idea but no code or art yet, it makes a great living design doc to walk people through and explain your idea.

Unity One of the best engines to use for 3D game development. It’s fairly easy and exports to many platforms.

Unreal Development Kit Personally, I’ve fallen in love with UDK. I’m still learning it myself, but the visual coding style of Kismet clicks well with my brain, and while it was a bit of a learning curve, I like the way you can add and subtract shapes in the world. A very powerful 3D engine, with a reasonable license for those just starting out.

Construct2 This is what has caught our attention most recently. It’s fun to play with, has lots of great, easy tutorials and you can make simple arcade style games within minutes. And it publishes to many platforms, including web and Windows 8.

Can’t I just write my own engine?

Admit it, some of you are thinking that there is no reason not to write your own game from scratch. I know lots of programmers that were incredibly excited about making everything themselves. And I have seen many of those projects wither away almost from the start. I strongly advise you not to reinvent the wheel. By starting with a pre-existing base, you can usually still go into the code and modify whatever you want! Isn’t it going to be more fun to write brand new features that no one has ever seen before? Having said that, there are cases where it’s okay. Our first two games were built ground up without an outside game engine. Especially if it’s your first project, it’s more important to get something done and feel good about it. But don’t go at it without a plan! If you’re going to do this, start small. Like, really small! Our first Android app was literally a list of information. But it went in the store, got some good reviews for what it was, and we had a base to build off of in the future.

What happens next?

Once you made a decision, start playing with your new toy! Do tutorials, make prototypes, break other people’s example code. No matter what choice you made, you should constantly be re-evaluating your progress against your concept. Trust your instincts, and don’t be afraid to change things if you’re off-track. In our case, we’ve decided to take a smaller, easier game to test out Construct2 all the way to a finished product. I think it’s going to work out great, and give us lots of good information about using this engine for our other projects.

Best of luck to you, whatever you decide!(source:gamasutra)


上一篇:

下一篇: