我正在寻找有关基于瓷砖的游戏的文章,例如旧的 ultima 6 和 7,甚至是拼图海盗。具体来说:
- 他们如何跟踪地图上的对象。其他角色、树木或角色可以移动的物体等物体。
- 人物背后的人工智能。游戏如何处理地图上不在屏幕上的角色的角色行为。尤其是非常大的地图和众多的角色。
我正在寻找有关基于瓷砖的游戏的文章,例如旧的 ultima 6 和 7,甚至是拼图海盗。具体来说:
我记得在我写一些游戏的时候查看了Amit 的游戏开发页面。他有一个很棒的关于瓷砖的小节,里面有你想要的大部分。
您可以翻阅 Game Developer 杂志的过往刊物,看看是否有内容详细解决了您的问题。
对于 (1) 处理基于图块的地图(其中每个图块可以包含多个对象)的最简单方法是只拥有一个表示每个图块的大型多维结构数组。该结构包含一个指向链表头部的指针,该链表表示该图块中的所有对象。这非常节省内存,让您可以快速找到某个图块中的所有内容,同时还可以沿其他轴(例如,所有者、分配区域等)枚举它们。
RogueBasin 致力于类似 Rogue 的游戏(例如 Rogue、NetHack、)。所有这些游戏都基于一个简单的方形网格。该网站有大量关于开发此类游戏的部分:http ://roguebasin.roguelikedevelopment.org/index.php?title=Articles
您将在那里找到可用于构建您所描述的游戏的建议和代码。毕竟,Rogue/Larn/NetHack/等之间唯一真正的区别。而暗黑破坏神或创世纪系列正在使用简单的文字字符来描绘地图和游戏玩法与等距精灵。
特别是,您会找到有关计算用户携带的手电筒或灯笼照明面积的信息、用于存储地图的数据结构、用于自动生成地图的算法,以及许多关于已编写的不同游戏如何选择解决的注释这些问题。
查看Gamasutra。他们有大量关于各种游戏开发的文章。
该地图将是一个值数组。它可以分为离散的部分。只会加载播放器范围内的部分,并且这些部分中的对象和 npc 处于活动状态。
由于旧硬件的内存和 CPU 非常有限,这些游戏只能加载和处理部分地图。