タグ

algorithmとgameに関するkjirouuのブックマーク (4)

  • JavaScript でオセロを実装する(遅延評価編) | Webシステム開発/教育ソリューションのタイムインターメディア

    これまでのあらすじ 新人の力量を測るための課題としてオセロの作成を指示したが、 指示した当人が作れないようでは話にならないので実際に作り始めた。 一先ず盤面が4×4で黒も白も人間が指す一人二役の寂しいオセロは実装できたのだが、 快適に遊ぶには大きな問題が潜んでいたのであった。 実は4×4で既に重い問題 実際に前回作成したオセロを実行すると、 ゲームが遊べるようになるまでに割りと待たされます。 それもそのはずで、あの実装は ゲーム中で取り得る局面を予め全て列挙 していたからです。 しかも4×4という最小限の盤面のオセロですらゲーム中に出現し得る局面 = ゲーム木に含まれるノード数は 284,881個 あります(※回転すると同じになる盤面等は個別に数えて、同一盤面でも手番のプレイヤーが異なるなら別と数えて、パスした場合も1個と数えています)。 そりゃあ待たされるに決まってますし、無闇矢鱈にメモ

    JavaScript でオセロを実装する(遅延評価編) | Webシステム開発/教育ソリューションのタイムインターメディア
    kjirouu
    kjirouu 2015/12/21
    シリーズものでモンテカルロ法のAI作成に続く
  • 手続き型のダンジョン生成アルゴリズム | プログラミング | POSTD

    この投稿では、以前に TinyKeepDev が こちら で述べたランダムなダンジョンを生成する技法について説明しようと思います。元の投稿に比べて、もう少し具体的に話を進めるつもりです。まずは、以下に示したアルゴリズムの一般的な動作をご覧ください。 部屋の生成 はじめに、幅と高さを持つ部屋を円の中にランダムに配置しましょう。TKdevのアルゴリズムは、各部屋のサイズを生成するのに正規分布を用いています。これは一般的にとてもいいアイデアです。なぜかと言うと、これによってより多くのパラメータを扱うことができるようになるからです。幅/高さの平均と標準偏差間の異なる比率を選ぶと、通常は見た目の違うダンジョンとなります。 ここで実行すべき関数は getRandomPointInCircle です。 function getRandomPointInCircle(radius) local t = 2

    手続き型のダンジョン生成アルゴリズム | プログラミング | POSTD
  • 幻塔戦記グリフォンの AI で使っている Behaviour Tree

    こんにちは、クライアントエンジニアの Sindharta Tanuwijaya(シンダルタ タヌイジャヤ)です。 今更ですが、1月の社内の勉強会で、 Behaviour Tree という AI の手法を発表させて頂きました。当時は幻塔戦記グリフォンを開発するのにあたって、1つのフィーチャーを完成させるためにこの機能を作っていましたが、今はいろいろなフィーチャーで使われています。 Behaviour Tree とは思考 AI のアルゴリズムの1つで、比較的に良く知られているステートマシンと目的が似ています。それはゲーム内のオブジェクトをどう考えさせて、行動させることです。ステートマシンも良い手法ですが、 AI が複雑になってくるのにつれて、管理の難しさが倍に増えるデメリットがあります。そこで、 Behaviour Tree を導入してみたわけです。 当日発表したスライドは以下です。 また、自

    幻塔戦記グリフォンの AI で使っている Behaviour Tree
  • VXオートタイル作ってみた - 289K

    前回の記事だけでは細かいループ関係が分かりにくい気がしたので 試しに実際にオートタイルを作ってみました。 作り方講座というより今回の自分の手順の紹介です。 もとにするのは以前作ったこのチップ。 ループ単位は32×32。 使うループのパターンはこの一種類だけです。 上画像の左端が基となるチップだとします。 説明の都合上16×16に分割してます。 2番目は前回色分けしたオートタイル。 a、b、c、dの並びを崩すとループがおかしくなってしまうので これを崩さないようチップを3番目のように配置します。 ループ単位は32×32でも、カドやフチなどパーツの構成単位は16×16なので 配置されたチップは右端のように分けられます。 内部、横のフチ、縦のフチ、外カド、内カドの5つのパーツに分けて元チップを加工していきます。 フチは縦のフチなら上下方向、横のフチなら左右方向にそれぞれループすること、 向かい

    kjirouu
    kjirouu 2012/02/16
    オートタイリングの規格についての解説
  • 1