2009年2月23日月曜日

壁(3)



 普段ロープレとか壁があるゲームやらないから知らなかったけど、
壁の角に引っかからないようにするのが普通らしい。

2009年2月22日日曜日

壁(2)


 つないだ。
つながりパターンを全部紙に出してみて、
効率の良い方法がないか模索してみた結果、以下のような配置になった。



 結局力押しな感じに。

2009年2月21日土曜日



 シレンやトルネコみたく、
壁を上下左右つながったグラフィックにしてみようと試してみたが、
ぜんぜんうまくいかなかった。
結構手を抜いてるように見えて、すげえ枚数いるぞあれ!

 具体的に何枚いるのかざっと計算すると、壁のみで47パターン。
床も合わせるとさらに増える。
水辺とか階段とかトラップとか考えると100枚超えるんじゃないか。
いったいどこにそんなグラフィックを格納するメモリがあるのか不思議でならない。





 あれこれ考慮したマップチップを作って適当に並べてみた。
ってかRPGツクールGBかなんかで壁チップ見習えば早かったんだ。
なんでわざわざ紙面上で全パターン考えたりしたんだろう。
馬鹿じょん。時間の無駄じょん。
 膳は急げとGBC起動してみたが、
ツクールGBはマップチップ編集がそもそもなかった。参考にならない。


 字を書くためにわざわざペンタブ引っ張り出したよ。
すっごいひさしぶりにペンタブさわった。




 全チップを適当につめたもの。
プログラミングすることをぜんぜん考えてなかったが、
たぶん効率のいい置き方があると思われる。
ツクールシリーズはマップチップを手動で置くので乱雑におかれてるはずだけど、
シレンとかトルネコとかの不思議のダンジョンシリーズだと
マップが自動生成なのでうまい具合にチップを配置してるんじゃないかな?
パクリたい。

2009年2月14日土曜日

日記ちゃん


 ミニマップの表示とoggのストリーミング再生に対応してBGMを鳴らせるように。
テクスチャレンダーもZ使わなければ軽い?
ってか去年試したときは重くて仕方なかったけど、なんだったんだ。
 ミニマップのアルゴリズムがバグっててうまく動かない。
計算式が思いつかないまま、半日ほど行き詰った。
あと表示が邪魔。どうしよ。

2009年2月13日金曜日

効果音をoggに

http://cid-8cd7cf5ea9fbca55.skydrive.live.com/self.aspx/Public/program/test090213.zip
0.7MB

 効果音をwavからoggにしたよ。
oggのライブラリ分exeのサイズが200KB増えたけど、
wavファイルをoggにした分で、音データ量が1.38MBから0.15MBに減少したから、
全体的には小さくなったのかな?
 読み込みに時間がかかってるはずだけど、今のところは一瞬だなあ。
ファイル数少ないし、まあそんなもんか。
 ストリーミングも実装しなきゃで、テスト段階ではとりあえず動いてるんだけど、
Thread周りの終了処理が怪しいからなあ。怖いなあ。


 あれこれ調べたり実装したりで10時間プログラミング。
ゆうちゃんはやればできる子だって、母上も言ってた!

2009年2月12日木曜日

236号

http://cid-8cd7cf5ea9fbca55.skydrive.live.com/self.aspx/Public/music/no%20name236.ogg
236号

 風邪で寝込んでる間に作った曲。これといったテーマはない。
ピストンコラージュ付属のptNoizeでClap音を作ろうとあれこれ弄繰り回したけど、
Snareみたいな音にしかならんかったよ。
とりあえずそれ使ってぽいぽい。微妙にテンションが高くて疲れる曲が出来上がった。

ツール: ピストンコラージュ v0.9.1.3
音源: デフォルト+α
製作時間: 3時間ぐらい

2009年2月9日月曜日

ogg -> wav

Ogg Vorbis入門編http://marupeke296.com/OGG_main.html

 ココのサイトさんを参考にしてたんだけど、「その2」ですでにつまってたのが昨日。
PlaySoundでならないけどなんでだろ?
めんどくせぇ、いったんファイルに吐き出してみて、
他のツールでwavに変換したファイルと比較してみよう!

で、原因が分かった修正したら無事音が鳴るようになった。

memcpy( fmt, "fmt ", 4 );

memcpy( fmt, "fmt", 4 );
と書いてたのが問題だった。
バイナリでは0x20でないといけないのに0x00になってたのが原因。
なんというか、まあ。
馬鹿じょん。

2009年2月8日日曜日

お店


最近行った実装:
・ショップ的なもの。
 買うとなくなる仕様にしたら、操作がやや不鮮明に。お値段ランダム。
・カスリ
 演出だけ。
・ワイドショット、テールガン、ロングショット
 ショップの品数を増やすために無理矢理。
・フォースフィールド
 3回ダメージ回避のアレ。ショップで購入可能。
・レベルアップ
 ようやく。
