模拟器在线地址,举荐应用 chrome 浏览器。

背景

  • 在玩耍「数码宝贝物语-骇客追忆」时,无奈理解某数码兽的进化路线,无奈理解想进化为特定数码兽时,应该从那个数码兽造就起,试错老本高
  • 网络上的进化图鉴,要么只是各数码兽的截屏,要么是单个数码兽的信息,须要逐层级理解数码兽信息,才能够找到进化路线,学习老本大
  • 故开发本数码兽进化模拟器,模仿各个数码兽的进化路线

性能亮点

  • 数码兽名、编号搜寻

    • 应用浏览器的 ctrl + f 搜寻性能即可
  • 向前推导

    • 点击某数码兽的「名字」,即可选中特定数码兽,主动过滤并残余该数码兽的各层级可进化的对象
  • 向后推导

    • 点击「名字」选中特定数码兽后,主动过滤并残余该数码兽各层级的起源
  • 任意层级选取并向前向后推导

    • 能够在残余数码兽中,再次抉择两头进化态,失去明确的整个进化链
  • 各数码兽详情信息展现

    • 点击数码兽的 icon,可查看该数码兽的详情信息,包含「根底信息」「数码兽形容」「进化图鉴」 「进化图鉴」

游戏资源

仅下载特定文件夹,可应用GitHub 「特定」文件夹或文件下载工具

  • 数码兽 icon 截屏
  • 数码兽详情信息截屏
  • 数码兽详情信息JSON
  • 攻略-数码宝贝物语-网络侦探
  • 攻略-数码宝贝物语-骇客追忆

开发历程

  • 各数码兽进化视频(素材起源)

    • 百度、Google 搜寻寻找
  • 视频下载(提取视频)

    • 这里举荐两种视频提取办法

      • m3u8 视频下载工具:针对应用惯例 m3u8 视频格式的下载,装置插件一键下载并整合视频,实用于各大盗版视频网站的提取。
      • 无差别视频提取工具:针对各大支流网站,应用底层技术绕过视频加密的过程,实现通用提取
    • ”数码兽进化视频“进行了定制性视频加密,故这里应用了「无差别视频提取工具」实现了视频下载
  • 主动截屏(从视频中提取图片)

    • 须要从视频中截取各数码兽信息截图。两种形式,应用播放其快捷键截屏、应用主动截屏工具实现截屏过程
    • 这里应用了ffmpeg工具对视频进行每秒截屏ffmpeg -ss 00:00 -i 001.mp4 -r 1 -s 7840x4416 %03d.jpg
    • 再人工从截屏文件中过滤所需的素材截屏
  • 图片裁剪(从整体图片中截取特定区域)

    • 这里应用到 node 图片解决库 gm,外围命令为 gm(inputPath).crop(width, height, x, y).write(outputPath)
    • 计算好 icon 在截屏中的地位,设置参数,主动截取各个 icon
    • 具体脚本
  • 图片压缩

    • 原始图片体积较大,这里应用到图片原地主动压缩工具进行图片压缩(工具不便易用,间接将单个文件放在目录中,即可实现文件夹及其子文件夹的图片压缩),节俭近 60% 的图片体积
  • OCR 文案辨认(从图片中提取文字)

    • 这里选中阿里的 OCR 技术,每个月有 200 次的收费提取次数。还有 0.1元/500次 的1分钱试用资源包
    • 遇到的问题是,截屏数量超过 1000+,收费额度不足以全副截屏的 OCR 视频
    • 再次应用 gm 图片解决库,将若干图片合并成单张图片再进行 OCR,外围命令为 gmInstance.append(imgPath1).append(imgPath2).append(imgPathN).write(outputPath);
    • 具体脚本
  • 文件重命名

    • 依据 OCR 的文字获取数码兽编码,重命名各个截屏的命名
  • 从 ORC 文本中应用正则提取各个数码兽要害信息
  • 错别字纠正

    • OCR 并不能百分百正确辨认文案,须要人为对文案进行纠正,也是最耗时的中央
  • 交互页面开发

    • 最花心思的中央,如何体现各个数码兽的进化关系。
    • 支流的体现关系是应用树装图

      • 长处:直观看到特定数码兽的所有进化可能
      • 毛病:只适宜单个数码兽的进化分支,多个数码兽的进化树状图合并时,无奈辨认各个数码兽的进化路线
    • 「数码宝贝新世纪」

      • 长处:应用齿轮进化树,可通过路线和 icon 高亮来辨别单个数码兽的进化路线,解决进化路线重叠问题
      • 毛病:仅能已幼年期为终点,查看其进化路线,只能看见将来。无奈倒推,如无奈以「钢铁暴龙兽」为根底点,倒推可进化为「钢铁暴龙兽」的数码兽有哪些。即无奈通过「指标」倒推所需资源
    • 回忆我的项目的初衷,解决什么问题

      • 【推导将来】这个数码兽的将来是什么,能有哪些进化分支
      • 【推导过来】要成长为特定数码兽,我能够从哪些资源造就起
      • 【抉择两头节点】从特定数码兽,进化为特定数码兽的过程中,我心愿能进化为某数码兽时,能够怎么抉择进化路线
      • 最终实现了当初的交互方式

        • 能够任意阶段的任意数码兽为出发点,向前推导可进化的数码兽,向后推导能够从那个数码兽进化得来
        • 再以推导后的残余进化图鉴中,选取任意想经验的数码兽,再推导残余数码兽的向前向后进化路线。
        • 最终失去整个进化路线。