Java实时战略游戏开发

2022-09-04 23:54:56

我即将结束我的CS第一年,我认为巩固我今年学到的所有东西的一个好方法是个人游戏项目。

我想实现一个基于2D的RTS,我正在沿着星际争霸I,魔兽争霸II甚至命令和征服的路线思考。我将有大约3个月的时间不间断地实施游戏。

因此,对于任何有Java游戏编程经验的人,我有几个问题:

在3个月内从头开始设计2D rts引擎是否现实?如果是这样,有哪些好的书籍/资源可以开始?

修改一些现有项目会更好吗?我认为必须使用很多其他人的代码的经验会很好,因为我们在本科cs学位中接触这些主题似乎非常罕见,如果不存在的话。

有没有像样的开源2d rts项目,任何人都可以推荐?我已经看过了一些,但大多数似乎是用c / c ++编写的

我谦卑的感谢

编辑:感谢您的快速回复,我认为匆忙发布这个也许是一个坏主意,因为我认为我歪曲了我想做的事情。

当我说“沿着魔兽争霸II等的路线”时,我的意思是更像是使用精灵的RTS风格。我不打算实现一个几乎那么复杂的游戏,更像是一个基本的原型。

我的目标是更像一张平面纹理地图,上面有一些基本的障碍物,比如树木,一个单位生产像兵营这样的结构。我希望这些单位有生命值条,能够移动,攻击和死亡(并可能变成另一个单位)。

遥远的目标是使用dijkstra最短路径算法的修改版本,具有导弹攻击的远程单位等来实现一些基本路径。

我不打算实施任何对手或ai或网络或类似的东西。


答案 1

我正在沿着星际争霸I,魔兽争霸II甚至命令和征服的路线思考。

确保你清除了你的思想,以匹配其中任何一个的全部范围。他们花了多年的时间才组建了庞大的开发团队,预算高达数百万美元,所以你甚至不能指望接近这些。他们被称为AAA是有原因的。话虽如此,你没有理由不能非常小地模仿他们的设计,或者制作一个他们类型的小游戏,假设你以前有制作小游戏的经验。

RTS的一个子类型可能在这段时间内可行,那就是塔防游戏。植物大战僵尸就是一个很好的例子。我建议这个子类型的原因是,你可以避免实现任何类型的AI或路径查找,这些都是众所周知的难以工作,而且我认为在技术上不可能“完美”地实现,特别是在CPU预算有限的情况下。

确保在你的范围内占主导地位。更喜欢“完整”的游戏而不是新功能,因为你可以随时称之为“完成”。尽快让您的游戏可玩,在必要之前不要为抛光或细节而烦恼。添加一种敌人类型和一种类型的玩家单位(如果您正在考虑为每个单位实现多种能力,则只有一种技能)。制作标题屏幕,菜单(即使菜单只是“单击屏幕即可玩”),游戏对屏幕,关卡完成或统计屏幕,跨级玩家统计信息等。一旦你解决了所有这些问题,就花同样的时间来添加新功能并打磨游戏玩法/图形/错误。

一旦你准备好了一个可玩的“完整”游戏(无论范围有多小),找一个真正的艺术家为你做图形。一个闪亮的游戏总是吸引观众,无论游戏玩法多么简单。


答案 2

认为你可以在任何地方实现2D RTS引擎是非常不现实的,甚至接近这类游戏的复杂性。如果你经验丰富,你可能会得到一些非常粗糙的东西,但只有一年的时间,我认为这是值得怀疑的。

我不禁觉得,如果你使用现有的引擎或框架并基于它构建,它对你来说会更好。就像你说的,使用其他代码可能也是一个很好的学习体验。它可以让你进行实验,而不会陷入不得不做所有事情的困境。


推荐