代码之家  ›  专栏  ›  技术社区  ›  Ali

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

  •  3
  • Ali  · 技术社区  · 16 年前

    我们是一个程序员和设计师的团队,我们想制作一个中型的Java游戏,它将在Web浏览器中作为一个小应用程序来播放。我(程序员)有3年的一般开发经验,但我以前没有做过任何游戏编程。

    我们假设:

    • 我们将决定游戏的情节、故事情节等。

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

    • 当我读完我买的一些游戏编程书籍时,设计师将开始创作这些图像。设计师将创建游戏的第一个城镇/等级,然后将这些图像传给我,我将开始编码第一个等级,他将开始下一个等级,4-5级后,我们将发布游戏的V.1。

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

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

    问题3: 我看过一些游戏艺术品,里面有一个怪物的文件,在这个文件里有3-4个来自不同方向的怪物的图片,都放在一个文件里,我想,因为它们是动画的一部分。以下是插图:

    [怪物向右看]…[怪物看着前方]…[怪物向右看[

    它们都在一个文件中。他就是这样给我提供那些动画的吗?

    我想知道的是,他需要提供什么样的格式,让我能够在Java代码中轻松地访问和操作这些图像。

    感谢所有答案:)

    7 回复  |  直到 16 年前
        1
  •  6
  •   Gant    16 年前

    我对每个问题都有一些意见。

    问题1: 您说您将开始对级别1、2和进行编码。逐一地。我建议你创建一个 可重用框架 相反,或者在大局中看到它。关于你提供的信息,我想你会做一些RPG游戏。例如,商店、对话系统等层级之间可以共享很多东西。所以要关注可扩展性。

    为什么要等设计师传递图像?您可以从自己创建的伪图形文件开始编码。然后您可以以这种方式与设计器并行工作。您可以用稍后由设计器提供的伪图形文件替换您的伪图形文件。

    问题2: JPG不适合像素艺术风格的图像,这在大多数二维游戏中都会出现。而GIF只支持256色。对我来说最好的选择似乎是巴布亚新几内亚。

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

    问题3: 这要看情况而定。上面提到的格式,其中角色的动画保存在单个文件中,称为 Sprite . 如果您将您的资源保持在这个sprite格式,那么您将有一些工作通过指定坐标来读取每个子图像。然而,雪碧帮助你保持事情的有序性。所有与“僵尸”角色相关的二维图形都保存在一个位置。因此易于维护。

        2
  •  4
  •   Wouter van Nifterick Andrey    16 年前

    关于图像格式:不要让设计师以JPG格式交付任何内容,因为这样会降低质量。

    让他改为以PNG格式发送,并根据需要将其转换为首选格式。

    另外,记住要让他发送源文件(photoshop/illustrator/3dsmax/whatever),以防你需要一些微小的改变,你可以自己做,而不需要雇佣图形专家。不管怎样,谁知道他将来是否还会有空。

        3
  •  3
  •   jwpfox Amit    16 年前

    我想向您建议,在您对您的工作流程做出任何决定之前,您和您的同事先看看JavaFX,看看它是否是最能满足您需求的工具包。

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

        4
  •  1
  •   Joseph    16 年前

    [向右看的怪物]…[怪物看着前方]…[怪物向左看]动画划分的风格已经存在了很久,我一直在窥视游戏数据,所以我建议走这条路。

        5
  •  1
  •   PhiLho    16 年前

    我正要和沃特说同样的话:使用PNG,高度压缩的现代格式(与BMP相反),无损格式(与JPEG相反),全色格式,以及多个层次的透明度(与GIF相反)。

    为什么人们把几个精灵放在同一个图像里?实际上,对于Java,我不确定,如果图像是一个罐子的一部分…例如,我知道它在CSS中很有趣,因为它减少了要下载的图像的数量,所以服务器上的点击量,这是一个众所周知的Web优化。对于硬盘上的游戏,减少小文件的数量也很有趣。
    设计师也能欣赏这一点。至少在精灵使用调色板的时候:你只有一张图片,使用相同的调色板:更容易编辑,并且稍微减小整体大小(有时内存是昂贵的!).

    我不能回答方法论,我从来没有在球队里做过比赛…如果它符合你的需要,它可能是正确的方法…

    邓肯指Javafx,我指 pulpcore 这似乎是一个有前途的图书馆。当然,还有很多其他的,比如jgame等等。

        6
  •  1
  •   Karl    16 年前

    这里有很多专业人士: http://www.javagaming.org/

        7
  •  1
  •   fmsf    16 年前

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

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

    这是哥德堡Chalmers大学模拟引擎课程的链接。老师作为一个游戏公司,做了很好的讲座。看看我们在课堂上的幻灯片,也许它们会对你有所帮助。