年末なので 電脳麻将改造中 で紹介した ver.2.0(V2 と呼ぶことにします)の開発状況を振り返っておきます。
従来のスタンドアロン型*1とクライアント/サーバ型のコードを共通化するため、機能を部品化し、以下のサブパッケージに分解しました。
パッケージ名 | 機能 |
---|---|
@kobalab/majiang-core | 描画部分とと思考ルーチンを除いた基本機能 |
@kobalab/majiang-ui | JavaScriptによるDOM操作とイベントハンドラ |
@kobalab/majiang-ai | 思考ルーチンとAI開発環境 |
@kobalab/majiang-analog | 牌譜解析ツール |
@kobalab/majiang-server | 麻雀サーバ |
全体を統合するコードとHTML/CSSは従来の リポジトリ が継続して担当します。
手牌の操作、シャンテン数・和了点計算、局進行・卓情報の管理、思考ルーチンの雛形を含む基本クラス群です。 ほぼ完成 しており、API仕様も公開しています。 ルールをカスタマイズ可能とする修正も加えました。また麻雀クライアントが使用することを想定し、不完全な情報*2があっても手牌の操作ができるよう改造しています。
作成中 です。 卓情報の表示まではできており、AI同士の対戦であれば既に表示できるようになっています。 現在は人間のプレーヤー用のUIの再実装中です*3。牌譜ビューアなどツール類の再実装は未着手です。 V2では VoiceOver のような読み上げソフト使用時でも操作可能とすることを目指しています。 キーボードのみで操作できるようにも改造中です。
作成中 です。 過去の思考ルーチンを順次再現しているのですが、ようやく ver.0.6 相当の思考ルーチンまでたどり着いたところです。 パッケージにはAI同士の デュプリケート対局 や ウザク本 を解かせるスクリプトなどデバッグ用機能も含みます*4。
牌譜解析ツール をスピンオフし、独立したパッケージとしました。 牌譜形式は従来から変更はないので既に 使用可能 です。
残念ながら 未着手 です😭
本来はこの年末でのリリースを目論んでいたのですが、途中半年くらい開発を中断した時期もあり、大幅に遅れています。 3月くらいを目途にスタンドアロン版の完成、8月くらいを目途に麻雀サーバを実装できればと思っています。
それでは皆様、よいお年を。