在这三部分系列中,我们将介绍如何实现Game Maker 0.11中一些最激动人心的新功能。
欢迎来到我们系列文章的第一篇,重点介绍了The Sandbox Game Maker 0.11更新中的新特性。
The Sandbox Game Maker 0.11是一个多功能工具,帮助创作者通过游戏机制增强玩家体验,引入了互动和参与的新层次。在这一系列文章中,我们将解释如何利用社交竞速功能、组合代码和旋转功能创建有趣的游戏,并提供具体的步骤示例,帮助你利用这些新功能让游戏变得栩栩如生。
今天,我们将探讨如何构建社交竞速体验!虽然有很多方式可以实现这个概念,本文介绍了一种方法,它结合了大厅和社交系统以及多人功能。更新到最新版本的Game Maker并继续阅读以开始。
本文是关于使用Game Maker中新工具的三部分系列中的第一篇。
目录
-
构建你的大厅
-
设置你的竞速
2.a 注册期
2.b 倒计时
2.c 注册和获胜条件方法 -
增强玩家的互动
3.a 观赛区
3.b NFT商店
3.c 迷你游戏
考虑事项
1. 构建你的大厅
目前,Game Maker中没有内建的匹配或大厅系统,但这并不意味着这些机制不能被实现。通过设计一个允许玩家自由进出的系统,可以无缝进行竞速,并允许观众观看他们无法参与的赛事。
这种方法创建了一个动态大厅,玩家可以在其中社交,互动各种功能,完成任务,探索隐藏的奥秘。此外,玩家还可以赚取货币来解锁不同的外观,并在游戏过程中展示他们最喜欢的服装。
大厅可以围绕任何概念并以任何风格构建。在上述例子中,一个鬼屋作为多人大厅,玩家可以自由加入或离开。大厅必须包括一些功能,以便进行竞赛并管理参与者的访问。
为了使大厅系统运作,你需要构建传送门或门,玩家可以通过它们进入开始竞赛。一旦玩家进入传送门,它将关闭,并显示一条消息,指示该传送门已被使用。
你可以设置任意数量的传送门。在这个例子中,设置了10个传送门,这意味着每场比赛最多可以容纳10个玩家。一旦传送门被使用,玩家无法返回大厅,直到比赛结束。如果所有10个传送门都在使用,其他玩家必须等待直到比赛结束。
如何实现:
本指南不会深入探讨具体的逻辑,因为实现方式可能有所不同。然而,它涵盖了一个大致的工作流程:
-
创建你的资产:根据需要设计传送门。对于这个概念,我们使用了老旧、神秘的门。
-
添加文本或视觉提示:使用清晰的视觉指示来显示传送门是否可用或已使用。 示例:当传送门可用时,显示“进入”文本。玩家进入后,传送门应播放关闭动画,文本应改为“正在使用”。
-
使用触发体积:检测玩家使用触发体积。根据状态显示适当的文本,并切换行为,使传送门根据其状态可见或不可见。玩家离开门口时,应移除文本。
-
设置传送行为:创建一个传送行为并将其放置在逻辑资产上。设置行为,使玩家传送到新的区域(我们将在未来的指南中讲解这一点),并确保它能检测到第一个进入传送门的玩家。 传送后,通过关闭传送门行为来关闭传送门。这可能包括禁用传送门、播放关闭动画并阻止访问。比赛结束后,可以重新开启传送门行为来开始新的比赛。这确保每个传送门只能被一个玩家使用。
-
使用演员属性作为切换:为了让门关闭并显示文本,你可以为视觉元素分配标签。这些标签可以包括像“比赛进行中”、“已预定”或“加入比赛”等文本消息,正如我们示例中所示。 演员属性可以设置为根据发送和触发的特定消息来切换资产的可见性。这些元素应仅在特定条件满足时触发,例如比赛正在进行时或玩家进入传送门时。
关键点:
-
每个传送门由玩家触发,并在使用后关闭。
-
每个传送门只能由一个玩家使用——这意味着你需要为每个玩家准备一个传送门,每个传送门的消息和设置是独一无二的。
-
该系统允许比赛反复进行,同时玩家可以自由进出大厅。
-
该设置确保比赛的组织顺畅,同时大厅仍然可以供玩家进行互动。
一旦玩家进入传送门,它会关闭,注册该玩家进入比赛。门将锁定,防止其他玩家进入。这确保玩家已经承诺参与比赛,不能离开起始区域。
每个传送门唯一地注册玩家。此系统跟踪参与者数量,防止过度填充,同时允许比赛进行,即使只有一个玩家加入。它还防止玩家进入已进行中的比赛,确保参与者能够体验完整的比赛。在等待下一场比赛时,玩家可以解决任务并探索大厅。
2. 设置你的竞速
对于上述视频中的竞速概念,我们为比赛创建了不同的阶段,以提供最佳的玩家体验。每个阶段都是一个保障,确保参与的玩家可以加入比赛,并防止玩家挂机,从而避免其他玩家加入,或者导致比赛无法结束。
-
传送门:传送门作为第一个检查点,确保我们能获得玩家。比赛可以从一个玩家开始,最多可以容纳10个玩家。
-
竞速候选区:一旦玩家进入比赛,他们会被传送到一个迷你大厅或起跑线,其他玩家也会加入。玩家在比赛开始之前将被锁定在此区域。
-
注册:进入竞速区域后,会有大约15秒的倒计时,允许其他玩家加入。UI会显示给所有人,所有玩家都可以看到计时器和注册状态。
-
关闭传送门:一旦注册期结束,传送门关闭,阻止任何新玩家加入。
-
倒计时:从5秒到0秒的倒计时,用来让玩家准备好开始比赛。
-
移除障碍物:倒计时结束后,移除障碍物,允许玩家同时竞速。
-
计时竞速:比赛是计时的,给玩家大约3到4分钟的时间来完成。这样,如果玩家挂机,比赛会自然结束,任何仍在竞速区域的玩家都会被移回大厅。
-
资格赛:比赛分为三个阶段。这允许在未来修改比赛,版本0.12中将有更新和新赛事。玩家有3到4分钟的时间在每个阶段结束前取得资格。符合条件的玩家进入下一阶段,未符合条件的玩家被传送回大厅。
-
第二阶段及未来阶段:这一过程会在每个阶段重复。玩家有3到4分钟的时间竞速,继续进行直到第一个玩家到达最终阶段并赢得比赛。
-
检查点:检查点放置在每个阶段,确保玩家不会失去太多进度,减少挫败感。
-
奖励赢家:赢得比赛的玩家会被传送到一个仪式区,在那里他们会收到一个独特的物品,可以在大厅中展示。此外,他们还会收到一个隐藏任务,让他们重新参加比赛,但这次不能触及任何检查点。
这些是使竞速系统运作的关键方面,并确保大厅系统保持开放。这个设置允许玩家进出自由,赚取硬币来解锁新外观,并探索庄园的秘密。
2.a 注册期
一旦玩家进入传送门,注册期将开始。这是一个倒计时计时器,允许其他玩家加入。计时器归零时,所有传送门关闭,并显示“比赛进行中”标志。玩家将需要等待下一场比赛,或者去观赛区观看当前的比赛。
如何实现:
-
设置计时器:创建一个时间变量作为倒计时。你可以设置任何你想要的持续时间。
-
设置传送信息:创建一个传送信息,将玩家送到新的区域。在新区域,使用触发体积检查玩家是否存在。如果触发器检测到玩家,启动计时器。
-
当计时器到零时:当计时器到零时,向控制传送门关闭的资产(如门资产)发送消息。这样就会触发关闭动画或阻塞,防止进一步的进入。
-
演员属性:使用演员属性来确保当玩家接近门时显示“比赛进行中”的消息。这应当使用
演员属性:使用演员属性来确保当玩家接近门时显示“比赛进行中”的消息。这应当使用切换行为,只在注册计时器到零时激活,以确保消息在适当的时候显示。
比赛结束后重置:比赛结束后,所有元素需要重置。这包括重新打开门并重置计时器,以便下一组玩家进入。使用演员属性和切换行为有助于自动化这一重置过程。
2.b 倒计时
在比赛进行时,有一个计时器,这意味着如果玩家没有及时达到资格要求,他们将被移出大厅。计时器给予玩家足够的时间进行资格认证,玩家需要在规定时间内到达阶段的终点。所有符合条件的玩家会被传送到下一阶段;那些未完成的玩家会被传送回大厅。
如何实现:
-
设置计时器:创建一个计时器,在比赛开始后开始倒计时。
-
使用全局变量:使用一个全局变量来确保计时器可以在整个系统中访问并重置。
-
设置倒计时时长:选择一个平衡玩家公平性的倒计时时长,同时保持游戏动态。
-
设置资格变量:创建一个变量来跟踪需要资格的玩家数量。这应根据比赛开始时的玩家数量动态调整。例如,如果有10个玩家,可能开始时是0/10。
-
在比赛过程中,添加或移除玩家。
-
如果玩家已符合资格,他们应该进入下一阶段,并且游戏应准备好传送到下一阶段。
-
如果资格变量为零,则应重置比赛,而不是传送或准备第二阶段的逻辑。
-
-
设置淘汰规则:使用传送系统在计时结束后将未符合资格的玩家传送回大厅。
-
通过检查是否有玩家符合资格,触发这一传送。
-
在比赛计时结束时,所有未符合资格的玩家将被移除。
-
-
设置每个阶段的检查:在每个阶段结束时,检查是否有玩家存在于该区域。
-
使用计时器触发的消息来验证玩家数量。如果没有玩家(例如,变量为零),则重置比赛。
-
这些检查应作为定时事件运行,以确保各阶段之间的一致性。
-
-
设置玩家检查变量:创建一个变量来验证玩家在阶段开始时是否存在于比赛区域。
-
如果有玩家,继续进行注册和比赛计时。
-
如果没有玩家,重置比赛。
-
在每个阶段应用此逻辑,以确保平滑过渡并防止问题发生。
-
2.c 注册和获胜条件方法
在Game Maker 0.11中,获胜条件已经更新,包括了设置并触发获胜条件的方法,给你更多控制竞速结束的方式。这个组件让你可以:
-
在特定的点结束比赛。
-
让所有玩家完成后再结束比赛。
-
重放或循环比赛。
这些更新提供了更多灵活性来管理竞速和获胜条件。下图展示了如何设置条件触发器,例如,使用碰撞触发器。
标签:现在可以使用标签来触发条件。这允许基于团队的触发器,例如针对红队或蓝队。
获胜类型:
-
个人:这意味着条件仅对该玩家触发,其他玩家可以继续比赛。
-
团队:当团队完成时,这个获胜条件触发,奖励该团队胜利。
-
所有:这意味着每个人都会触发获胜条件,比赛结束。
-
结束游戏:你现在可以选择在触发获胜条件后让体验继续进行。玩家可以选择在条件播放完毕后继续。
-
重置消息:可以发送消息重置获胜条件至原始状态,以便重新触发。这使得比赛能够循环进行。
其他设置仍然可用,例如,如果你想要让体验在结束时有延迟,可以继续按以前的方式结束。
总结:
-
按照你的需要设置竞速触发器。
-
定义你的获胜条件,如上所述。
-
分配必要的标签,以确保比赛正常进行。
-
配置任何额外的游戏元素,如计时器。
-
使用新的获胜条件可以简化你的过程,并提供设置比赛的灵活性。使用Game Maker 0.11时,可以尝试不同的设置来循环或结束比赛。
资格赛
当玩家到达阶段的终点时,只要他们在时间限制内完成,他们就算资格。一旦符合资格,其他玩家将有时间平等地完成资格认证。如果所有玩家都符合资格,那么比赛会自动进入下一阶段。这就是我们在每个阶段添加检查的原因,动态地追踪玩家并知道多少人需要符合资格才能进入下一阶段。如果玩家人数少于最大人数,比赛将等待时间耗尽才传送所有玩家,确保每个人都有机会完成。
胜利
当玩家完成每个阶段时,其他玩家会被淘汰,最终回合将颁发给第一个完成的玩家。考虑让这个区域仅限赢家,并给予他们一些独特的物品,如黄金皇冠。赢家还会得到一个隐藏任务——它不会被触发,但会有暗示。这为玩家提供了另一个挑战,激励他们继续玩,而这次,不能触及任何检查点。
3. 增强玩家的互动
由于这个概念侧重于社交竞速,考虑添加社交功能,让玩家之间可以互动。本部分的概念包括各种任务和迷你游戏,玩家可以参与其中以增强他们的体验并鼓励探索。
3.a 观赛区
如果比赛正在进行,而玩家不能加入,可以考虑添加一个观赛区。这将允许玩家观看比赛并可能与之互动。
观赛区应允许玩家查看比赛并保持参与感,同时比赛正在进行。这个传送门保持开放,允许玩家自由进出。我们将在未来的文章中介绍它的功能和其他考虑事项。
如何实现:
-
设置传送门:使用与竞速传送门相似的资产,确保设计的一致性。
-
文本或视觉提示:清楚地指示这是观赛区,以免玩家产生混淆。
-
传送功能:设置传送器,将玩家传送到观赛区(这个将在未来的文章中详细讨论)。
-
保持传送门开放:不要关闭这个传送门,它应随时对所有玩家开放。
-
确保玩家观看而不能加入:确保玩家只能查看比赛,但不能加入。设置屏障或障碍物,防止他们进入真正的比赛空间。
3.b NFT商店
考虑为玩家添加外观或收藏品。在这个概念中,玩家可以在比赛中收集硬币,并用它们解锁外观套件。这为玩家提供了一种定制外观的方式,也为他们提供了可以努力实现的目标。
通过装备功能扩展系统:穿戴特定的服装可以触发庄园中的隐藏功能,或者提供游戏内的加成,例如速度增强。考虑如何让外观超越美学影响游戏玩法。
如何实现:
-
添加货币或升级系统:将货币系统集成到大厅中,或者使用XP或收藏品系统来代替。
-
创建物品展示:设计玩家可以购买和使用的物品展示。
-
设置规则系统:创建一个变量来跟踪玩家的货币。确保这个变量是本地的,针对每个玩家。
-
创建数学规则:设置规则,当玩家收集到硬币或收藏品时,触发特定消息更新货币变量。
-
设计货币:创建收藏品资产(例如硬币)。确保它触发适当的消息来更新货币变量。
-
设置购买位置:设计一个玩家可以购买服装或物品的地方。使用比较规则检查玩家是否有足够的货币:如果玩家有足够的货币,允许购买并扣除货币。如果没有,显示一条消息,告知他们需要更多的货币。
-
生成购买的物品:购买成功后,为玩家生成购买的物品。
3.c 迷你游戏
考虑添加迷你游戏或其他功能,让玩家通过花费他们的货币来获得增益或其他有趣的奖励。例如,我们实现了一个转盘,每次旋转都会随机选择结果,提供可叠加的速度加成。比赛开始后,奖励将立即生效。
通过变量和检查来实现这一点,检测玩家是否拥有速度加成及其数值,然后应用为速度加成。当然,你可以自定义这个概念,但要考虑加入货币消耗或时间消耗,鼓励玩家互动。
对于多人游戏,考虑玩家之间的互动以及迷你游戏的限制。使用新的标签系统和演员属性来分配和移除标签,以触发玩家的事件,而不是依赖生成或消除对象。
考虑事项
为避免竞速问题,备份检查玩家的存在是非常必要的。例如,如果玩家符合资格但随后退出、崩溃或离开游戏,系统必须确认是否还有其他玩家留在竞速区域。如果没有玩家检测到,则应重置比赛。这样可以确保游戏不会因缺少参与者而卡住。
这个系统的逻辑可能相当复杂,因为它涉及多个检查、重置和交互。目标是确保阶段之间的平稳过渡,淘汰不合格的玩家,并处理玩家离开的意外情况。请仔细规划,以避免变量、触发器和计时器协同工作时出现冲突或错误。
重置系统至关重要。比赛的每个部分,包括变量、行为、计时器和传送门,在每场比赛结束后都需要被干净地重置。否则,前一场比赛的残余会干扰下一场比赛。
最后,必须进行充分的测试。必须处理边缘情况,如玩家意外离开或触发故障。准备好尝试不同的方法并优化系统,确保其可靠性和适应性。
逻辑应使用切换行为来启动或停止行为、生成器或消息广播。例如,如果没有玩家符合资格,第二阶段或第三阶段的行为不应被切换。相反,应发送比赛重置的消息。
如前所述,这个逻辑复杂,超出了本文档的范围。可以采取多种方法,更多内容可以在此学习。然而,确保以下几点:
-
始终检查玩家是否存在。
-
使用计时器消除玩家,防止比赛过长。
-
包括重置所有比赛、计时器和变量的步骤,确保系统为下一场比赛做好准备。
技术限制
目前,多人游戏存在延迟和滞后问题。这意味着服务器可能无法准确记录玩家跳跃后的落地位置,或者可能导致橡皮筋效应。这些问题在Game Maker 0.11中仍然存在,将影响多人游戏的性能。如果玩家远离服务器,影响会更明显。
为了缓解这个问题,考虑设计简单的跳跃部分,提供足够的空间。避免复杂的移动平台或精确跳跃,以最小化橡皮筋效应和延迟问题。性能影响可能相当显著,因此在设计多人竞速时应仔细考虑。
释放你的创造力,使用Game Maker 0.11
本文引导你如何在The Sandbox Game Maker 0.11中打造社交竞速体验。你学习了如何创建一个动态大厅,玩家可以在其中互动、竞速并赚取货币,同时学习了如何使用传送门进入竞速、计时器进行注册和比赛持续时间的管理,以及使用演员属性控制资产和消息的可见性。
查看本系列其他文章,了解更多关于组合代码行为作为保存系统和旋转行为的内容,解锁在The Sandbox中转变你游戏冒险的力量。