推荐用于原型制作的2D游戏引擎[关闭]


76

您会建议使用哪种高级游戏引擎在Windows上开发2D游戏原型?(如果需要,也可以是mac / linux)

我所说的“高级”指的是(但绝对不限于):

  • 无需管理屏幕缓冲区,图形上下文等低级内容
  • 具有绘制几何形状的API
  • 好吧,我打算忽略它,但是我猜想基于一种实际的“高级”语言是一个加分(自动资源管理以及标准库中存在一组合理的数据结构的想法)。

在我看来,Flash是此查询中众所周知的大象,但我非常希望看到基于各种语言或SDK的不同答案。

Answers:


31

我已经广泛使用pygame,它有很多优点

  • 它是Python的库,是一种高级语言
  • 它有很好的清晰文档
  • 它有一个活跃的社区

Pygame是围绕SDL(跨平台2D图形库)的包装。Pygame还具有声音,音乐等包装器。请注意,尽管Python是高级编程语言,但pygame(在大多数情况下)是一个相当低级的图形库。


3
您可能要提到的是,尽管它是高级语言,但作为游戏框架,它仍然是相当低级的。
亨克

5
是的,您可以轻松地花几周的时间在PyGame中缓慢构建游戏引擎,而无需展示任何实际的游戏。这是一个很棒的库,但是根据我的经验,随着时间的流逝,您必须构建一些框架代码,然后才能对涉及更多的想法进行快速原型制作。
詹姆斯

35

如果你想看看其他的东西。您可以签出Löve(使用Lua)


4
哇,这似乎是学习lua的一种超级有趣的方式!
GloryFish10年

9
请注意,我在2010年9月22日发表了以上评论。7天后,我坐下来,一个晚上创造了我的第一本Löve游戏,之前从未写过任何Lua。从那时起,我与Lua和Löve一起开发了几款 游戏,目前我正在将Löve游戏移植到iOS。这是一种很棒的原型语言,也是学习Lua的一种很棒的方法。
GloryFish

2
这是真棒听到:d
奥拉维尔Waage

20

我发现XNA是一种很好的原型语言。很容易将一些简单的想法综合起来,以了解游戏/机制的工作原理,并且强大到足以真正完成工作。它还在论坛上有一个不错的社区,以寻求帮助,以及一些第三方工具(物理引擎/帮助程序库等)。


由于Microsoft XNA是DOA,因此下一个最好的事情是Monogame(XNA的开源实现)。
ashes999 2013年

2
他们仍然会支持它,您仍然可以使用它来制作游戏原型。他们只是不提供新功能。我不会说它死了,而是退休:)

18

GameMaker看起来像是一个很好的入门游戏原型或构建工具。它基于“无需编写任何代码”的拖放操作,因此看起来是针对初学者的。(我从未使用过它,只是在它上面发生过-但他们的网站确实看起来很漂亮。:)



14

亚当原子的Flixel也值得一提。一个用Flash编写的简单,现代的准系统游戏引擎。您可以在几分钟(而不是几天)中学习它。使用Flash(或Processing / Java)可以使您摆脱原型设计的最危险陷阱之一:您不能在任何严肃的平台上使用原型的代码。这是您要制作原型的游戏,而不是代码。


1
+1对于Flixel。很棒的引擎。我们在全球游戏果酱大会上使用了它(并赢得了:)。半抛光的原型无法比48个小时快得多!
michael.bartnett

真的很棒。今天早上我玩了一场戏,从头开始教我动作脚本。
mcintyre321 2011年

@ michael.bartnett,您可以链接到您的获奖游戏吗?只是好奇:)
詹姆斯·麦克马洪

@JamesMcMahon我感谢您的好奇心:)您能在聊天中ping我吗?另外,想为以后的评论读者提及,在他们两个之间,我现在比Flixel更喜欢Flashpunk。
michael.bartnett

8

它不是专门的游戏引擎,而是研究Processing。一些优点是:

  • 所需的设置最少。您可以在30秒内将某些内容显示在屏幕上。
  • 可以随时使用Java来收集诸如收藏之类的内容,但是许多绘图,动画和交互语法比简单的Java冗长得多。
  • 您编写的任何内容都将与Processing.js兼容,因此您可以在拥有现代浏览器的任何地方使用它。

