【问题标题】:Android Game Engine Development安卓游戏引擎开发
【发布时间】:2012-04-11 20:03:44
【问题描述】:

我目前正在为我想为 Android 制作的游戏编写自己的 2D 游戏引擎。我知道还有其他“更好”的选择,但我想编写自己的 GE。

我想实现几个功能,但想听听您的意见和经验(如果有的话):

分析: 好的,我在这里考虑两种可能性,Google AnalyticsFlurry。我是一个 Google 怪胎,但我一直在阅读的内容,Flurry 提供更多功能并且更易于实施? Flurry 应该足以满足我的所有需求。

多人游戏: 好的,我一直在网上搜索,没有找到很多关于这个主题的内容。我不打算托管服务器。有 GamoogaSkiller(还有 Swarm - 他们说他们提供多人游戏功能,但我可以在 API 参考中找到任何功能)。这个话题很棘手。所以我正在寻找的理想定义是:

“用户可以登录那里的fb帐户,使他们能够玩多人模式。然后用户可以点击主机加入按钮。当主机按钮被点击用户可以选择邀请正在玩游戏的fb朋友,或者用户可以等到随机人加入。按下加入按钮时,用户被随机分配到等待会话。当用户被邀请时,会出现一个小对话框要求他们加入或忽略邀请。(连接将是蓝牙、wifi 或 3G)"

也许以某种方式将 fb SDK 与 Gamooga (3G) 和 AndEngine(蓝牙和 wifi)集成会满足我的需求?我发现的选项要求一个使用该服务创建一个帐户,一个不能自定义 UI。如果你知道任何接近我正在寻找的东西,请分享。如果您使用上述选项之一,您为什么要使用它?

记分牌: 记分牌系统有很多选择。 Openfeint、Swarm、Scoreloop、Skiller、ScoreNinja 等。我正在寻找可以自定义显示分数的屏幕并使用 fb 用户的名称、图片和位置等信息来更新分数的东西(图片和位置是'不是必须的,但它会很酷,你怎么看?-我认为服务只允许将字符串和整数上传到他们的服务器)。

物理引擎: 我想我会选择 Box2D。

通知系统: 游戏应该不断增加具有社会融合的玩家。我认为这很酷,当用户达到新的高分时,他们可以选择将其发布在他们的 fb 墙上。用户朋友可能会感兴趣并在 Google Play 上搜索游戏。

感谢您的阅读,我期待阅读您要说的内容。 :)

PS:抱歉,问题不是直截了当。

【问题讨论】:

    标签: java android game-engine multiplayer leaderboard


    【解决方案1】:

    分析:如果您认为 Flurry 可以满足您的需求,那就去做吧。不过,Google 确实提供了一些不错的功能。

    多人游戏:Skiller 似乎很容易实现并且具有相当多的功能(虽然从未使用过它,所以不能说实际性能或任何问题)。不过有一件事:您不需要将 FaceBook SDK 与您的多人游戏提供商集成,您可以轻松地在您的应用程序中编写一个实现(例如登录到 facebook,然后通过 MP 提供商进行广播)。

    我不明白的一件事是您为什么要通过蓝牙进行连接。您想在不连接到互联网的情况下提供临时多人游戏吗?如果是,那么请记住,您将无法发送用于分析和记分牌的信息,或使用 FB 凭据登录。但我想对于某种未排名的比赛来说还可以。再说一次,无需将一个与另一个集成。更容易在您的应用程序中执行所有操作。

    另外,自定义 UI 是什么意思?据我所知,AndEngine 为您提供了稳定的 OpenGL 图形引擎,因此您可以将其用于图形、声音、网络连接等。facebook 用于凭据,Skiller 用于多人连接以及您想要放入的任何其他内容。它们不需要相互兼容,您的应用程序将充当它们之间的接口。

    对于物理引擎,您也可以使用 Bullet。它是用 C++ 编写的,但互联网上有很多关于如何通过 NDK 在 android 中实现它的教程。

    我有一个来自游戏开发者的建议:首先制作游戏,确保它可以正常运行并且确实很有趣,然后再考虑社交整合。一旦准备好,就很容易建立起来。 祝你好运。

    【讨论】:

    • 谢谢米尔恰。 :) 抱歉,我对我计划在我的游戏引擎中用于多人模式的连接进行了解释。如果有可用的互联网连接,则将其用于多人游戏和统计数据。然而,如果我和我的伴侣在教室里,我们想互相对抗/互相玩,并且没有互联网连接,那么使用 wifi(或蓝牙 - 可能只是 wifi,因为它更快)。但是,如果我处于离线状态并获得了新的高分,它会保存在手机上,下次手机连接时会上传。
    • 所以使用 SKiller SDK,我可以让人们使用他们的 fb 帐户登录,我可以自定义我的 UI 并添加邀请玩家等功能?
    • 我找到了这个code.google.com/p/moishd。看起来符合我的要求! :D
    • 嗯,我猜你找到了你要找的东西。 Moishd API 似乎有你需要的东西。此外,使用 Skiller 您需要创建一个开发者帐户,但我认为玩家不需要。另外,检查 Skiller 是否支持 OpenID,它可能会为您节省很多工作。
    • 好吧,事实证明 Moishd API 没有我需要的东西,它是唯一基于单人游戏的。
    【解决方案2】:

    其实我是斯基勒人,希望能回答你所有的问题:

    1. 统计数据:我不知道您会选择哪个 SDK 用于统计数据,但我认为这是一个好地方,可以提及使用我们的 SDK 您将自动获得所有与游戏会话、创收、注册、DAU、MAU 等相关的统计数据......并在我们的开发者 Web 界面中监控所有这些数据。在我们的下一个 SDK 中,您将能够定义自己的事件并跟踪它们。

    2. 多人游戏:您在问题中描述的“加入/主持”功能正是 Skiller 平台的工作原理。用户 A 开始一个新游戏,用户 B 可以通过从游戏大厅(用户可以看到所有打开的游戏)选择他的游戏来加入他。我们最近发布了 3.1 版 Skiller SDK,其中我们在现有的回合制工具中添加了实时工具,因此您也可以使用它来创建真正的在线多人游戏。

    3. 登录: 新的 SDK 具有更好的登录过程,使您的用户可以使用 Facebook 登录或以访客身份连接,因此您真的不需要做任何事情,它是内置的在特征。使用病毒式分发,用户将能够在他们的 Facebook 墙上发布指向您在 PlayStore 中的游戏的链接。

    4. 分数/大厅: Skiller SDK 提供了两种向玩家显示数据的方式:您可以显示预定义的 Skiller UI 而无需从头开始实现屏幕,或者获取原始数据并显示它以您喜欢的方式显示在您自己的屏幕上。您可以从我们这里获取所有数据。

    有关更多信息,您可以下载 Skiller SDK 并查看入门文档和我们向您展示如何使用我们的 SDK 的三个游戏代码示例。 我们随时为您提供帮助:developers@skiller-games.com。

    享受吧!

    【讨论】:

    • 使用实时多人游戏功能时的延迟是多少?
    • 有没有使用过这个的应用我可以看看?
    • 延迟主要取决于玩家的连接类型(3G或WIFI)。考虑到这两种连接,我们已经投入大量精力使用我们的协议来最小化延迟。如需更多信息,请发送电子邮件至developers@skiller-games.com。实时工具示例代码可以在我们的 SDK 包中找到,可以从www.skiller-games.com 下载。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多