我做web程序员已经有一段时间了,我也会用Java编程。我有一个想法,一个小的,多人RPG游戏,我想在工作。它将通过用户web浏览器中的java applet播放。
我已经写好了游戏的设计文档和规范。我现在想知道的是我如何开发这个游戏?我过去只使用过类似windows的商业应用程序,内置了文本框、下拉列表等小部件。在游戏编程中,我似乎必须为游戏的UI构建自己的小部件/控件。
这些是我脑海中的具体问题:
1)如何显示“正在加载...”在下载游戏的图像、声音等时显示进度条的消息。(使用java小程序)
2)如何创建具有其自己的菜单、控件等的游戏UI。例如,通过点击地图图标,它将向他们显示地图。点击好友图标可以让他们与朋友聊天,等等。
3)和其他我应该知道的一般游戏开发问题,比如我应该在游戏中使用2D还是3D图形,物理等。
如果有一本对我有帮助的好书推荐,请一定要分享。
发布于 2009-05-23 09:31:03
This页面上有一大堆有用的游戏开发链接。Pulp core是一个值得研究的开源框架--即使你不使用这个框架,你也可以研究它的代码。
您是否应该使用Java applet似乎超出了这个问题的范围,但是上面的许多答案都给出了关于是否使用Java applet的客观答案(或者根本没有理由)。如果这是一个学习Java的个人练习游戏,那么这是一个很好的方法。如果您希望将其公开,则需要考虑当前的adoption levels是否足够高以满足您的需求。
最近,applet世界的情况发生了变化。由于1.6 update 10比闪存更具竞争力-下载大小更小(通常在4Mb以下),启动时间缩短,并引入了new scaling look and feel。
发布于 2009-05-22 18:26:35
如果这是你的第一个游戏,一个多人项目可能太雄心勃勃了。
加载屏幕并不是非常困难-我通过计算我必须“加载”的文件数量来实现它们,然后在每次成功加载另一个文件时推进进度条(并进行屏幕刷新)。你可以按照你喜欢的粒度来做这件事--添加UI组件可能会使你的加载代码变得复杂。我现在不会担心它;也许只是抛出一个基本的“加载...”框架,然后在游戏更稳定的时候实现一个完整的进度条。我还看到了一些很好的多线程实现。
另外两个将带来经验;我认为您更需要的是游戏开发的一般教程,而不是具体的答案。你绝对应该从更小的地方开始。一旦你理解了一个小游戏的结构和问题,就更容易将它们应用到大型游戏中。
大多数合理的游戏编程书籍都会介绍基本的游戏结构;我喜欢完整的游戏编码,但对于初学者来说它相当复杂(它涵盖了处理大型项目的更复杂的方法)。游戏架构和设计是相似的,但可能更适合您正在寻找的东西,因为它还涵盖了一些次要的项目管理“最佳实践”。
做UI有很多不同的方法,从使用Java原语UI类型(取决于您正在使用的其他库)到使用您自己的"HUD“实现。
发布于 2009-05-22 18:14:49
有一件事可能值得我们熟悉,那就是多线程。例如,使用“加载屏幕”,您可能有一个线程显示进度条,而其他线程同时加载数据。
类似地,通过调度多个线程来同时做许多事情(在屏幕上移动不同的字符),或者通过用户输入处理中断,将会发生大量的交互。
https://stackoverflow.com/questions/899155
复制相似问题