ラズパイ4でも作成・公開できてHTML,CSS,JSで実装できる。
ブツ
Monogatariというノベルゲーム作成ライブラリがある。そのDEMOゲームを改造した。多言語化できるが日本語のシナリオがなかったのでGoogle翻訳して日本語化してみただけ。不自然な日本語だが、機能紹介が実演されているので何となくわかるはず。
MonogatariはElectronで実装されているっぽい。そのためHTML,CSS,JSで実装できる。それをHTTPSサーバにアップロードすれば実行できる。ローカルでもブラウザでfile:///
で開けば動作した。
Monogatariについて日本語の情報はほとんどなかった。この記事で布教しておく。
フォーク元
ドキュメント
前回まで
今回のきっかけ
ライブラリを探していたらgithub visual-novelをみつけた。その中にMonogatariがあった。
ゲームライブラリを探すときは日本語の情報だけでなく海外やGithub界のほうが色々あるかもしれない。
日本語訳
- index.htmlをブラウザで開く
- 最初のタイトル画面で
ヘルプ
を見る 巻き戻し
など各言語に翻訳された用語がある- この用語をキーワードとしてgrep検索する
- どのファイルで用語翻訳されているか探す
find . -type f -print | xargs grep '巻き戻し'
./js/strings.js: "Back": "巻き戻し",
./js/strings.js: "BackButton": "巻き戻し",
js/strings.js
...
"日本語": {
"AdvanceHelp": "ゲームを進めるためには、スペースキーを押すかクリックします。",
"Audio": "オーディオ",
"AutoPlay": "自動再生", // 追加
"AutoPlaySpeed": "自動再生速度",
"Back": "巻き戻し",
"BackButton": "巻き戻し",
"Cancel": "キャンセル",
...
オプションなどゲームで定形となっている部分に関しては、いくつかの言語で翻訳されたデータが定義されている。その場所がjs/strings.js
らしい。ここをいじれば好きなように変更できる。
js/script.js
シナリオは基本的にこのファイルにある。これがそのままゲームになる。
let script = {
"日本語":{
"Start":[
...
"play music Theme",
"scene Classroom",
"show e Normal center with fadeIn",
"e さて、今日はこれでおしまいです。家に帰ることができます。",
...
js/options.js
設定はここ。ゲームのタイトル画面における環境設定の部分。
...
let settings = {
"Language": "日本語",
"Volume": {
"Music": 0.5,
"Voice": 0.5,
"Sound": 0.5,
},
...
所感
Monogatariは今までの中で一番条件に合っている。ラズパイ4でも開発・実行・公開できる。エディタも問わない。自由度が高い。
ただ、このデモはバージョン1系らしい。対して最新は2系。新しいほうも触ってみたい。