2013年8月30日
古墓破解者:那些超酷的神秘大门是如何运作的?(客座文章)
Kurt Bieg 是 Simple Machine 的创始人,这是一个单人独立游戏工作室。从提出独特的游戏机制到编写代码再到创作音乐,Kurt 负责所有环节,目标是为意想不到的受众带来独特的体验。
Kurt 最近的游戏《古墓破解者》被苹果公司评为“新鲜有趣”,并于 2013 年 5 月入选为 Corona 本周应用。在这篇文章中,Kurt 分享了他如何在《古墓破解者》中创建神秘大门。
在解释大门的技术原理之前,我必须先解释 《古墓破解者》的设计理念,以便您了解它们存在的原因。
《古墓破解者》的灵感来源于一个想法。制作一款从头到尾完全沉浸式的益智游戏。游戏中的一切都有其原因,从背景设置到能量道具,再到实际的谜题。一切都像你真的走进古墓一样存在。这意味着设计实际存在于古墓中的 UI 元素。例如,高分列表保存在艾莉娅的日记中,可购买的能量道具从古墓大门中的宝石中发出,就像古墓在进入之前提供给艾莉娅的神秘祝福一样,甚至益智游戏本身也被设计成艾莉娅必须解决才能获得古墓中财富的锁。在这里,我将告诉你一个秘密。《古墓破解者》从来不只是一个简单的游戏。它从一开始就计划了一个丰富的叙事。即将到来的更新将让艾莉娅在不同的古墓中穿梭,收集文物,以努力获得一件稀有而强大的文物。
嗯,我刚才说到哪儿了?
哦,对了!当我开始规划游戏并研究其他游戏时,我意识到这种类型的设计在匹配游戏中不存在。一般来说,匹配游戏都有某种“东西”的主题,比如糖果、宝石、动物等等(向 Puzzle Quest 和其他添加了更多内容的游戏致敬)。可以说,由于匹配 3 机制的疯狂流行,这些游戏在没有这种身临其境的主题和叙事的情况下也能很好地运行。但我喜欢寻找新的和具有挑战性的领域进行创新,而制作一款具有特定设计焦点的匹配游戏是我想要创造的东西。我还为匹配游戏开发了一种全新的机制,这促使我围绕这种独特的机制构建一个故事。同样重要的是要注意,我与一位非常有才华的艺术家 Vic Soto 合作,他独特的风格和奉献精神创造了一个令人难以置信的组合。
当我们刚开始制作《古墓破解者》时,我们只有一个带菜单按钮的大门。当您点击播放时,大门会像现在一样滑开,当然,没有神秘的古墓和超酷的艾莉娅·布莱特角色。我一直想用一个放大到大门的镜头来制作古墓房间,但把它搁置了,因为我以为这是一个相当大的任务。但是,正如我使用 Corona SDK 和 Corona 构建的卓越 Lua 语言所学到的那样,进行重大更改几乎不比编写 10 多行代码复杂。
当我最终坐下来尝试时,大门滑开和放大到谜题实际上只花了半个小时就非常简单地实现了(大部分时间都花在了调整 x 和 y 坐标上)。如果你们中的任何一位使用过 Corona 的 Storyboard 库,您可能会理解它有巨大的潜力来实现一些看似不可能的视觉效果,而无需等待加载时间。如果您没有使用过,您真的应该去了解一下。
总之,当我开始了解 Storyboard 库时,我发现滑动场景的基本元素非常棒,但要制作大门和缩放效果,我需要做更多的事情。我不想只是平移到场景,我想同时让两个场景共存,这样我就可以让游戏菜单场景叠加在谜题场景之上。当玩家在菜单中按下播放时,游戏会放大,大门会滑开,然后谜题滑动狂潮开始。
我使用了两个基本“技巧”来实现它。好吧,它们根本不是技巧,只是我花了一些大量研究才找到的东西。
首先,您是否知道当您处于故事板场景中时,您可以将拥有的任何文件调用为叠加层,它将在当前场景之上运行该场景?
我一开始并不知道这一点,但随着我越来越努力地让古墓栩栩如生,我意识到这将是在不中断的情况下让谜题在后台加载,同时显示高分列表和能量道具等菜单的唯一方法。我只是在匹配结束且大门关闭后在谜题游戏场景中调用以下行
然后,当玩家在菜单中按下播放时,我从菜单场景中调用这行代码
非常有用,但这并不是我唯一需要的。你看,这个古墓实际上类似于一个开放式三明治。不,真的,我对此百分之百认真。在 Corona 中,您可以实际分离您正在使用的图层,因此故事板可以在一个图层上,但您可以在其下方或上方添加其他图层。它的工作原理就像任何其他显示图层一样,您可以在其中添加图像、组等。在我的 main.lua 文件中,我只是这样做
然后我将背景图像添加到 _G.background 图层。现在,关键时刻来了,该图像实际上是您在游戏中看到的带有石墙和地板的图像,碰巧的是,其他所有东西,如古墓大门、火把、艾莉娅、笔记本,都在 storyboard.stage 图层上。这允许我在古墓大门滑开时访问和放大背景图像(墙壁和地板),从而让游戏感觉您实际上是在走近它。
很酷,对吧?我知道您在想什么,“是的,库尔特说得对,这很符合开放式三明治的定义!”好吧,可能没有感叹号,但仍然如此。
这些是我用来制作特殊酱汁的两件事。从那里开始,只需将大部分移动对象设为全局对象,以便菜单或谜题游戏场景可以移动它们。
总而言之,《古墓破解者》还远未完成。正如我提到的,我计划扩展故事并引入新的谜题,但基础已经奠定。
希望您觉得这有帮助。如果您有兴趣,您可以在我的 Facebook 页面上查看更多古墓大门的过程。您也可以在 SimpleMachine.co 上了解我的最新作品。
Laura T
发表于 09 月 05 日 08:36嘿,库尔特!感谢您分享本教程 - 我今年夏天在纽约市的 Corona 聚会上看到了它,它在思考新的酷炫过渡方面真的很有帮助 🙂 恭喜你获得了新鲜有趣!!!非常棒! 😀 祝你应用顺利!干杯,劳拉