169
174

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

オリジナルのボードゲームをルールからAIまで作る【概要編】

Last updated at Posted at 2014-10-25

#はじめに
古くはチェスの世界チャンピオンに勝利したディープブルー、最近では将棋のプロ棋士とソフトが戦う電王戦...
ボードゲームはコンピュータの進化を図るひとつの指標となっています。

それこそ将棋の電王戦といえばNHKでも特集され今話題の分野。
最強の将棋ソフト、自分でも作ってみたいですよね。

しかしチェスや将棋の世界で1番になるのは苦難の道です。
天才たちが99%の努力と101%のひらめきで200%のパワーをぶつけ合う世界。
素人が戦いに挑んでも現実の厳しさをハムスターから教わることになるでしょう。
しかし発想を変えれば簡単に世界一になれる方法があります。

競技人口1人のボードゲームを自ら創り、その中で世界一を目指す。

これ。
究極のブルーオーシャン戦略。

という訳で、

  • オリジナルのボードゲームを考案する。
  • 一人用として遊べるゲームとして実装する。

この2つのテーマで解説していきたいと思います。

#できあがりの品
できあがりの品がこれです。
こういうの作ります。

Colamone
http://xiidec.appspot.com/colamone/colamone.html

ColamoneSS.png

まぁこれは一例で、作り方さえ分かればあとはアイデア次第で色んなものが作れるはずです。

#必要な知識
ゲームの考案は自分にもできそう!
でもゲームの開発は難しそう!

実はそうでもないんです。

####対象読者

  • Javascript/HTMLが読める人
  • Javascript/HTMLが読めないけど何となく言いたいことは分かる人

この記事ではJavascriptを使います。いわゆるHTML5アプリってやつですね。
サーバーサイドは使いません。ブラウザ側でゴリゴリ動かします。

####開発規模

  • ゲームのルールにもよるが筆者の開発したゲーム場合、全部合わせて1500行くらい。

自分の場合は開発に取り掛かってから3日くらいで雑魚AIと遊べるくらいまで作れました。
そこからの改良は何ヶ月かけても終わりが見えませんが、
たった1500行で、コンピュータと対戦できるボードゲームが取りあえずは作れます。

####やらないこと
以下のことはこの記事の中では、やりません。きっと他の人が教えてくれるはず。

  • より高度なAIの開発
  • 棋譜から自動学習するプログラムの開発
  • ゲームを快適に遊ぶための機能の充実

#概略
具体的にどうすればボードゲームが作れるのか、概要を記します。
詳しい内容は次回以降の記事で解説していきますが、
概略だけ見れば「これくらいなら自分にもできる」と想像しやすいのではないでしょうか。

1. オリジナルのボードゲームのルールを考案する。

ここ、重要です。
この記事で扱うのはチェスや将棋のような2人対戦型ボードゲームなのですが、
ゲームのルールによって難易度が全然違います。
御存知の通りオセロよりチェス、チェスより将棋、将棋より囲碁の方が
コンピュータにとって難易度の高いゲームとなります。
ここは志低く「コンピュータに有利なルール」にしてしまいましょう。
そうすれば自ずと歯ごたえのあるAIが出来上がります。

2. 1人プレイできるゲームを作る。

  • 2.1 UIを作る。
    まずUIを作ります。
    盤を表示して、コマを表示する・・・ルールにそって。
    ここまで出来上がれば取り敢えず1人遊びは出来ますね。でも寂しいですね。

  • AIを作る。
    ボードゲームのAIを作ります。
    AI...人工知能...そう聞くととても難しそうですが、
    ボードゲームのAIに必要なのは

    • 探索部を作る。
    • 評価部を作る。

    実はたったこれだけです。
    極めようとすれば無限に奥の深い世界ですが、入り口の敷居は思いのほか低いです。

#Link
★★次の記事はこちら★★

オリジナルのボードゲームをルールからAIまで作る【ルール編】
http://qiita.com/kurehajime/items/44a83211c60eabc305e2

.

できあがりの品として紹介したColamoneのソースや開発記録はこちら。

Colamone -Github
https://github.com/kurehajime/colamone_js
Colamone開発ブログ
http://chmodarwx.hatenablog.com

ニコニコ自作フェスにも応募してます。。。

【WEBボードゲーム】Colamone(コラモネ)【ニコニコ自作ゲームフェス4】
http://www.nicovideo.jp/watch/sm24616525

169
174
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
169
174

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?