游戏开发——制作地图
game development - making maps
我有一个关于在开发游戏时制作地图的一般性问题。所以看起来大多数地图都比屏幕大,当你四处移动时,新区域要么被显示出来,要么被动态渲染。我的问题是,这些地图是怎么产生的?我正在做一些iOS开发工作,未来可能想做一些RPG相关的工作,但我不知道如何制作一个比屏幕尺寸更大的地图。
所以基本上让我困惑的是例如…当有人在创造一个大型地图时,他们是能够看到整体并将物体放置在他们想要的地方,还是他们必须猜测物体的位置并通过编程为其分配x/y(也许是z)坐标?明白我的意思了吗?
对此非常感兴趣,急切等待回复!
在大多数带有你所说的地图的RPG(以及许多其他)游戏中,游戏引擎使用的是tile地图。根据地图的大小,我们可以选择将整个地图放在内存中,或者将其分成几个部分,然后从文件中加载(就像《我的世界》中的块)。无论哪种方式,更常见的情况是,内存中加载的磁贴比屏幕上显示的要多。引擎必须决定当前要绘制哪些贴图,并且只绘制这些贴图。
负责设计地图或关卡的人通常使用关卡编辑器工具,该工具可以放大/缩小以查看更多贴图,也可以轻松地滚动贴图进行编辑。
通常在游戏设计中会创建一个比屏幕还大的完整地图,然后只显示其中的一部分。这样,就可以建立在特定条件下移动查看窗口的行为。
在iOS世界中,你会使用UIScrollView
或MKMapView
之类的东西。查看一下相关文档,以了解如何实现此功能以及成本是多少:
我不认为任何头脑正常的人会硬编码地图(除了poc)。他们要么编写一些从文本文件加载地图的工具(游戏邦注:这适用于基于贴图的游戏),然后在自己喜欢的文本编辑器中创建地图;或者他们推出一个关卡编辑器,在那里他们可以放大和缩小,自由飞行,放置东西(想想《我的世界》的创造模式)。关卡编辑器的制作时间相对较长,但在你投入一些时间让它工作之后,你的关卡构建速度就会大大提高。
- 为什么不;名字在地图上是按顺序排列的吗
- 基于多个条件处理地图中的所有元素
- 在C++中将矢量转换为嵌套地图
- 开发C++/地图中的控制台角色扮演游戏
- 如何高效/正确地存储等距游戏的不同类(单个超类的所有子类型)的地图?
- SFML游戏C++中的瓷砖地图碰撞
- 无法访问/存储地图中的游戏状态对象
- 使用什么数据结构来存储基于游戏对象的二维单元地图?
- C++ 文字冒险游戏:2D阵列作为地图
- 在游戏地图上选择100种情况的最佳方法(MFC,CPoint)
- 为 2D 游戏分配图块地图'tiles'和数值
- 编写用于游戏开发的地图编辑器
- 使用C++定向越野地图游戏
- Cocos2d-xTMX地图与游戏精灵共享纹理图像文件
- 基于组件的游戏对象的阵列和地图之间的优点和缺点
- 房间地图游戏程序从文件读取
- 绘制小地图(游戏)
- 游戏开发——制作地图
- 如何在没有平铺地图的情况下使用Cocos2D制作滚动游戏
- (c++,Qt,Linux)将游戏地图线转换为图像线