そんな感じ。
oggのストリーミング再生を実装しようとして詰まってる。
ファイル読んでwaveに変換してWinAPIでPlaySoundするも音ならない。
エラーも出てないから何が悪いのかよくわからん。waveデータがおかしいんだと思うが。

2009年2月7日土曜日

233号

233号
http://cid-8cd7cf5ea9fbca55.skydrive.live.com/self.aspx/Public/music/no%20name233%7C_2.ogg
1.1 MB

DC#BAが使いたかっただけ。
冬っぽい。

random

良い乱数・悪い乱数
http://www001.upp.so-net.ne.jp/isaku/rand.html


static long x=1;
void srand(long s) { x=s; }
long rand() { x=x*1103515245+12345; return x&2147483647; }

 シンプルすぎて惚れる。

 まあそれはともかく
どうもマップ生成に再現性がなくて困っている。これではリプレイが実装できない。
 いままでMersenne Twister を使ってたんだけど、
コピペで使ってはいるが、実は使い方を間違ってるんじゃ? と思って検索をかけた。
 SFMT ってMTの弟が出来てた事が分かったが、
盛大にスルーして最初に書いたサイトさんにあったXorShift を試してみることにした。



unsigned long xor128(){
static unsigned long x=123456789,y=362436069,z=521288629,w=88675123;
unsigned long t;
t=(x^(x<<11));x=y;y=z;z=w; w="(w^(w">>19))^(t^(t>>8)) );
}

 それなりに高速でそれなりに実用的とのこと。

 ランダム生成部分を書き換えて実行してみたところ、
やはりマップ生成に再現性はなかった。
 分かったことはランダムの使い方は間違ってなかった。
自分のプログラムが糞だった、という当然の結論だった。

 必要最小限のプログラムをためしてみると問題なく同じマップが生成されるので、
どこかで何かがrand()を呼び出してるんだとは思うが、どこかわからん。

リプレイ? もう知らん。

 

2009年2月6日金曜日

ピストンコラージュあれこれ

ピストンコラージュ Part2スレより引用


42 :名無しサンプリング@48kHz:2007/06/03(日) 19:16:43 ID:Zw2KVKlO
KEY PORTAの使い方がよく分からん

43 :41:2007/06/03(日) 21:57:54 ID:01JkLZwz
KEY PORTAは音を滑らかにうねうねさせる感じが直感的に

KEY CORRECTは音の高さを微妙に 数Hz下げたり上げたりするためのものなの?

KEY CORRECTで検索してみるんだけど 一向にそれっぽいのがヒットしない。

あと、1行だけのわけの分からない質問してごめん。

44 :名無しサンプリング@48kHz:2007/06/03(日) 22:18:05 ID:u3LrGDzJ
2つ同じユニット作って、
KEY CORRECTで微妙に音程をずらして再生するとちょっとうれしい効果


 自分にもよくわからなかったので試してみたが、
keyCorrectを2にすると元の音より1オクターブ高い音が流れた。
1オクターブ12音なので、1/12ずつ変化させればきりの良い音が出るかと思ったけど、
そう単純ではないようだ。




635 :名無しサンプリング@48kHz:2008/03/31(月) 09:10:19 ID:lORjQiJx
質問。
キーを変えるとテンポも変わってしまうんだが、
これってどうにもならない?

636 :名無しサンプリング@48kHz:2008/03/31(月) 13:17:18 ID:Bfjt6hIs
>>635 音源そのものを工夫するしかないような気がする。
ビデオとかで早送りとかスロー再生とかすると
音が高くなったり低くなったりするあれと同じ原理だから(多分)。


891 :名無しサンプリング@48kHz:2008/09/02(火) 20:44:41 ID:TTQvfZVD
音声を適当に切り取ってwavで保存して突っ込んだら
音符を伸ばしても音が伸びません!どうしたらいいでしょう?

892 :名無しサンプリング@48kHz:2008/09/02(火) 20:47:40 ID:IXtBZo9/
wavの長さが足りないんじゃない?
高い音符を置く時はそれなりに長くないと途中で切れるよ。


 気にしたら負けだと思ってあきらめてる。
特に困ったことはないけど、Stringsとか高い音で鳴らすと途中で途切れちゃったり。





974 :名無しサンプリング@48kHz:2008/11/13(木) 21:46:54 ID:iBcHp8Yu
PAN(TIME)・・・演奏者の立ち位置を決める

って認識でいいのでしょうか?

975 :名無しサンプリング@48kHz:2008/11/13(木) 21:54:15 ID:eZJCeqGi
>>974 と言うかボリュームもタイムも、どっちのPANもそう。ずらせば、ずらした方向から音が鳴る。
とりあえずオーケストラ楽曲でステージの配置どおりに曲を演奏させるのでなければ、メインメロディが真ん中になるな。

ボリュームパンは、右と左の音量に差をつけることで、立ち位置を感じさせる。
タイムパンは、右と左の鳴るタイミングを微妙にずらすことで、立ち位置を感じさせる。


  この機能がよくわからなくて調べてたんだ。スレはもう死んじゃってるしメモがてら保存。