三次元オセロを作ろう

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
この板の皆さんで力を合わせて三次元オセロを作りませう。
どの言語を利用するかも自由です。どのようなコードでも結構です。
試作品が出来たら何でもうpしてください。

ルールは独自のものでもかまいません。
2デフォルトの名無しさん:2009/10/04(日) 16:29:27
それでは、ここで三次元の住民のオセロのお二人の登場でーす。
3デフォルトの名無しさん:2009/10/04(日) 16:32:21
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
4デフォルトの名無しさん:2009/10/04(日) 16:59:54
N次元オセロなら作ったぞ。各3次元を取り出して2次元に射影して、位置を確認するけど、大抵の奴は気が付いたら負ける/勝ってる。
5デフォルトの名無しさん:2009/10/04(日) 18:13:24
どっかのフリーソフトでやったことあるが、
普通のモニタでは見にくい。マウス(とキーボード)で視点変えたり、駒置くのもめんどかった。

http://www.kenko.com/images/product/X357800H_L.jpg

こんなのを電子工作で入出力インターフェースに出来たらやりやすいな
6デフォルトの名無しさん:2009/10/04(日) 18:16:53
>>5の画像は四目並べで上から積んで行くだけだけど、
普通のオセロルールの3次元版なら物理的な駒を置くことさえ難しいな
7デフォルトの名無しさん:2009/10/04(日) 20:19:15
cpu同士、裏で戦わせるようにして画面には勝敗結果だけ表示。
8デフォルトの名無しさん:2009/10/05(月) 01:38:24
AI作ってみんなで戦わせようぜ!
だがGUIは>>1、お前に任せた
9デフォルトの名無しさん:2009/10/05(月) 02:25:46
言語はなにを使った方が得策でしょうか・・・
C++ですかね?
10DAWNTO_Windy-melt ◆Windy/f9HNwg :2009/10/05(月) 02:40:56
今後は勝手にコテを名乗ります。お許しを。
11デフォルトの名無しさん:2009/10/05(月) 07:20:35
ウムム これ面白そう。技術的に十分可能だが入力が厄介だなー。 
既にある3D表示のカーネルを使えば表示は簡単だけど。

問題は入力だね i,j,k どういれさせるいうか
マウスピックは無理っぽいな
12デフォルトの名無しさん:2009/10/06(火) 01:08:51
>>11
まずルービックキューブみたいな盤を想像してくれ。
まぁ8x8x8の盤だとしようか。

どこか外の1平面をマウスクリックで選んで、
そうしたら、その面上の特定の『マス』が選ばれる。そうしたらこのマス上の8ブロック(?)のどこかに置きたいわやけだ。
そこでマウスの真ん中のコロコロで奥行、つまり8ブロック中のどれかを選べるようにして、
選んだら後は適当にマウスクリックで配置。

マスをクリックしたときには分かりやすいように、
そこから選べる8ブロックを半透明の色付き直方体で示したり、
コロコロでの選択中も当該ブロックを色付き立方体で示すと良いかも。

右クリ&ドラッグで盤を自由にくるくる。
1312:2009/10/06(火) 01:10:29
別にコロコロじゃなくてもいいな。
もう8ブロックから選ぶだけだからそれを普通にマウスで選べるな。
14デフォルトの名無しさん:2009/10/06(火) 02:34:47
三次元空間、ではなく、
三次元時空、としたらどうか。
通常の二次元オセロに過去と未来の概念を導入すると。
過去の盤面に石を置くと未来の盤面もそれに影響される。
時間軸を辿りながら過去を改変して、未来と過去の間に相手の石を挟む。
15デフォルトの名無しさん:2009/10/06(火) 07:33:09
>>1
言い出しっぺがまずはプログラムを出せよ
話はそれからだ
16デフォルトの名無しさん:2009/10/06(火) 12:14:19
>>12
それスゲー判りにくい いうか全然駄目じゃん
白黒ひっくりかえるのは、平面方向だけじゃないから
立体でちゃんと見えないといけない

その表示は立体CGでよくある技術だから
そう問題でもないが、どう入力するかだなー。
17デフォルトの名無しさん:2009/10/06(火) 12:23:12
碁盤やコマの中の人たちが格闘しないとなw
18デフォルトの名無しさん:2009/10/06(火) 15:27:02
19DAWNTO_Windy-melt ◆Windy/f9HNwg :2009/10/06(火) 18:34:27
3次元が先を越されたとなると、4次元しかないでしょう。
x,y,z,w=9*9*9*9=6561コマ用意できますよ。
20デフォルトの名無しさん:2009/10/06(火) 19:47:06
よし、じゃあ俺は5次元オセロを作る。
空間+時間+パラレルワールド。

空間…3次元
時間…1次元。空間上のブロックごとに存在。
パラレル…時間と空間で示される4次元上のブロックごとに存在。

同じ時間、同じ場所でもさらにパラレルワールドに駒が置けるので超難易度。
亜空間に置かれた駒の影響まで考慮しなくてはならない。
8x8x8x8x8だとすると32768ブロック。
1対戦につき1人あたり16384個の駒を置く必要がある。
21デフォルトの名無しさん:2009/10/06(火) 19:47:48
3Dオセロな。
22デフォルトの名無しさん:2009/10/06(火) 23:27:26
3Dはもうあるんだからその上狙えば良いだろ
23デフォルトの名無しさん:2009/10/06(火) 23:33:35
24デフォルトの名無しさん:2009/10/06(火) 23:39:12
よし、試作品をサクッと作るか。
25デフォルトの名無しさん:2009/10/07(水) 09:52:59
使いやすいUIを競うのはどう?
26デフォルトの名無しさん:2009/10/07(水) 11:17:31
お手軽3Dプログラミング♪
27デフォルトの名無しさん:2009/10/07(水) 12:23:31
4次元オセロのUI?
28DAWNTO_Windy-melt ◆Windy/f9HNwg :2009/10/08(木) 19:01:30
>>27
直感的な認知は不可能だと思いますが・・・
色をうまく利用すれば認知できるかもしれませんね
29デフォルトの名無しさん:2009/10/11(日) 18:30:41
難しいことはよく分からないけど、
宇宙は11次元まで存在することが確認されてるらしいぞ。

ということで11次元オセロを作ろう!
30デフォルトの名無しさん:2009/10/11(日) 18:46:40
aero的なインターフェースは使い難いよ
31デフォルトの名無しさん:2009/10/11(日) 19:34:45
11次元って一辺2マスでも合計2^11だろ
2048マスとか面倒
32デフォルトの名無しさん:2009/10/11(日) 19:44:23
ボードじゃなく石の方を3次元、3色にしたらどうだろう。
次元の意味を取り違えてるとか細かいことは無し。

挟まれた色は、挟んだ色と挟まれた色以外のもう一つの色に変わる。
黒白白白 -> 黒白白白黒 -> 黒青青青黒
一番多く残った色の持ち主の勝ち。
33デフォルトの名無しさん:2009/10/11(日) 20:16:24
それどこのアタック25
34デフォルトの名無しさん:2009/10/11(日) 20:25:17
ちっげーよ
アタック25なんか、単に自分で挟めば自分の色が増えるだけじゃん。
言わばオセロ 1.5 程度。
次元が変わったとは言えない。

よく見ろ、こっちは自分と相手以外の第三者の色に変わるんだよ。
戦略性がまるで違う。
言わばオセロ・・・なのか? ってほど別次元
35デフォルトの名無しさん:2009/10/11(日) 20:26:38
四人以上でやるとどうなる?
36デフォルトの名無しさん:2009/10/11(日) 20:27:08
しらん
37デフォルトの名無しさん:2009/10/12(月) 00:14:45
マジレスすると8次元までならフリーの奴は有る。
表示と入力が恥ずかしいぐらいしょぼいのとバグ有りで勝手に角取られたりするのはあれだが。
38デフォルトの名無しさん:2009/10/12(月) 00:22:35
何次元にしても思考ルーチンは基本的に同じだけどな
ただ指数関数的に枝刈りの数が増える

2次元のWZebraですらあれだけ思考するのに、8次元に
なったら一手にどれだけ待たされる事やら
39デフォルトの名無しさん:2009/10/12(月) 00:25:45
よし
じゃあ逆に考えるんだ

