programmingとgameに関するkokorokaraのブックマーク (15)

  • ローグライクゲームのダンジョン自動生成アルゴリズムまとめ - NinaLabo

    ローグライクゲームのダンジョンマップを自動生成するにあたり、参考にさせていただいたページをまとめておきます。 《マップを2分割していく方法》 大きいマップをどんどん2分割していくことで、不思議のダンジョンのようなマップを自動生成できます。開発中のローグライクゲームも、ここにある方法を採用しました。 ◼Racanhackコード解説 ローグライクゲームRacanhackのソースコードを解説した記事。特にダンジョンマップの自動生成に関するアルゴリズムの解説記事が詳しくてわかりやすいのですが、何故かページのテキストエンコーディングがEUC。 ◼アルゴリズム - 不思議なダンジョンの作り方 (Unity2Dサンプルコードつき) - Qiita Unity (C#) のサンプルコード付き!自前で実装した後にこの記事を見つけたのが悔やまれます... ◼ゲームプログラマーを目指すひと ランダムダンジョン生

    ローグライクゲームのダンジョン自動生成アルゴリズムまとめ - NinaLabo
  • プレイヤーが自然に感じる乱数の作り方 - A Successful Failure

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

    プレイヤーが自然に感じる乱数の作り方 - A Successful Failure
  • 手続き型のダンジョン生成アルゴリズム | プログラミング | POSTD

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

    手続き型のダンジョン生成アルゴリズム | プログラミング | POSTD
  • テキストアドベンチャーゲームのアーキテクチャと工程

    2014年12月21日の「アドベンチャーゲームエンジンとフレームワーク技術交流会」にて発表した資料です http://www.kawaz.org/events/384/Read less

    テキストアドベンチャーゲームのアーキテクチャと工程
  • ゲーム開発におけるテストについて - Jack日記

    自分はテストコードを書くのが嫌いだし、ほとんどの場合テストコードを書くのは効果に見合わないと考えているので偏見は入っていると思う。そのうえで、ゲーム開発とテストコードについて考えてみる事にする。 テストコードを書かない理由 すでにゲーム業界に来て3年半ほど経つが、テストコードを書いている人は見たことがない。 波動拳がちゃんと出るか確認するテストなんてどうやって書くんだ、と言っている人がいたが、確かに想像しにくい。 ゲーム開発でテストコードを書かないのは開発手法が遅れているわけではなく、いくつか合理的な理由があると思う。思いつく理由を書き出してみよう。 ゲームはマルチメディアである ゲームはグラフィックやサウンドなど、数値やテキスト以外の要素を多く含んでいる。これらの複雑な情報をテストの予期結果として準備しておくのは現実的ではない。 また、様々なタイプのコントローラによる操作がリアルタイムに

    ゲーム開発におけるテストについて - Jack日記
  • ゲームと乱数(Xorshift)

    うえしたです。 ゲームプログラミングには必ずといってもいいほど使われる乱数ですが、 その乱数にも色々とアルゴリズムがあって精度や処理速度が違います。 C標準関数のrand()。 実装はほとんど線形合同法です。 軽くてお手軽なので、最初はみんなコレ使います。 でも精度がイマイチ(範囲が0~32767で周期が短い)で 乱数シードをグローバル変数に持っていてポータブルじゃないので、 ちょっと格的なゲームを作るときには、線形合同法や 他のアルゴリズムを使って自前実装します。 次にメルセンヌ・ツイスタ。 精度は最強。2^19937-1とかいう化け物みたいな周期。 Pythonの標準乱数だったり、DXライブラリの乱数関数がコレだったりします。 でもちょっと重い。精度もゲームではちょっと大げさな気もします。 メルセンヌ・ツイスタ - Wikipedia http://ja.wikipedia.org/

  • すごい乱数生成アルゴリズム「xorshift」 - Pashango’s Blog

    みなさん、こんにちは、今回は乱数の話です。 特に複数機種でのコンシューマ機でゲームを開発をしていると、機種間で乱数値を統一するために乱数生成アルゴリズムを自作しますよね。 そこでよく使われるアルゴリズムが「線形合同法」です、内容は至って簡単で、以下の漸化式を使います。 A,B,Mは定数で、どの値が入るかは処理系依存です。 例えばUnixなどの処理系ではA=1103515245,B=12345,M=2147483647などが入ります。 C言語ですと以下のようになります。 static unsigned int x=1; void srand(unsigned int s) { x=s; } unsigned int rand() { x=x*1103515245UL+12345UL; return x&2147483647UL; } この「線形合同法」は計算が簡単で高速ですから、いろいろな環

    すごい乱数生成アルゴリズム「xorshift」 - Pashango’s Blog
  • Racanhack コード解説

    図目次1-1. すべての部屋が通路でつながっていない例1-2. まずは全体がrect[0]です。1-3. rect[0]を、分割します。rect[0]とrect[1]ができました。1-4. rect[0]を、分割します。rect[0]とrect[2]ができました。1-5. rect[2]を、分割します。rect[2]とrect[3]ができました。1-6. 各区画にひとつずつ部屋を作ります。1-7. 各分割線ごとに部屋を通路でつなぎます。1-8. まずは全体がrect[0]です。1-9. rect[0]を、横に分割します。rect[0]とrect[1]ができました。1-10. rect[0]を、横に分割します。rect[0]とrect[2]ができました。1-11. rect[2]をまたぐことになり、困ります。1-12. このように賢く分割するようにしてもいいです。2-1. タスクのイメージ。

  • ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室

    ゲームの作り方とアルゴリズムをジャンル別にまとめてみました。ゲーム制作や、プログラミングの勉強用にご活用ください。言語別ゲームプログラミング制作講座一覧もあわせてお読みください。 リンク切れがおきていたものは、URLを表示しておくので、Internet Archiveなどでキャッシュを表示させてみてください。 RPG ゲームの乱数解析 乱数を利用した敵出現アルゴリズムの解説 各種ゲームプログラム解析 FF、ドラクエ、ロマサガのプログラムの解析。乱数の計算など ダメージ計算あれこれ(http://ysfactory.nobody.jp/ys/prg/calculation_public.html) ダメージの計算式 エンカウントについて考えてみる エンカウント(マップでの敵との遭遇)の処理方法いろいろ RPGの作り方 - ゲームヘル2000 RPGのアルゴリズム ドルアーガの塔 乱数の工夫の

    ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • iPhone/iPod Touch向けゲームフレームワーク·cocos2d for iPhone MOONGIFT

    iPhoneやiPod Touchは画面が広く、加速度センサーやマルチタッチなどこれまでにない操作ができるようになっている。そのため、ゲームアプリケーションも相当数存在し、フリーなものもあれば、有料課金されているものまでたくさんある。 iPhone向けゲーム開発を行うならこれ! デスクトップ向けゲームお金を稼ぐのは難しい、だがiPhone/iPod Touch向けであれば課金のシステムもあり、かつターゲットが世界であるのでヒットすればそれなりに稼げる可能性もある。そこで使ってみたいのがcocos2d for iPhoneだ。 cocos2d for iPhoneiPhone/iPod Touch用ゲームフレームワークで、2Dのゲームを作るのに必要な機能を提供してくれるオープンソース・ソフトウェアだ。 cocos2d for iPhoneiPhone/iPod Touchでゲームを開発

    iPhone/iPod Touch向けゲームフレームワーク·cocos2d for iPhone MOONGIFT
  • ヒビノアワ: 「ゲームプログラマになる前に覚えておきたい技術」を買った

    屋で見かけて、財布の中身と相談して、一度はあきらめて帰ったものの、やっぱり、どうしても、欲しくて購入した。 なにしろ、5000円弱。高い。 そして、軽く腕力を鍛えられそうなくらい厚くて重い。 しかし、これ、ものすごい良書なんじゃないか? まだ、そんなに読みすすめてはいないんだけど、とにかく、書きっぷりがいい。 ゲームを作るために必要な知識をもりもりと詰め込み、それをばっさばっさと解説していく。 「僕はこう書く、でも、もっといい方法は自分で見つけろ」なんて言ってみたりもする。 ゲーム作りをする新人を育てようとする、すごい熱気。 セガの新人教育カリキュラムから生まれたゲームプログラミングの解説書です。C++の初歩のスキルがある人向けに、パズルや2Dグラフィックスといった比較的簡単なゲームの作り方から、ゲームに絵を取り込む方法、シーケンス遷移、アクションゲーム、平面の衝突処理、入力装置のコント

  • ゲームプログラマになる前に覚えておきたい技術 - GBA homebrew日記

    ゲームプログラマになる前に覚えておきたい技術作者: 平山尚(株式会社セガ)出版社/メーカー: 秀和システム発売日: 2008/11/15メディア: 単行 セガの新人教育カリキュラムから生まれた ゲームプログラミングの解説書! 発売前に少しお手伝いさせていただきました。販売促進に(汗)ちょろっと宣伝です。 まずは現物を見たとき、ビックリすると思いますが厚さは4.5cmほどあります(総ページ数 872。これは執筆していたときから言われていてどうしても止むを得えない事情がありました。 というのも、今はゲームの要求する技術が広がってきてCGや3D、OS、アルゴリズムなど、多岐に及んでいています。腰を入れて市販ゲームを作ろう!(notフリーソフト)と思っていたら、専門書だけで数十冊、読む時間だけでもかなりかかることは間違いありません。 さらに、ゲームプログラマーさんの育てる方法として昔なら勝手に

  • ゲームプログラミング:OpenGLを使おう (1/4) :TEDIA

    SDLを使用したゲームのプログラミング:OpenGLの使用法 SDLは、ゲームの世界で必要となるインフラストラクチャの全体を提供しています。これまでの記事では、この点について明確に示してきました。ゲームにおけるインフラストラクチャとは、人体の骨格に相当する部分です。しかし、筋肉がなければ歩行することはできません。そこで、人体のたとえを続ければ、SDLはゲームを構築するための骨格となる構造であり、筋肉、血液、皮膚といった部分は2Dおよび3Dのグラフィックライブラリにより提供されます。 現在利用可能な3Dライブラリは数多く存在しますが、各種の理由からOpenGLが特に優れています。最も重要な特徴は、OpenGLがほとんどすべてのプラットホームおよびグラフィックカードと互換性があることです。これはSDLのアーキテクチャにも反映されており、SDLでは複数のプラットホームでOpenGLコンテキス

  • BD-PG/BD-J(Blu-ray Java)プログラミング

    PS3で自作ゲームを作ろう♪ ※FW2.50でBD-Jが起動しなくなりました。 バージョンアップしてしまったので更新は停止ですorz Update history ・2008/10/09 四川省 Ver0.0.2 ・2008/10/06 四川省 Ver0.0.1 ・2008/10/03 エネルギーボール Ver0.0.1 ・2008/10/02 南京 Ver0.0.1 ・2008/09/30 解くぜ!!100マス!! Ver0.0.1

  • 1