首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何学习游戏开发?

如何学习游戏开发?
EN

Stack Overflow用户
提问于 2009-05-22 18:00:22
回答 13查看 2.4K关注 0票数 3

我做web程序员已经有一段时间了,我也会用Java编程。我有一个想法,一个小的,多人RPG游戏,我想在工作。它将通过用户web浏览器中的java applet播放。

我已经写好了游戏的设计文档和规范。我现在想知道的是我如何开发这个游戏?我过去只使用过类似windows的商业应用程序,内置了文本框、下拉列表等小部件。在游戏编程中,我似乎必须为游戏的UI构建自己的小部件/控件。

这些是我脑海中的具体问题:

1)如何显示“正在加载...”在下载游戏的图像、声音等时显示进度条的消息。(使用java小程序)

2)如何创建具有其自己的菜单、控件等的游戏UI。例如,通过点击地图图标,它将向他们显示地图。点击好友图标可以让他们与朋友聊天,等等。

3)和其他我应该知道的一般游戏开发问题,比如我应该在游戏中使用2D还是3D图形,物理等。

如果有一本对我有帮助的好书推荐,请一定要分享。

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2009-05-23 09:31:03

  1. 最简单的方法是将所有内容打包到Jar文件中。默认屏幕确实显示了一个进度条,其中包含一些customise的小功能。您可以编写自定义代码来跟踪、管理和下载文件,但我个人建议不要采用这种方式。如果你搜索小程序加载器,你会发现更多的information.
  2. I'm不是100%确定你的意思,但是你可以像在应用程序中使用它们一样使用Swing components。对图像使用JButton非常简单,然后将事件代码挂接到actionPerformed方法中。
  3. 您可能会遇到的最大问题是动画和EDT。我之前问过this

This页面上有一大堆有用的游戏开发链接。Pulp core是一个值得研究的开源框架--即使你不使用这个框架,你也可以研究它的代码。

您是否应该使用Java applet似乎超出了这个问题的范围,但是上面的许多答案都给出了关于是否使用Java applet的客观答案(或者根本没有理由)。如果这是一个学习Java的个人练习游戏,那么这是一个很好的方法。如果您希望将其公开,则需要考虑当前的adoption levels是否足够高以满足您的需求。

最近,applet世界的情况发生了变化。由于1.6 update 10比闪存更具竞争力-下载大小更小(通常在4Mb以下),启动时间缩短,并引入了new scaling look and feel

票数 1
EN

Stack Overflow用户

发布于 2009-05-22 18:26:35

如果这是你的第一个游戏,一个多人项目可能太雄心勃勃了。

加载屏幕并不是非常困难-我通过计算我必须“加载”的文件数量来实现它们,然后在每次成功加载另一个文件时推进进度条(并进行屏幕刷新)。你可以按照你喜欢的粒度来做这件事--添加UI组件可能会使你的加载代码变得复杂。我现在不会担心它;也许只是抛出一个基本的“加载...”框架,然后在游戏更稳定的时候实现一个完整的进度条。我还看到了一些很好的多线程实现。

另外两个将带来经验;我认为您更需要的是游戏开发的一般教程,而不是具体的答案。你绝对应该从更小的地方开始。一旦你理解了一个小游戏的结构和问题,就更容易将它们应用到大型游戏中。

大多数合理的游戏编程书籍都会介绍基本的游戏结构;我喜欢完整的游戏编码,但对于初学者来说它相当复杂(它涵盖了处理大型项目的更复杂的方法)。游戏架构和设计是相似的,但可能更适合您正在寻找的东西,因为它还涵盖了一些次要的项目管理“最佳实践”。

做UI有很多不同的方法,从使用Java原语UI类型(取决于您正在使用的其他库)到使用您自己的"HUD“实现。

票数 3
EN

Stack Overflow用户

发布于 2009-05-22 18:14:49

有一件事可能值得我们熟悉,那就是多线程。例如,使用“加载屏幕”,您可能有一个线程显示进度条,而其他线程同时加载数据。

类似地,通过调度多个线程来同时做许多事情(在屏幕上移动不同的字符),或者通过用户输入处理中断,将会发生大量的交互。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/899155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档