一次元押せろを造ろう
40デフォルトの名無しさん:2009/10/12(月) 00:38:45
41デフォルトの名無しさん:2009/10/12(月) 00:56:38
>>39
0) --oxox--
1) --oxooo-
2) -xxxooo-
3) ooooooo-
42デフォルトの名無しさん:2009/10/12(月) 01:31:32
>>40
糞ワロタw これプレイするとどうなるんだろうな
43デフォルトの名無しさん:2009/10/12(月) 01:44:10
>>40
オセロが勝負を挑む相手は何だ?
44デフォルトの名無しさん:2009/10/12(月) 01:58:10
囲碁とオセロが勝負したら、意外にオセロが強そうな気がする
45デフォルトの名無しさん:2009/10/12(月) 08:26:53
3次元オセロは既出だから3次元囲碁を開発しようよ
46デフォルトの名無しさん:2009/10/12(月) 13:48:28
>>31
頭が固いな
1舛ですませばいい
先行を取ったほうが勝ち

どうせ1舛でも引き分けにしからないんじゃないかな
47デフォルトの名無しさん:2009/10/12(月) 13:49:29
もとい

どうせ2舛でも引き分けにしかならないとおもう
48デフォルトの名無しさん:2009/10/12(月) 14:27:34
>>47
少なくとも挟んでリバースする操作ができないと、
オセロと呼ぶにはちょっと苦しくないか?
49デフォルトの名無しさん:2009/10/12(月) 19:08:29
アバター制にして勝っても負けても脱ぐようにすれば良い
50デフォルトの名無しさん:2009/10/12(月) 20:54:38
>>48
つまり3舛以上か
51デフォルトの名無しさん:2009/10/12(月) 22:21:22
>>50
更に言うと、最初に黒白各々 [2 ^ (次元数 - 1)] 個ずつの石を
互い違いに四角く配置しておかないと圧倒的に先手有利、
あるいは後手有利なんて状況になりかねないので、
その分のスペースも確保しておかないとゲームとして成り立たないと思う。

なので、最低でも一辺が4升欲しいところ。
52デフォルトの名無しさん:2009/10/12(月) 22:28:35
>>51
ん・・・配置しておく石の数は各々
a2 = 2
an = an-1 ^ 2
なのか・・・?

分からん、頭痛くなってきた。
もういいや
53デフォルトの名無しさん:2009/10/12(月) 23:41:05
>更に言うと、最初に黒白各々 [2 ^ (次元数 - 1)] 個ずつの石を
>互い違いに四角く配置しておかないと圧倒的に先手有利、

100%先手が3手目で勝ちます
本当にありがとうございました
54デフォルトの名無しさん:2009/10/16(金) 17:51:18
4次元ハローワールド
55デフォルトの名無しさん:2009/10/17(土) 16:05:05
http://o3d.googlecode.com/svn/trunk/samples/instancing.html
これ使ってブラウザでプレイ
56デフォルトの名無しさん:2009/10/17(土) 17:22:30
>>51
無茶言うなよ1辺4マスで11次元オセロ作れってか?
4^11=4194304
になるぞw
1人当たり2197152回置かせるのか?
何日かけて勝負するんだよw
1回考えて置くのに5秒かかると見積もっても2912.7時間。
1日18時間プレイするとして161.8日。
2人で323日以上。
1年はかからないにしてもおかしいだろw
もうちょっと何か良い方法はない?
57デフォルトの名無しさん:2009/10/17(土) 18:55:26
人間に全手打たせるんじゃなくて、代打エージェントをガンビットみたいに組むゲームにすればいい。
58デフォルトの名無しさん:2009/10/17(土) 21:14:16
3次元でも見にくいのに、さらに複雑にするってイライラゲームかよ
59DAWNTO_Windy-melt ◆Windy/f9HNwg :2009/10/17(土) 23:17:53
AIを組むゲームですね分かります
60デフォルトの名無しさん:2009/10/22(木) 23:21:42
うちのマシンで8次元オセロやったらほとんど固まってたよ(*_*)
61デフォルトの名無しさん:2009/11/12(木) 10:14:05
6面体オセロもいいかも知れん
四隅は3面共通、エッジは2面共通で。
62デフォルトの名無しさん:2009/11/13(金) 13:48:24
>>61
初期配置は?
63デフォルトの名無しさん:2009/11/14(土) 12:40:48
実は6面体オセロ今作ってる
64DAWNTO_Windy-melt ◆Windy/f9HNwg :2009/11/25(水) 22:46:50
>>63
詳しく聞こうか
65デフォルトの名無しさん:2011/08/19(金) 02:52:04.91
66デフォルトの名無しさん:2011/09/25(日) 01:54:05.29
棋譜だけなら無限次元オセロもできるな。
座標は 0〜7 の整数として、
初期配置 (3, 3, 3, 3, …) は黒、(4, 3, 3, 3, …) は白…。
先手、 (4, 4, 4, 3, 3, 3, 3, …) の白を裏返して (5, 5, 4, 3, 3, 3, 3, …) 黒。
後手、 (3, 3, 3, 4, 4, 3, 3, …) の黒を裏返して (3, 3, 3, 2, 4, 3, 3, …) 白。みたいに。
67デフォルトの名無しさん:2011/10/01(土) 23:05:14.58
3次元オセロ作ったけど、4×4×4ではいきなり隅が取れる感じになるし、
6×6×6では人間には難しすぎた。
立方体にならない盤の大きさでもうまくいかなかった。
ということで、3次元オセロはあまりよいルールができそうにないって結論に至ったよ。

