ファミコンの横スクロールマリオの挙動をUnityで作ってみました。Physicsに全ておまかせ・・・というわけにはいかず、思っていたよりも大変です(笑)ということで、今回はそのレポートを書いてみます! 今回の記事では、Unityでマリオの挙動を作るのに必要な項目を「ジャンプ編」「衝突判定編」「アニメーション編」「横スクロール編」「入力デバイス編」の5つに分けて紹介していきます。ジャンプの挙動編ジャンプボタンを押しっぱなしにしたときの挙動ジャンプ後、落下の軌跡 空中で移動できる 当たり判定編 上方向の衝突判定 横方向の衝突判定 めり込み対策 アニメーション編 横スクロール編 コントローラ入力編 まとめジャンプの挙動編 マリオのジャンプは普通のジャンプとは異なる点が3つあります。ジャンプボタンを押し続けると、ジャンプの高さが変わるジャンプの軌跡は放物線ではない 空中で左右キーを押す

IGDA日本は、ゲームAI連続セミナーの第5回を10月27日に開催しました。今回のメインテーマは遺伝的アルゴリズム(GA)とニューラルネットワーク(NN)で、ともに「生物界の法則」をAIの進化・学習に取り込もうという技術です。講師はフロム・ソフトウェアの三宅陽一郎氏です。三宅氏はXbox360用『クロムハウンズ』のAIの開発者で、CEDECでもAIについての講演を行っています。 今回は、遺伝子アルゴリズムやニューラルネットワークによってNPCをよりよくコントロールする(進化させる)ことがテーマとなりました。遺伝的アルゴリズムでは、「遺伝子」を掛け合わせることで多様なふるまいをするNPCを登場させることができます。また、ニューラルネットワークは個別NPCの行動の精度をあげることができます。 ■遺伝的アルゴリズムは分かりやすく使いやすい 遺伝的アルゴリズムは「集団を一定の方向に進化させる方法」

キャラクターの学習から,自然なアニメーション作りまで。さまざまな分野で活躍するAIの魅力を伝える「スクウェア・エニックスAIアカデミー」レポート ライター:箭本進一 スクウェア・エニックスは,2014年9月24日,「スクウェア・エニックスAIアカデミー」の締めくくりとなる第5回講演を行った。スクウェア・エニックスAIアカデミーとは,同社のテクノロジー推進部が中心となり,事前の審査で選ばれた学生30名弱に向けて,ゲームAIに関する講義を行う学習会のようなものだ。誰でも参加できるというわけではなく,参加希望者は事前に小論文を提出しなければならないのだから本格的である。 2014年7月から9月にかけ,全5回,各回3時間のカリキュラムが組まれており,講義のあとにワークショップを行うという構成となっていた。第1回の様子はこちらの記事ですでにお伝えしているので興味のある方は参照されたい。 9月2

