おまいら最強の麻雀プログラムしてみろよ Part2at TECH
おまいら最強の麻雀プログラムしてみろよ Part2 - 暇つぶし2ch809:デフォルトの名無しさん
08/10/03 02:11:18
>>806
うっかり1人だけ設定間違えた、ってこともあるはず。
こういうことはしっかり確認を取れるようにしないとトラブルの元。


810:632
08/10/03 02:29:18
>>809
自分はサーバとクライアントでルールをやりとりする方が
トラブルの元だと思っています。

例えば、クイタンありの場合は、サーバからhelloコマンドで
kuitan=1というオプションを渡すようにしましょう。
そしてクライアントはそれに対応しました。

ところが、他のサーバの実装ではkuitan=yesと送ってきました。
これは、サーバが悪いのでしょうか?それともクライアントが対応
すべきでしょうか?

このトラブルを回避するには、ルールを通達する場合の仕様を
決めなければなりません。
そうなると今度は麻雀のルールの多様さが問題になってきます。
ツモっても平和つくの?赤牌は何枚入ってるの?聴牌連荘?
裏ドラはあり?ダブロンは?etc...

「どうせUMPのサーバなんてお前しか作んねーよ。そんな先の
こと考えてんじゃねーよ」
という意見もあるでしょうし、おそらくそれはその通りです(^^;

が、だからこそ自分の正しいと思うように作りたいのです。

811:632
08/10/03 02:50:55
>>807
どこらへんが違うのか、すごく興味があります(^^

812:デフォルトの名無しさん
08/10/03 10:07:24
なんか東風荘の焼きなおしみたいな感じで独自にやる意味が薄くなっちゃったんだよね

813:デフォルトの名無しさん
08/10/03 10:10:23
東風荘のつなぐやつ作ってくれよ

814:デフォルトの名無しさん
08/10/03 11:19:56
>ルールを通達する場合の仕様を
>決めなければなりません。
実装とルールを切り離してるんだから、なにかしらルール定義ファイルがあるんじゃないのかな・・・
それ送っちゃえばいいのに。
マッチメイクサーバーとかが面倒見るのがいい気もするけど。

815:デフォルトの名無しさん
08/10/03 13:44:53
IDE/ATAのIdentifyコマンドみたいに512byteとか
1024byteのパラメータの固まりをやりとりできる
コマンドを準備しておけば良いんでね?

フォーマットの中身は追々、考えるとして。
麻雀のルールは1000パラメータ以上もは無いだろう?
有りそうなら後々、長さを拡張できるようにしておく。

で、サーバーは一方的にルールを通知するだけ。
対応する、しない(できる、できない)は
クライアントの責任とする。

ルールの摺り合わせをするのはさすがに大変そうなので。

816:デフォルトの名無しさん
08/10/03 13:52:13
あとで再現のために、誰がどのバージョンで参加したかのやり取りは必要だからね。

817:デフォルトの名無しさん
08/10/03 14:25:31
じゃ、このルールで参加する、あるいは対応できないから
参加しない、の返事だけはクライアントから返すようにするとか。

その後、参加しているかどうかログ見れば分かるから
あまり意味ないけど。

818:デフォルトの名無しさん
08/10/03 19:52:46
サーバに接続してからhelloでルール確認するって違和感あるんだけど
東風荘みたいに「○○ルールのサーバに接続しに行く」ってのはできんのかね

819:デフォルトの名無しさん
08/10/04 23:37:26
>>664
期待して待ってるんですが、その後どうですか?

820:632
08/10/05 02:39:38
赤牌のことを考えると、チーとかポンで晒す牌を明示的に
指定しないといけないのか…地味に面倒だな(^^;

821:デフォルトの名無しさん
08/10/05 02:47:35
別に赤牌が無くてもチーは明示的に指定する必要がある

822:632
08/10/05 03:55:54
>>821
いや、もちろん最初からチーのときは牌を指定させてたよw

823:デフォルトの名無しさん
08/10/05 10:55:11
経過をたどればプロトコル関係ないだろ。
クライアントだけで晒す牌は自明。

824:デフォルトの名無しさん
08/10/05 12:46:31
>>823
お前は相手の牌が読めるのかよww

825:デフォルトの名無しさん
08/10/05 13:03:43
>>824
sutehai

chi
pon
kan
の経過があれば可能

826:デフォルトの名無しさん
08/10/05 13:16:58
記述内容が荒くて答えになっていない

まず、それではあがった時や流局時にプレーヤーがどんな手牌
であるのか不明

つか、sutehaiとかchiとかのメッセージをサーバ間で
やりとりして、言語依存せずに麻雀のゲームを成立させることが、
このプロトコルが意図してるところだろ?

827:デフォルトの名無しさん
08/10/05 13:23:24
>>826
これを読んでから言ってるの?
URLリンク(sourceforge.jp)

828:デフォルトの名無しさん
08/10/05 13:58:48
ここまで読んできて非常に面白いと思った
麻雀は将棋やチェスと違ってプレイヤー間の意思疎通および時間経過の概念があるから
適当な考えで簡単に策定したら後で破綻しやすそうだね

個人的には錯和もチョンボも無いゲームは麻雀とは呼ばずに
麻雀モドキもしくはコンピュータ麻雀とか呼んで欲しいと思うけど

829:デフォルトの名無しさん
08/10/05 14:15:20
他人の作るものにケチつけるくらいなら自分で作ればいい

830:デフォルトの名無しさん
08/10/05 14:26:31
他人にケチ付けられて拗ねるぐらいなら公開掲示板などに書かなければいい

831:632
08/10/05 14:36:42
>>828
> 個人的には錯和もチョンボも無いゲームは麻雀とは呼ばずに
> 麻雀モドキもしくはコンピュータ麻雀とか呼んで欲しいと思うけど

そういう意味では、自分はリアル(人間同士)の麻雀を再現したいとは
カケラも考えていません。だいたい、表情や仕草も見えない時点で全然
別物なのは皆わかってるものだと思いますが。

むしろ、そういう情報をなくすことで、より麻雀の「ゲーム」としての要素が
際立ち、そしてそこにコンピュータを使って最強のAIを作るという新たな
試みが生まれているのではないでしょうか。

その上で、チョンボは「コンピュータ麻雀」として意味があるのか、という
議論であれば、それは面白いと思います。

832:デフォルトの名無しさん
08/10/05 14:40:59
チョンボが勝率に絡んでくることもあるだろ

833:632
08/10/05 14:43:27
ちなみに、現状自分が作っているシステムではツモ切りかどうかを
誤魔化すことができません。
これは、本来の麻雀では小手返しのうまい人なら可能なことが
不可能になっているという意味で、チョンボを認めるかどうかなんか
よりよほど大きな問題だと思いますが、これについて一切ツッコミは
ありません。

というか、小手返しを使ってツモ切りかどうかを誤魔化せる麻雀ゲームって
存在するんですかね?

834:デフォルトの名無しさん
08/10/05 18:27:54
意図的にチョンボしたい時用に、満貫払って降りる
チョンボコマンドでも定義しとけば?



835:デフォルトの名無しさん
08/10/05 22:09:26
>>831
表情が見えないからこそ、牌で語るんじゃないの?
とりあえずノーテンリーチを認めない理由がわからない

836:デフォルトの名無しさん
08/10/05 22:37:02
とりあえず動くクライアントを作らないか?

837:デフォルトの名無しさん
08/10/06 00:25:59
ちゃんと動くサーバが出てソースが公開されたら、
俺がチョンボとかノーテンリーチとか対応するから問題なす。

838:デフォルトの名無しさん
08/10/06 00:41:27
>>835
つかノーテンリーチ認めてるところが
あるかよ
おまえ自身が異端だって気付けよ

839:デフォルトの名無しさん
08/10/06 13:40:49
>これについて一切ツッコミはありません。

自分が考えたことに対する異論は片っぱしから拒否しといてつっこみがないとかあるかよ。
もう付き合ってられんわ。

840:デフォルトの名無しさん
08/10/06 19:29:03
AI同士の勝負でバグを出すことがデメリットにならないなんて設計ミスだろ
ノーテンリーチやチョンボ判定せずにサーバの救済措置で勝つAIがあるとして
それは強いAIとは言わないし、そのプロトコルはAIの強さを保証できない

841:デフォルトの名無しさん
08/10/06 21:05:16
本質がわかってないね
きみには強いAIは無理だからどうでもいいや

842:632
08/10/07 00:11:21
>>839
チョンボとルールの伝達の件でしょうか?
それについては採用しない理由(デメリット)を説明しているつもりです。

ただルール伝達については、自分は必要がないと考えているんですが、
それを証明(?)するためにも、その仕組みでの実装を見せる必要が
あるかと思い、とりあえず議論よりも実装を頑張っている状態です。

その後、自分以外にもクライアントやAIを作ってくれる人が現れて、
やはりルール伝達があった方が問題が少なくなると思えば、仕様に
採り入れることもあります。

チョンボについては、極論すれば>>834の意見に行き着いてしまうと
思うのですが、やはりこれには抵抗を感じます。

843:632
08/10/07 00:15:32
>>840
AIでチョンボというのは、それはもはやバグであり、強い弱いという
レベルとはかけ離れていると思います。
逆に、チョンボをサーバに救済してもらうことで勝てるAIなら、それは
バグを直せば強いのだから、強いAIなんじゃないでしょうか?



844:デフォルトの名無しさん
08/10/07 00:20:19
チョンボで流れるルールだったら、チョンボで流して1位確定とかやれるんだよ・・・?
ルールによってはだけどね、流局連荘だけどチョンボだと流れるとか、どっかであったはず
普通ないけどね、一応こういうのもあるよっていう情報提供って意味でw

845:632
08/10/07 00:30:37
また、人間が操作するタイプのクライアントの場合、クライアントで
チョンボを発生させないようにする(サーバに送らない)ことも可能です。
これは、オープンなプロトコルで、クライアントを自由に実装できる以上、
防ぎようがありません。

その上で、チョンボが発生するクライアントと、チョンボを発生させない
ようにしたクライアントで対戦するというのは、どうなんでしょうか。

「コンピュータに手助けしてもらって打つなんて麻雀じゃない」という
意見もあるかもしれません。

でも、一昔前は他家の点数を覚えておくのは技術でしたが、今どきの
自動卓ならボタンを押せば表示されます。
またゲームであれば、ツモ切りかどうかを捨て牌にわかりやすく表示して
くれるものもあります。

自分としては、そういうことを総合して、リアルの麻雀とコンピュータの
麻雀は違うのだから、リアルの麻雀のすべての要素を入れる必要はなく、
そしてチョンボはコンピュータ麻雀には不要だと考えたわけです。

846:632
08/10/07 00:34:32
>>844
わかります。
ですから結局>>834を認めるかどうかなんですが、実際、自分は
今までに勝とうとしてわざとチョンボするヤツを見たことがありません。
暗黙の了解で、チョンボはわざとやらない、つまり戦術ではないと
いうものだと思ってたんですが、そんなこともないんでしょうか?

847:デフォルトの名無しさん
08/10/07 00:39:49
っと、ごめん、すでに書いてあったのね
まぁ明記してくれればどっちでも自分はかまわないかな?お好きなようにっ
そこは設定できるようにしてあるしっ

848:デフォルトの名無しさん
08/10/07 00:42:43
じゃあチョンボはサーバ側で勝手に弾いていいから
弾いたログだけは絶対に牌譜に残る仕様にしてくれよ

849:632
08/10/07 00:48:26
>>848
今作ってるサーバをそういう仕様にするのは全然構わないですが、
すべてのサーバの実装はそうすべき、とするほどの意味が感じられません。

どういう用途で必要なんでしょうか?

850:デフォルトの名無しさん
08/10/07 01:27:43
>>849
デバッグに有用な情報ではあるんじゃないかな。
チョンボするってのが、単にチョンボするだけの問題ってことはおそらくあまりなくて、
推論ロジック全体に影響する問題がある可能性が高いだろうし。
その一種の症候として検出するに値するものであると思うよ。
まあ、それだと全てのサーバがそうすべき、というほど強く必要なものでもないだろうけど。


851:632
08/10/07 01:36:00
>>850
それは自分も考えました。
でもそうだとすると、サーバのログよりも、クライアントから不正な
返答があった場合には、サーバからerrorとかを返した上で続行
した方がクライアントのデバッグはやりやすいんじゃないでしょうか。

852:デフォルトの名無しさん
08/10/07 01:43:53
>>846
>暗黙の了解で、チョンボはわざとやらない、つまり戦術ではないというものだと思ってたんですが

同意だ。
麻雀の戦術として、「この場合はチョンボしよう」というのも見たこと無いな。

チョンボは麻雀の中で、明らかに「例外」だ。
無しにできるのなら無しで良いものだと思う。

現在あるコンピュータ上の麻雀ゲームで、チョンボがあるものは多数あるため、なんとなく無いと変な気がするだけで、
無いからといって麻雀のゲーム性が損なわれることはまったく無いと考えられる。

リアルの麻雀では、山を手で崩してしまったら、なんらかの罰とかもあるわけだが、それは実装しなくて良いのだろうか。
その場合、AIが手のカーソルを牌を倒さないように避けるアルゴリズムが必要だな。


853:デフォルトの名無しさん
08/10/07 02:16:03
>>851
それもそうか。

854:デフォルトの名無しさん
08/10/07 02:22:11
たまにフリーでそういうプログラム欲しくなるな


んで、出来た?

855:デフォルトの名無しさん
08/10/07 02:49:21
>>849
「完全にバグの無いプログラムの存在は証明し得ないから(悪魔の証明)」
言語が違うコンパイラが違うOSが違う加えて通信上の問題も多々ある
これ普通のマならみんな最大限警戒することだと思うけど

あなたが許したバグの責任はあなたが負うことを明示してねっ、てこと
チョンボを弾いたログは牌譜に残してね。お願いします

856:632
08/10/07 02:59:34
>>854
進捗はSourceForgeのソースを動かしてもらうのが一番わかりやすいんですが、
とりあえず残る大物作業としては鳴きの処理くらいで、あとはGUIをもうちょっと
ちゃんとするのとか、バグとか、そんな感じです。
現在でも鳴けないけどツモ切り3人相手に一人打ちくらいならできます。

>>855
クライアントのバグの検出ということであれば、>>851の方法ではいかがでしょう?
牌符は東風荘と互換にしようと思ってるので、独自情報は追加できないかも。
それはそれとして、サーバのログは残すつもりですが。

857:デフォルトの名無しさん
08/10/07 03:51:37
牌符を「東風荘と互換」にするなら錯和は必ず牌符に残ことになるはずでは
「それはそれとして、サーバのログは残す」ってどういうことなのでしょうか?
「独自情報の追加(削減?)」は不要なので普通に牌譜に記録して頂きたい

858:デフォルトの名無しさん
08/10/07 04:03:52
サーバのログって言ったら通信履歴のことじゃないの?
通信記録=牌譜ではないでしょ。

859:デフォルトの名無しさん
08/10/07 09:16:04
通信記録は全て残す
牌譜はその記録から抜き出す

これで好きな形式で牌譜も取り出せる

860:デフォルトの名無しさん
08/10/07 09:22:47
AI対戦が根本にあるんだから、短時間で数百回勝手に対戦させといて
後で集計を確認したり、気になった局の牌譜を再現したりできるようにしたいじゃない?
せっかくサーバー使うんだし、DB使うってのはそういうことに使えるからなんだけどね。
人間に見やすいプロトコルのために機能を削るのはナンセンスだと思ってる。

861:デフォルトの名無しさん
08/10/07 20:09:37
だから、チョンボは無しでノーテンリーチだけ認めればいいじゃん。
チョンボはルールの破壊だがノーテンリーチは戦術だろう

862:デフォルトの名無しさん
08/10/07 20:17:05
ノーテンリーチで流局になったらチョンボだべや

863:デフォルトの名無しさん
08/10/07 20:49:33
ノーテンリーチが戦術とか漫画の読みすぎじゃねーのw

馬鹿がいると話が進まないな
チョンボ厨は完全スルーでいいだろ


今更こんな質問をするのもなんだけど、AI同士の優劣を判定するには多数の対局をこなさないといけない麻雀というゲームの性質上、
対局のたびにネットワークを介する方法は効率が悪いのでは?


864:デフォルトの名無しさん
08/10/07 21:51:03
ネットワーク用のプロトコルを作っておけば、
別にlocalhostでも使えるでしょ。

865:632
08/10/08 00:37:58
>>857
牌譜を東風荘と互換にすることと、東風荘と同じ仕様(ルール)にするのは
イコールではないです。
ログについては>>858の言うように、いわゆる普通のログです。
通信だけには限りませんが。

クライアントのデバッグが目的であれば>>851の方法を提案しています。
これについてはどうでしょうか?
そういう目的のためではない、というのであれば、どうしろ、という形ではなく、
目的を教えて下さい。でないと対応できません。

866:632
08/10/08 00:41:24
>>859
それも考えましたが、とりあえず東風荘形式で牌譜を出した方が
何かと便利な気がします。

で、東風荘の牌譜について調べてたんですが、どこかに仕様って
上がってます?
ざっと見た感じだと、鳴いたときに晒すメンツの情報が足りないような
気がするんですが…

867:デフォルトの名無しさん
08/10/08 00:44:29
URLリンク(mj.giganet.net)

868:632
08/10/08 00:54:34
>>860
> 人間に見やすいプロトコルのために機能を削るのはナンセンスだと思ってる

どの部分を指摘しているかわかりません。牌を個別IDにしなかったことでしょうか?
もしそうなら、それは機能を削ったという認識はないんですが、何かこれで失った
ものがあるんでしょうか?

869:632
08/10/08 00:55:43
>>867
うわ、思いっきり本家にw
ググっても引っかからなかったのに。ありがとうございます(^^

870:632
08/10/08 01:00:10
>>861-863
自分もノーテンリーチだけはアリかなと思ってます(^^;
理由は、
* 流局までチョンボにならない
* 途中で上がることで防げる
という部分で、他家同士の損得に影響が少なく、またゲーム性としても
いわゆる「ブラフ」としての価値はあるかと。
もちろん、罰符は親子で同じ点数、局は流れないという条件は付きますが。

871:632
08/10/08 01:05:18
>>863
>>864の言うように、ローカルでサーバも動かせば、それほどロスはないと
考えています。
ただ効率とか速度はそれほど重視していないので、それこそ何万局も打たせて
集計をとりたいという目的には向いてないかもしれません。

ちなみに、自分はAI同士ももちろんですが、AI対人間も考えてこの仕組みを
作っています。
だって、強いAIなら自分で相手したいじゃないですか?(^^

872:デフォルトの名無しさん
08/10/08 01:06:57
人間が打てるなら3Dにしてください><

873:デフォルトの名無しさん
08/10/08 01:10:04
>>872
大丈夫か?

874:デフォルトの名無しさん
08/10/08 01:10:11
AIと人間が対戦するのにサーバ介してロビー用意してチャットシステム組んでやんの?
いつまでたってもできそうもないな。

875:632
08/10/08 01:15:47
>>874
別にロビーもチャットも用意するつもりはありませんが?
そんなんなくても麻雀はできるでしょ。

876:デフォルトの名無しさん
08/10/08 01:16:17
そもそも文字だけでやる気にはならないな
GUI作ってしまえばプロトコルなんてバイナリーでもかまわないわけで

877:632
08/10/08 01:17:22
>>872
クライアントのクオリティは…優先順位は低いですが、頑張ります(^^;

878:デフォルトの名無しさん
08/10/08 01:18:59
どうでもいいけど、自分と違う人の意見は絶対に聞かない態度はどうにかならないのか

879:632
08/10/08 01:19:08
>>876
GUIクライアントも一応作ってます(^^;
さすがに人間が打つのにtelnet使えとかは言えないです。

880:デフォルトの名無しさん
08/10/08 01:20:06
>>878
お前がか?
自己紹介


881:632
08/10/08 01:23:09
>>878
意見を聞くということが、言われたことをホイホイやるというのであれば
そんなつもりはカケラもありません。

リクエストについてはそれなりに理由をつけて反論しているつもりです。
ただ好き嫌いに関しては、当然ですが自分の好きを選びます。

882:632
08/10/08 01:32:29
>>891
×リクエストについては~
○採用しないリクエストについては~

883:デフォルトの名無しさん
08/10/08 01:34:54
今まで出た議論は理由を読めば俺も632の判断の方が総じて妥当だと思うけどね


884:デフォルトの名無しさん
08/10/08 02:07:57
>>871
>ちなみに、自分はAI同士ももちろんですが、AI対人間も考えてこの仕組みを
>作っています。

逆指向なんだと思ってたので驚いた

885:デフォルトの名無しさん
08/10/08 09:43:44
言っていることがころころかわる

886:デフォルトの名無しさん
08/10/08 18:05:05
亀レスかもしれませんがチョンボについて少々言わせてくださいw

私が以前参加した大会でのことなのですが、初心者が多かったためか
「チョンボは取らず、手牌を立て直してそのままゲーム続行」というルールがあり、
実際に何人かが救われていました。

自動卓のボタン押しちゃったから続行不可能だとか、相手の手牌を故意に倒しやがったとか、そういうのは起こらなかったため対処が不明ですが、
これらがコンピュータ麻雀で起こることはないと思うので、局を中断して点棒をやりとりするのはナンセンスと思います。
「正しくない和了を以下の手牌で宣言した」という情報だけなら、(どうしても必要という根強い意見があるのならば、) 流してもいいかなとは思いますが。

ノーテンリーチは正常な流局の不聴として扱い、リーチ棒は一旦供託したので供託のままだったと思います。たしか101とかでしたっけ? 門前なら聴牌/不聴を問わずリーチできる団体もあったような気がします。(あそこは不聴罰符もなかったかな?)
つまり、ノーテンリーチかけられる場合、流局時の罰符には反対票入れます。

887:デフォルトの名無しさん
08/10/08 19:52:21
不聴罰符なし→毎局ダブリーする荒らしAI出現
→全ツッパAIが常勝→クライアント参加者消滅
→プロトコル死亡

888:632
08/10/09 02:26:18
>>883
ありがとうございます(^^

>>884
人間同士の対局が主で、AIはついで、みたいな?
正直、そういう部分はあると思います(^^;
というか、人間かAIかというより、ネットワーク麻雀というものをもっとオープンに
したいというのが最大の目的です。
イメージ的には、好きなブラウザで、好きなサイトを見に行くような感覚で、
色々ある麻雀サーバに、好きなクライアントやAIで繋ぐ感じです。

889:632
08/10/09 02:28:23
>>885
自分のことでしょうか?
どの部分についてそう思われたのですか?
むしろ、どっちかと言えば>>878で言われるように、頑固で自分の意見を
曲げない方なんじゃないかと思いますがw

890:632
08/10/09 02:39:53
>>886
結局、ノーテンリーチも、チョンボで罰符を払って局を終わらせるのも麻雀の戦術と
みなすかどうかなんですよね。
101では有効だと判断すれば普通に使うんでしょうか?

ノー爆では爆岡と稲瀬さんが茶柱を追い詰めるためにノーテンリーチを使ってたし、
最近ではリスキーエッジでも吉岡が使ってて面白かったので、ノーテンリーチは
戦術とみなしても良いかなぁと思ってしまいます(^^;

ただ、やっぱり普通はそういう行為をワザとやるのは嫌がる人が多い気もします。

891:632
08/10/09 02:52:17
>>887
わざわざ荒らし用のクライアントを書いてくれる人が現れるなら、
それはそれでちょっと嬉しいくらいです(^^

最初にも書いたけど、オープンなプロトコルを作りたいってのは
10年くらい前に考えて、でもそんときは2chとかなかったし、一人で
細々とやってて結局止めちゃったので、今はここで色々意見を
言ってくれる人がいて、それだけでも嬉しいです。
# 完全に構ってちゃんな発言だなw

892:デフォルトの名無しさん
08/10/09 03:15:42
そもそも今回麻雀のプロトコルは、サーバとクライアント間で
各メンツがどんなアクションや情報を出したかを
互いに伝達しあうことが目的ではないか?

メンツが出したアクション(毎回チョンボリーチをした、
役満でチョンボ流しをした等)がルール違反であるかは
「サーバ側で判断」すればよい。

サーバにメンツのアクションが正しく伝達されれば、
麻雀プロトコルの目的は達成できていると思うが?

893:デフォルトの名無しさん
08/10/09 03:20:29
ただ、東風荘とかのルールなら、ノーテンでのツモ宣告
は無視でイイのではないのか?

894:632
08/10/09 03:37:22
>>892
まさにその通りで、現状のプロトコル(UMP)でも、誤ツモのチョンボで
局を流すとかは、
say A tsumo
point A -8000
kyokuend
で再現可能です。
ただ、この場合他のクライアントは「チョンボが発生した」と
いうことを知ることができません。UMPにそれに該当する
コマンドがないからです。

言ってしまえば、とりあえずUMPの仕様にchomboコマンドを
追加してしまえばそれで済むんですが、できれば入れたくないと
いう自分のワガママが問題を大きくしてしまっている気もします(^^;

895:デフォルトの名無しさん
08/10/09 07:59:24
色々文句言ったこともあるけど
まずは単純でオーソドックスなものを作ってしまうべきなように思う

仕様に問題が出ればそれから対処すれば良いし
ルールもいきなり複雑なのはAIがついていけない

896:デフォルトの名無しさん
08/10/09 10:49:12
お前らがあんまりにもグダグダだから遂にあらさんが立ち上がったぞ
俺はこっちに期待させてもらう

897:デフォルトの名無しさん
08/10/11 00:46:39
あらさんはこのプロトコルに興味を持たれている件

898:デフォルトの名無しさん
08/10/12 21:41:01
C++アプリからこのプロトコルって使える?

899:デフォルトの名無しさん
08/10/12 21:45:02
>>898
ネットワーク対応であれば
使用言語によらない

ひまわり でも なでしこ でも使える

900:デフォルトの名無しさん
08/10/12 21:56:01
ありがとn
完成したら使わせてもらうかも

901:デフォルトの名無しさん
08/10/19 23:45:00
保守


902:デフォルトの名無しさん
08/10/20 04:45:24
営業「ネットワーク対応であれば使用言語によりません。ひまわりでもなでしこでも使えます」
営業「残業代は出すし。家に帰らなくていいから。今月中にできるよね。信頼してるし。お願いしたよ」

903:デフォルトの名無しさん
08/10/20 11:41:29
URLリンク(ayamariplus.seesaa.net)

これワロタ 麻雀ソフトのイカサマについての論争


904:デフォルトの名無しさん
08/10/22 00:08:33
結局突き詰めると、ツモを操作するよりもヤマをそれっぽく作った方が
ちゃんとしたイカサマになる。
最も簡単といわれる積み込みも、実際の積み方を知らないで仕組むと
イカサマというよりもただ都合がいいだけのゲームになるしね。

河から牌を拾ったり、エレベーターしかけたりというのも
牌の配置(抜きやすいところにあるか、ツモ番ずれてないか、など)で
リアリティが増す

905:デフォルトの名無しさん
08/10/24 00:53:33
毎回テンホー

コレ最強

906:デフォルトの名無しさん
08/10/24 09:52:10
まずは親にならなくちゃな

907:デフォルトの名無しさん
08/10/24 21:29:49
おやややおやにおあやまり

908:デフォルトの名無しさん
08/10/31 18:32:54
(これから現れてくれることを願う) 海外の研究者のために (、またちょっとだけかっこいいという理由で)、コマンドの名前は英語を基本にした方がいいと思います
draw / discard / up / ...

909:デフォルトの名無しさん
08/10/31 22:23:02
むしろ日本のゲームなんだから誇りを持ってひらがなにしようぜ

910:デフォルトの名無しさん
08/11/01 00:39:22
「ひまわり」以外は使えないようにしよう!!!

911:デフォルトの名無しさん
08/11/01 01:51:45
>>908
ゲーム内の名前は変えちゃダメだ
ますます麻雀もどきになってしまう

ドンジャラみたいなw

912:デフォルトの名無しさん
08/11/01 01:58:23
麻雀が日本のゲーム?
そりゃルールは日本独自のもあるけどさ

913:デフォルトの名無しさん
08/11/01 02:00:56
>>908
>>909
>>910
632が錯和無しルールを強行した結果、オープンネットワーク麻雀はスレ民に完全に見捨てられました
今後は電脳荘か、あらさんの企画が通信規約の規定に達するまで静かに見守って下さるようお願い致します

914:デフォルトの名無しさん
08/11/01 05:00:57
ひたすら他力本願だなw

915:デフォルトの名無しさん
08/11/01 07:35:42
ここにある「ルールベースのアルゴリズム」って何ですか?

URLリンク(mahjong.ara3.net)

916:デフォルトの名無しさん
08/11/02 10:41:08
>>915
三着と2万点以上の差がある場合には、
配牌で7種以上のヤオチュウ牌があったら国士を狙う、
とか、
チートイの二向聴のときは、
残り枚数が一番少ない中で一番内側の牌を捨てる
とか、
そんな感じで全部ルールで決めてしまう方式。

917:デフォルトの名無しさん
08/11/02 18:59:11
>>916
分りやすい解説
ありがとうございました

918:デフォルトの名無しさん
08/11/03 18:45:13
決め打ち のアルゴリズムでかっこういいのが出来そう
ちょっと古いけどナルミみたいなのが出来たらいいな

919:デフォルトの名無しさん
08/11/08 04:54:39
結局ソースフォージーたて逃げ

920:デフォルトの名無しさん
08/11/08 13:53:51
死んだ子の齢を数えても仕方ない

921:デフォルトの名無しさん
08/11/08 15:21:41
>>919>>920
詳しく

922:デフォルトの名無しさん
08/11/08 19:06:12
>>738
738 名前:632[sage] 投稿日:2008/09/27(土) 15:39:46
ちなみに、開発途中ではありますが、ソースコードをSourceForgeの
SVNに随時commitしているので、興味のある方は
URLリンク(svn.sourceforge.jp)
から拾って下さい。

↑↑↑既に3週間放置↓↓↓
つか、9月末に公開して、10月初旬には既に放り投げてる

(dir) client/ 11 3 weeks yatsuhashi
(dir) common/ 9 4 weeks yatsuhashi
(dir) lib/ 10 4 weeks yatsuhashi
(dir) server/ 10 4 weeks yatsuhashi
(dir) test/ 7 4 weeks yatsuhashi * 点数計算とか追加
(file) Makefile 11 3 weeks yatsuhashi

923:デフォルトの名無しさん
08/11/09 14:34:08
ちやほやされたいだけだった、ってことだな。

924:632
08/11/10 01:41:55
お久しぶりです。SourceForgeの方の人ですw
叩かれてますな(^^;

途中で言われたように、とりあえずモノができないと話にならないと思い、
まずは作ってしまうまで発言は控えようと思ったものの、一人になると
生来の怠け癖と飽きっぽさで、すっかりサボってしまいました。
期待して下さっていた方には申し訳ありません。

ということで、その後も特に進展はないのですが、良かれ悪しかれ気にして
下さっている方もいるようなので、まだ死んでないよという書き込みでした(^^;

925:632
08/11/10 01:44:57
>>908
それも考えたんですが、それだとやはりわかりにくいだろうと
思って止めました。

926:デフォルトの名無しさん
08/11/10 01:50:11
>>924
せっかくsourceforgeを使ってるんだから孤独にやらず
仲間を募り方針を示して複数人数で開発をした方が
少しずつでも進展するのでは?
強いリーダーシップと適切なアプローチの提示が必要だとは思うけど

927:デフォルトの名無しさん
08/11/10 01:56:41
今更顔出すってことはチョンボはちゃんと罰符払う仕様に変わったってことだよね?


928:632
08/11/10 02:12:48
>>926
もちろん協力してくれる方がいれば嬉しいですが、それにしたって
もうちょっとできてからでないと話にならないかと(^^;
とりあえずはサーバ/GUIクライアントで麻雀が打てるレベルまでは
一人で仕上げたいと思います。
そこまではそんなに遠くない…ハズ。

>>927
久しぶりに書き込んだら早速それかw

929:デフォルトの名無しさん
08/11/10 10:13:49
もういいから次の新しい人に来て欲しいよね

まあ今スレは反省会で埋めて、次スレからは新仕様の話をしようか

930:デフォルトの名無しさん
08/11/10 13:50:44
作ってみたけど、まったり麻雀には全く及ばないので諦めたよw

931:デフォルトの名無しさん
08/11/10 14:25:59
そのうち慣れるんだろうけど、クライアント-サーバモデルでのプログラミングってなんか気持ち悪いな
初めてマルチスレッドアプリを作ったときの感覚を思い出すぜ

932:デフォルトの名無しさん
08/11/15 08:48:03
ならどんなモデルならいいんだよ

933:デフォルトの名無しさん
08/11/15 20:45:18
勝ちまくってるときは大ラスでチョンボして勝ち確定!!!

934:デフォルトの名無しさん
08/11/16 04:53:37
チョンボ罰則はリーグ戦みたいにチョンボ1回につき
トータルスコアから-100するなどの
ペナルティ制にするといいんじゃないか


935:デフォルトの名無しさん
08/11/16 15:52:53
>>933
チョンボはゲームそのものは続行が原則なので
オーラスでチョンボしても本場積まずに再開です

936:デフォルトの名無しさん
08/11/17 10:47:35
なるほど、いろいろあるんだな。
URLリンク(www.asamiryo.jp)

戦略でのチョンボは防ぐ方向にしたいところではあるな。

937:デフォルトの名無しさん
08/11/19 20:46:59
物理エンジン搭載で牌を手積みできるようにお願いします

938:デフォルトの名無しさん
08/11/20 10:36:37
インターフェースどうすんのよ。
マウスかタッチペンでやるか?

939:デフォルトの名無しさん
08/11/20 11:21:11
Macのマルチタッチパッドで

940:デフォルトの名無しさん
08/11/21 21:48:48
パワーグローブだろう。
牌は実際にどっかに物理的に用意された物をマニピュレータで積むのだ。

941:デフォルトの名無しさん
08/11/25 22:27:21
おもしろそうですね。
参加するならこれくらいは読んどかないと話にならん
という本があったら紹介してください

942:デフォルトの名無しさん
08/11/27 00:51:25
* 和了形判定にテーブルを用いるように
* 一盃口の判定がバグっていたので修正
* OpenMj::ClientにPlayerクラスを追加

あたりで力尽きてるっぽい

943:632
08/11/27 01:13:40
>>942
力尽きてないっすよw
クライアント(GUI)の鳴き処理(入力)をどうしようか考えてます。
赤牌なければ最大3パターンだけど、赤牌が複数種ある場合も想定
すると、晒す牌を個別に指定するのが単純だけど、UIとしては
微妙だなぁ、とか。

944:デフォルトの名無しさん
08/11/27 01:33:35
>>943
いいからもう寝とけ
もう誰も期待してないから

945:デフォルトの名無しさん
08/11/27 02:54:59
>>870を見るに箇条書きの頭に"*"を使うのは>>632の習慣。>>942>>632の自作自演だろ
力尽きていても尽きていなくても、出来上がるのはゴミっつうのがアレだねえ・・・

946:デフォルトの名無しさん
08/11/27 07:59:18
フォローをするけど>>942を書いたものだが自作自演じゃないよ
でも傍から見てるとあと1年は掛りそうなペースだな

947:デフォルトの名無しさん
08/11/27 09:51:09
人の意見を取り入れないからだれも手伝わなくなっちゃうんだよ

948:デフォルトの名無しさん
08/12/01 15:24:49
配牌の方法がわからん俺にヒントくれ

949:デフォルトの名無しさん
08/12/01 16:40:28
int i = 0, j = 0, color = 0, num = 0;
while(i < 13){ //配牌は13枚
j = kicha + kyoku;
while(j < PLAYER_CNT + kicha + kyoku){
color = (int)((rand() / ((double)RAND_MAX + 1.0f)) * 4);
num = (int)((rand() / ((double)RAND_MAX + 1.0f)) * 9);
if(!yama.Get(color, num)){ continue; }
if((color == TSUPAI)&&(num > CHUN)){ continue; }

nanikiru[j%4].SetTehai(color, num, 1);
yama.Set(color, num, -1);
++j;
}
++i;
}

950:デフォルトの名無しさん
08/12/01 22:42:55
配牌で配られる手牌って別に自分で
決めるわけじゃないだろ???

951:デフォルトの名無しさん
08/12/01 23:32:19
AIだけ作ってる奴なんていない。みんな自前で雀卓周りのコード書いてる
でなきゃAI強化したとき本当に強くなったか検証できないだろ


952:デフォルトの名無しさん
08/12/01 23:45:01
なら配牌の方法くらい自分で好き勝手に
定義すりゃいいじゃん
わざわざ聞くことでもないだろ

953:デフォルトの名無しさん
08/12/02 00:04:12
アホか。俺は答えた方だ

954:デフォルトの名無しさん
08/12/02 00:06:47
奈々氏ばっかなんだから
どっちがどっちなんか分るわけねーだろ

955:デフォルトの名無しさん
08/12/02 00:19:05
並の読解力があれば想像付くんだけどね。

956:デフォルトの名無しさん
08/12/02 09:55:54
136通りの牌をシャッフルして順番に並べて
席順とサイコロ振れば、配牌は自動的に決まるだろう。

957:デフォルトの名無しさん
08/12/02 14:47:49
白とか赤牌を入れたいときはどうすればいいの?

958:デフォルトの名無しさん
08/12/02 23:26:31
入れたって全体の数が増えるんじゃないんだから、id差し替えればいいだけでは

959:デフォルトの名無しさん
08/12/06 21:58:05
結局配牌はできたのか?

960:デフォルトの名無しさん
08/12/06 22:06:26
その前に自分自身に少なくともプロ並みの雀力がないと駄目だと思から、
俺は雀力向上と数学の知識を身につけてる。

961:デフォルトの名無しさん
08/12/06 22:08:39
配列のシャッフルが実装できないやつなんていないだろ

962:デフォルトの名無しさん
08/12/06 22:13:42
空鍋をかき回すように中身のない配列を…

963:デフォルトの名無しさん
08/12/06 22:20:22
>>960
それはプログラム投げ出したいいわけか?

964:デフォルトの名無しさん
08/12/07 07:12:36

「WOLF RPGエディター」とは? 
・高度なRPG開発が可能な、完全無料のゲーム作成ツールです。
・雰囲気はRPGツクール2000に近い。RPGツクール2000で自作システムを作りこむ際に
 不満だったところがいろいろ解消されていて、かなり自由度が高いです。ただし
 その分初心者には難しいかも。すでにツクール2000で自作システムを組むのに
 慣れた人やRPGツクールでは物足りないけどプログラミングはちょっという方にお勧め。
・作成したゲームは自由に配布したり、コンテストに投稿することも可能。
 また本ソフトを持たない人でもプレイ可能!ファイル暗号化も完備してるよ!
・要望、バグ報告などなど書き込みお願いします。
・それとマップやキャラなどのドット素材もじゃんじゃん募集中ですので
 一度サイトにお越しくださいませ。

2ちゃん本スレ
スレリンク(gamedev板)l100

965:デフォルトの名無しさん
08/12/08 23:51:46
>>960のAIは完成しないに1000ジンバブエドル

966:デフォルトの名無しさん
08/12/09 10:56:41
年明けには第4ジンバブエドルの発行来るかな?
今度は何桁切り捨てるんだろうね。

967:デフォルトの名無しさん
08/12/09 14:14:50
「国(政権)の崩壊が先に来る」に100第4ジンバブエドル。

968:デフォルトの名無しさん
08/12/10 03:07:32
ひとつ質問。基本的な麻雀の質問ですまないが。

暗槓3つと1枚の計13枚は七対子で言うと何向聴?
例えば、AAAABBBBCCCCDだとすると自作で判定させると5向聴なんだが、
実際5枚入れ替えても七対子として聴牌しない。

969:デフォルトの名無しさん
08/12/10 04:08:26
普通に考えたら六向聴だね。
多分だけど、たとえば AAEEBBFFCCCDD みたいになったときに、
CCC を対子ひとつと単騎の待ち牌とに誤認してるんじゃないかと思った。

970:デフォルトの名無しさん
08/12/10 06:00:05
>>968
槓しておいて七対子は無理でしょ
手牌が AAAABBBBCCCCD なら既にテンパイでは?

971:デフォルトの名無しさん
08/12/10 07:31:31
>>970のようなやつがジャンラインを作ってしまうと言うことがよくわかった



972:デフォルトの名無しさん
08/12/10 07:46:21
>>968
URLリンク(mahjong.ara3.net)
(6-3)+(7-4)=6
ですね。

973:デフォルトの名無しさん
08/12/10 07:56:08
>>972
計算間違ってるよw

974:デフォルトの名無しさん
08/12/10 09:16:18
>>969
うわ本当だ。そっちのパターンでも間違えた。
AAEECCCZXYWVUみたいな他がバラバラの時は正しかったから見逃してた。

>>970
11112222・・・じゃなくてAAAABBBB・・・って書いた理由を察してくれ。
その誤解を避けるために>>959はAAEEBB・・・ってしてくれたけど。

>>971
字牌でで順子が作れるやつかw

>>972
おお。同じ考え方だ。
でもそのページの一番下も14枚で考えてるだけで6向聴の間違いじゃないのかな?

実際ここから七対子狙いになんか行かないから実用上問題無いんだが、
例えば特殊なルールで七対子縛りとかあった場合にリアル麻雀では
何向聴扱いなのかなと疑問に思ったもので。

975:デフォルトの名無しさん
08/12/10 10:46:59
AAAABBBBCCCCDなら、カンを3回すれば2向聴じゃないの?
まあすぐ流されそうだが。

976:デフォルトの名無しさん
08/12/10 21:25:46
>>974
>でもそのページの一番下も14枚で考えてるだけで6向聴の間違いじゃないのかな?
AAAABBBBCCCCDDから何を捨てるかという話ですね

AAAABBBBCCCCDなら6向聴
AAAABBBBCCCDDなら5向聴

977:デフォルトの名無しさん
08/12/17 19:42:41
もうすぐクリスマスだけど、どうよ?

978:デフォルトの名無しさん
08/12/19 00:51:31
Revision 21 - (view) (download) - [select for diffs]
Modified Sun Nov 16 18:27:54 2008 UTC (4 weeks, 3 days ago) by yatsuhashi
File length: 2875 byte(s)
Diff to previous 7

* 和了形判定にテーブルを用いるように
* 一盃口の判定がバグっていたので修正
* OpenMj::ClientにPlayerクラスを追加

どうよも何もここで完全に放置しているし
このスレも収束かな?

979:デフォルトの名無しさん
08/12/19 18:20:51
チョンボ君はあれだけの情熱を見せたんだからきっと作ってるよ


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch