从0开始学游戏开发
蔡能
原网易游戏引擎架构师,资深游戏底层技术专家
立即订阅
5825 人已学习
课程目录
已完结 41 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 跟我学,你也可以开发一款游戏!
免费
第一章:游戏开发基础知识 (5讲)
第1讲 | 游戏开发需要了解哪些背景知识?
第2讲 | 2D游戏和3D游戏有什么区别?
第3讲 | 游戏的发动机:游戏引擎
第4讲 | 底层绘图接口的妙用
第5讲 | 构建游戏场景的武器:地图编辑器
第二章:客户端开发 (10讲)
第6讲 | 从0开始整理开发流程
第7讲 | 如何建立一个Windows窗体?
第8讲 | 如何区分图形和图像?
第9讲 | 如何绘制游戏背景?
第11讲 | 如何载入“飞机”和“敌人”?
第12讲 | 如何设置图像的前后遮挡?
第14讲 | 如何设置精灵的变形、放大和缩小?
第15讲 | 如何设置淡入淡出和碰撞检测?
第17讲 | 如何制作游戏资源包和保存机制?
第18讲 | 如何载入背景音乐和音效?
第三章:UI和键盘鼠标 (3讲)
第20讲 | 如何在游戏中载入UI和菜单?
第21讲 | 如何用鼠标和键盘来操作游戏?
第23讲 | 如何判断客户端的网络连接?
第四章:脚本语言 (3讲)
第24讲 | 如何嵌入脚本语言?
第26讲 | 脚本语言在游戏开发中有哪些应用?
第27讲 | 如何使用脚本语言编写周边工具?
第五章:服务器端开发 (6讲)
第29讲 | 如何选择合适的开发语言?
第30讲 | 如何定制合适的开发协议?
第32讲 | 不可忽视的多线程及并发问题
第33讲 | 如何判断心跳包是否离线?
第35讲 | 如何用网关服务器进行负载均衡?
第36讲 | 如何制作游戏内容保存和缓存处理?
第六章:热点剖析 (9讲)
第10讲 | 热点剖析(一):HTML5技术是如何取代Flash的?
第13讲 | 热点剖析(二):如何选择一款HTML5引擎?
第16讲 | 热点剖析(三):试试看,你也可以编写一款HTML5小游戏!
第19讲 | 热点剖析(四):安卓端和苹果端游戏开发有什么区别?
第22讲 | 热点剖析(五):如何选择移动端的游戏引擎?
第25讲 | 热点剖析(六):AR和人工智能在游戏领域有哪些应用?
第28讲 | 热点剖析(七):谈谈微信小游戏的成功点
第31讲 | 热点剖析(八):谈谈移动游戏的未来发展
第34讲 | 热点剖析(九):谈谈独立开发者的未来发展
加餐 (3讲)
复习课 | 带你梳理客户端开发的三个重点
课后阅读 | 游戏开发工程师学习路径(上)
课后阅读 | 游戏开发工程师学习路径(下)
结束语 (1讲)
结束语 | 做游戏的过程就像是在雕琢一件艺术品
从0开始学游戏开发
登录|注册

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

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

地图编辑器有哪些种类?

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

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

我刚才说过,大多数时候地图编辑器不需要你自己开发。但是我们依然要了解地图编辑器是如何编写出来的,至于了解这些究竟有什么用呢?我继续来给你讲。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《从0开始学游戏开发》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(14)

  • OCEAN
    动态加载,如魔兽世界跑图时的做法
    2018-06-05
    5
  • 匹诺曹
    知道有一个通用的叫 tilemap 的免费地编,2d的
    2018-06-05
    4
  • 凯叔
    老师好,感谢您的分享。
    说说我的看法吧,我觉得,不管是地图编辑器,关卡编辑器,还是现在很多h5游戏使用的动画编辑器,都是为了提高开发效率存在的。是否需要还是看游戏的类型。(比如很多卡牌游戏就不存在地图一说)
    说白了地图编辑器就是用可视化的方式,方便制作人员制作游戏中需要的一些数据和素材而已。这里面可以涉及游戏的逻辑配置(比如魔兽的地图编辑器),也可以不涉及(比如星际争霸1的地图编辑器)
    2018-06-06
    3
  • 匹诺曹
    保存成只记录物件类型和物件位置的数据,比如用 xml, csv 等方式保存地图内容。不知道这个算不算

    作者回复: 也可以

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

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

    2018-06-05
    1
  • 不吐槽会死的喵星人
    我想起一个地牢的格子游戏,把地图做成瓦片地图,只要在对应位置放上对应瓦片,就可以完成地图了。这样的话只要记录每个地点的位置及瓦片种类,铺上去就可以了。而且不需要加载全部地图,只需要加载需要显示的部分就可以了,等人物走过去之后再加载新瓦片。这样估计加载新地图会比较快。
    2018-06-05
    1
  • 中心没有思想
    首先比较地图内容,如果地图内容变化不大,只重新加载不同部分,保留相同部分。应该会加快地图的加载速度。
    2019-08-19
  • iHTC
    你好,我想问一下,因为我是做iOS开发的,然后是用的是苹果macOS系统,然后教程里面给的都是windows系统的教程,所以我想问一下,对应的macOS系统是不是也有对应的工具或者说也是相似的配置就可以了?我已经有4五年没有接触windows系统了😂😂
    2019-05-12
  • 王剑
    同一张图到不同地方转换角度,这个算不算取巧,😄

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

    2018-06-22
  • sky
    unity的地图编辑器呢,有什么工具做出来的能直接导入使用么
    2018-06-13
  • 观望者
    请问老师,关卡编辑器就是地图内的物件么?还有没有别的内容。会不会涉及到游戏的逻辑和策略?或者说,关卡编辑器也是静态的内容?

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

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

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

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

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

    2018-06-05
  • gerald
    有没有人和我一样希望更新快一点😂

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

    2018-06-05
收起评论
14
返回
顶部