ここからはややスレ違いなんだけど、机上の空論じゃなく実際に組んだ話なので書かせてください。
興味ない人は読み飛ばしてね。


3次元オセロ、3次元五目並べ、3次元碁、3次元将棋、3次元チェッカーなど、すべて同様に、まともなルールを作ることができなかった。
こういった紆余曲折をへて、人間にも可能なレベルの3次元盤上遊戯ってことで、
↓のルールでゲーム作った。
・盤面の大きさは4×4×4(これは可変)
・空きマスならどこにでも打てる パスは不可
・打ったマスの隣(前後上下左右)のマスにある相手の駒がひっくり返って自分の駒になる(自分の駒はそのまま)
・打ち切ったとき、駒が多いほうが勝ち(コミは盤面のサイズに依存)

cpuアルゴリズムの実装だが、手筋も何も分からないので、モンテカルロ方式でcpu同士に10万局とか打たせて、
最も勝率のよい手を選ぶようにした。
このお手軽ルーチンでも、CPUは今まで対人無敗だ。
68デフォルトの名無しさん:2011/10/01(土) 23:41:56.93
そもそも人間がそのゲームのコツ掴むまでが大変そうだが
6967:2011/10/02(日) 00:04:54.04
そうなんだ。
コツ以前にどういった手がいいのか全然見当もつかんからね。
でもモンテカルロってほんとお手軽でそこそこ強いってことがよく分かったよ。
70デフォルトの名無しさん:2011/10/02(日) 00:35:15.46
>>67
2次元オセロで使われる各種探索アルゴリズム・評価関数は使えないの?
71デフォルトの名無しさん:2011/10/02(日) 00:39:11.48
どんな手がいい手なのか分からんからね。
評価関数はもちろん使えない。だってゲームが違うんだよ。
おそらく3次元オセロ6×6×6)
72デフォルトの名無しさん:2011/10/02(日) 00:40:24.91
途中で送信してしまった


おそらく3次元オセロ6×6×6でも、まったく新しい評価関数を作らないといけないんじゃないかなあ。
73デフォルトの名無しさん:2011/10/03(月) 03:01:43.41
四次元オセロを作ろう。

3×3×3×3の四次元オセロ。
3×3×3の三次元オセロにさらに2つのパラレルワールドが加わる。
パラレルワールドはA、B、Cの順で並んでおり、
例えばBの世界で隅を取っても、相手にAとCの同じ隅を取られると、挟まれたことになり裏返されてしまう。
さらに同じ位置でなくても対角線的にも取られることがある。
例えばBの世界で中央を取り、Bの世界で中央を通る線を全て埋めても、
Aの世界のある点と、その点から中央を通る反対の位置をCの世界で取られれば、裏返されてしまう。
74デフォルトの名無しさん:2011/10/03(月) 03:13:00.25
インターフェースは3×3×3のオセロがA、B、Cの順で3つ並んだ形になる。

