从 0 开始学游戏开发
蔡能
原网易游戏引擎架构师,资深游戏底层技术专家
36832 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 42 讲
从 0 开始学游戏开发
15
15
1.0x
00:00/00:00
登录|注册

第5讲 | 构建游戏场景的武器:地图编辑器

今天,我想和你聊一聊基础知识模块的最后一部分,地图编辑器。为了给之后的内容铺垫,我还会顺带介绍一些游戏 Demo 的知识。
我们先来看一幅图。这看起来是一款 FPS 射击游戏对不对?也对也不对。说对,因为这确实是一款 FPS 游戏;说不对,这其实只是一幅地图,但是这幅地图来自《魔兽争霸 3》。更准确地说,这是使用《魔兽争霸 3》的地图编辑器制作出来的一幅游戏地图。
《魔兽争霸 3》发布之初,没人能想到并且能做出这样“变态”且“不走寻常路”的地图。《魔兽争霸 3》的地图编辑器之强大,直到它发布五、六年后,才有人开始制作出这样令人匪夷所思的地图。
地图编辑器在游戏开发的前期扮演着非常重要的角色,它的主要功能就是用来制作游戏地图。 因为我们现在是一个人来开发一款游戏,不涉及分工的问题。而常规的团队在进行游戏开发的过程中,用地图编辑器制作地图是由美术来负责的。
地图编辑器本身一般会由专业的地图编辑器程序员来开发完成。地图编辑器可以使用原生引擎所支持的语言来编写,比如 C/C++;也可以使用引擎加嵌入脚本语言的方式来进行编写,比如 Lua 等。但是现在,一些成熟的游戏引擎都会自带地图编辑器。所以,大多数时候地图编辑器不需要你自己开发。

地图编辑器有哪些种类?

地图编辑器并非千篇一律。由于游戏类型的不同,地图编辑器也不相同。比如我们做一个《大富翁》类的游戏,我们就需要做一个斜 45 度角的地图编辑器
如果是俯视角度的游戏,地图编辑器的视角呈现方式也类似斜 45 度角的游戏。这两种编辑器制作地图的方式极其类似,唯一不同的是,斜 45 度角是用菱形的地图块拼接而成,俯视视角是用矩形的地图块拼接而成的。
我们做一个横版卷轴游戏,就需要在地图编辑器内摆放横版的地图。如果地图是重复地图,类似《管道鸟》,那就需要程序员重复贴图,而不需要在地图编辑器重复编辑相同的地图。
3D 游戏就会有 3D 地图编辑器,就像前面的《魔兽争霸》编辑器,就是一个 3D 视角。地图编辑器的种类不同,保存的地图类型和文件结构也不一样。有些地图编辑器保存的是图片和位置,而有一些保存的却是一个脚本文件,方便直接载入游戏程序。

为什么要了解地图编辑器的编写过程?

我刚才说过,大多数时候地图编辑器不需要你自己开发。但是我们依然要了解地图编辑器是如何编写出来的,至于了解这些究竟有什么用呢?我继续来给你讲。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《从 0 开始学游戏开发》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(15)

  • 最新
  • 精选
  • 壬大师
    老师,web类软件系统的服务器端都需要第三方的服务器容器,比如Tomcat、Jboss、Weblogic等。在游戏软件系统的服务器端是否也需要第三方的服务器容器,还是只是原生运行的服务器程序就可以了?

    作者回复: 看具体游戏类型和技术选型,一般会写原生的,用http形式的服务器对于游戏来说并不常见,除非是弱交互类型的。具体可以参考我新出版的书《游戏服务器架构与优化》😀

    4
  • 小猫藏鱼
    保存成只记录物件类型和物件位置的数据,比如用 xml, csv 等方式保存地图内容。不知道这个算不算

    作者回复: 也可以

    3
  • gerald
    有没有人和我一样希望更新快一点😂

    作者回复: 谢谢,每周三次

    1
  • 小王
    同一张图到不同地方转换角度,这个算不算取巧,😄

    作者回复: 不算,除了载入语句,代码还是照样写。

  • 观望者
    请问老师,关卡编辑器就是地图内的物件么?还有没有别的内容。会不会涉及到游戏的逻辑和策略?或者说,关卡编辑器也是静态的内容?

    作者回复: 关卡编辑器一般是属于添加条件和物件,比如各种道具,各种条件判断,比如走到某个点,就触发某个特殊动画或者游戏事件。这些就涉及到游戏的一部分逻辑,关卡设计完就是静态的。

  • 陈海龙
    老师,我是一名现在大二的计算机专业学生,有C++和一定算法基础,想试水游戏开发相关,就订了老师的课程,请问老师您方便推荐几门参考书搭配课程看吗?

    作者回复: 如果你是学习游戏服务器,推荐我自己的书籍《游戏服务器架构与优化》,如果是客户端,可以看 面向对象游戏开发,3D绘图程序设计,等等,图形算法类都可以去看。

  • kk
    老师能不能给一些具体的列子嘛?

    作者回复: 指的是哪方面的例子?

  • 凯叔
    老师好,感谢您的分享。 说说我的看法吧,我觉得,不管是地图编辑器,关卡编辑器,还是现在很多h5游戏使用的动画编辑器,都是为了提高开发效率存在的。是否需要还是看游戏的类型。(比如很多卡牌游戏就不存在地图一说) 说白了地图编辑器就是用可视化的方式,方便制作人员制作游戏中需要的一些数据和素材而已。这里面可以涉及游戏的逻辑配置(比如魔兽的地图编辑器),也可以不涉及(比如星际争霸1的地图编辑器)
    6
  • OCEAN
    动态加载,如魔兽世界跑图时的做法
    6
  • 小猫藏鱼
    知道有一个通用的叫 tilemap 的免费地编,2d的
    5
收起评论
显示
设置
留言
15
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部