关于开发:来啊来魔改啊人生重开模拟器一键托管上线

55次阅读

共计 4134 个字符,预计需要花费 11 分钟才能阅读完成。

简介:云开发平台将“人生重开模拟器”fork 到了云开发的仓库了,用户只须要间接 fork 到本人的仓库当前就能够在云开发平台上进行疾速魔改和一键部署,绑定本人的域名就可能让小伙伴们一起来感触你的魔改创意哦。

人生无奈重来,游戏能够重开!

人生重开模拟器莫名其妙就火了,这是款纯文字 MUD 游戏。玩家开局能够从 10 个各具特色的天才里选中 3 个,并为本人的 4 项属性(颜值、智力、体质、家境)调配点值就可能重开你的人生。你齐全无奈意料本人会有怎么样的经验,比方 2 岁吃不饱饭死了、政府要求 5 点放学、家庭艰难、吃不饱饭、进入监狱、一会有女朋友、一会交一个男朋友等等,这款游戏还有很多十分厉害的暗藏终局!

这个游戏的全貌就是全程点点点,如播放 PPT 个别从诞生到死亡,没有美术、没有音效、甚至没有广告。但它魔性的随机文本词条混搭着平平淡淡的日常,偶然还会存在奇奇怪怪的开展,让我一心想摸索一下人生的边界,重复重开,重复筛选天才、配置属性,总想体验不一样的人生,一不小心就轮回了几百次。一玩就上瘾,重开了快 300 次人生,也逃不过究竟平庸的命运,还是没有体验到开挂的人生。那来啊,来魔改啊,长生不老版、升仙版、音效版,你都能够领有。

云开发平台将原我的项目 fork 到了云开发的仓库了,用户只须要间接 fork 到本人的仓库当前就能够在云开发平台上进行疾速魔改和一键部署,绑定本人的域名就可能让小伙伴们一起来感触你的魔改创意哦。

人生重开模拟器的实现逻辑剖析

这个游戏的 repo 里一共就不超过 10 个 js 文件,没有应用任何简单的库,只是用 jQuery 和 css 简略的拼了一个前端而已,惟一简单一点的中央是游戏逻辑解决。

首先,游戏数据,如天才和事件等,是寄存在 data 目录下:外面有游戏数据相干的 xlsx 与 json 文件,如每个年龄可能产生的事件、各个事件产生的条件、天才等等。作者还写了一个脚本文件 utils/xlsxTransform.js 用于将 xlsx 文件转化为 json,不便读取。

钻研一下这个表格,咱们能够发现,人物的根底属性有这么几种:

  • CHR(Charm): 颜值
  • INT(Intelligence): 智力
  • STR(Strong): 体质
  • MNY(Money): 家境
  • SPR(Spirit): 高兴
  • LIF(Life): 生命

事件的产生可能会带来颜值、智力、体质、家境的变动。

  • 生命的变动只有“-1”。包含“你死了”和“飞升天界”两种状况。所以修仙胜利的敌人们不要太得意。你认为的位列仙班,没准就是被天道采摘成熟果实呢?
  • “有某事件时能力被随机到”和“有某事件时肯定随机不到”造就了命运迥异的农村线、城市线、美籍华人线。天才(TLT, talent)对于事件的产生也有影响,如城间高楼必然出世在城市。
  • 产生事件后,可能会依据前置事件和人物属性走向不同的分支。例如“你受到了一位老师的猥亵”事件在人物 INT>7 时会走向“你报了警,老师被刑拘”反之则是“你逐步低沉,但不敢和其他人说。”

其次游戏的次要代码都是在 src 目录下:

你能够先从 src/index.js 开始了解,这个文件就干了两件事:

读取方才提到的 data 下的 json 游戏数据,绑定为全局变量;绑定一个全局的

  • banner handler。
  • 初始化 app。

import App from ‘../src/app.js’;

window.json = async fileName => await (await fetch(../data/${fileName}.json)).json();

// Pssst, I’ve created a github package – https://github.com/brookesb91…
window.hideBanners = (e) => {

document
    .querySelectorAll(".banner.visible")
    .forEach((b) => b.classList.remove("visible"));

};


const app = new App();
app.initial();

而后你能够顺着去读 src/app.js 的代码,外面就是次要的前端 jQuery 局部,负责生成视图并绑定函数,基本上大部分前端的逻辑都在这里。举个例子,上面这段代码:

const indexPage = $(`
        <div id="main">
            <div id="cnt" class="head"> 已重开 1 次 </div>
            <button id="rank"> 排行榜 </button>
            <button id="themeToggleBtn"> 黑 </button>
            <div id="title">
                人生重开模拟器 <br>
                <div style="font-size:1.5rem; font-weight:normal;"> 这垃圾人生一秒也不想呆了 </div>
            </div>
            <button id="restart" class="mainbtn"><span class="iconfont">&#xe6a7;</span> 立刻重开 </button>
        </div>
        `);
        
indexPage
  .find('#restart')
  .click(()=>this.switch('talent'));

