Show page source of FrontPage #34552

= オープンネットワーク麻雀

このプロジェクトでは、オープンなネットワーク麻雀のプロトコルを策定し、その実装を行います。

ちなみに発端は2chのプログラム板の[http://pc11.2ch.net/test/read.cgi/tech/1185540470/ 「おまいら最強の麻雀プログラムしてみろよ」スレ]です(現在はdat落ち)

将来的には、そのプロトコルを使用した様々なサーバ、クライアントの実装がでてきたら良いなと思います。

== プロトコル
とりあえず名前ですが、スレで紹介されていた将棋用のUSI(Universal Shogi Interface)にあやかって、
UMP(Universal Mahjong Protocol)でいこうと思います。

また、基本コンセプトとして、UMPでは麻雀自体のルールは定義しません。つまり、「クイタンあり」のような情報をUMPでは扱いません。
クイタンありかなしかはサーバの実装次第で、クライアントの実装では、 クイタンで和了ろうとして、サーバにコマンドを送り、
認められるかどうかで初めてわかります。[[br]]
これだと問題だと思われる方もいるでしょうが、逆にそれを扱ってしまうことで、プロトコルの可搬性が落ちてしまうのを避けるためです。

あくまでもUMPでは、麻雀におけるアクションや情報をサーバとクライアントでやりとりするために必要なものを定義するにとどめ、
単純ではあるが、多くのルールに対応できるものを目指します。

[UMP UMP詳細]

== libmahjong
麻雀の基本となる、牌や手牌などを扱うライブラリです。

== openmj
UMPの実装用ライブラリです。libmahjongを使用します。