6

我绝对喜欢优秀的防守游戏(例如 Gemcraft、Protector:夺回王位),因为它们在智力上非常具有挑战性;这就像下国际象棋,但少一点思考,多一点行动。可悲的是,那里没有那么多好的,我想我会自己创造一个,并通过在线提供它与世界其他地方分享。

我从来没有使用过 ActionScript,但是当谈到在线游戏时,这是主要的选择。我试图以 Java 小程序的形式找到一个像样的 2D 游戏,但无济于事。为什么会这样?我可以在 Win32 的 Delphi 中轻松编写游戏,但是人们需要下载可执行文件,这可能会阻止某种形式的下载,而且它只能在 Windows 上运行。我也熟悉Java,过去四年左右一直在使用Java;虽然,我没有太多的游戏编程经验。

我是否应该被所有在线游戏都用 Flash 编写并将我的防守游戏创建为 Java 小程序这一事实吓倒,或者我是否应该考虑学习 ActionScript 和 ActionScript 虚拟机的游戏开发(AS3 看起来非常Java ...但是,这对我来说是一项全新的技术,我可能永远不会专业地使用它。)

请您回答标题中的问题好吗?为什么是 Flash,而不是 Java 小程序?仅仅是“政治”吗?

4

8 回答 8

12

Flash由于其渗透率巨大而更受欢迎。

Flash 在创建和集成图形资源方面也更加强大(因为 Flash CS* 也是一个矢量动画编辑器)。嵌入声音和字体资产,使用位图效果也很容易,无需使用任何额外的库。

最后但同样重要的是,有很多网站提供 ActionScript API,以便通过在游戏中添加各种广告来赚钱(例如MochiMediaKongregate ...)

于 2010-03-16T15:55:13.513 回答
6

Flash 提供了一个完全构建的图形和声音引擎,可以处理路径和动画上的单独对象(“精灵”)。

在 Java 中,这些功能需要由第三方库提供。然而,Java 确实提供了构建这样一个引擎的必要基础。

然而, JavaFX可能会改变这一点。

于 2010-03-16T15:51:42.417 回答
4

我可以提供一点关于 Java 方面的见解:在 Java 历史的早期,Sun 尝试将 Java 小程序作为在浏览器中显示动态内容的新方法。由于以下因素的综合作用,这一尝试注定要失败:

  • Java 的(JRE)运行时加载时间(现在仍然)很长;
  • Java 最初只有 AWT 作为 GUI 工具包,而 AWT 是有限的,真的很丑;
  • 在更快的 CPU 和 JIT 编译出现之前,Java 曾经慢很多;
  • 微软在 IE 中对 Java 的支持(许多人认为是有意的)非常半心半意,因此它没有很好地集成并且运行不佳。

所有这一切都给 Java(当之无愧)带来了可怕的声誉,桌面和浏览器 Java 仍然没有从中恢复过来。对于大多数人来说,Java 代表丑陋、缓慢且通常无法正常工作的应用程序。它今天仍然遭受这种耻辱。

虽然 Java 和 Flash 都是图灵完备的编程环境,但 Java 更通用,具有用于各种不同目的的更大的库集。Sun 努力使 Java 环境在平台之间具有通用性,因此浏览器端 Java 包含许多通常不需要的库。同样,更多的加载时间。

于 2010-03-16T15:56:50.560 回答
2

简单的回答:几乎所有的 PC 都安装了 flash 播放器,但 JRE 没有。

于 2010-03-16T15:54:52.547 回答
1

Flash 通常在游戏所需的绘图、动画和视频功能方面表现更好,因为这是它最初设计的目的。此外,Java 语言的严格 OO 特性并不适合游戏常见的那种即席快速开发环境。

更重要的是,从作者的角度来看,Flash 是迄今为止最常用的浏览器插件。Java 只是没有在桌面上的渗透。小程序历来因其不稳定和性能不佳(尤其是启动缓慢)而受到鄙视;虽然这种情况有所改善,但 Sun 继续破坏他们通过令人讨厌的捆绑更新程序留下的用户接受度。这是一家勇敢的公司,如今为桌面 Java 开发了很多东西。

我是否应该考虑为 ActionScript 虚拟机学习 ActionScript 和游戏开发

绝对值得学习 JavaScript/ActionScript。(它们几乎是同一种语言,共享一个标准化的共同核心。)然后您可以将您的 Flash 脚本知识应用到浏览器脚本中。你甚至可以考虑用 JavaScript/HTML 本身来实现游戏!

AS3 看起来很像 Java...

是的,尽管它是一种类似 C 的语言。但是,概念和实践非常不同;如果你尝试像 Java 一样编写 JS/AS,你会遇到困难。

于 2010-03-16T16:04:24.650 回答
1

Flash 拥有更广泛的安装基础,这可能是唯一的原因。我个人不会在我的机器上安装 Java....当然是闪存。

为什么要为少得多的观众写东西?我并不是说这样做是错误的,但这通常是你制作游戏以盈利的原因。

想想与游戏机等价的东西,第二代游戏机有可用的硬件附加组件……但除非游戏使用它们,否则它们毫无用处。作为游戏开发者,您有 3 种选择,将其与您的产品打包在一起 - 推高价格,假设他们拥有 - 较小的受众,或者假设他们没有 - 最大的受众,最大的利润。结果是硬件从来没有真正卖过很多,因为作为一个游戏开发者你不得不假设他们没有它。

对我来说,这等同于 Java 与 Flash,如果我必须安装它,我访问它的价格就会上涨……假设他们拥有最常见的东西并且你是安全的、最低的入门成本、最大的受众。

但是,如果您有一款出色的游戏,我可能会被说服安装 :)

于 2010-03-16T15:50:35.783 回答
0

未来的 Flash CS5 可以直接创建 iPhone 应用程序,因此您将同时为 2 个平台创建游戏。

于 2010-03-17T14:25:12.507 回答
0

许多 Flash 开发人员都是跨界制作游戏的设计师。他们将闪存用作编程工具之前的设计工具。

再加上现在网络游戏用flash编写似乎是一个先例,所以我想人们不想偏离“规范”

于 2010-03-16T15:50:10.153 回答