Java 课堂中的游戏世界结构

Java 课堂中的游戏世界结构,java,class,Java,Class,我正在用Java开发一个2D游戏,我想要一些基本的ingame脚本(生成敌人、生成物品、更改敌人属性) 我不知道的是如何划分游戏世界,这样我就可以轻松地处理它 我需要不同类型的敌人(有生命值和基本AI),物品类别(玩家可以选择),用不同的方块平铺地图 我如何组织我的游戏世界架构?我应该使用哪些基本类来轻松扩展和维护游戏世界 对我来说,游戏世界的基础是找到共同点 世界在时间中前进。所有的主动元素(玩家、掉落的物品、敌人、npc)也是如此,但所有的被动元素都不是(石头块、树、房子),因此我会使用两个

我正在用Java开发一个2D游戏,我想要一些基本的ingame脚本(生成敌人、生成物品、更改敌人属性)

我不知道的是如何划分游戏世界,这样我就可以轻松地处理它

我需要不同类型的敌人(有生命值和基本AI),物品类别(玩家可以选择),用不同的方块平铺地图


我如何组织我的游戏世界架构?我应该使用哪些基本类来轻松扩展和维护游戏世界

对我来说,游戏世界的基础是找到共同点

世界在时间中前进。所有的主动元素(玩家、掉落的物品、敌人、npc)也是如此,但所有的被动元素都不是(石头块、树、房子),因此我会使用两个界面:主动元素和被动元素。活动元素可以有一个stepintime()函数,游戏世界在每次它自己的时间步进时都会调用该函数。这两个元素都可以有一个render()函数,每当在画布上绘制游戏世界时,该函数都会绘制元素

然后所有的敌人都应该调用他们的ai来确定他们下一步的时间,以及检查与任何其他物体的碰撞,无论这意味着什么(树木、子弹、玩家等等),基本上所有其他元素都是如此

对我来说,这是游戏世界中最基本的架构

然后是性能问题,将某些东西放在自己的线程中并让它们运行可能会更好(敌人的ai在每个周期检查其化身的位置和状态,并在每一步的时间内进行输入),但我没有足够的经验来详细说明。然后你应该去gamedev网站(如karim79所说)

实现的元素可以有自己的属性,并且易于扩展(健康、统计) 并编写一个解释器,读取与游戏世界通信的simpel脚本,添加敌人等


再见

我通常有一个类似的布局

GameObject
具有
Draw()
Move()
等功能。然后,
敌人
地精
独角兽
中设置了更多用于实现人工智能的函数和变量
Player
包含在
Move()
中移动播放器的所有内容


这只是我将要做的一个大概想法。每种游戏都不一样,这取决于游戏的类型和你如何玩。

这个问题更适合于详细介绍你的游戏。敌人会攻击吗?是每样东西都有生命值,还是只有一次致命一击?你是否会通过在物品上奔跑来收集物品?更多地讨论每件事情是如何工作的,这样设计类架构就更容易了。拜托,各位,为什么“很难说出这里要问什么”呢?请不要在这里和gamedev SE上同时问。这既粗鲁又浪费人们的时间。很抱歉,第二次我不这么做了,谢谢你对gamedev的编辑,