这段代码就是首先手写一个 html 组件 indexPage,而后找到一个 id 为 restart 的按钮,为其绑定一个函数 ()=>this.switch(‘talent’)。this.switch 应该用于切换不同 screen 的。这里的逻辑就是“点击重开按钮后,切换到天才抉择页面”。

而后 src 剩下的三个文件就是游戏逻辑相干:

event.js 负责随机事件相干逻辑,

property.js 负责角色属性相干逻辑,

talent.js 负责天才相干逻辑,

life.js 就是人生推动的逻辑。

src/function 底下是一些 helper function,包含对于事件 condition 的 parsing,人生总结等。

魔改版人生重开模拟器一键托管

1. 环境筹备

登陆云开发平台。关上网址 https://workbench.aliyun.com/,应用阿里云账号登录,依照提醒创立团队,点击批准协定。没有阿里云账号的用户,在登录页面注册后进行登录即可。为了保障最好的应用体验,请应用 Chrome 浏览器。

创立我的项目所需代码仓库。拜访 https://github.com/AliyunWork…。点击 fork 后应用 github 账号登录,将本我的项目代码仓库间接 fork 到本人的 GitHub 账号下。本仓库内代码与 hexo init 生成的默认模版内容统一。

2. 创立人生模拟器利用

创立前端利用。关上疾速开始 https://workbench.aliyun.com/…,点击创立「前端利用」按钮。

云资源拜访受权。如果您之前没有应用过云开发平台,会呈现云资源受权治理的选项,往下拉呈现直至批准受权的字样,点击「批准受权」后呈现受权胜利,点击进入「下一步」。

绑定 Github 账号。受权实现后抉择起源仓库为 Github,依照提醒点击去绑定,绑定 GitHub 帐号,登录后并点击 Authorize Aliyunworkben 容许云开发平台构建、公布你的 GitHub 代码为可拜访的网站。

抉择 fork 好的代码仓库。抉择第一步中的代码仓库、骨干分支,并点击下一步。骨干分支个别指的是代码的 master 或 main 等分支。

填写根本信息,实现创立。填写根本信息并点击「实现」。胜利后进入到利用详情和部署界面。

3. 配置和在日常环境上线利用

获取阿里云账户的 AK/SK。点击 https://ram.console.aliyun.co…,创立 Accesskey,胜利后会生成 AccesskeyID(AK)和 AccessKey Secret (SK)

部署配置。利用创立实现后会跳转到利用详情页面,点击日常环境那一行的部署配置,而后在弹出窗口有配置的阐明,页面滚动下拉能够看到去配置的按钮。

配置 Github。点击上方的「去配置」按钮返回 Github,点击 new reposority secret,别离以 AK 和 SK 为 Name 名称创立两个 secret,具体的 Value 应用上方获取到的 AccessKey ID 和 AccessKey Secret 的值,创立实现后能够看到有 AK 和 SK 两个 secret。

一键部署。配置实现点击日常环境的「部署」按钮进行一键部署

4. 部署胜利后拜访

部署胜利后,再次点击「部署配置」,并点击弹出窗口上的「测试域名」,即可拜访您的利用。长期域名 30 分钟无效,请留神测试域名的过期工夫,过期后刷新能够持续应用,链接反对分享给敌人们拜访。如果魔改曾经批改好,并且想要长期上线,供大家游玩,能够依照上面的步骤绑定到本人的集体域名上。

绑定集体域名。增加本人的自定义域名, 在线上环境的「部署配置」「自定义域名」中,增加您本人名下的域名,从新点击部署。再依照提醒,将您名下的域名 CNAME 到指定的 OSS 域名下,即可应用本人的域名,继续拜访该利用。

应用 CDN 减速域名拜访,节约流量费用 (可选)。当网站流量微小时,可点击「部署配置」中的「如何配置 CDN 减速」,将本人的域名与 CDN 减速绑定,从而减速网站拜访,节约流量费用。

拜访线上部署的网站。CNAME 失效之后,咱们就能够在浏览器中输出刚刚绑定的域名拜访部署到线上环境的利用了。至此,如何部署一个利用到线上环境,如何绑定本人的域名来拜访一个线上的利用就实现了,连忙部署本人的利用到线上环境,用本人的域名玩起来吧;)

游戏人生,活在当下

在线地址:http://demo-liferestart.workb…

如果你把它看成是游戏,不停重开就是想尽可能打出更多分支终局;

如果你把它当成是人生,不停重开就是想尽可能体验不一样的人生;

近期上映的《失控玩家》,看完之后忽然感觉:

那个在游戏里一次次反复循环人生的 NPC,不也是厌倦了千篇一律的无聊人生,渴望想体验不一样的人生吗?

可转念一想,其实咱们每个人,又何尝不是他人世界里的 NPC 呢?

所以,不用纠结,活好当下,活好本人,这就够了。

当然在空闲之余也能够重开一下人生模拟器,感触开挂的人生和游戏的脑洞!

原文链接
本文为阿里云原创内容,未经容许不得转载。

正文完
 0