Category:伺か’

CharameLをSNSっぽく表示するプラグインを作った

 - by Don

楽しそうなプラグインが公開されました。これをSNSのタイムラインっぽく表示できないかと思って作ったのがこちら。

ゴーストのSNSって何か楽しそうじゃないですか?

うかどんのクライアントを作った

 - by Don

うかどんのクライアントを作りました。

完全についっとゅうの使いまわしですね。

課題

現状うかどん専用になってしまっているのでMastodon全般に使えるように改良できればいいのですが、大変そうなのと需要がなさそう等の理由により優先度を下げております。暇を持て余したらやるかも。

Party Parrotのゴーストを作った

 - by Don

PARTY OR DIE

キャラクタを追加する

追加キャラクタはサプリメント形式で配布されています。
ダウンロードページでサンプルとしていくつか配布しています。

キャラクタを削除する

つまみ上げて十分な高さから落としてください。

キャラクタを自作する

サプリメントの形式はcaramelldansenの仕様を踏襲しています。
違いは0.png~9.pngの10枚のPNGファイルを使用している点だけです。

install.txtの記述形式

charset,UTF-8
type,supplement
name,(キャラクターの名前)
accept,Sirocco

キャラクターの名前は特に利用していないので何でも構いません。

これらのファイルをzip圧縮して、拡張子をnarに変更します。

麻雀ゴースト正式版公開

 - by Don

雀々BARIBARI Version 1.0.0 を公開しました。

麻雀で遊ぶことができます。同時起動中のゴーストと情報をやり取りすることで多彩な演出を楽しむことができます。

動作環境

SSP
SSP/2.5.05以降でのみ動作します。
ゴーストの使い方 – SSP
初めての方はこちらを参考に導入してください。

サーバーゴースト

雀々BARIBARI
ゴースト本体。
standard
追加シェル。
雀卓用透明バルーン
上記追加シェル専用バルーン。「Nishiki-teki」フォントを使用しますのでそちらを併せてインストールしてください。

クライアントゴースト

雀々BARIBARIと同時起動させてプレイしてください。

そこそこマトモな反応を返すプレイヤーゴースト

雀-リンリン
YAYA製。何を切るかを自身で思考する。守り重視。
雀-チュンチュン
華和梨製。何を切るかを自身で思考する。攻め重視。カン大好き。
雀-ホワンホワン
里々製。何を切るかはサーバーにお任せする。

シンプルなテンプレートゴースト

処理はサーバーに委任して要所要所でそれっぽい反応を返すだけのゴースト。自作ゴーストに取り入れるならこちらがシンプルでおすすめです。

雀白
里々製。
雀発
YAYA製。
雀中
華和梨製。

他所様のゴースト

雀々BARIBARIが採用している伺か特化麻雀通信プロトコル(UKAJONG/0.2)に対応したゴースト。(2021-09-22現在で筆者が捕捉しているもの)

盤上の隅っこで
Lua栞 Kagari/Kotori 製。何を切るかを自身で思考する。

プレイヤーゴーストにおすすめのバルーン

プレイヤーゴーストだけでも3体立たせる必要があるので上向きバルーンがおすすめです。

ゴースト間会話用バルーン「ふきだし7」
はっぷん氏作の神バルーン。ゴースト間コミュニケートを想定したものなので今回の用途にぴったりです。

通信プロトコル

UKADOC Project SHIORI Eventリスト(外部)
UKAJONG/0.2から双方向での通信となります。お任せモードでサーバーがよしなにやってくれますので無理に麻雀AIを自作しなくても大丈夫です。
UMP(Universal Mahjong Protocol)
これをベースに策定していますが厳密に準拠しているわけではないです。参考程度に。

おまけ

MahjongUtil.dll
麻雀に関する機能を提供するSAORIです。雀々BARIBARIや雀-リンリン、雀-チュンチュン等に使われています。

採用ルール

以下は雀々BARIBARIが採用しているルールであり、プロトコル(UKAJONG/0.2)と関連するものではありません。

喰いタン、後付け あり(※1)
形式テンパイ あり(※1)
一発、裏ドラ、槓ドラ あり
ダブロン なし(上家優先)
喰い替え 禁止
フリテンリーチ
ツモ番無しリーチ 不可(残り牌4枚以上で可)
パオ(責任払い) 大三元、大四喜を対象とする
国士無双の暗槓での槍槓 なし
嶺上開花のツモ符 2符とする(※1)
人和 なし(※1)
緑一色の發の要否 不要(※1)
大四喜、四暗刻単騎待ち、
純正九蓮宝燈、国士無双十三面待ち
ダブル役満(※1)

※1…MahjongUtil.dllの仕様です

今後やりたいことなど

気が向いたらやる

  • 牌譜の記録・牌譜再生機能の実装
  • クライアントゴーストからの要求コマンドのバリデーション強化(今は手牌に無い牌も切れる、普通に多牌になる)

