タグ

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

  • 関連タグはありません

タグの絞り込みを解除

algorithmとgameに関するnilabのブックマーク (5)

  • シムシティーの仕組み

    シムシティーを作り始めていちばん最初に考えたのは、街を一種の生き物のように表現できないかってことだった。 僕が街についてどう考えているかはすでに説明したけど、大事なのは街を構成する建物とか道路じゃなくって、そこでどんな活動が行なわれているかってことだと思うんだ。道路を車が走り、電車が動き、人々が動き回り、常に要素が変化し続ける“動きのある”システム。街を表現する方法っていうと誰でも地図を思い浮かべると思うけど、僕は動きがない地図じゃなくって、たとえば飛行機から眺めた街、動きのある世界をディスプレイに表現しようって考えた。それこそが僕の考える街の姿だからね。 それともう一つ考えたことは、プレイヤーに伝える情報をできるだけわかりやすく、それも“面白い”って思えるような形で表現しようってことだった。シミュレーション・ソフトっていうとたいてい数値や図表がたくさん出てくるけれど、数字が並んでいるのを

    nilab
    nilab 2009/04/20
    シムシティーの仕組み:「ウィル・ライトが明かすシムシティーのすべて」特別の数値だけを別計算させて、エディット・ウィンドウに要素を置いてから影響が出るまでにある程度の時間的ズレを生じさせよう:多層構造
  • 七並べの攻略方法(アルゴリズム)を考える / Fantan dominno

    七並べ(しちならべ、七ならべとも書く)は古典的なトランプゲームの一種。 ババを使ったりの変種も多い。 最近はオンラインで無料で遊べるサービスも多い。 ここでは、七並べ for Palmに対抗するアルゴリズムを考えてみる。意外に奥が深い (人間が「遊べる」ゲームだから奥が深いのは当り前か)。 参考になりそうなサイト 七並べ や 7並べ や Fantan domino (英語名) で探してみたが、 具体的なアルゴリズムに触れたサイトは無かった。 7並べ(FANTAN DOMINO) (JavaScriptで遊ぶカードゲーム#4)のページによると「アルゴリズムを調べていて、基ルールだけでは手札が配られた時点で既に決着が付いていることが分かりました。」と書かれているが、具体的なアルゴリズムが書かれていないので検証できない。 (このページ、移転していて、この文章があったページが見つかりません...

    nilab
    nilab 2009/03/03
    七並べの攻略方法(アルゴリズム)を考える / Fantan dominno
  • マリオのジャンプ実装法とVerlet積分(実践編) - Gemmaの日記

    前回の続き 実際にやってみました。(Canvas要素を使っているのでFirefoxでどうぞ) http://eva-lu-ator.net/~gemma/geocities/jsmario/jsmario.html マリオのようにジャンプで放物線運動をするゲームを作るとき、 たいていは、座標と速度を使って物理計算すると思います。これはEuler法といいます。 Verlet法では、座標と、前回の座標を使って計算します。つまり、速度を記憶しません。 Verlet法では、座標だけ扱えばすむので、壁にめりこんじゃいけないといった条件を簡単に書くことができます。 単に座標を、壁の直前にするだけでいいです。 ネタ元はCowboy Programming >> Blob Physicsです。 今回のコードの肝は以下の部分です。衝突判定がすっきり書けました。 //Verlet法 var y_temp =

    nilab
    nilab 2009/02/20
    マリオのジャンプ実装法とVerlet積分(実践編) - Gemmaの日記
  • マリオのジャンプ実装法とVerlet積分 - Gemmaの日記

    (追記)JavaScriptで実装してみました 昔、何かの雑誌*1でマリオのジャンプの実装法を見た覚えがあって、あの放物線運動は、 マリオの速度ベクトルを保存しておいて座標を計算するんじゃなくて、 マリオの前回の座標を保存しておいて座標を計算しているんだそうです。 y_temp = Mario.y; Mario.y += (Mario.y - Mario.y_prev) + F; Mario.y_prev = y_temp;Fはその瞬間の力で、ジャンプの瞬間はF=10にして、空中ではF=-1にします。 するとこんな放物線になります。 [0,10,19, 27, 34, 40, 45, 49, 52, 54, 55, 55, 54, 52, 49, 45, 40, 34, 27, 19, 10, 0] 加減算しか使わないので、非常に高速にできたと。 これがVerlet積分に似ているなと思った

    マリオのジャンプ実装法とVerlet積分 - Gemmaの日記
    nilab
    nilab 2009/02/20
    マリオのジャンプ実装法とVerlet積分 - Gemmaの日記 : マリオの速度ベクトルを保存しておいて座標を計算するんじゃなくて、 マリオの前回の座標を保存しておいて座標を計算しているんだそうです。
  • ゲーマーでなくても仕組みぐらいは知っておきたいアルゴリズムx40

    高校生の時、数学の先生がこう言いました。 ゲームなんて、開発者が作ったルールの上で遊ばれるだけだ。 と。 その時、ゲーマーな自分はこう思いました。 ゲーマーは、開発者が作ったルールの上で遊ばれたい。 と。 というわけで、普段何気なくプレイしているゲームには、どのようなルール(アルゴリズム)があるのか。それを知るために、いろいろなゲームのアルゴリズムなどを解析しているページへのリンク集を作りました。 ほとんどのゲームのアルゴリズムは正式に発表されていないので、ユーザーの手による逆解析だったり、大学の研究による真面目な考察だったりします。(リンク先には、一部アルゴリズムと呼べないものも含まれています) 各種ゲームのプログラム解析 ドラクエ、FF、ロマサガのプログラム解析 DQ調査報告書(リンク切れ) ドラクエの物理ダメージ計算式は質的にどれも同じだが、細かい部分で微妙に違う RPG INST

    ゲーマーでなくても仕組みぐらいは知っておきたいアルゴリズムx40
    nilab
    nilab 2007/11/27
    ゲーマーでなくても仕組みぐらいは知っておきたいアルゴリズムx40
  • 1