迷路自動生成アルゴリズム プログラムによる迷路の自動生成の解説ページです。 どちらかというと大きな迷路を生成する事に興味があり、ゲームソフトで使われる迷路とは観点が異なっています。 下記のソフトをダウンロードして実行すると、棒倒し法と穴掘り法と壁延ばし法の実際の迷路の生成動作を見ることができます。 ダウンロード(Windows用ソフト) 249Kバイト 1.はじめに 自動生成迷路はの基本形は方形座標上で、各マスが壁または道から成り立っています。 このデータはプログラム上も2次元配列で簡単に作れ、各マスが壁か道かだけを覚えていればいいので、表現も簡単です。 またこれを画面に反映する際も、道や壁を適当なアイコンに置き換えればいいので、比較的簡単にゲームに使えます。 道の幅は通常1マスです。 2.棒倒し法 棒倒し法は、比較的プログラミングの楽な迷路生成法です。 最初に基本となる四角の外壁と、その
前編はこちら: 深層強化学習:ピクセルから『ポン』 – 前編 起こっていないこと さて、方策勾配を使って生のピクセルから『ポン』をプレイする方法を学びましたが、ご理解いただけましたね。この手法は推測してチェックするという手間のかかるやり方で、”推測”は最新の方策からロールアウトをサンプリングすることを意味し、”チェック”は良い結果を導くアクションを促すこと意味します。大枠では、これは強化学習の問題への最先端のアプローチです。このような振る舞いを学習できるということは感動的です。しかしあなたが直感的にアルゴリズムを理解していて、どのように機能するか知っているとしたら、少しがっかりしてしまうのではないでしょうか。具体的に、機能しないのはどういうところでしょうか。 これと比較して、人間は『ポン』のプレイ方法をどのように学習するでしょうか。おそらくあなたはゲームを見せ、次のように言います。「パドル

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 2012年8月22日 にあった、CEDECの講演についての記事です。 「ゲームAIはプレイヤーを虜にできるか? ~アクションゲームにおいて、AIを使って華麗に誤魔化しつつ魅せる手法~」 テーマは 「CPUパワーを使い高度なAIを構築するわけではなく、 処理は軽くそれらしいAI をいかに作るのか?」 です。 ・気がつかなければOK ・俺つえー感を演出 ・ちょっとした工夫 ・人間らしく見せるAI ・賢く見えるAI について解説。 -------------------------------------------------- ●気がつかなければOK ユーザーは自分が動かしているキャラに集中していて 敵AIにはそれほど意識を向けていない と言う事を利用している。 画面外のキャラや
以前、オセロの対戦AIの作成しましたが、そこでは実装を簡略化する為に盤面の価値を 盤面の価値 = 自分の石の数 – 相手の石の数 という単純な方法で決めていました。 でも、これには問題があります。 同じ石でも配置場所によって価値は異なるはずです(例: 角は最強)。それが考慮されていません。ゲーム終盤になってくると石の数が重要になってきます。でも序盤から石の数を重視するのは方向性としておかしいです。 という訳で、 序盤から中盤では石の配置場所を重視する終盤では石の数を重視する 形で盤面の価値を算出すれば、結構良さそうなAIになりそうです。 しかし、今度は 「序盤」「中盤」「終盤」をどのように区別するのか?石の配置場所の強弱はどう決めるのか?同じ配置場所でも周囲の状況次第で強弱が異なるのでは? という問題が出てきます。これは作るのが面倒臭そうです。 どうにかしてお手軽かつそこそこ強そうなAIを

[2013.10.05] 点と平面の距離 平面上の最近点 [2013.09.29] 点と三角形の内外判定 点と三角形の当たり判定をします。 [2013.09.28] ポリゴンの表裏判定 OPenGLとDirectXで混乱した。結局一緒なのかー。 [2013.09.27] 十字キーと8方向キーの方向判定 スマホで仮想十字キー作ったりドラッグ方向の判定にどうぞ。 [2013.09.26] 2線の交点を求める方法 3次元でも2次元でも大丈夫な2線の交点を求める方法です。 [2013.02.16] お詫びと訂正。 斜方投射で説明していた式に誤りがありました。ご指摘いただいた方ありがとうございます。 http://www.sousakuba.com/Programming/algo_dandoukeisan2.html 旧 新 ルートの中のプラスマイナスが逆でした。 [2012.11.30] 平面と
図1に示す(1)から(3)までの麻雀(マージャン)の手牌があります。「あがり牌」はすべて山からツモったものとし,リーチはかけていません。またドラやハイテイ*1なども関係ないものとします。これらの役を判定して,親の場合の点数を計算するプログラムを作ってください。 「ややこしや~ややこしや~」というのは野村萬斎ですが,思わずそううなってしまうことがプログラミングをしているとよくあります。今回の麻雀の役判定は,考えれば考えていくほどややこしく,そうしたものの代表と言えるでしょう。排他処理や優先順位が複雑にからんでいて一筋縄ではいきません。 今回はややこしい組み合わせを解決する方法を考えてみます。麻雀になじみのない方も,ちょっとしたパズル気分で試してみてください。麻雀の役を考える麻雀を知らない方のためにルールをおおざっぱに説明しておきましょう*2。麻雀の牌には,大きく分けて「萬子(マンズ)」「

ナンプレ(ナンバープレイス,数独)というパズルゲームがあります。図1を見てください。全体では9×9のマス目があり,その中が3×3のマスに分かれています。縦横の列に1~9までの数字がそれぞれ一つずつ入ります。また,3×3のマスにも1~9までの数字が一つずつ入ります。このルールで空白のマスを数字で埋めるアルゴリズムを考えてください。NHK教育テレビの「ピタゴラスイッチ」という番組をご存知でしょうか。「ある物は,ある考え方で構成されている。その考え方はほかにも使われているから,そうした基本となる考え方を知ろう」という趣旨に基づいて,考え方や物の成り立ちを児童向けに教える,とても面白い番組です。児童向けなのに周りのプログラマたちはだいたい見ています(笑)。 この番組の制作には,「だんご3兄弟」の作詞者として著名な佐藤雅彦氏が参加しています。佐藤氏の著書「毎月新聞」(毎日新聞社)には,要約すると以

1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く