伺的 Advent Calendar 2022 10日の記事です。
昨日の小戸らでくさんの記事に続きましてDonがお送りします。
- テキサスホールデムは楽しいよ
- ゴースト「卓上誘技」用追加シェルを作ったよ
- MAKOTOをshell側から使うと楽しいよ
- ゴースト「simultaneous-interpreter」用追加シェルを作ったよ
ゴースト「卓上誘技」で遊べるゲームです。
私も初めて知ったゲームですが10分もあれば覚えられる程度の簡易なルールでしたのでみなさんもやってみましょう。
運よりも駆け引きが重要なゲームでなかなか奥が深くて楽しいです。
もし気に入ったらYAYA、華和梨、里々でゲームに参加するテンプレート辞書を作ってみたのでお使いください。
太古のトランスレータの仕様ですが、追加shellで利用できるためその価値が見直されていたりします。
追加shell作者がghost側の挙動に干渉できる、という点で画期的な仕様である思います。
卓上誘技で遊んでいて、「トランプのカード画像を表示するとカッコイイのでは?」と思ったので表示させようと考えました。
そこでMAKOTOを使ってSakuraScriptを置換することでカード画像を表示する追加shellを作ることにしました。
個人的にYAYAが使い慣れているのでYAYA as MAKOTOを採用しました。
卓上誘技はballoonをshellに重ねてカードを文字列で表示する手法を取っているので逆にやり易いです。
難解なsurfaces.txtを書く必要がありません。
\_b[ファイルパス]を挿入するようmakoto.lstを編集します。
'♠A','\_b[..\..\shell\cultural-festival\cards\s01.png,inline,opaque]♠A'
'♠2','\_b[..\..\shell\cultural-festival\cards\s02.png,inline,opaque]♠2'
'♠3','\_b[..\..\shell\cultural-festival\cards\s03.png,inline,opaque]♠3'
...
最初は元々の記号+数字は消していましたが、実際にプレイしてみると画像が小さすぎて判別できないことがわかりました。なので記号+数字を残しています。
完成した追加shellがこちらです。
「卓上誘技」はsurfaces.txtが無いghostですが、「文化祭」もsurfaces.txtの無い追加shellとなりました。かなり特殊なパターンと思われます。
卓上誘技はSakuraScriptを置換するだけでshellの見た目を変えることができましたが、通常はshellとballoonは分離しています。
追加shellなら見た目をガッツリ変えてアニメーションをゴテゴテ付けたいでしょう。元々存在しないアニメーションを任意のタイミングで発動したりしたいはずです。
そういうことをする追加shellのサンプルとしてゴースト「simultaneous-interpreter」用追加シェルを公開したいと思います。
makoto.lstは以下のようになっています。
//トーク開始
'\\0','\0\i[90]'
//トーク終了
'\\e','\i[99]\e'
//起動
'\\0\\i\[90\]\\s\[0\]\\i\[99\]\\e','\0\s[0]\i[70]\e'
//終了
'\\-\\i\[99\]\\e','\0\i[80]\-\e'
//他のゴーストへ交代
'\\i\[99\]\\e\\i\[99\]\\e','\0\i[80]\_w[500]\e'
元々のghostの構成がシンプルでSakuraScriptから状況が推測し易いのでSHIORIイベントそのものが取得できなくても狙ったタイミングで任意のアニメーションを発動させられます。
- \i[70]: 起動時アニメーション
- \i[80]: 終了時アニメーション
- \i[90]: トーク時アニメーション(ループ)
- \i[99]: トーク時アニメーションストップ
上記アニメーションはもちろんsurfaces.txtに定義してあります。
MAKOTOも頑張れは色々できるんだぞ、ということを示せたかと思います。
※今回はYAYA as MAKOTOを使用しましたが、やっていることはSakuraScriptを置換するだけなので標準的なMAKOTOでも同じことが可能です。
この記事はCC0 1.0 Universalの下で公開するものとします。
明日11日はろすえんさんが担当されます。よろしくお願いします。→記事