创建快速原型时,最好使用最终要使用的语言吗?


23

我一直在使用SFML(C ++)和Flash(AS3),并且通常为我已有的一些想法创建原型。

使用最终要使用的语言(通常是C ++)还是使用简单快捷的语言(AS3,Python等)使它正常工作,然后在开始使用主产品时从头开始,是更好的选择?

Answers:


31

这在很大程度上取决于您的目标是什么。

如果您想证明游戏玩法,那么迭代速度可能是您最重要的目标,因此,您应该选择适合的语言和环境。

如果您试图证明技术(使用中间件或其他方式),那么您的目标还包括选择使用哪种语言。


6
要添加的一件事是,使用最终目标语言以外的其他语言将阻止您的原型成为生产代码。考虑公司的政治因素时,您可能需要考虑这一点。
jessecurry

1
@jessecurry,我喜欢您所说的“帮助预防”。我已经看到原型Ruby代码在托管服务器上安装ruby支持以及几天后就可以使用了。
gradbot

除非您想证明性能,否则语言选择对证明技术也不重要。即回答“将完成这项工作”这个问题,一个快速编写脚本的原型可以为您提供所需的所有答案。
雷切尔·布卢姆

@Rachel好的,这就是为什么我在整个问题前加“取决于情况”。
Tetrad

14

原型制作的想法是快速,肮脏地使用您的想法,然后处理原型,以便为最终产品创建可靠的体系结构。

重要的是要认识到,原型并不是要(而且永远都不应)重构为产品,因此不必用与编写最终游戏相同的语言来编写原型。最好选择一种允许快速开发的编程语言,例如您提到的Flash。

原型本质上并不是为了持久的代码而设计的。原型被设计为被丢弃。他们是一次性的。过度设计原型是不合适的。原型就像西方电影中的一个城镇。都是门面。背后没有任何东西。您不能搬入并在其中一间房子中养家。

如果您想构建一些可能需要进一步使用的东西,那么这不是原型,而是Andy Hunt和Dave Thomas在The Pragmatic Programmer一书中称之为Tracer Bullet


4

原型的一般建议是使用完全丢弃的东西。开发游戏时原型的目标是确保您从中获得乐趣。您的软件所依赖的主要游戏机制是否真的构成了一款有趣的游戏?这是一个重要的问题,您希望尽快回答。使用一切必要的手段来获得答案。


1

我认为这里的答案在某种程度上取决于您使用多种语言的舒适程度以及最终产品的技术需求。如今,随着许多小型预算游戏的出现,实际上并不需要使用C ++进行编码-您再也不需要它提供的速度了。

我的经验是,如果您为使原型工作而苦苦挣扎,那么您就已经在代码质量方面做出了种种妥协。我喜欢扔掉那些原型并重新编码。从这些经验教训中,我可以再次编码(无论使用哪种语言),而且速度很快,并且具有更高的代码质量。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.