从本篇开始,我们就来一步一步从零开始编写一个自己的游戏编辑器。

在编写之前,我也做了许多准备工作,其中Construct3我仔细了解了一番,刚刚发现最近增加了简体中文版本,看来还是很照顾中国市场的,有兴趣可以体验一番。

虽然感觉可以挑战下,但是体量还是稍微有点大,不太适合立flag,万一打脸了呢?以后,有机会一定挑战下。

我们不需要写的像creator那么高度可复用,我们只针对特定游戏类型进行定制,有点类似《魔兽争霸》编辑器,是为特定游戏类型服务的,别激动,我们也不搞这么高大上的编辑器,我们就只针对文字游戏进行定制编辑器。

顺带扩展下思路,任何游戏类型的游戏(2D,3D)都可以制作配套的编辑器,如果Creator是偏底层的话,那么我们的编辑器就是偏应用层的,是完全不同的编辑器思路。

为了保证后续教程的可持续性,我们先设定一个小目标,教程结束后,我们将完成一个最简单的纯文字游戏编辑器,如果大家有玩过生命线的话,最终生成的游戏就是和这款游戏类似。

游戏玩法大致如下图所示:

游戏中全靠文字对话撑起整个游戏剧情,不同的选择会导致不同的游戏剧情走向。

在调研这款游戏的时候,偶然也发现了『蝶梦文字游戏编辑器』(此处绝无广告的嫌疑,我也没收钱),并且还在运营,在体验了之后,我的内心一直回荡这一个字:抄。

OK,那么我们正式进入正题。

我们先进行一些准备工作,那么都需要哪些内容才能完整的实现出来一个编辑器呢?听说给你分(chui)析(niu)一番:

  1. 首先我们需要编写游戏的基本逻辑,这是游戏的灵魂,也是编辑器的基础,相信creator老司机们,编写这样一个简单的文字游戏逻辑,应该问题不大吧,这都不会,出门左拐,不送。

  2. 我们其实很容易观察到,这种文字游戏,其实是依靠数据驱动,逻辑并不复杂,而我们要编写配套的游戏编辑器,核心其实就是生产数据,在这里我们使用的是Electron,将游戏逻辑嵌入到编辑器中,并编写配套的编辑器逻辑,并且可以视需求,定制一些实用的功能,比如实时展示运行游戏,展示剧情走向逻辑关系等等。

  3. 游戏最终是要发布出去的,发布流程其实就是将游戏逻辑游戏数据打包的过程。

经过以上分析,个人认为整个一个编辑器想要顺利开发完成,需要具备以下能力:

  1. 对编辑器整体的设计架构能力,如何把一个需求功能,正确的拆分为游戏逻辑、编辑器逻辑等。

  2. 对知识的广度也有一定要求,只有见得多,才能形成自己的认知理解,至于深度嘛,熟练掌握即可。

    游戏逻辑部分:不需要你达到图形学大佬的水平,能写个斗地主,打飞机小游戏就可以。

    编辑器部分:因为Electron使用的web开发技术栈,所以不是web前端老司机也不要紧,web小菜鸡会使用vue,能写个hello world就可以。

  3. 最重要的能力,将1和2,结合起来。

一通分析猛如虎,战力只有0.5,让你失望了,到现在为止,都是在介绍思路,毕竟三思而后行,写代码亦是如此。

在下一篇教程中,就开始真正的代码实战了。

在此时间,你可以抽空了解以下内容,因为紧接着会涉及大量这方面的知识:

  1. Cocos Creator

  2. Electron

  3. Web三件套(JS,HTML,CSS)

  4. Vue:注意,为了降低开发难度,我不会采用vue-cli。

  5. Vuex:视情况啦,但我还是建议你学习下。

  6. Element-ui:ui框架采用了比较流行的框架之一,如果你对其他ui框架比较熟悉,可忽略这部分知识。

  7. 项目开发语言采用js,不采用ts的原因是,配置越简单越好。

好啦,本篇文章到此结束,虽然没有实战,但是知识点还真的满满一堆,相信完成这个编辑器,绝对能让你从新的角度重新认识creator。

如果这篇文章对你有帮助,请自觉赞赏,谢谢!

