分享创作 从零开始做文字游戏-跟着流程学

YakumoReddo · 2019年02月26日 · 最后由 YakumoReddo 回复于 2019年02月26日 · 852 次阅读
本帖已被设为精华帖!

前言

因为某教程似乎不是很亲近新手,总是有很多新人进群问一些教程里有的东西(烦死我辽)
所以咱在这里带你们从头开始做游戏(不包括学习js内容)

第零步,了解蝶梦

蝶梦是一个很好很好的文字游戏引擎
它可以帮助你做出各种各样的文字游戏

第一步,新建游戏

点击创作间,进入游戏列表

点击左侧创建新游戏

然后是游戏设置界面

①:游戏图标
②:游戏名
③:游戏简介
④:游戏分类,上架后将显示在对应的分类中
⑤:显示模式。
列表模式

传统模式

共收到 6 条回复

刚才按错了....直接发出去了....
⑥:主题。这个暂时没有其他主题
⑦:状态,可选连载中和已完结
⑧:新建章节,不用我多说
⑨:保存,保存这个页面的设置
⑩:申请上架。点击后可等待编辑在后台审核,审核通过后即可在首页显示

第二步,新建章节

首先点击⑧新建章节

输入章节名(不会在正式游戏页面显示),点击确认提交,一个章节就建好了

第三步,制作一个普通的流水账游戏

点击编辑章节
恭喜你,成功进入了编辑界面

随便编辑一些内容

点击暂时保存,然后点击预览此游戏

正常显示。

游戏结束了
是不是很简单?
我们再来一点骚操作



不吃
是不是瞬间感觉逼格上去了?(并不)
我来解释一下
首先是那个[吃][不吃]
这是段落标签,使用英文方括号扩住里面的内容,可以用来跳转
当然,如果你不适用跳转之类的话,他还是会正常按顺序显示的
然后是
使用这个可以使页面下方出现选项
冒号后面的文字对应选项的名字以及段落标签
选中这个选项后会跳转到相应的段落标签处
最后是失败
与之相对的还有成功
这两个都是控制游戏结束的

那么如何不使用达到跳转的目的呢?
比如将选择之后进行之后的行为
那么就要使用

在这里,我使用让我在吃早饭之后喝水再被噎死

看,这就是大作者之力的体现!(我先去上个厕所一会再写)

adminer 将本帖设为了精华贴 02月26日 14:11

第四步,加一些奇奇怪怪的功能


这是蝶梦的一些奇奇怪怪的小功能
作为一个做游戏从来不管配乐的作者我表示对我来说卵用没有
代码实现:

第五步,加一些特技

俺寻思你们需要代码的洗礼

那么进行到这一步,你们已经可以做出基本的文字游戏了,剧情向的。
只要有合理的设计,多线结局也不是不可以的事情。
以下内容设计javascript内容,如果不想学习的话就到此为止,不要再看了。
如果你真的有想法有设计的话,上面的教程够你使用了。
话不多说,进入代码环节。
经过多方信息综合,我们发现蝶梦支持html和javascript
这里我主要说说javascript。

如果你不会javascript的话,点我前往Runoob进行学习
首先,想在蝶梦中运行js代码,需要有<:=:>:在前面
比如上面那个洗礼
一般没有特殊要求的代码使用=:就可以了
这里说一下,蝶梦预先设置了全局变量MD
所以如果你需要设置其他变量的话,直接MD.变量名=值就好了
请尽量将所有变量设置为MD里面的,这样的话读档的时候会读出来。存档读档的一会再说
比如,我们要在如下代码中,哭5次以上才能哭死,不然只能抑郁死

只有你点击了五次“哭唧唧”才能哭死
如何实现的呢?


首先,我们先把MD.times变量设置为0,表示哭了0次
然后顺序进入绿了!段落,首先进行判断。如果MD.times即哭了的次数超过了5,进入哭死了段落
这里面,game_jumpto()函数的用法等同,只有一个参数,填段落名
然后这里涉及了的高级用法,即选项执行js代码,需要在相应的选项下一行使用>:开头
这就是变量的用法。比如你想要设定,如果在前面的剧情,杀敌数<100,不给进城,那么就要用到这个用法

代码如下

你被人绿了
=: MD.times = 0

[绿了!]

=: if(MD.times >=5)game_jumpto("哭死了");
哭吗?
选:哭唧唧
>: MD.times+=1;game_jumpto("绿了!")
选:不哭!


[不哭!]

悲伤,逆流成河
失败:你抑郁而死

[哭死了]

j2丢人,你还是不是个男人了
失败:你脱水而死

第六步,存档

这步很重要!我前面那步说错了,所有人都改看看第六步!
这步很重要!我前面那步说错了,所有人都改看看第六步!
这步很重要!我前面那步说错了,所有人都改看看第六步!
对于不使用代码的小伙伴,你们可以使用进行存档
比如存:第一章
那么你读取存档的时候,就会出现一个“第一章”的存档
对于使用代码并且有变量没有使用MD的童鞋,恭喜你,你试试你关掉页面再重新打开读一下档,duang!报错!
为什么呢?
因为存档只能存MD变量!!!
也就是说,所有的不是MD.xxx的变量通通不会在存档内读取
所以说,如果没有特殊要求,请不要使用var声明变量,或者在读档后重新声明一遍
比如,像我这个代码

我首先把MD.skill变量设置为数组空对象,然后再进行对象成员声明,这样就可以在存档的时候存一下这个变量了 绝对不要用var声明MD.xxx变量! 绝对不要用var声明MD.xxx变量! 绝对不要用var声明MD.xxx变量! 另外,不要在本帖回复!除非我说了完结!

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册