8

我使用Novashell。

我使用Game Maker作为主要工具,但是YoYo Games遇到了问题(我现在不再在这里进行解释),然后我找到了Novashell。

Novashell确实是一个原型制作工具,它是由同时制作“ LORD”(红龙传奇)和“ Dink Smallwood”的人制作的,因此他可以为Ludumdare(48小时Gamejam竞赛)快速制作游戏,并提供地图编辑器,支持LUA脚本,由C ++制成,具有zlib许可证(意味着您可以对源代码做任何想做的事情,而不必声称您发明了自己没有的东西),并且具有物理引擎(Box2D),粒子系统(适用于ClanLIB的线性粒子),支持MikMod和Fmod,可在Linux,Mac和Windows上运行,非常易于使用,您可以向Seth询问!

编辑:塞思是程序员的名字(也使耶和华)


谢谢!以前从未听说过此功能,但功能列表很有趣,可以尝试一下。也开源
Nek 2012年

是的 我自己Novashell的版本是相对于官方的版本有点好转,但还需要一个LOOONG时间之前,我可以释放它:((它甚至不是在计算机物理靠近我)
调速装置

无论如何,我在这个周末的Ludum Dare之前没有时间去学习它。希望您在下一个LD之前发布它。
Nek 2012年

LD的主题演讲也是塞思本人!
Nek 2012年

是的:)赛斯是真棒......我不与激光二极管跟上:(所以我即使在接下来的LD会不知道。
调速装置

7

Game Maker非常酷,基本上可以完成您描述的所有操作。它具有用于初学者的拖放图标和用于高级用户的代码。但是,在专门使用C ++一年以上之后,回到Game Maker还是很痛苦的。

缺点:

  • 没有用户定义的数据结构(没有像C结构或C ++类,只是“对象”)
  • 动态类型(类型“ varAwesome = 0”,哦,天哪,它刚刚出现)
  • 悠悠游戏是邪恶的

优点:

  • 易于使用,难以掌握
  • 为您做很多低水平的事情
  • 充满活力的社区

我从2002年开始使用Game Maker制作游戏。:)


6
大声笑在动态键入-缺点...
RCIX

是的,那和弱打字。在意识到模数运算符以浮点数返回答案之前,我遇到了一些非常奇怪的错误。
詹姆斯

没有用户定义的数据结构会很麻烦。如果您需要从一个函数返回多个值,则需要为其创建一个对象,但是所有对象都是具有位置,事件等信息的完整游戏角色。您不能传递数组(如果未指定)索引,则假设[0])
Bart van Heukelom 2010年

如果您想快速制作游戏设计原型,我也建议使用GameMaker。GameMaker非常强大,我已经看到了一些出色的功能。如果先在GameMaker中对游戏设计进行原型设计,然后再继续开发C ++或XNA游戏引擎,则可能会节省很多时间和痛苦。
库珀

我实际上有一个动态内存分配脚本库,专门用于解决数据结构不足的问题。我要说的是,拥有这样的库并能够在lite版本中做到这一点无疑使使用起来非常容易。
大鸭

5

我已经使用DarkBASIC Professional两年了,真的很喜欢。如果您无力购买完整版,则可以简单地下载免费的广告支持版本。DBPro的开发商Game Creators还发布了定期通讯,使读者阅读得很好,此外他们还拥有一个相当大的活​​跃社区。以上所有内容均可在此处找到:

https://www.thegamecreators.com/

检查一下,希望在那里可以找到一些东西。

干杯,BFM



5

我会向初学者和快速原型推荐Scirra Construct

游戏引擎本身是抽象的,因此您可以完全专注于游戏。插件启用附加功能,“代码”由可拖动事件,条件和操作块等组成。

建构正在积极发展中,并且拥有活跃的社区。


3

