ゲーム

コンプガチャと銀のエンゼル

複数種類のカードを集める(コンプガチャ)のと、同じカードを複数集める(銀のエンゼル)のはどっちが大変なの? ということを確めてみる。 どちらも公平に、1種類あたり100枚に1枚の確率で引けるとしよう。必要な枚数(種類)を変えて、それぞれ何枚引けば揃えら…

区間木が衝突判定に使えそうか知りたかった。

アクションにしろシューティングにしろ、衝突判定のコストを押さえることは重要である。 格子分割、四分木のような手法があるが、他に使えそうなものはないか。 と思い、 区間木を調べてみた。 wikiを良く読むと、計算量は、検索には1件あたりO(log n)かかる…

Spelunkyを300回クリアした記念

100回、200回に続き300回である。死亡率はさらに半分弱に。3回連続でクリアできるようになったり、大分慣れてきたように感じる。スピードランもタイムを縮めることができた。 慌てなければ勝率4割くらいになったと思うが、それだけではマンネリなので、大グ…

Spelunkyを200回クリアした記念

あれから約3ヶ月。ついに200回クリアした。 大分慣れてきて、死亡率は半分以下になった。まだ死にまくっているが。 100回クリアした後から黄金都市を狙うようにした。慣れてくると、普通に攻略するより、黄金都市を通るルートの方が生存率が高くなるように…

Spelunkyを100回クリアした記念

Spelunky(日本語wiki)は 鞭とロープとローソク爆弾で武装した無謀なおっさんがカーリー神殿を強襲するアクションゲームである。 このゲームを今年の1月から始めて、先日100回クリアした。記念として、感想を書いておく。 Spelunkyはアクションゲームとしては…

戦闘モジュール3

忙しいのですごく簡単なスクリプトを書いてみる。行動順、回避、技などを考えなければ非常に楽である。 同じようなのを作ったのは2年以上前になるのか・・・月日が経つのは早い。 ゾークとローグのあいのこみたいなのを作りたいのだが、まずはこのくらい単純…

戦闘モジュール2

(let ((tb (make-hash-table :size 7)) (t-t (list '(0 0) '(0 1) '(0 2))) (lim 100) (cur 0) (pl (list 0 1 2)) ms act (name 0)(tgh 1)(n 2)(x 3)(dur 4)(spd 5)(win 6)(lose 7)) (make-random-state) (setf (gethash 0 tb) (list "John" 20 1 18 1 3 "I'…

戦闘モジュール

(let* ((es (make-hash-table :size 11 :test 'equal)) (p1 "p1") (p2 "p2") (p3 "p3") (turn 0) (s "turn over....") (pl (list p1 p2 p3)) (bn "*simu*") (svvp (lambda (x) (<= (gethash x es) 0)))) (setf (gethash p1 es) 20) (setf (gethash p2 es) 22…

インタプリタとテキストアドベンチャー

テキストアドベンチャーでは、コンソールにキーワードを入力して物語を進める。宣言型アドベンチャーとか。 - 象徴ヶ淵ではファイル入力も受け付ける。シナリオはもちろん、スクリプトファイルを読み込む。とすると、これはインタプリタと全く同じである*1。…

宣言型アドベンチャーとか。

10月頃、ローグライクがやりたくてelonaをやってみた。それで嵌ってしまって日記も書かなかったくらいなのだが、まあ基本的には作業ゲームである。依頼を受けて、お金を稼いで武器や家具を買って。ときにはネフィア(遺跡)に潜ったり。一通りやって、効率化し…