Java 2d游戏不使用平铺地图

Java 2d游戏不使用平铺地图,java,slick2d,Java,Slick2d,我决定用Java制作一个2d游戏(使用slick2d库和MarteEngine),并尝试在没有平铺地图的情况下制作。如果没有平铺地图,我接下来的任务似乎会非常困难。这些任务是路径和碰撞(建筑物和玩家/NPC之间) 是否几乎不可能轻松实现寻路和碰撞系统?我想我总是可以在游戏中手动创建一个网格,但考虑到我有一个功能摄像头,所以我不得不移动网格,这可能会有点混乱 此外,我所说的碰撞是指单位相互碰撞并成为一个单位。我想这可以归为pathing,但我没有办法解决重叠问题 任何想法都很感激 很多游戏仍然会将

我决定用Java制作一个2d游戏(使用slick2d库和MarteEngine),并尝试在没有平铺地图的情况下制作。如果没有平铺地图,我接下来的任务似乎会非常困难。这些任务是路径和碰撞(建筑物和玩家/NPC之间)

是否几乎不可能轻松实现寻路和碰撞系统?我想我总是可以在游戏中手动创建一个网格,但考虑到我有一个功能摄像头,所以我不得不移动网格,这可能会有点混乱

此外,我所说的碰撞是指单位相互碰撞并成为一个单位。我想这可以归为pathing,但我没有办法解决重叠问题


任何想法都很感激

很多游戏仍然会将地图分块,即使它不是基于分块的游戏

原因是,您可以通过检查对象是否与当前分幅或任何相邻分幅中的任何对象重叠来执行碰撞检测。只要您的对象不大于平铺,此碰撞检测方案就可以保证解决所有可能的碰撞

编辑


如果您有不基于平铺的现有图形,仍然值得使用这种“虚拟”网格进行碰撞检测等。您可以将特定的网格网格标记为完全或部分“阻止”如果您想检测与地图功能等类似的冲突。

因为我的一位朋友已经在我们使用的地图中添加了大量细节,我们不想重新开始,您是否建议在运行时在游戏中分割地图?是的,这只是运行时的事情。瓷砖是“不可见的”——它们不需要影响图形。它们仅用于定位和碰撞检测。想一想在任何图形上都有一个不可见的“网格”……好吧,那么我会创建一个包含X和Y值的对象数组列表吗?如果我这样做了,我有一个可以移动物体的相机(假设我在一张5k X 5k的地图上做了100x100个正方形),我真的需要在250k的物体上循环来移动它们的X和Y吗?也许我会在睡觉的时候想点什么。谢谢