卷轴游戏开发套件版2是一个游戏开发IDE和框架正是这种原型设计和简单的2 d游戏开发的第二个主要迭代(重写)。在第二次迭代中,它利用了现代语言(C#)和技术(反思自定义代码)的优势,并解决了设计中的一些基本缺陷(现在,它使您可以将精灵直接放置在地图编辑器中,而不是放置在地图编辑器中)只有一条必须在外部连接到Sprite的路径,并且它并不会像Wysywig编辑器那样尝试,因为有些事情只想在运行时发生,而有些则只想在设计时发生。

一些有趣的功能:

  1. 绝大多数框架代码都可以在IDE中公开和编辑。如果您不喜欢内置函数“ PushTowardSprite”的行为方式,则可以调出编辑器并对其进行更改,或者添加自己的编辑器以及与所有内置命令一起出现在列表中。
  2. 您提到了绘制多边形的功能。该框架基于OpenTK,它是围绕OpenGL的.NET包装器。因此,您唾手可得OpenGL的所有功能。您可以在IDE中进行编辑的框架代码中只有一个类“ Display.cs”,可以添加所需的任何绘图功能。
  3. 许多框架的目标是侧滚轮物理学(在斜坡上行走,骑行平台等),因此很多代码已经为您完成;当然,您可以为其他2-D游戏类型自定义或忽略它。一个俄罗斯方块游戏已经写好了。
  4. 视差滚动
  5. Alpha半透明性可以嵌入图形中或应用于任何图形的图形中。
  6. 所有项目数据都保存在单个XML文件(.NET数据集)中。外部编辑器可以访问文件,从而在必要时扩展IDE中可用的功能。
  7. 首先将项目编译为C#项目(与Visual Studio兼容),然后编译为EXE文件(嵌入所有资源)。如有必要,可以将项目加载到Visual Studio中以进行增强的调试或代码开发界面。

3

借助专门从事快速原型制作的公司PreviewLabs,我们经常使用Unity3D制作2D游戏原型。

尽管它是3D引擎,但是有几种方法可以将其用于2D原型制作。这些是主要优点:

  • 可在PC和Mac平台上免费使用
  • 付费版本还适用于iOS和Android,从而使您能够了解您的概念在不同平台上的工作方式。
  • 它带有一个物理引擎,您可以在制作2D游戏原型时使用它。

我正在撰写一系列有关如何将Unity3D用于2D游戏原型的博客文章。这是第一个:Unity3D中的2D游戏原型


3

用Java编写的Slick框架是一个不错的选择。这是我最初用来学习编程的东西。好处是它可以跨平台运行,可以为Web生成applet,并且可以通过Eclipse或其他Java环境提供出色的工具/库支持。就是说,我最终转而使用Flash只是因为,如果您想发布游戏,没有什么比这更容易或更有效的了。


2

我开始将FlashPunk用于我的第一个游戏开发项目,到目前为止,它确实非常出色。它是为游戏设计而构建的Flash库。它是类似于Flixel的准系统游戏引擎,但更像GameMaker,对初学者而言比Flixel更友好。FlashPunk与Ogmo Editor一起使正确进行关卡设计非常高效,而不必花费大量时间进行编码。有关这三个方面的更多信息,请参见Flash游戏Dojo


1

我将第二次提到Game Maker。我想说的是,如果每个游戏引擎都从“易于使用/学习但功能有限”到“真正强大,但要花很长时间才能掌握”的连续性... Game Maker几乎就是定义易于使用的极端。正如Cyclops所说,大多数基本功能(精灵,创建游戏对象,移动,碰撞检测,记分等等)都是拖放图标。实际上,它确实包含了相当强大的脚本语言,一旦您开始变得不错的话,您也可以使用它。但是,当您开始用嵌入式脚本语言编写整个游戏时,也许是时候“学习” Flash或PyGame。

尽管如此,作为Game Maker的初学者,无需编程,我还是在Game Maker上取得了巨大的成功,而且推荐得还不够。


1

我是游戏制作的初学者,让我印象深刻的是,能够如此快速,轻松地从pygame中制作出一些东西。Python + SDL =确保易用性。


1

好吧,如果它是用于原型制作的,那么您实际上并不需要具有资源管理和类似功能的后端。只要您可以加载图形并显示它们,就可以进行设置了。我反对这样做,建议“自己写”。您将花费零时间弄清楚如何使用某人的api。如果真的不能自己编写自己的东西,则DirectX附带一个提供大多数基本服务的示例框架。不受框架的束缚意味着不浪费任何时间遵守其规则,也不受其范围的限制。我一直在做原型工作,而最快的结果就是我可以只花一些代码而不必担心框架或受其妨碍。2D包装器实际上只需要加载图像并能够以x,y显示图像(可能会按比例缩放),旋转,如果您想成为Trippy,则使用着色器。其余的您可以根据需要进行编码。对于一个原型-代码将不是很好。


1

GarageGames的Torque-2d是一个很棒的游戏引擎,拥有一个很棒的社区,一些令人印象深刻的附加组件,并且对Windows,Mac和Wii甚至iOS都提供内置支持(需单独获得许可)。它的价格为99美元。

Unity3d(您可以在上面开发2d游戏)是另一种非常优质的游戏引擎,入门门槛相对较低。同样,除了Win / Mac,Wii,Xbox,Playstation和Web之外,它还拥有强大的社区和非常酷的多平台支持,包括iOS和Android。

适用于iOS的出色的以iPhone为中心的游戏引擎是cocos2d。


1

您的问题是关于编写2D游戏原型所需的时间,但我认为还有其他需要考虑的问题:Flash的最大优势是与他人共享该原型所需的时间。几乎每个人都已经安装了Flash。我可以上传SWF,然后通过聊天或电子邮件将URL传递给某人。没有下载,没有安装,没有解压缩,没有exe,没有跨平台问题。我最终选择Flash是因为它非常易于共享和获得反馈。迭代涉及再次上传并告诉他们重新加载,我希望快速迭代进行原型制作。(Javascript + Canvas / SVG是另一个有用的选项,我敢肯定,我们很快会看到像Flixel / Flashpunk这样的JS库)。


1

HGE 看起来很棒。它具有粒子编辑器,GUI编辑器,并由专业程序员使用。


1

总有GLBasic

这是一种相当高级的语言,最近一直在扩展其移动支持。

  • 既有2D也有3D
  • 非商业免费
  • 基本的精灵命令,具有像素或块冲突
  • 编写一次并部署到许多设备和平台上(大多数情况下)
  • 通过包装具有Box2D支持(搜索论坛)
  • 具有功能的自定义数据类型(接近类但缺少许多OOP功能)
  • 只需几行代码,即可在短时间内使精灵在屏幕上移动

1

PixieEngine是一个基于Web的IDE和游戏开发环境。它使用CoffeeScript编写脚本,并提供用于像素艺术和声音效果的内置编辑器。

PixieEngine IDE


1

我一直在进行类似的任务,并遇到了此处未提及的其他一些工具:

  • Stencylworks是一个IDE / dev环境,用于非常快速,轻松地构建Flash游戏,以及现有模块的可视界面。它似乎是100%免费的,不是开源的,主要优势包括流畅的无代码编码(这不像Gamemaker的schitzoid脚本/可视界面)。我确实担心可视界面的局限性-不清楚面向对象的实际程度如何;它肯定有简单的东西;大概是javascript脚本编辑器在某个地方,但是还没有看到它。它似乎旨在以协作开发为核心(聊天内置于IDE;所有资源和行为托管在服务器上,由用户提供)。对于原型开发而言,这可能是很棒的。我还没有做很多事情,但是本教程简直太简单了,

我也尝试了其他一些奇怪的方法。

爱丽丝是开放源代码的3D游戏/开发环境-看起来有些笨拙。

Kodu在简单/有限范围内超越了Gamemaker,主要面向儿童,使您可以使用Xbox控制器来构建游戏。免于Microsoft Research

来自麻省理工学院实验室的Scratch是免费的并且是真正的基本2D,旨在让孩子们进行编码。视觉笨拙。虽然灵活。

回想起Papert的LOGO,据称Microworlds JR可以让您写徽标。IMO需要更新才能有用。

对我来说,到目前为止,归结为Construct 2 vs Stencylworks ...尽管我将了解在Unity中构建像样的2D游戏是多么容易,正如我所知并喜欢Unity。


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.