我应该使用哪些平台和工具来进行快速游戏开发和原型设计?
假设我想尝试一个简单的游戏或游戏机制,那么快速创建可玩的东西的最佳工具是什么,我可以尝试尝试这个想法?
该平台不一定必须易于学习,这不是问题,但一旦学会它必须快速使用。
用于 2D 游戏的Flash或Game Maker 。Unity用于 3D 游戏。
Pygame值得一试,主要是因为可以使用 Python 这样的高级编程语言来构建游戏。
请参阅您将什么用于游戏开发?
你调查过微软的 XNA 平台吗?
我喜欢索引卡和记号笔。
如果平台独立性是一个考虑因素,您可能需要查看jMonkeyEngine。它是一个用 Java 编写的基于场景图的 3D 引擎。
public class HelloWorld extends SimpleGame{
public static void main(String[] args) {
HelloWorld app = new HelloWorld(); // Create Object
// Signal to show properties dialog
app.setConfigShowMode(ConfigShowMode.AlwaysShow);
app.start(); // Start the program
}
protected void simpleInitGame() {
// Make a box
Box b = new Box("Mybox", new Vector3f(0,0,0), new Vector3f(1,1,1));
rootNode.attachChild(b); // Put it in the scene graph
}
}
这段代码就是您开始在屏幕上显示 3D 图元所需的全部内容。该示例为您内置了许多基本功能,包括摄像头控制、WASD 移动和综合性能统计。您当然可以覆盖所有这些并做任何您想做的事情。
我建议您尝试以下方法:
Flash 非常适合快速开发 2d 游戏(以及用于 actionscript 3 的FlashDevelop 3 IDE),但它很昂贵。
Silverlight 2 是另一个不错的选择,如果您使用 Visual Studio Express 和一些免费的图形编辑器(如 inkscape),它可以免费使用。
如果你想做一些 3d,我强烈建议你看看Blitz3D(它使用旧的 DirectX 7,但你仍然可以用它做强大的东西)。您可以使用它进行非常快速的原型制作。您也可以尝试BlitzMax,以获得强大的 2d 引擎(也有 irrlicht3d、minib3d 等 3d 引擎插件)。
对于更强大的 3d 引擎,您应该尝试MOGRE(.NET Ogre3d 包装器)。
我会说 Flash 之类的东西,因为它是快速和可编码性的完美结合。
还有一个基于 Lua 编程语言的快速 2D 游戏原型引擎Love2D 。
HGE (C++, DirectX)
非常简单易用的 2D 游戏开发库。
http://wiki.blender.org/index.php/Game_Engine
Blender Game Engine 是一个 3D 游戏开发环境,具有基于 Python 的“AI”系统。
Flash 毫无疑问是游戏原型制作的最佳平台。使用 Flash,您可以在几个小时内运行游戏。与低级语言和框架相比,学习曲线一点也不差。
关于 Flash IMO 的好处是:
总而言之,Flash 是 IMO 概念验证和快速游戏开发的最佳平台。社区使事情变得更容易,因为您想做的大部分事情已经做了很多次,并且通常在许多论坛和博客上讨论。
试试 Game Maker 7 http://www.yoyogames.com/gamemaker/
我使用SFML。它类似于 SDL,但 OO 和更面向游戏开发。它是免费且非常易于使用的,具有清晰的文档和教程,不断开发,跨平台,并且绑定到 C、D、.NET、Python 和 Ruby。它是用 C++ 编写的。
我还建议一个优秀的 2d 物理引擎——Chipmunk Physics。它非常快,用 C 编写,绑定了 Python(pymunk) 和 Ruby 以及可能更多的语言,而且非常容易设置。快速搭建一个小游戏来测试一个想法很容易。
所以... Python 或 Ruby 与 Chipmunk Physics 和 SFML。还有 Ruby 的 Gosu 游戏引擎,并且有一些 Chipmunk Physics 集成,但我实际上没有使用这个。
ApocalyX值得一试,你使用 Lua 编写代码,虽然它不是那么快速、简单、干净或易于使用,但它有很多功能,而且其中的原型设计非常快。
我碰巧喜欢 TorqueScript——它多年来一直为我服务——而且我喜欢 Torque Game Builder。对于 3D,他们有 Torque Game Engine 和 Torque Game Engine Advanced。GarageGames是相当不错的东西。前面的学习曲线很小,但之后你就会开始航行
如果是2D游戏,QT的QGraphicsScene非常好用。
IndieLib这些天看起来很漂亮。也提供很多不错的教程和指南。它是 C++,但也有允许您使用 .NET 的包装器。
如果你的 coll 使用 2d 的动态语言,那么 PyGame 和 3d 我真的很喜欢 Panda3d,它们都是跨平台的。如果你不喜欢 python,你可以查看 XNA 或 TAO 都在 .NET 上运行,我认为 TAO 也可以在 Mono 上运行。
我更喜欢使用 Unity3D 进行开发,但在原型设计方面没有什么能比得上 Flash。Flash 是一个完美的平台,用于在将游戏机制实施到生产流程之前对其进行测试和改进。学习曲线也很小。
Flash 使用 Actionscript 和 Unity Javascript,所以因为它们都是 ECMA 脚本语言,所以从原型到生产的过渡很顺利。
我正在使用 Python 进行原型设计,CGKit 是一个令人难以置信的库,在 PyOpenGL 的帮助下,可以轻松创建可播放的演示,并且大多数优秀的 3d 内容创建工具都支持 Python 脚本,这对你来说是必不可少的。
如果你喜欢动态语言,试试Pygame?另外,我认为您也可以使用这个来定位 OpenGL...取决于您在看什么。XNA Game Studio 很棒……或者你想看看一些 Mac 软件
我会选择www.Unity3D.com作为我的首选平台。
为什么?因为它是一个跨平台的框架,所以如果你以后付钱,你也可以发布到例如。iPhone、iPad、Android、Xbox、Playstation 和 Wii...
启动起来有点“困难”,但据我所知,它目前是 iPhone/iPad 3D 游戏开发最常用的平台之一。
你也可以做 2D 的东西,但引擎从一开始就是建立在 3D 之上的,包括心理、闪电、阴影,你可以使用免费许可证构建免费游戏。用户需要的只是下载并安装游戏(像往常一样)或在浏览器中玩游戏(这需要用户下载并安装插件,就像 Flash/Java 一样)
Unity3Dplayer 利用平台的 3D 加速,所以一些演示非常好看。
另一方面,Flash 对于图形艺术家来说是一个更简单的平台(从一开始),但它还没有真正为 3D 设计 - 今天史蒂夫乔布斯又名“苹果之神”仍然认为 iPhone/iPad 不应该能够运行 Flash 应用程序在他们的 iOS 中。(因为它可能会让太多的免费游戏在 AppleStore 之外通过,这将导致苹果在应用程序上的收入减少,也不会迫使开发人员学习如何编写原生 Objective-C)
所以我会选择 Unity3D
Flash 允许您开发游戏,这些游戏可以使用 AIR 作为桌面应用程序运行,也可以作为瘦客户端运行,可以在带有 flex 或 AS3 的浏览器中运行,甚至可以在带有 Flash Mobile 的手机中运行。
许多尚普兰学院的游戏设计专业学生使用多媒体融合进行快速原型设计和开发。
这是这里已经很不错的答案列表中的另一个相当不错的部分。 多媒体融合
用于快速原型制作的 GameMaker。
我从未使用过 PyGames,但我的兄弟一直在使用它,如果您想要比 GameMaker 更强大的东西,我建议您尝试使用它,但老实说 GameMaker 非常强大。
对于 3D 游戏,我会尝试 Blender。Blender 可以使用 Python 进行扩展。我也听说过很多关于 Unity 的好消息。
对于在线游戏,我会使用 HTML5 的 GameMaker。或者我只会学习 HTML5。
我经常使用 python,虽然我从未将它用于游戏,但我可以看到它的易用性对游戏非常有益。我用 GameMaker 创建了一些游戏。这是一个非常好的程序。如果您想创建一些花哨的东西,请使用它。如果您想花时间创建自己的架构来构建游戏,请使用另一个程序。
你可以使用铜立方。您可以在没有任何代码的情况下启动并运行基本游戏,然后使用内置脚本语言添加一些特定的游戏逻辑。然后它将编译为 Flash SWF 或本机 Windows EXE。
您可以在此处阅读一些教程来帮助您开始使用 Coppercube 。
Flash 的一个有趣的变化(仅限 2D 游戏),如果您的项目是 UI密集型(例如战争游戏、角色扮演游戏、策略),也可以使用 Flex SDK 和 Flash Builder 4,它还允许您拖放 UI 组件并快速将原型对话框或界面等放在一起。如果您正在做一个典型的 Flash 射击游戏或休闲 Flash 游戏,我可能不建议在这种情况下使用 Flex。