65.9K
CodeProject 正在变化。 阅读更多。
Home

RUXX

starIconstarIconstarIconstarIconstarIcon

5.00/5 (6投票s)

2013年8月21日

CPOL

9分钟阅读

viewsIcon

21700

一款非常新颖、有趣且快节奏的游戏,为一体机优化!


介绍 

此应用创意属于“一体机:游戏”类别。

辛苦工作一天后,每个人都需要找到自己的宁静。有些人喜欢一杯热咖啡,有些人则喜欢通过一个又一个有趣的游戏关卡来放松身心。我本人就属于后一类。我设想的 **RUXX** 是一款非常有趣且轻松的游戏,但同时也可以非常具有挑战性。**RUXX** 是一款 **快节奏、充满动作的游戏**,将考验您的耐力和灵活性。只需快速瞄准,清除屏幕,然后进入下一关。

**RUXX 游戏** 以 **Lenovo Horizon AIO**(一体机)和 Windows 8 为**目标**并**优化**,利用 **Lenovo Horizon AIO** 与 Windows 8 协作带来的独特功能。通过利用 **Lenovo Horizon AIO** 无与伦比的功能并结合 Windows 8,RUXX 是一款真正非凡的游戏,在其他任何平台上都无法实现。只有 27 英寸的大屏幕才能真正展现 RUXX 现代 UI 的魅力。

RUXX 将使用 **C#** 和 **XAML** 作为编程语言,在 **Silverlight 5** 上开发。此外,我还会使用 Farseer Physics 引擎来生成精灵并为游戏生成逼真的物理效果。RUXX 将被打包、发布并用作**桌面应用程序**。

游戏机制

RUXX 的核心在于其永不停歇的快节奏动作。用户可以在多种模式下玩 RUXX。在每种模式下,您的主要目标都保持不变。您会获得一组初始的球,需要在尽可能短的时间内清除屏幕上的所有障碍物。(附图将帮助您理解 RUXX 的术语)。您的次要目标取决于您正在玩的游戏模式。

 

障碍物也有一定的**度数**。度数越高的障碍物不仅越大,而且在被清除之前需要更多的击打次数。一次击打,一个球只能破坏障碍物的一个度数。

球通过简单的手指滑动即可发射,力度和方向将决定球的路径以及前进的速度。球还将有一个辅助线,有助于预先确定球的方向。这确保了可以轻松快速地发射球,而无需担心游戏的实际机制。

除了游戏本身提供的发射模式外,RUXX 还将利用**推杆**和**操纵杆**提供额外的发射球到障碍物的方式。这将为游戏增添无与伦比的乐趣。

经典模式:

经典模式简单直接,经过尝试和测试。您只需将球瞄准障碍物的方向并射击。游戏开始时会给你一组球,你需要瞄准并射击。

为了保持趣味性,在游戏后期,我们将引入一个门。当关卡开始时,门会自动开始关闭(关闭速度取决于您所在的关卡),然后您需要瞄准并射击,在门关闭之前摧毁所有障碍物。用户完成一个关卡后,将立即进入新关卡。

关卡之间没有等级层次结构,因为关卡是通过代码生成的。通过智能评估用户的水平,将生成一个难度稍高的关卡,从而无论玩家有多厉害,RUXX 都能保持挑战性。

限时模式:

您会得到一组球,屏幕上有指定数量的障碍物。在限时模式下,您必须在规定时间内完成关卡。完成关卡的时间越短,得分越高。

湮灭模式

湮灭模式是 RUXX 中最有趣的一种模式。您会得到一组球,并面临一个关卡。如果您浪费一个球(即它没有击中障碍物),它将不会再生。但如果击打成功并击中了障碍物,球就会再生。您的得分取决于障碍物的难度以及您在球用完之前通过的关卡数量。

您还可以获得额外的奖励,例如额外的球、升级等,以在游戏过程中增添趣味。

挑战你的朋友:

RUXX 将是一款非常适合家庭聚会的游戏,您可以邀请其他玩家同时玩。屏幕一分为二,两名玩家面对相同的关卡,拥有相同数量的障碍物和球。先完成关卡者获胜。

超越你的朋友:

如果您认为自己在某个关卡上得分很高,那么您可以挑战你的朋友玩同一个关卡。通过集成 Facebook 和 Twitter 等社交网络渠道,这变得非常简单方便。当然,当您邀请朋友参与时,乐趣将加倍。

游戏区域:

游戏区域将分为四个主要区域:

  1. 基地垫
  2. 游戏区域
  3. 湾区

游戏中的每个区域都有其独特的目标。我来解释一下每个区域在游戏机制中所扮演的角色。

基地垫

基地垫将显示所有分数、关卡、时间以及玩家必须随时可见/可用的所有其他重要信息。基地垫将很大程度上是游戏区域的一部分。因此,它与游戏区域不会有太大差别,因为球可以并且将能够进入基地垫,充分利用屏幕的可用空间。

游戏区域

游戏区域是发生大部分动作的地方,因此它是游戏中最大的区域。游戏区域包含所有障碍物以及随着玩家在关卡中前进而激活的各种其他障碍物。

门:

门为 RUXX 带来了全新的挑战水平。随着玩家在关卡中前进,他们必须掌握射击时机,以便在门关闭之前击中障碍物并完成游戏。

湾区:

