使用游戏引擎开发Monkey Islandish Mobile / Web App?

时间:2012-07-14 02:23:49

标签: android ios cocos2d-x marmalade

我正在尝试创建一个可以作为移动应用程序下载的图形点击冒险应用程序,或者在浏览器中本机运行。这将是我的互动设计学位的顶点项目,我有大约两年的时间来完成它。我打算在整个过程中学到很多东西,但我无法从哪里开始。

我一直在研究像Cocos2dx和Marmalade SDK这样的东西,但我想弄清楚哪些适合我正在尝试做的事情。这个项目归结为它,将是一个半互动的故事,其主要目标是展示我的艺术作品和界面设计。那么我需要一个游戏引擎,还是会更简单一点?

我一直在阅读一些使用HTML5和Javascript进行应用开发的人,这可以让我拥有跨平台的兼容性,但我在一些使用它的网站上看到的性能问题让我担心会出现一个小故障的用户体验。我在过去一年左右一直在学习C ++,所以如果有办法让我的代码在线托管并在浏览器中运行,我就可以使用它。

我在这里尝试过研究,我发现了很多好的信息,但我的项目有一些特定的需求。任何想法或建议将不胜感激。

编辑:有一个名为DisneyLand Explorer的迪士尼应用程序,它具有与我想要做的类似的交互式感觉。 http://itunes.apple.com/us/app/disneyland-explorer/id496004846?mt=8

2 个答案:

答案 0 :(得分:1)

如果你不知道从哪里开始,请列出一些强制性要求与那些只是很好的要求。例如:你需要3D渲染,还是2D分层渲染?您是否需要跨平台(即它能帮助您获得更好的成绩)还是仅仅是一件好事?

如果您不知道从哪里开始并且需要学习很多东西,我个人的建议是只关注一个平台。跨平台开发是一个时间接收器(专门针对初学者),只是为了在不同的设备或浏览器中使相同的游戏外观和感觉相同。这也是一种拖累,因为如果你不能用其他激励因素来激励你自己这样做,那就太好玩了。“好吧,如果我把这个游戏移植到平台X,我会赚到另外一些荒谬的钱。”

哦,是的,你会想要使用游戏引擎。虽然你不应该排除像Adventure Game Studio这样的替代品。这可能会非常适合您的设计目标,特别是因为您的学位是关于交互性的,您可能希望花费大量时间来实现互动而不是应对更多技术挑战。

从迪士尼游戏来看,你应该坚持使用像cocos2d,Sparrow Framework或Corona SDK这样的2D游戏引擎。 Unity是严重的矫枉过正,它专为那些知道自己在做什么的专业团队而设计。许多初学者都蜂拥而至,这部分与他们出色的营销和承诺“照顾一切,跨平台只需点击鼠标”有关。事实并非如此,即使工具有很多帮助,但仍然需要付出很多努力,但如果你需要不同的东西(这就是他们向昂贵的专业版许可证销售的方式),它们就会受到限制。

绝对查看各种游戏引擎可用的工具。在你的情况下,我怀疑ArtPig(基于时间轴的动画工具)可能会有很大的帮助。检查一下,如果你喜欢它,请确保选择支持它的引擎。

至于在没有加载的情况下开始动画:只有两种方式。设备/平台足够快以在播放动画时将纹理数据流入和流出内存。我不打赌它。或者您为每个场景预加载每个动画,这会增加加载时间并根据动画的复杂性需要相当多的内存。这可能在所有平台上都不可行。期待在该领域不得不妥协。

了解一下平台通常可以使用多少内存,以及纹理消耗多少内存(纹理内存不等于图像文件大小)。我看到很多问题,当他们正在做的所有人都在崩溃时,他们正在从大约200 KB的文件中加载20个2048x2048纹理。算一算,你会惊讶地发现它消耗了大约200 MB(32位无压缩)纹理内存。这比用户可用的大多数iOS设备更多,作为可用内存。

答案 1 :(得分:0)

我对Cocos2Dx了解不多,因为我仍在努力抽出时间学习它。但是如果你想要Cross-Platform stuff,你应该考虑Marmalade SDK。虽然正如LearnCocos2D's answer所说,做跨平台的东西并不容易,但是在单个代码中工作并改变几行代码比用不同语言编写整个代码更容易。 Marmalade也有Cocos2Dx的扩展,所以你也可以在Marmalade中使用Cocos2Dx功能。我们也在橘子酱中创建了3D游戏,虽然在某些地方看起来有些限制,但您总是可以直接调用openGL函数进行渲染。
就我个人的观点而言,橘子酱是构建游戏的一个非常好的引擎,它的6.0版本也支持HTML5个应用程序和phonegap api,虽然我从未使用它。
但是Cocos2D是免费的,Marmalade不是,所以如果预算是你的约束,这个信息将让你决定你的引擎。