また、これを応用して5次元オセロも作成可能。
四次元オセロでは、3つの世界は直線的であるが、これを3×3の9つの世界にすれば五次元オセロとなる。
同様に3×3×3の9つの世界にすれば六次元オセロとなる。

この六次元を一つの宇宙と考え、この宇宙を直線的に拡張すれば七次元オセロ、
平面的に拡張すれば八次元オセロ、空間的に拡張すれば九次元オセロが作成可能。
75デフォルトの名無しさん:2011/10/03(月) 05:48:55.69
そんな難しく考えんでも座標で考えれば作成可能は明らか。
でも可能だからって人間のするゲームとしては成立しないだろう。
コンピュータのアルゴリズムの強弱を競うのならいいかもね。
76デフォルトの名無しさん:2011/10/03(月) 12:39:23.46
>>75
プログラマ同士が競うためのツールとかゲームってかなり少ないし、
評価関数作るだけで参加できるならやってみたいわ
77デフォルトの名無しさん:2011/10/03(月) 18:33:31.42
碁ではいかんの?
今プロの足元ぐらいの一番興味をそそるおいしい地点だと思うけど。
私見では今の方法論ではいずれ頭打ちになって、何かブレイクスルーがないと
プロのレベルに到達できないと思うから、参入してやってみたら?
78デフォルトの名無しさん:2011/10/03(月) 22:36:29.54
五目ならべってパッとしないだろ
79デフォルトの名無しさん:2011/10/04(火) 00:21:27.63
その前に五目並べにプロとかあんの?
80デフォルトの名無しさん:2011/10/04(火) 08:53:36.38
>>67>>71
2次元が3次元になるだけでそんなに変るもんなの?
minimaxもダメ?
81デフォルトの名無しさん:2011/10/04(火) 19:37:51.05
2次元が3次元になると世界や常識が原型をとどめないほど木っ端微塵にされて再構築しなきゃならないからね
昔は地球が平面だと思われてたけど実際は違っていたために大変な変革が必要だった
次元が上がるということは単に変数が一つ増えるということではない
価値観や常識を根本から作り直さなければならない
並大抵の精神構造では不可能だよ
8267:2011/10/04(火) 19:47:41.67
minimaxみたいな探索アルゴリズムはいけると思う。
静的な局面での評価関数さえしっかりしたのを作れればね。

でもその評価関数が難物で、有利不利の判定を一から考えないといけないと思う。
2次元と3次元ではゲーム性が違いすぎるからね。
まず3次元だと2次元みたいな壁が作れなくない?
盤が小さくてすぐ辺に到達してしまうから、2次元オセロでは有効だった開放度だってそれほどの意味を持たないかもしれない。
8367:2011/10/04(火) 19:49:45.26
オセロだとイメージしにくくても、碁や五目並べや将棋が3次元になったら全然違うゲームになるのは想像できると思う。
碁だと打った石が6路の呼吸点を持つから打ち込んだ石がとっても死ににくくなるし、
五目並べだと立体的な方向にまでつながるから先手有利すぎでゲームにならない。
将棋は歩を異様に多くしないといけないし、王が立体的に逃げられるので詰めにくい気がする。さらに大駒と子駒の強さのバランスが2次元の場合とかなり異なる気もする。
まあこのあたりをうまくクリアしたルール設定も可能かもしれないけど。おれでは無理でした。

てなことで、どのゲームにしても2次元の理論は参考程度にしかならないというのがおれの結論です。

異論は認めますww
84デフォルトの名無しさん:2011/10/04(火) 20:04:02.80
別に333じゃなくて888でやってくれてもいいんだぜ?
85デフォルトの名無しさん:2011/10/04(火) 20:19:43.72
評価関数の作り直しって点では同じことだろう。
ただ複雑になるだけだな。
86デフォルトの名無しさん:2011/10/11(火) 23:56:25.37
実際に三次元オセロがあるんだから、実際に使ってみて話したら?
(まあ実際動かしたが、なんだかなー)
ソース付だからどうとでも出来るし。
87デフォルトの名無しさん
それより将棋をRTSとして作りたいと考えてるだが、どうだろうか。