2019.1.18

 • 

考完了,也回到了家,在长沙的期间老师对我也多有关照,希望这次能一把过了。
Vortex 投递到了 Product Hunt 上,但这次运气不太好的是没有被归类到默认列表里,因此得到的 vote 少的可怜,结合之前提交的几个作品一起看,感觉 PH 对于移动软件和游戏类默认的权重会低很多,也不会显示在主页列表上。
考完了自然开始算计后面要做的事情,原本想先打上一两天游戏放松下,但是盘点了下自己的好几个项目都拖太久了:

  • Skyline
    • 目前软件部分的位置更新代码是基于 GMS 的位置订阅 + RxJava2 来做的,后来写 Vortex 的时候用了 WorkManager,感觉这种后台执行的效果更好也更灵活一些,因此打算迁移到 WorkManager 上
    • 2.0 的官网目前的 Changelog 页面还是假的,我还在想这个页面是跳转到之前用户指南页面上比较好还是继续用 vue.js 和 markdown 解析器实现一个手动的生成器(即整个 changelog 就是一个 markdown 纯文本,使用 --- 操作符来分隔每个 release,虽然用户端访问时 CPU 会高一点但是方便我自己不需要服务器存这些结构数据了)
    • 2.0 的官网目前的 Presents 页面二维码功能能用了,但三维查看器还没做,这部分其实就是把 1.0 的 three.js 官网移植过来,之前的 1.0 主要内容就是写了一个基于 three.js 的运行时的 terrain mesh 生成器,然后基于 render texture 做了一个手机模型的 mockup,屏幕贴图的内容动态从地形相机更新。2.0 在此基础主要的改进会是:1)会基于 url 的坐标参数动态生成 2)提供平板和手机两个手机 mockup 随时切换。
    • Unity 的一些收尾问题,比如到目前 Present 状态下手势都是半禁用的,我需要在 Mapbox 之外自己再实现一个手势识别的逻辑接管这类动态的需求。
    • 上次拆包 B-Reel 的 Pixel 3 自带动态壁纸,发现他们的 wallpaper.xml 里面有一个神奇的字段:androidprv:supportsAmbientMode="true",关于这个 Ambient Mode 的文档近乎没有,只有 AOSP 的代码里能看出一点点相关的解释,即会在 Always On Display 的前几分钟展示动态壁纸,然后转为全黑的默认状态。我后来在 Vortex 里面也加了这个字段,感觉还挺棒,但 Vortex 是一个对解锁(UserPresent)事件不敏感的动态壁纸,而 Skyline 本身在这块就有一些相应的解锁动画,我不确定开启 Ambient Mode 后会不会对之前的解锁判断造成干扰,所以真要实现进去还是要费一些功夫。
  • Flint
    • 目前来看要做全平台同步最好的办法还是 Realm + Dropbox,这块之前只写了 iOS 的部分
    • 之前用的邮件收发库不支持 Gmail 验证,因此需要做一些适配
  • Shader Store
    • 也算上架三个动态壁纸了(Android 俩 Windows 一个),现在想做一个一劳永逸的全平台动态壁纸库,服务器只存文本格式的 shader 文件,不需要其他的素材,mesh 尽量都在 shader 内过程生成(比如用 SDF)
    • 客户端在展示的时候尽量调用手机能用的传感器传入 shader 的 uniform 里(比如 Android 上可以传入启动器的页面页码,电量,天气温度,陀螺仪,Windows / Mac 上可以传入鼠标坐标和网速之类),然后 shader 依据当前平台提供的可用数据做一些可视化
    • iOS 端只有生成 live photo 的功能,毕竟 iOS 太受限了
    • 为什么叫 Store 呢,因为和一个朋友聊了下后觉得这个东西也许可以做成类似于主题商店一样的东西
  • Epoch
    • 总感觉地形 Shader 太费资源了,但是目前自己又不会写,因此只能考虑在 overdraw 上下手把星球背面的 Mesh 找个办法在运行时 cull 掉,最近在看基于 SRP 的运行时解决方案

以及之前的博客里面提到过 Google Fi 送了一个 Google Photo Book 的兑换码,前几天终于寄到家了。照片集的名字填的是 Year of Pilgrimage,希望以后也能用这个名字做一款自传性质的游戏出来。
Google Photo Book "Year of Pilgrimage"