纯文字游戏编辑器_重新认识CocosCreator系列之三:立Flag啦,文字游戏编辑器!...相关推荐

  1. 文本编辑器_国外程序员最爱的5种文本编辑器

    文本编辑器的选择是很多初学编程者在学习编程时需要考虑的问题之一,当前IT行业应用开发平台软件较多,可供程序员选择的文本编辑器类型较多,但是一个好的文本编辑器能够提高程序工作的效率,达到事半功倍的效果. ...

  2. 微服务配置中心是干啥的_微服务化改造系列之三:配置中心

    配置中心概述 这篇文章是微服务化改造系列的第三篇,主题是配置中心.上一篇我们谈到服务注册中心,即通过提供某种注册和发现的机制,解决服务互通的问题.那么问题来了,一个服务如何知道服务注册中心的地址呢?这 ...

  3. java简单的文本编辑器_采用java语言如何建立一个简单的文本编辑器

    1.类的框架: 所谓类的框架,就是给出这个类需要的属性和方法,比如本文就需要我们的类继承JFrame父类和载入ActionListener接口,属性有按钮,面板,文本区域框,方法构造方法与事件处理方法 ...

  4. mysql sql语句 编辑器_技巧:三个非常实用的开源SQL编辑器

    本文作者Mpumelelo Msimanga是一名资深BI技术人员,现任Metropolitan Health Group(都市卫生集团)商务智能经理.著名的博客撰写人. 由于我参与了一些商业智能(B ...

  5. (转)编辑器_编辑器杂谈(转载)+点评

    简介摘要: 编辑器杂谈(转载)+点评 编辑器杂谈(转载)+点评点评:Scintilla: 目前Scintilla有一统江湖的趋势.只要是新开发的软件工具能够用到高级编辑器的地方基本上就会用它了.的确S ...

  6. QT_文本编辑器_源码下载

    QT_文本编辑器_源码下载 源码下载: 链接: http://pan.baidu.com/s/1c21EVRy 密码: qub8 实现主要的功能有:新建,打开,保存,另存为,查找(查找的时候需要先将光 ...

  7. 【机器学习基础】数学推导+纯Python实现机器学习算法30:系列总结与感悟

    Python机器学习算法实现 Author:louwill Machine Learning Lab 终于到了最后的总结.从第一篇线性回归的文章开始到现在,已经接近有两年的时间了.当然,也不是纯写这3 ...

  8. sscanf 连续相同编辑符_【第1995期】钉钉文档编辑器的前世今生

    前言 编辑器,一个重前端的领域方向.今日早读文章由钉钉@展新授权分享. @展新,来自钉钉文档团队.2011 年加入支付宝,一路成长于支付宝的前端团队,孵化了语雀,2018 年到钉钉,开启钉钉文档的旅程 ...

  9. VI编辑器_终端编辑器 vi和vim

    VI编辑器_终端编辑器 这篇文章要记住啊啊啊 要背要背啊 目录 VI编辑器_终端编辑器 一. 打开和新建文件 1.1 打开文件并且定位行 1.2 VI三种工作模式 1.3 末行模式命令 二.常用命令 ...

  10. VI编辑器_终端编辑器(命令整理)

    VI编辑器_终端编辑器 一.VI编辑器简介 1.1 学习vi的目的 1.2 vi 和 vim 2.打开和新建文件 2.1 打开文件并且定位行 2.2 VI三种工作模式 2.4 末行模式命令 3 常用命 ...

最新文章

  1. 李彦宏:汽车工业面临无人驾驶百年变局
  2. Ajax异步调用Web服务的例子
  3. 苹果官网区号怎么填?
  4. VTK:隐式平面小部件用法实战
  5. python 清空所有对象_学习python第38天
  6. 把十进制转为二进制到16进制
  7. 长春理工大学第十四届程序设计竞赛(重现赛)F.Successione di Fixoracci
  8. 如何快速将文本中的tab更换成逗号(图文详解)
  9. java学习(154):文件复制
  10. c语言数组指针题库,C语言 数组指针练习题.doc
  11. 计算机仿真技术与cad第三版课后答案,《计算机仿真技术与CAD习题答案》.doc
  12. 实习僧-竞品分析报告
  13. Spring Boot 2.x基础教程:进程内缓存的使用与Cache注解详解
  14. 高尔顿钉板概率模型的实现
  15. Spring整合mybatis事务管理
  16. 视频教程-细说HTML(HTML+HTML5)-HTML5/CSS
  17. 2022年Google开发者大会纪录
  18. 12306又崩溃,买张车票怎么就这么难
  19. VTK 实现MinIP Activiz
  20. Apache OpenNlp的初探

热门文章

  1. informix使用得一些小常识
  2. Centos系统新建文本文档.txt
  3. 分别使用御剑工具和dirsearch工具(需要在kali下进行安装)对http://159.75.16.25进行扫描, 扫描出敏感文件,敏感文件内有flag值
  4. 操作系统实验报告 实验3存储管理实验(答案全)
  5. 最强的linux命令总结.pdf
  6. 【Java后台开发规范】--- 日志的输出
  7. 深入浅出python系列(二):运算符
  8. 计算机工程制图课程安排,2017工程制图课程简介
  9. AD09 PCB制作开异性窗口
  10. Python 列表应用之“简易好友管理系统”