正直日記



2006/07/25

_ SDLでウインドウモードでタイマ管理でSleepしつつ60fpsって無理だよね?
now = SDL_GetTicks();
while (now - then < ((timerIndex <= 680) ? 16 : 17)) {
  SDL_Delay(0);
  now = SDL_GetTicks();
}
if (++timerIndex > 1000) timerIndex = 0;
then = now;
これで60.0000000000003フレームが期待出来るはず。(一晩中回しっぱなし にしたところ60.86フレ−ムに落ち着いたけど) SDL_Delay(0) は Sleep(0) 相当なので、CPU使用率が 100% になるんだけど SDL_Delay(1) だとfpsが安定しない。つうか別に使用率100%でもいいのか。

2006/07/24

_ 音の無い世界
多少具合は良くなったけどまだ良く聞こえないなあ。20dbくらい減衰してる
感じがする。車に轢かれそうになったよ。あとTVのウザいテロップがありが
たく思えるようになった。

2006/07/23

_ 衝撃波は一つで充分ですよ


こんな衝撃波エフェクトあるじゃん。それをさー



こんな風にいくつも出しちゃうのはもう卒業しようぜ。こんなもんでお茶を
濁されたくは無いんだ。それよか、もっと破片と硝煙を増やしてくれ!

2006/07/22

_ 音の無い世界
俺は既に片耳の聴力が無いのだが、この前(というか現在進行形なんだけど)
聴力がある方の外耳&内耳をヤってしまい一時的に音が全く聴こえない世界
を体験してしまった。これは結構怖いよ。耳鼻科に行くときも後ろから車や
自転車が来ないかどうかヒヤヒヤしたもの。

