Inspections on the syntax for "Cherry Blessing" script
本页面因幽默而保留,请不要当真。
This page contains material that is kept because it is considered humorous. It is not meant to be taken seriously.
Abstract
"Cherry Blessing" is the name of a game developed by "Blessing Software", a fictional game studio in "Saenai Heroine no Sodatekata" ("Saenai" for short). By analyzing the syntax of their code onscreen, we find that the game is very likely to be developed with Kirikiri.
Information We Get
At 13:37 of the "Saenai Heroine no Sodatekata" episode 11 [1], we can see the photo of code on the left. We put the original image into waifu2x[2] in order to get a cleaner version. The image we use in our analysis is shown below.
Analysis
Clues we got
From the image we saw some feature of this type of syntax:
- All lines start with a
@
. - Some special keywords we found are (in 240% scale of this image, by human eyes):
@endmacro
(line 24)@backlay
(line 10)@wt
(line 13, 16)
By searching these words on Google, we found:
- A file in a game project with similar syntax[3]. The file had an extension of
.ks
. However, GitHub failed to recognize the file type, and the README in this project didn't give good clues. - A forum post on site nvlmaker.net about the game maker called "NVLMaker for Kirikiri"[4].
Further analysis
We searched this extension name on Google and failed to get a satisfying result. OpenFileLab.com said it's "SOF Game File Log"[5], which turned out to be useless.
The documentation of "The NVLMaker"[6] said that the .ks
file extension is used by "KAG System" to fulfill the basic functions of an AVG game. A documentation of "KAG3" said that "KAG is short for 'Kirikiri Adventure Game'." [7] Therefore, we see that the .ks
file, used by "KAG", is a type of gaming logic format of "Kirikiri".
However, code on the KAG3 documentation is like this[8]:
[wait time=200]
*start|开始
[cm]
你好。
which is, obviously, different from what we got on "Saenai". In the beginning, we thought that the "Saenai" code was an earlier version of KAG (like KAG2 or KAG1). However, another sample of KAG2 doesn't seem to be like, either [9]:
[wait time=200]
[loadplugin module=wuvorbis.dll]
*start
[startanchor]
[cm]
[rclick enabled=false]
[clickskip enabled=false]
[history output=false enabled=false]
So would it be possible that the code starting with @
is another style of KAG3? Interestingly, we can find some keywords of the "Saenai" sample on KAG3 keyword table[10], such as wt
[11], backlay
[12] and endmacro
[13]. Therefore, we believe that the code in "Saenai" is very likely to be written with KAG3 syntax. Fortunately, we found it[14]. In fact, lines starting with @
are the "command line" in KAG3. The effect of a command line is about the same as a normal line.
Conclusion
The code we saw for "Cherry Blessing" is in the format of KAG3. Therefore, "Cherry Blessing" is very likely to be a game made with Kirikiri. Since the code was too blurred, we didn't attempt to recover the code, as done in the "Maidragon" web.py case[15].
Acknowledgements
The success of this study required the help of various individuals. Without them, we were not able to meet our objectives in this study. We want to express our gratitude to the following people for their invaluable help and support:
To DuckDuckGo and Google, our main information source. It was DuckDuckGo and Google that guided us researchers to the information we need.
To gaming software makers, since they produced great software for producers to build what they desired.
To the staff of "Saenai Heroine no Sodatekata", who came out with an interesting topic for us to research.
And lastly, to Tomoya Aki and other members of the Blessing Software team. Without them, we couldn't see such an interesting, attractive and moving teen romantic comedy.
We would like to extend our deepest gratitude.
References and footnotes
This only appears on the TV version. On the BD version, the code doesn't show up. ↩︎
nagadomi. waifu2x. http://waifu2x.udp.jp/ ↩︎
kyouryuukunn. CGMode. Fetched at https://github.com/kyouryuukunn/CGMode/blob/master/cg_mode.ks ↩︎
OpenFileLab.com. "How to Open .KS File Extension?". Fetched at http://www.openfilelab.com/how-to-open-ks-file-extension.html ↩︎
Bureta. 有關於儲存面板的問題. Fetched at http://www.nvlmaker.net/bbs/forum.php?mod=viewthread&tid=249 ↩︎
"THE NVL Maker - 使用手册". Fetched at http://www.nvlmaker.net/manual/index.html ↩︎
W.Dee & other translators. KAG System Reference. Fetched at https://hydrozoa.felisworks.com/doc/KAG3Doc/contents/Intro.html ↩︎
W.Dee & other translators. KAG System Reference. Fetched at https://hydrozoa.felisworks.com/doc/KAG3Doc/contents/Letter.html ↩︎
Icemic. "谈谈 AVG 游戏的程序脚本(上)". Fetched at https://zhuanlan.zhihu.com/p/26252947 ↩︎
W.Dee & other translators. KAG System Reference. Fetched at https://hydrozoa.felisworks.com/doc/KAG3Doc/contents/keywords.html ↩︎
W.Dee & other translators. KAG System Reference. Fetched at https://hydrozoa.felisworks.com/doc/KAG3Doc/contents/Trans.html#id308 ↩︎
W.Dee & other translators. KAG System Reference. Fetched at https://hydrozoa.felisworks.com/doc/KAG3Doc/contents/Trans.html#id307 ↩︎
W.Dee & other translators. KAG System Reference. Fetched at https://hydrozoa.felisworks.com/doc/KAG3Doc/contents/Macro.html#id119 ↩︎
W.Dee & other translators. KAG System Reference. Fetched at https://hydrozoa.felisworks.com/doc/KAG3Doc/contents/Letter.html#id114 ↩︎
Scott Green. See What Miss Kobayashi Was Working On In "Dragon Maid". Crunchyroll. Fetched at https://www.crunchyroll.com/anime-news/2017/02/12-1/see-what-miss-kobayashi-was-working-on-in-dragon-maid ↩︎