Java 2D游戏编程 - 新手问题

时间:2008-12-28 06:38:45

标签: java 3d 2d sprite

我们是程序员和设计师的团队,我们希望制作一款中型Java游戏,它将在网络浏览器中作为applet播放。我(程序员)有3年的一般开发经验,但我之前没有做任何游戏编程。

我们假设:

  • 我们将决定比赛的情节,故事情节等。

  • 我们将创建一个我们需要的资产(图像)列表,即玩家图像,怪物图像,城镇,建筑物,树木,物体等。(我们不会添加任何音乐/声音效果现在)

  • 设计师将在阅读我购买的一些游戏编程书籍后开始创建这些图像。设计师将创建游戏的第一个城镇/级别,然后将这些图像传递给我,我将开始编码第一级,他将开始下一级别,并且在4-5级之后我们将发布v.1游戏

问题1:这是用于此项目的正确方法吗?

问题2:设计人员应该以什么格式创建这些图片。它们应该是.bmp,.jpeg还是.gif文件?并且,他会将所有这些图像放在一个文件中,还是将每个怪物/对象/建筑物放在自己的文件中?注意;我们现在坚持使用2D而不是3D。

问题3:我见过一些游戏工具,里面会有一个怪物文件,在那个档案中,大约有3-4张不同方向的怪物图像,所有放在一个文件中,我认为因为它们是动画的一部分。这是一个插图:

<怪物向右看...... [怪物在前方看着] ...... [怪物向右看[

所有这些都在一个档案中。这是他将如何向我提供这些动画吗?

我想要找出的是,他必须为我提供设计图像的格式是什么,以便我能够在Java代码中轻松访问/操作它们。

所有答案都赞赏:)

7 个答案:

答案 0 :(得分:6)

我对每个问题都有一些评论。

问题1:您说您将逐个开始编码级别1,2,...我建议您创建一个可重用框架,或者在大图中查看它。对于您提供的信息,我认为您将制作某种RPG游戏。例如,Shop,对话系统等级别之间可以共享许多内容。所以要注重可扩展性。

为什么要等待设计师传递图像?您可以从自己创建的伪图形文件开始编码。然后,您可以通过这种方式并行使用设计器。您可以将伪图形文件替换为设计人员稍后提供的文件。

问题2: JPG不适合像素艺术风格的图像,在大多数2D游戏中都会出现很多。并且GIF仅支持256色。对我来说最好的选择似乎是PNG。

设计师应始终保持原始艺术品的可编辑格式。您可能希望将来更改图形。

问题3:取决于。所提到的格式,即角色的动画保存在单个文件中,称为Sprite。如果您将资源保存在这种精灵格式中,那么您将通过指定坐标来读取每个子图像。但是,精灵可以帮助您保持井井有条。与“Zombie”角色相关的所有2D图形都保存在一个地方。因此很容易维护。

答案 1 :(得分:4)

关于图像格式:不要让设计师以jpg的形式提供任何内容,因为你会失去质量。

让他将其作为png发送,并根据需要将其转换为您喜欢的格式。

另外,记得让他发送源文件(photoshop / illustrator / 3dsmax /等等)以防你需要微小的更改,你可以自己制作而不需要雇用图形花花公子。无论如何,谁知道他将来是否仍然可以使用。

答案 2 :(得分:3)

我想建议您,在对工作流做出任何决定之前,您和您的同事去看看JavaFX,看看是否可能是最符合您需求的工具包。

http://java.sun.com/javafx/

答案 3 :(得分:1)

[怪物向右看] ...... [看着前方的怪物] ...... [怪物向左看]动画分界的风格已经存在,只要我一直偷看游戏数据,所以我建议走那条路。

答案 4 :(得分:1)

我正要和Wouter做同样的评论:使用PNG,现代格式高度压缩(与BMP相对),无损(与Jpeg相对)和全彩色以及几种透明度(相对于GIF)。

为什么人们会在同一张图片中放入几个精灵?实际上,对于Java,我不确定,如果图像是jar的一部分......我知道它在CSS中很有趣,例如,因为它减少了要下载的图像数量,所以服务器上的命中数量,这是一个众所周知的Web优化。对于硬盘上的游戏,减少小文件的数量也很有趣 设计师也可以欣赏这一点。至少在sprite使用调色板的情况下:你只有一个图像,使用相同的调色板:更容易编辑,并略微减小整体尺寸(在内存时代的代价很高!)。

我无法回答方法论,我从未在团队中做过游戏......如果它符合您的需求,那么它可能是正确的方法......

邓肯指向JavaFX,我将指向pulpcore这似乎是一个很有前途的库。当然,还有很多其他的,比如JGame等。

答案 5 :(得分:1)

这里有一群专业人士:http://www.javagaming.org/

答案 6 :(得分:1)

这不是回答任何问题。但是对于游戏开发/模拟引擎学习,如果你需要参考:

http://www.cs.chalmers.se/idc/ituniv/kurser/08/simul/

这是Gotembourg的Chalmers Univ的模拟引擎课程讲座的链接。作为一家游戏公司的老师,给了很好的讲座。检查我们在课程中的幻灯片,也许他们会帮助你一点。