聾であることを外部に一見で伝達する手段が無いのよな。盲ならサングラス
やステッキといったアイテムがあるだろうけど……首から看板でもぶら下げ
るか?

  __________                  _________________
 (_________ |             |     ____________)
     (´ー`レ             |_____レ)
  ____|____|____        ____|____|____
 | ┌┴──┴┐ |      | ┌┴──┴┐ |
 | │かまいた│ |      | │    │ |
 | │ちの夜の│ |      | │ 美 犯 │ |
 |_│ネタバレ│_|      |_│ 樹 人 │_|
 ○│はやめて│○      ○│ 本 は │○
   │くだちい│          │    │
   └────┘          └────┘
    |        |            |        |
    |___Λ___|            |___Λ___|
     |_|  |_|              |_|  |_|
    ノ |  | ヽ            ノ |  | ヽ
  (___|  |___)        (___|  |___)

看板の代わりにホワイトボードをぶら下げれば、手話の出来ない相手とでも
意思の疎通が出来るので精神的だな。

> ヤンキー魂思い出したっつかリーゼントなのわざとだろ!(;´Д`)  (2006/07/22 11:37:13)
> (´ー`)ニヤニヤ  (2006/07/22 21:46:31)

2006/07/16

_ 俺は馬鹿だなあ
下の続き。
printf("%d fps\n", frames / ((tm2-tm)/60) );
これさあ、ミリ秒で計ってるんだから1000で割らなきゃ駄目じゃん。なんで 60で割ってるの。(言い訳するとGBAで秒を計るときの癖がでた)
printf("%f fps\n", ((double)frames*1000) / (tm2 - tm) );
こう書き直したら余裕で2000fps近く出てたよ。パーソナルコンピュータって すげえな。
_ 怒涛の6人対戦だぜ、おっかさん!
SDLは、えらく簡単にパッドが検出出来るのな。


joytest.zip

それにしてもフレームレートがあまり芳しく無い。パッド一つなら200fps位
は出るんだけど、(上の画面のように6つ繋いで)4*6+66ボタン=90個のスプ
ライトを更新しようとするとせいぜい20fpsしか出んのやわ。640x480x16bpp
だとこんなもんなのかな。んなわけ無いよなあ。

あとpsxpadのみ繋いだとき、何故かSDL_NumJoysticks()が0を返す。
何故だろう。
_ 近況
超連射68Kの裏メニューでTD_SPEEDを0にして、その挙動に愕然としてるとこ
ろだぜ。XSPの仕様上スプライト自体は512まで出せるようにはなってるけど、
弾はそんなに出ることはないと思ってたから。

リプレイを諦めて、空いたメモリにハッシュテーブルを作るか……。当たり
判定を総当りでやるのは非効率すぎるとは思っていたんだ。

2006/07/08

_ BGMはストリーム垂れ流しで決まり!
しかも非圧縮だとさらにいいね。というのは、処理速度の都合で8chも合成
してらんないということがついに判明したのだおめでとう。GBAのDSOUNDは
2チャネルあるので、モノラルBGM+効果音で両方使えば合成が必要なくなり
その分ゲームにCPUパワーを割くことが出来るのである。えっへん。

しかし努力が水泡に帰すのは勿体無いので、サウンドテストだけ切り離した
CHODSP(仮名)でも作ろうかと思う。まあそのうち。

2006/07/06

_ sweet and absurd
http://dod.vgmix.com/past/april06/

VGMixでは月に一度、テーマに沿ったVGMのアレンジをする催しがあり、4月
はアメリカ産のグラフィックアドベンチャーゲームがテーマだったらしい。
曲目を見るとKing's Questや Monkey Island, Legend of Kyrandia…そして
INDIANA JONESと言った懐かしい名前が並んでいる。(ZaK Mckrackenをアレ
ンジする人がいなかったのは残念!)



これらゲームのスクリプトエンジンは有志によってマルチプラットフォーム
に移植されており、例えば……

Sierra なら Sarien
http://sarien.sourceforge.net/

LucasArts なら ScummVM
http://www.scummvm.org/

などがある。また携帯ゲーム機にも移植されているようだ(前者はGBAGI、
後者はScummVM DS)。タッチパネルとグラフィックアドベンチャーは相性が
いいかも分からんね。

2006/07/01

_ 半波整流波を使うべし
10年以上前、俺はFM音源小僧であり、あらゆるゲーム音楽をコピーしては、
音色が再現できずに挫折していた。その中の一つにラグランジュポイントが
ある。

ラグランジュポイントはVRCVIIという拡張チップを搭載しており、その音源
部分はOPLLとほぼ同等の代物だった。

OPLLは音色を構成するためのオペレータが二つしか無いため、オペレータが
四つあるOPN・OPM系の音源と比べてあまり凝った音が作れないのだが、その
弱点をカバーするために半波整流波という波形を選べるようになっていた。

半波整流波を使うことにより独特の倍音を作り出し、少ないオペレータでも
きらびやかな、しかも太い音色を作ることが出来たのだ。


(偶数次の倍音が確認出来る)

しかし、その音を半波整流波の無いOPN で再現しようとしても、どうしても
独特の倍音が再現出来ないのであった。そのときの努力の足跡が下の音源。

 lag024_opn.mp3

そして時は10+n年過ぎて…今、携帯電話が搭載しているFM音源はOPLLを発展
したものとなっており半波整流波が使用できるのである。物持ちの良いこと
に過去に作った演奏データが発掘できたので、MA5音源に移植してみた。

 lag024_ma5.mp3
 SMAF用データ(mmf)

まあ細部は違うのだけど大体再現出来てしまったというか、主要な倍音構成
は多分、殆ど、いや多少は一緒に出来た。なんつーか、その、ガックリとい
うか、OPN で頑張ったのはなんだったの。

最新
2010 | 01 04
2009 | 01 02 03 04 05 06 07 09 10 11 12
2008 | 01 02 03 04 05 06 07 08 09 10 11 12
2007 | 02 03 04 05 06 07 08 10 11 12
2006 | 01 02 03 04 05 06 07 08 09 10 11 12
2005 | 01 02 03 04 05 06 07 08 09 10 11 12