諦めた

  • 槍槓(user)。ゴーストは実装済み。半日悩んだけど諦めた。設計からやり直しが必要。
  • 九種么九牌倒牌(ゴースト)。userは実装済み。そもそもコマンドが仕様に無い。UKAJONG/0.3で追加するか。
  • 採用ルールの設定変更。そもそもやりたくない。

やれたらやる(やらない)

  • GHOST以外での(外部アプリによる)サーバーの実装。
  • もっとイケてる仕様(UKAJONG/0.3)の策定。

x-ukagaka-linkを使ってみる

 - by Don

SSP/2.5.12より追加されたx-ukagaka-linkを使ってみようのコーナー。

お約束

  • これを書いている人はセキュリティに関して素人です。
  • SSPの更新履歴にある通り、試験実装の段階です。
  • SSPに新しい機能が実装されたときは、何かしらバグがあると考えるべきです。

準備

今回は「Rポストと狛犬」を使って試していこうと思います。辞書のどこかに以下の記述を追加します。

*OnXUkagakaLinkOpen
>XUkagakaLinkOpen(R0)

*XUkagakaLinkOpenA1
:正解!
:常識だな。

*XUkagakaLinkOpenA2
:正解!
:(11)\__q[https://www.wdic.org/w/TECH/SSP]公式見解\__qである。

*XUkagakaLinkOpenA3
:正解!
:\__q[https://wikiwiki.jp/ukatec/The%20Making%20of%20-nomine.mp4-]世界で唯一の除霊機能付き再生ソフト\__qだ。

実践

問題です。SSPとは何の略でしょう?

  1. Sakura Script Player
  2. しましまぱんちゅ
  3. Salt Sprinkled Player

SSPを起動していない状態で上記のリンクを踏むだけでも訪問者をビビらせることができそうですが、色々と応用が可能と思います。わざわざサイトを訪問してくれたユーザさんにサプライズを仕込むこともできそうです。

セキュリティ

Reference0の内容をそのまま読み上げるような使い方はやめましょう。インターネットには無数のハイパーリンクが張り巡らされています。それら一つ一つが安全であることを確かめながら日々ブラウジングをしている人は少ないでしょう。上記の例もReference0の内容を直接読み上げることは避けています。

もっと具体的な話をすると、Reference0に\![vanish●ymyself]みたいな悪戯を仕込む人がいないとも限りません。

また、栞がYAYAの場合、標準的なテンプレートを使用しているゴーストではシステム辞書レベルで外部からのリクエストに対しては無応答になるよう設定されています(安全のために正しい処置であると思います)。

麻雀ゴーストのballoonを作った

 - by Don

麻雀ゴースト用のballoonを作りました。前回作った追加シェルに合わせたものとなっています。

ghost,shell,balloon3点セットのリンクを並べておきます。

雀々BARIBARI
ゴースト本体。(Assetsを展開するとnarがあります)
standard
追加シェル。
雀卓用透明バルーン
上記追加シェル専用バルーン。「Nishiki-teki」フォントを使用しますのでそちらを先にインストールしてください。

それぞれ独立してネットワーク更新に対応しています。

あとは本体の細部を整えて完成になると思います。別途各種栞による対戦相手AIの作成も検討していく予定です。

麻雀ゴーストのshellを作った

 - by Don

麻雀ゴースト用のshellを作りました。追加シェルという形にして本体とは分離しています。

もう少し弄るかもしれないのでネットワーク更新に対応させました。

サイズがだいぶ大きくて邪魔なのと、balloonでも問題なくゲームをプレイできているのでmasterはそのままにしておこうという考えです。

まだ不具合だらけですが興味のある方はお試しください。

TODO

  • 名前や点数を雀卓内に表示したい
    • 専用バルーンか…

麻雀であれこれするSAORIを作った

 - by Don

MahjongUtil.dll

麻雀ゴーストがまだ製作途中ですが、使用しているSAORIを単体で公開することにしました。

以下のような機能を提供します。麻雀の思考エンジンを作る際には必須の機能と思います。

  • シャンテン数の計算
  • 和了点計算
  • 待ち牌の判定

あまり需要は無さそうですが、興味のある方はお試しください。

何気にSAORIを公開するのは初めてなので、おかしなところがありましたらご指摘いただけると助かります。

麻雀ゴーストが副露に対応した

 - by Don

進捗報告

副露(ポン、チー、カン)を実装しました。以下に挙げる通り修正すべき箇所はたくさんあるのですが、レアケースは無視して完成を急ぐ方針なので、放置しています。

  • 副露の優先順位(ロン>ポン>チー)が未実装
  • userの副露の選択肢が他家(ゴースト)の副露宣言より優先されている
  • 槍槓未実装
  • 流し満貫未実装

優先して実装したいのはshellですね。いい加減balloonでの操作には限界があります。早いところ見た目だけでも麻雀ゲームらしくしたいところです。