タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

Algorithmとalgorithmとgameに関するmanabouのブックマーク (50)

  • スーファミサウンドの裏で何が行われているか - ポルノアニメ

    qSPCの開発も山場を越えた感があるのでたまには進捗報告以外の話を…… 多分、普段は宇宙語が書いてあるブログだと思って見てない人が多いと思うので前提知識を手短に書いておくと: スーパーファミコンにはメインのCPUと別にサウンド用のCPUが乗っている オーディオデバイスにはサウンドCPUからしか触れない サウンドCPUはメイン側とは独立したメモリを抱えている このメモリは64KBしかない メインCPUとサウンドCPUのやり取りには、あまり速くない通信路を使う必要がある という制約があるので、いかにデータをコンパクトにして、最低限の物だけをサウンドCPUに送るかという所で開発者の腕が試されることになる。で、プロの技はどんなもんだろうかと、メモリダンプを見ながら定番のグラディウスIIIをやってみると…… ボスを倒して、ステージが変わるタイミングで一瞬画面が止まるので、ここで曲を入れ替えていると思

    スーファミサウンドの裏で何が行われているか - ポルノアニメ
  • 効率的にゲームを更新する | POSTD

    先日、 Things that can go wrong when downloading(ダウンロード時に上手くいかないものごと) についての記事を書きました。その記事に、ネットワークの問題から妥当でないコンテンツ、不完全なハードウェアに至るまで、ゲームを最初にインストールする際に発生することがある一連の原因をリストアップしました。 今回の記事では、ゲームの前バージョンが正常にインストールされているときに、そのゲームを新しいバージョンにアップグレードするのにどんな方法が使えるかについて考えます。 圧縮 あるユーザが利用できる帯域の量は、通常、一定です。ユーザのインターネットアクセスの論理的な最大速度は20mbps、100mbps、1gbps、または、国によってはそれよりずっと低いものです。 私の自宅にはまだ光ファイバが引かれていないので、アクセスは20mbpsという遅さですが、インターネ

    効率的にゲームを更新する | POSTD
  • オセロの着手可能位置生成 【ビット演算テクニック Advent Calendar 2016 23日目】 - prime's diary

    はじめに この記事はビット演算テクニック Advent Calendar 2016の23日目の記事です。 www.adventar.org オセロとビット演算 オセロは盤面サイズが8x8=64マスなので、64bit変数を2つ用意し、1つめを自分の石(あるいは黒石)の位置を、2つめを相手の石(あるいは白石)を表すために使うと合計128ビットで自然に表現できます。*1 自然に表現できるだけでなく、盤面の回転や反転などもDelta swapとその応用 【ビット演算テクニック Advent Calendar 2016 3日目】 - prime's diaryで紹介したような方法で効率的に行なえます。 着手可能位置の生成はタテ・ヨコ・ナナメの一直線上をpextなどで取ってきて表引きをすることにより、ある程度の速度で可能ですが、(38=6561なのでL1キャッシュに乗る程度の大きさとはいえ)メモリアク

    オセロの着手可能位置生成 【ビット演算テクニック Advent Calendar 2016 23日目】 - prime's diary
  • 電王・Ponanza開発者が語る、プロの定跡を揺らした将棋プログラム発の新戦法“左美濃急戦”

    こんにちは、将棋プログラム「Ponanza」の作者、山一成です。今回は将棋プログラムの「機械学習」に大きな変化をもたらしている“評価”についてをメインに話したいと思います。 将棋プログラムは大きく分けて、2つの部分から成り立っています。それは“探索”と“評価”です。“探索”とは、つまり“読むこと”で、将棋プログラムは1秒間に何百万もの局面を読めます。前回の並列化は、この“探索”の強化のお話でした。 そして、その読んだ局面の良し悪しを判断するのがもうひとつの部分、“評価”です。この“評価”が正しくできないとせっかくの“探索”が無駄になってしまうので、将棋プログラムにおいてこの“評価”作業はすごく重要なのです。 昔は年単位でかかっていた“評価”作業 将棋の局面をどのように評価すればいいか。 これは将棋プログラムにとって昔から重要なテーマでした。昔はそれこそ職人のように、開発者がひとつひとつ丁

    電王・Ponanza開発者が語る、プロの定跡を揺らした将棋プログラム発の新戦法“左美濃急戦”
  • ゲームをプレイするアルゴリズムを選択するためのアルゴリズム | POSTD

    この記事は当初、私たちの論文を紹介する簡単な投稿のつもりだったのですが、最終的に膨れ上がってしまいました。結果として、十分な内容が詰まったものになったと思います。 ビデオゲームは、人工知能アルゴリズムをテストする最良の方法ではないでしょうか。 少なくとも私は以前に、このことについて(ある程度の分量で)持論を展開しました。 ビデオゲームでは可能で、例えばロボットにおける問題などでは不可能なものの1つとして、同じアルゴリズムをたくさんのゲームで素早く簡単にテストできるということが挙げられます。ちなみにそのことは、 他のゲームベースのAIテストベッドに対して一定の優位性 を持つ The General Video Game AI Competition (GVG-AI)の指針となる原則の1つでもあります。 GVG-AIフレームワークに実装された数種類のゲーム。 現時点では、実質的にすべての種類の

    ゲームをプレイするアルゴリズムを選択するためのアルゴリズム | POSTD
  • 深層強化学習:ピクセルから『ポン』 – 後編 | POSTD

    前編はこちら: 深層強化学習:ピクセルから『ポン』 – 前編 起こっていないこと さて、方策勾配を使って生のピクセルから『ポン』をプレイする方法を学びましたが、ご理解いただけましたね。この手法は推測してチェックするという手間のかかるやり方で、”推測”は最新の方策からロールアウトをサンプリングすることを意味し、”チェック”は良い結果を導くアクションを促すこと意味します。大枠では、これは強化学習の問題への最先端のアプローチです。このような振る舞いを学習できるということは感動的です。しかしあなたが直感的にアルゴリズムを理解していて、どのように機能するか知っているとしたら、少しがっかりしてしまうのではないでしょうか。具体的に、機能しないのはどういうところでしょうか。 これと比較して、人間は『ポン』のプレイ方法をどのように学習するでしょうか。おそらくあなたはゲームを見せ、次のように言います。「パドル

    深層強化学習:ピクセルから『ポン』 – 後編 | POSTD
  • 端末の上で動かして遊べる!迷路コマンドをGo言語で書きました! - プログラムモグモグ

    迷路で遊びたくなったので作りました。Goで書いています。 github.com Homebrewをお使いの方は、次のコマンドでインストールしてください。 brew install itchyny/tap/maze そうでない方は、次のコマンドでビルドしてインストールするか、 go get github.com/itchyny/maze/cmd/maze あるいは https://github.com/itchyny/maze/releases よりバイナリーを落としてご利用ください。 mazeコマンドは、ランダムな迷路を出力します。 maze --interactive引数を渡すと、カーソルを動かして迷路を遊ぶことができます。 maze --interactive --format colorを渡すと迷路が綺麗に表示されます。--widthや--heightなどで迷路のサイズを制御すること

    端末の上で動かして遊べる!迷路コマンドをGo言語で書きました! - プログラムモグモグ
  • Codevs5.0勉強会

    Mar 1, 2016Download as PPTX, PDF2 likes3,942 views

    Codevs5.0勉強会
  • レーシングゲームにおける逆走判定 - 趣味プログラマによるOSS開発日誌

    ほとんどのレーシングゲームでは、逆走した時に逆走したことを示すメッセージが表示される。 逆走したことのメッセージが存在しないと、 プレイヤーが逆走に気がつかないまま逆走を続けてしまう可能性があり、非常に不親切である。 現在作成しているアプリでも同じ機能をつける必要があり、 逆走判定を行う必要が出てきたため、逆走判定のアルゴリズムをまとめてみた。 候補となるアルゴリズムは、以下の3つである。 1. 進行方向を示すマップを作成し、現在地の進行方向と自身の進行方向を比較 [アルゴリズム] 2Dまたは、3Dで高さ成分をあまり考慮する必要がない場合は、 2次元配列等を利用して、各場所における進行方向を持つマップを作成すればよい。 3Dで高さが大きく変更される場合(フライトレーシング等)は、 3次元配列を用いて3D空間上を表現すればよい。 [利点] それぞれの場所で進むべき進行方向の判定が行えるため、

    レーシングゲームにおける逆走判定 - 趣味プログラマによるOSS開発日誌
  • GREE GameDevelopers’ Meetup 02 ご来場ありがとうございました | GREE Engineering

    こんにちは。開発企画部の佐島です。 12月16日(水)、グリー主催のゲーム開発者向けミートアップ GREE GameDevelopers’ Meetup が開催されました。 GREE GameDevelopers’ Meetup とは? GREE GameDevelopers’ Meetup は、ゲーム開発者のみなさんと一緒に、オープンに技術を学び交流できる場づくりを目指し創設されたミートアップです。 2回目となる今回のテーマは、ゲーム開発における数学・物理・アニメーション。 それぞれの分野から、書籍の著者の方をお招きしてお話頂きました。 セッション 『軸を固める』ための物理 堂前 嘉樹(フリーランス) 最初にご登壇頂いたのは「ゲームを動かす数学・物理」の著者である堂前さん。 著書の中でも物理部分にフォーカス頂き、ゲームの動作に関わる物理の考え方について詳細に解説頂きました。 スキンアニメ

    GREE GameDevelopers’ Meetup 02 ご来場ありがとうございました | GREE Engineering
  • プレイヤーが自然に感じる乱数の作り方 - A Successful Failure

    2015年11月10日 プレイヤーが自然に感じる乱数の作り方 Tweet ゲームでは擬似乱数がよく使われるが、ある種のゲーム数学的に精度の高い擬似乱数(たとえばMT)を用いているにも関わらず、コンピュータが有利になるように乱数を操作していると批判に晒されている。 実際、数学的に正しい乱数と、プレイヤーが自然と感じる乱数には、ある種の差が存在する。北陸科学技術大学院大学の池田研究室では、プレイヤーに自然に感じる乱数の生成に関する研究を行っている。 プレイヤーが不自然に感じる理由 数学的に正しい乱数に対してプレイヤーが不自然に感じる理由としては認知バイアスが考えられる。特に事象に関連する認知バイアスとして、次が挙げられている[1]。 確証バイアス: 人は自分のもつ仮説に一致する情報を求め、反証となる証拠を避ける傾向がある。ひとたび、サイコロが操作されていると感じると、それ以降、その仮説に都

    プレイヤーが自然に感じる乱数の作り方 - A Successful Failure
  • 強くなるためのプログラミング -プログラミングに関する様々なコンテストとそのはじめ方-#pyconjp

    アルゴリズム・ゲームAI・インフラ・データマイニング・セキュリティのコンテストと、そのはじめかたを紹介していきます。

    強くなるためのプログラミング -プログラミングに関する様々なコンテストとそのはじめ方-#pyconjp
  • ページ移転のお知らせ

    ご指定のホームページは下記のアドレスに移動しました。 ブックマークなどの登録変更をお願いします。 http://usapyon.game.coocan.jp/ ※10秒後に自動的に移転先のページにジャンプします。

  • ゲームAI - 基礎編(2) - 『はじめてのエージェントベースアーキテクチャ』

    みなさん、こんにちは! Cygamesエンジニアの佐藤です。 季節も秋を迎えて、すっかり涼しくなってきましたね。 秋の夜長はのんびり箱庭ゲームなどいかがでしょうか? SkyrimやGTAなどのオープンワールド系の箱庭ゲームでは、 街を歩くNPC達の動きも作り込まれています。 モブキャラクターたちが街や村の中で生活感豊かに動いていると、 ゲーム世界の日常の中に実際に入り込んでいるような気持ちになれますよね! 今回の記事では、NPCの生活行動のためのAIを一例にあげつつ、 自律エージェントの考え方に基づいたキャラクター駆動の仕組みについて 御紹介したいと思います。 Ⅰ.自律エージェントとは? 周囲の環境を認識して状況を解釈し、自身の内的な方針に基づいて意思決定を行って、 環境に働きかける行動を取る能力を持つ存在を自律エージェントと呼びます。 わかりやすく、ゲームの敵キャラクターに置き換えて考え

    ゲームAI - 基礎編(2) - 『はじめてのエージェントベースアーキテクチャ』
  • 手続き型のダンジョン生成アルゴリズム | プログラミング | POSTD

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

    手続き型のダンジョン生成アルゴリズム | プログラミング | POSTD
  • ゲームグラフィクスアルゴリズム資料一覧 - UnityShader 入門

    (最終更新:2015/09/27) ゲームグラフィクスに興味のある人向けに資料を分類して集めました。 新しいの見つけたら増やしたり分類し直したりします。 ※以下は応用的な内容なので、復習も兼ねて基礎的なアルゴリズム(CG数学、パイプラインとかシャドウマップ、法線マップなど)のページも後で作ろうかと思ってます。 Physically Based Rendering 物理的な観察に基づいたパラメータを用いたシェーディングモデル、スペキュラ反射 エネルギー保存則に従ったライティング、エリアライト 資料 概要 実装 Real Shading in Unreal Engine 4 PBR全般,エリアライト UnrealEngine4 Moving Frostbite to PBR PBR全般,エリアライト Frostbite シリコンスタジオの最新テクノロジーデモ技術解説 PBR全般,Tempora

    ゲームグラフィクスアルゴリズム資料一覧 - UnityShader 入門
  • 三目並べで学ぶミニマックス法 | POSTD

    最近、「絶対に勝てない三目並べ」のゲームを作ったのですが、非常にささやかながらも楽しいプロジェクトで、いろいろ学ぶこともできました。ゲームの全体像に興味がある方は、 こちらでゲームを試してみてください 。 無敵のゲームにするには、コンピュータ側が全ての手を計算し、何らかの基準を用いて最善の手を決められるようなアルゴリズムを作る必要があります。多岐にわたって調べた結果、このプロジェクトにはどうやら ミニマックス アルゴリズムが適当そうだということが分かりました。 このアルゴリズムを根的な意味で真に理解し、自分のゲームに実装できるようになるまでにはある程度の時間が必要でした。多くのコードサンプルと説明に目を通しましたが、私が能なしだからか、どれを見てもプロセスの内実を十分に理解することはできなかったのです。この投稿が、ミニマックスアルゴリズムに関する皆さんの理解に少しでもお役に立てたらと思い

    三目並べで学ぶミニマックス法 | POSTD
  • Principles Of HTML5 Game Design — Smashing Magazine

    In this article, Mikołaj Stolarski & Tomasz Grajewski would like to present a few ideas of how to implement different visual effects in Visual effects in games define their overall look and feel, and gameplay. Players are attracted to high visual quality, which generate more traffic and reach. It’s key for creating successful games and providing a lot of fun for players. In this article, we’d like

    Principles Of HTML5 Game Design — Smashing Magazine
  • Gamasutra: Amir Fassihi's Blog - "0 – 60 fps in 14 days!" What we learned trying to optimize our game using Unity3D.

    TechTarget and Informa Tech’s Digital Business Combine.TechTarget and Informa TechTarget and Informa Tech’s Digital Business Combine.Together, we power an unparalleled network of 220+ online properties covering 10,000+ granular topics, serving an audience of 50+ million professionals with original, objective content from trusted sources. We help you gain critical insights and make more informed de

  • ゲームAI -基礎編- 『知識表現と影響マップ』

    みなさん、こんにちは! 突然ですが…皆さんには、ひいきにしている ゲームのキャラクターはいらっしゃいますでしょうか。 手ごわいボス敵や頼れるパートナー、愛嬌のある動きをするモンスター達は 一体どのような仕組みで動いているのでしょう? 今回の記事ではそんなゲームの中のキャラクター達を 魅力的に動かす仕組み、AIについて御紹介したいと思います。 改めまして記事を担当させて頂きます、Cygamesエンジニアの佐藤です。 これまでコンシューマ機でのゲームAI開発に携わり、 ゲームならではのキャラクター表現の楽しさを追いかけてきました。 このブログを通じて、皆さんのゲームのキャラクターを より表情豊かに魅力的なものにする方法について、皆さんと一緒に考えていければ幸いです。 今回はゲームAIをデザインするにあたって重要となる、 「知識表現を定義する」というステップと、 知識表現の一つである影響マッ

    ゲームAI -基礎編- 『知識表現と影響マップ』