湾区包含所有弹药,弹药的生成和消耗取决于关卡和用户正在玩的游戏模式。玩家从湾区进行操作,在时间耗尽或门关闭之前瞄准并发射球。

特点

RUXX 特色

  • 动态关卡,难度根据玩家技术而变化
  • 多人游戏,玩家之间进行竞争
  • 使用推杆和操纵杆作为射击系统的替代方案

背景 

市面上有很多类似 RUXX 的游戏,那么 RUXX 的创意是什么?创意是将一款简单的瞄准射击游戏变得人人都能玩得开心。通过整合限时模式和湮灭模式等功能,您将永远不会玩腻关卡。**Lenovo Horizon AIO** 是一款独一无二的设备。我想制作一款能够充分利用 **Lenovo Horizon** 的所有独特功能并使其大放异彩的游戏。

使用代码 

对于射击和碰撞检测背后的所有物理原理,我将使用 Farseer Physics Engine。Farseer Physics Engine 是一个具有逼真物理响应的碰撞检测系统。使用该引擎及其相关工具,可以轻松创建游戏甚至机器人模拟。Farseer 可在 Silverlight、XNA、Windows Phone 以及 WinRT 上运行。您可以在以下网址找到 Farseer Physics Engine:http://farseerphysics.codeplex.com

我正在使用的 Farseer 包装器是 **Physics Helper XAML**,它也托管在 CodePlex 上。Physics Helper XAML 允许您使用 C# 轻松创建适用于 Windows 8、Windows Phone 7 和 Silverlight 5 的 2D 物理游戏和模拟。

将 Physics Helper XAML 添加到您的项目

  1. http://physicshelperxaml.codeplex.com/ 获取
  2. 右键单击解决方案,选择“添加现有项目”。在 Physics Helper XAML ZIP 下载文件中,浏览至 \PhysicsHelperXaml\Farseer Physics Engine SL\Farseer Physics Engine SL.csproj。
  3. 右键单击解决方案,选择“添加现有项目”。在 Physics Helper XAML ZIP 下载文件中,浏览至 \PhysicsHelperXaml\Spritehand.PhysicsHelper.Metro\Spritehand.PhysicsHelper.SL.csproj。从您的主项目中,添加对 Farseer Physics Engine SL 和 Spritehand.PhysicsHelper.SL 项目的引用。

创建 Farseer 对象

  • 在 XAML 页的顶部添加此命名空间:
 xmlns:FarseerHelper="using:Spritehand.FarseerHelper"

  • 我们添加一个画布来处理模拟的外部。我们可以将分数和关卡等文本叠加到游戏区域之外的游戏之上。
<Canvas x:Name="cnvGameOuter">
</Canvas>
  • 然后我们添加 PhysicsCanvas,它就像我们游戏的一个窗口,因为动作都发生在这里。我们将 MousePickEnabled 设置为“true”,以便用户可以与对象交互,并使用鼠标或触摸移动事物。
<Canvas x:Name="cnvGameOuter"> 
<ph:PhysicsCanvas x:Name="gameCnv" Background="CornflowerBlue" Width="1366" Height="768" MousePickEnabled="true">
</ph:PhysicsCanvas>
</Canvas>
  • 我们使用 PhysicsSprite 对象将我们的精灵(物理对象)添加到 Physics Canvas 中。我们添加一个大块作为地面,以及一个小块用于掉落。我们使用 IsStatic 属性并将其设置为 true,以将地面精灵固定在原地。
<Canvas x:Name="cnvGameOuter"  >
    <ph:PhysicsCanvas x:Name="ganeCnv" Background="CornflowerBlue"  Width="1366" Height="768" MousePickEnabled="true">
        <ph:PhysicsSprite x:Name="block" Canvas.Left="200" Canvas.Top="0"  Width="100" Height="100" >
            <Rectangle Width="100" Height="100" Fill="LightBlue" />
        </ph:PhysicsSprite>
        <ph:PhysicsSprite x:Name="ground" Background="DarkGreen"  Canvas.Left="0" Canvas.Top="648"  Width="1366" Height="120" IsStatic="True" />
    </ph:PhysicsCanvas>
</Canvas>

截图

注意:这些不是实际的游戏屏幕。这是我设想的 RUXX 的样子,尽管 UI 在开发后期可能会有所变化。

RUXX 的游戏页面

RUXX 带有示例关卡

RUXX 带有限时关卡

RUXX 带有另一个示例关卡,玩家在该关卡中创下了高分

关注点

像 Lenovo Horizon AIO 这样的设备已经开始改变我们今天体验技术的方式。虽然这是一个令人兴奋的体验时代,但为这些技术和设备进行开发更令人兴奋。我相信这是未来更具沉浸感的设备,将在未来几十年内推动创新。这让我更加激动地为 **Lenovo Horizon AIO** 开发这款游戏。让自己的作品在未来的设备上运行,无疑是最有价值的事情之一。

我还在考虑让 RUXX 利用**智能手机**来镜像实际游戏玩法。玩家可以使用智能手机玩游戏,也可以使用平板电脑进行游戏,当两台设备连接到同一无线网络时,它们可以镜像彼此。玩家还可以使用镜像功能为 RUXX 中已有的多人游戏带来**另一个维度**。但考虑到这超出了游戏初始版本的开发范围,我希望在 RUXX 的未来版本中实现这一点。

历史 

初始帖子

© . All rights reserved.