上次我说,解决了 Matrix.PerspectiveFovLH()
的问题,然后提交了 pull request。
文章存档 | 技术乱炖 | 二维空间 | 所思所想 | English |
|
本系列的索引。
声明
The Idolmaster Cinderella Girls Starlight Stage 软件和相关媒体的著作权为 Bandai Namco Entertainment Inc. 所有。本系列文章仅从兴趣出发,研究数据反向过程。在此不会给出完整的反向过程、反向结果和源代码,只给出思路和部分非关键数据。
2017年5月追记:
我探索这些的目的,是以一个玩家的身份,让 CGSS 变得更好玩。私下里我类比过普罗米修斯,将天火——谱面的制作和玩的能力从“天上”分一点出来。其实,修改 CGSS 去作弊是很简单的,无论是客户端还是 MITM。但是我不会去作弊,也不希望这系列文章的读者们将文章内容用在歪门邪道上,不希望去作弊、破坏平衡性。玩过 LLSIF、SB69、GF(note)、Arcaea 之后,我仍然认为 CGSS 的综合指标(游戏性、操作体验、曲目等等)是行业内翘楚,Cy这次比较用心。那么作弊还有什么意思嘛!对了,我不氪金,不冲分,只是闲暇时间来两局,玩得舒心。
当然,まゆさまが見ています。
从2月21日初试,到3月10日,反向结束。提取了谱面信息并成功解码了一首歌曲——song_1004
,能听出是《メッセージ》。在将来的一段时间内,我将把部分的反向过程写出来。由于同时在做着毕设,写得会有点慢,但是一定会写完的。(天国的 Bulletproof……写完这个系列……也许就好。)
风格和展现尺度就致敬大神的了。
博主今天早上八点左右就要出发回老家了,到那边很可能就没有网用了。所以晚上连夜奋战,将堆积的博文速速码完,发布。
不过在没有网络的情况下,WebStorm(11.0 之后强制通过服务器获得临时授权,序列号破解是不可能的啦,当然还有其他的如 CLion 和 PhpStorm,不提供社区版/教育版的那些)就没辙了,到时如果能躲过走亲戚的话看看能不能反向出什么东西。
在此向我可能没有机会道春节的各位提前说一声:祝各位春节吉祥如意!
GLantern 的绘制方式更新了!获得了技能:抗锯齿(一般绘制)、绘制效率提高、抗溢出变换。Bulletproof 作为直接继承项目,也得到了特性的更新。
另外,GLantern 的 live preview 也上线了(呃,之前忘了)。请戳:Bulletproof/GLantern。
吐槽昨天两个弄得我哭笑不得的东西,一个是教务处的开题基本信息提交页面,一个是网易云音乐。或许不仅仅是吐槽,而已经加强成评论了。
今天试用了一下针对项目的 GitHub Pages(本博客是针对用户的),于是 Bulletproof 有了自己的项目展示页面!试试点击“Have a try”吧。
我是从一个传统程序开发者起家的,到今天能在网页上能展示轻量级项目的预览而不再需要经过传统的编译-发布-安装部署,多亏了新的 Web 技术。
<canvas>
,就没有便捷统一的2D绘图 API 和 WebGL这些,还有众多的基础技术……
其实如果学的是 OpenGL,还会有 Emscripten(啊主页应该是这里)这条路,也是很方便的。
见 GitHub repo。测试示例已经通过,所以检查了一下就推上去了。在运行示例的时候,请将它们运行于一个服务器上,然后用支持 WebGL 的浏览器浏览;或者使用 NW.js 等 Node+v8 的环境。
这是继去年9月突然无声息之后,试验新路而走出的路。
昨天登录 SSH 去看服务器状态的时候,磁盘占用就已经100%了(实际上算了一下,97%差不多),不过基本操作还是没表现出问题,心里就合计着等到某天真出了问题再修吧。结果一觉起来,就有人报告网站又崩溃了。没办法,要做到快速响应,赶快修吧。
这篇文章记录了今日维护碰到的两个问题:
forum_threaddisablepos
表“损坏”。在写着架构博文的时候,突然想测试一下动画效果。于是直接就上了 bp.startAnimation()
,突然发现帧率才25左右。哦天哪,这效率可比 Pixi 差了不是一点半点。于是返回 GLantern 查看,果然是 GLantern 的问题。大致定位之后就得修补啊……
Bulletproof 重构的工作进展不错,主要是花了时间基于 WebGL 写了 GLantern,将基础的绘制剥离了,以此为基础写弹幕相关的就轻松了。
九月份的测试是概念的验证,架构极其混乱。当时 TypeScript 版本还在 1.4,import
语法限制很多(只有 import x = require("file");
),而且 TS 和 C# 那一点点微妙的差距我还没很好地体会出来,最后就变大文件乱引用加一堆hack的混合物了。当时也没什么大的目标,能做出一个能执行代码的高级弹幕的原型就可以了,因为自己都不知道能不能做成。——是,有先例,但是看着这么多已有的代码就开始仰望巨大的工程了。
既然验证通过了,就要开始做架构了。(地基打好了,就开始规划柱梁,再装修。)考虑到应用场合,姑且做了一个。
新的源码在通过一些测试用例后会推上来。莽然融合 WebGL 的测试的各种东西放在了 native-webgl-obsolete
分支(看名字就知道是废弃了)。
详情请展开。
GLantern 更新到 0.3.0-alpha,提供了初步的文本和缓动(tween)支持。
12月24日本是各大字幕组狂欢、在出片时附一句“圣诞快乐”、“新年快乐”的日子,但是今年的这一天,国内的 ACG 资源界遭遇了双重打击。
在上次讲模糊的时候总是过于暗淡之后,tt补充道:
你应该注意到了pixi的strength在传给shader之前进行了/4?在对两者进行比较之前或许应该先考虑这个区别。
哦,我承认,我没注意到。
以 X 方向的模糊为例,Pixi 的 strength
计算是这样的:
|
于是在我的代码中就得这样:
|
而原来只是简单的设置为 strengthX
:
|
难怪了。以下是对比图。