游戏开发——制作地图

game development - making maps

本文关键字:地图 游戏 开发      更新时间:2023-10-16

我有一个关于在开发游戏时制作地图的一般性问题。所以看起来大多数地图都比屏幕大,当你四处移动时,新区域要么被显示出来,要么被动态渲染。我的问题是,这些地图是怎么产生的?我正在做一些iOS开发工作,未来可能想做一些RPG相关的工作,但我不知道如何制作一个比屏幕尺寸更大的地图。

所以基本上让我困惑的是例如…当有人在创造一个大型地图时,他们是能够看到整体并将物体放置在他们想要的地方,还是他们必须猜测物体的位置并通过编程为其分配x/y(也许是z)坐标?明白我的意思了吗?

对此非常感兴趣,急切等待回复!

在大多数带有你所说的地图的RPG(以及许多其他)游戏中,游戏引擎使用的是tile地图。根据地图的大小,我们可以选择将整个地图放在内存中,或者将其分成几个部分,然后从文件中加载(就像《我的世界》中的块)。无论哪种方式,更常见的情况是,内存中加载的磁贴比屏幕上显示的要多。引擎必须决定当前要绘制哪些贴图,并且只绘制这些贴图。

负责设计地图或关卡的人通常使用关卡编辑器工具,该工具可以放大/缩小以查看更多贴图,也可以轻松地滚动贴图进行编辑。

通常在游戏设计中会创建一个比屏幕还大的完整地图,然后只显示其中的一部分。这样,就可以建立在特定条件下移动查看窗口的行为。

在iOS世界中,你会使用UIScrollViewMKMapView之类的东西。查看一下相关文档,以了解如何实现此功能以及成本是多少:

https://developer.apple.com/library/ios/documentation/MapKit/Reference/MKMapView_Class/MKMapView/MKMapView.html

https://developer.apple.com/library/ios/documentation/uikit/reference/uiscrollview_class/Reference/UIScrollView.html

我不认为任何头脑正常的人会硬编码地图(除了poc)。他们要么编写一些从文本文件加载地图的工具(游戏邦注:这适用于基于贴图的游戏),然后在自己喜欢的文本编辑器中创建地图;或者他们推出一个关卡编辑器,在那里他们可以放大和缩小,自由飞行,放置东西(想想《我的世界》的创造模式)。关卡编辑器的制作时间相对较长,但在你投入一些时间让它工作之后,你的关卡构建速度就会大大提高。