日記(981)

<前 次>

プレーステイションスリー

実験レポート書いてます。
メモちらし使ってます。
腕のバネ定数を可変にしてはみたんですが、やっぱり粒子が多いと腕が伸びきっちゃうんですよね。
それにバネ定数を極端に大きくしちゃうと減速が加速に追いつかず発散してしまうんですよね。
一個の粒子の暴走が全体を破壊しちゃうんです。
そうでなくともバネ定数をある程度大きくすると振動が大きくなりますし。
それと、バネ定数を0にすることで腕の削除も行えるようにしました。
この仕様変更に伴い、バネ定数も記録するようにセーブデータを拡張しましたが、前のデータとの互換性もあるので前のデータがそのまま使えます。

そういえばプレイヤーを捨て置いてとんでもない値段を吹っかけてきたプレステ3、あの高いのが劣化版で、まともな機能を備えたものだととてもいえない値段になるそうですね。
そもそもゲーム機として評価されたくないのならもっときっちりゲーム機離れさせておくべきなのです。
何が嬉しうてビデオの操作をゲーム機のコントローラでせにゃいかんのか。
あのコントローラ、ゲーマーにはなじみがあってもビデオを楽しむ人には正体不明の物体ですから。
いちいちゲームに使える新機能なんて追加しなくてよろし。
フランス語でおしっこを連想させるうぃーのリモコンよりもきっちりしたリモコンらしいリモコンを標準にしたらいいんじゃないのかと思うのですよ。
その上で、劣化版PS3のゲーム機として高すぎる値段より、完全版のBDプレイヤーとしての5桁の値段をアピールすべきだったと思うのですよ。

実際に使い始めて気付いた問題点

メモちらしです。
まず、ちらつくんですよね。
ええ、表示数が多くなるとかなり。
でまた、文字がでかすぎるんですよね。
サンプルから引っ張ってきたコードそのままだから適正な大きさの2倍ほどあります。
んで、そのせいで文字と文字が重なり合って読めなくなります。
そして、一番困ったのが、粒子数を増やすと腕一本の力じゃ抑えきれなくなること。
計算の都合上、反発力を距離に反比例する大きさにしていたのですが、こうすると反発力が遠距離で大きすぎるんですよね。
腕の力と反発力のつりあう距離が粒子を増やすごとにどんどん遠ざかるんですわ。
これを距離の2乗に反比例するようにすれば粒子間の距離の関係で腕の伸びる距離にはある程度限度ができるのですが、現状平方根計算を避けるためあえて1乗に反比例するようにしているんですよね。
まあ、粒子が100個程度ならどんな計算してもマシンパワーでなんとかなっちゃうみたいなのでそれを期待して書き換えるというのもありなんでしょうが。

メモちらし出来上がり

Bomber丸Worldの裏話を更新しました。
このゲームを作るに当って一番大切にしたいこと。「作りたいように作る」
感動の押し付けはまっぴらごめんだ。「死は死だ」
もしかしたら部外者がラスボスになるかも!?「ラスボスってつまりなんだ?」

メモちらしも、昨日書いた4項目もきっちりできて、とりあえず使えるようになりました。
どうにも項目の削除周りの挙動が怪しいのですが、エラー回避のコードを書いただけで全く問題なく動くようになったみたいなので下手にいじらずほっときます。

メモちらし

メモちらし、ついにテキストの編集とか表示ができるようになりました。
想像通りといえば想像通りなんだけど、思ったより期待通りで、なんだか嬉しくなってきます。
残された課題は、
・メモの再編集
・世界の中心
・画面のスクロール
・セーブ・ロード
などなど。

1147012005.png

BGMなのである

Bomber丸WorldのBGM、デンノウセントウできました。
基本パターンだけですけど開発室にバトル3としてアップされています。
ザコ戦音楽のうち、コネコベーダーなど、メカ・電気系の敵に使われる曲で、ピコピコ音のみから成り立っており、ことあるごとにビギューンとかズギューンといった風な効果音が入ったりします。
この効果音の入れ方も既に考え付いており、効果音はBGMのボリューム調整だけで作るつもりです。

そうそう、マザー3、3章まで終了しました。
64版にあった戦闘のテーマ5、ついに出ましたよ。
「オバケのためのエチュード」というタイトルで、オソヘ城の絵画のモンスターで使われていました。
ちなみに曲はそのままではなく、サウンドバトルシステムとの関係なのか、部分的に変化しているところもあるみたいです。

和風風のタクト

大神やってました。
和風風のタクトですな。いろんな意味で。
オープニングからいきなり剣を抜き取るというゼルダの伝説恒例の名シーンで始まり、登場キャラクターの足の短さ、壷を割るとアイテムが出るところ、トゥーンレンダリング、ややうるさい助言などなど、随所に似ている部分があるんですよ。
もちろんゲームとしては全くの別物で、同じところよりかは違うところのほうが圧倒的に多いんですよ。
だから言い換えるならば特別似ているところが探しやすいんです。

そうそう、Bomber丸WorldのBGM作ってます。
今日はザコ戦闘曲を作っているのですが、実はザコ戦の音楽にも数種類あり、しかもそのそれぞれにまた異なるアレンジがあったりします。
今あるザコ戦闘曲は、「わきあいあい」「山の音楽家」「デンノウセントウ」「本当の力」の4通りです。

収束性

物理シミュレーションにより動かすプログラムがちゃんと動くかどうかエクセルで数値を入れて計算したらすぐ発散して何もかもが吹っ飛んでしまうという結果が出ました。
数値計算によるシミュレーションではどうしても離散値しか取れないから、境界をまたいで変化してしまうと境界付近での動きが無視されて現実にはありえない動きを見せるんですよ。
まあ、数値計算の理論と実際に動かした結果もまた違うものなんですけどね。
そもそもエクセルで計算した分には距離がマイナスというケースも計算していたんですが、プログラム上では意味があるのは絶対値だけなので発散はしないその場合だと発散はしないんですよね。
まず、摩擦を入れないと絶対に収束しないのです。
それでまあ、エクセル上でいろんな数値を入れて試した結果、紙面上で求めた理論の式とはやや違う形になり、係数もある程度増えました。
紙面上での計算は理想条件を仮定しているけど実際には理想であるはずがありませんものね。
しかしどうしても残る問題が、収束の遅さです。
こればかりはなかなか式の係数をいじるだけじゃうまくいかなかったんです。
そこで早送りでシミュレーションして見かけ上早くするという手法をとることにしました。

そんなわけでこの部分のプログラムはメモちらしに入れることができました。

そうそう、Distanceメソッドの誤差についてはhttp://d.hatena.ne.jp/mifumi323/20060504で触れておきました。

<前 次>