正直日記



2008/08/27

_ STG NEWSとか(7) スパム対策編
カウンタが +16 まで回っていたので少なくとも16人は見ていたと思うんだけど、
ついにスパム投稿がされてしまった。

今までは下記のリストに挙げた内容をチェックして、スパムと思われるものを弾
いていたんだけど、このチェックを素通りするようなものが来てしまったのだ。

・URLが正規のものか ・コメント欄にURLが5つ以上含まれていないか ・コメント欄に [/url] </a> の文字列が含まれていないか ・コメントの行数が長すぎないか
ちなみにアクセスログを POST メソッドに絞って見てみると、このチェックだけ でも、1日に10件くらいのスパムを拒否できているようだ。(ピンクで塗られた 部分がスパム投稿) あとやるとしたら「見出し」の ^[a-zA-Z0-9!_]+$ チェックくらいか。それと、 ベイジアンフィルタもかなぁ。しかしスパムを特徴で区別するのはイタチごっこ になるし限界っぽい気もする。 うーん、投稿者の IP アドレスを DNSBL に掛けてみたら見事に NG だったので、 DNSBL を通すかな。
_ 永久パターンには気をつけるべし
the2bearsで紹介されていたVinculumという誘爆STGをやってみた。

が……
カスリ点が入るのと、最後の敵が画面外に逃げないのとで、永久パターンが作れ
てしまった。スコアを強く意識したゲームで永パになってしまうのは致命的だと
思う。


全然関係ない、どうでもいい話になるけど、シューティングのスコア至上主義は
どうにかならんのかとたまに思う。プレイヤーだけの話ではなくて、作る側が、
稼ぐことを優先したゲームシステムに傾倒しがちな現状というか、連鎖しなくて
もゲームはクリアできるけど連鎖すると点数が高くなる、でも別に攻略が楽にな
るわけではない、みたいなゲームとか実はシステム的に失敗してるんじゃないの
とか、全くショットを撃たずにクリアしてしまったプレイヤーにドットイーター
という称号を与えてしまう斑鳩は業が深いなぁとか、どうでもいい話の割に長々
と書いてきましたが(僕にとって5行以上は全て長文です!)ここまで読んだ人
は「じゃぁ、お前はスコアを全く排除しつつ稼ぎ並みの攻略要素を備えたシステ
ムのアイデアあんのかよ?」と思われるかもしれません、が、そんなものは全く
無い!と、胸を張って宣言する次第であります。

2008/08/24

_ 死蔵しているコマンド
「死蔵」っつーくらいだから、死んでる数も出さんと。

$ ls `echo $PATH | sed 's/:/ /g'` | wc 2049 2042 21683 $ history | awk '{print $2}' | sort | uniq | wc 59 59 389
2000くらい死んでるのかしら。 まあ、シェルスクリプトから呼ばれるコマンド(群)とかあるから正確じゃないけど。
_ 録画しときゃよかった
五輪閉会式の花火がHDRIが異常すぎる。

HDRと言えば、なぜWikipediaのHDR合成解説ページの参考写真は柏駅ですか?

プププー、日本初のペデストリアンデッキですYO!

2008/08/22

_ PCM はどこまで縛ればいいのか
レトロ仮想音源縛りの話。

個人的には FM だけじゃなく、1tr. でもいいから PCM を使いたいという感じで
すが。欲を言えば、タム・ギター・パッド・効果音で合わせて 4tr. は欲しい。
ターゲットとなる仮想ハードを何にするか、で決まってしまうかな。

パソコン系
X68000FM8 + PCM1
PC98FM6 + SSG3 + RHYTHM6 + PCM1
TOWNSFM6 + PCM8
※ X68000 は音程縛りがあって、TOWNS は容量縛りがある。 ゲーム系
カプコンCPS1FM8 + PCM4
ジャレコMEGA SYSTEM1FM8 + PCM4+4
コナミTWIN16FM8 + PCM2+1
コナミ出たツイFM8 + PCM4
ナムコSYSTEM2FM8 + PCM24
セガ体感ものFM8 + PCM16
セガSYSTEM16BFM8 + PCM1
セガSYSTEM32FM12 + PCM8
セガメガドライブFM5 + PSG3 + PCM1
思いつくままに挙げてみるとこんな感じか。 実際には効果音用に何音か予約しておくので(例えばMEGA SYSTEM1のPLUS ALPHA なら4音予約)搭載してるだけ音楽に回せるわけではない、みたいな縛りも必要 になる気がする。
_ なんでも揃っているわけではなかったのか
そして、今やなんでも揃っているサウンドエミュレーターですら 再現されていない超レア音源「YM-3438版」... 梅本竜RARE TRACKS Vol.3 『XENON “THE ORIGIN”』
そういえば確かに、PMDFM に対応した Windows 用プレーヤって無いんだな。 基本的には PMDWin の FM を YM2612 に差し替えて、PPZ8 を RF5C68 仕様に変 更するだけなのだが、以前対応しようと試みたものの、PMD98 との辻褄を合わせ るのが面倒で投げ出した記憶がある。今から思えば、専用プレーヤにしてしまえ ばいいというだけの話だった。 いまさら誰かが対応しようと考えるとは思えないから、やるとしたら僕の仕事に なるのかなぁ。

2008/08/17

_ なぜ vgm 形式はサンプリング周波数依存なのか
メガドラの PCM が CPU 依存(実際には FM タイマを読んでウェイト調整する)
なので gym 形式のようにフレーム依存にするとマズイ、という事実にようやく
気づいたよ。
_ 俺の「うらぼん会」が終了
と書くと、どこぞのイベントに行ってきたかのような印象を与えると思いますが、
盂蘭盆会と書いて「うらぼんえ」と読みます。要するにお盆ですね!

2008/08/04

_ 16bitトラウマ世代
ちくしょう今時フルFM音源の仕事とか裏山過ぎるだろ。と思う32bit世代の音屋
はどれだけいるんだろうか。かくいうぼくも、気がつけばゲーム機がPCM一色に
なってしまっていた世代ですが。

……ちょっと改変してみるか。

ちくしょう今時フルMC68000(と見せかけてZ80もオマケでついてるよ!)の仕事
とか羨ましすぎるだろ。と思う64bit級世代のプログラマはどれだけいるんだろ
うか。かくいう(以下略)

まぁ「今敢えてそれをやる」チャンスを掴む運もあるとして、あと大事なのは、
実績をちゃんと残すってことなんだろうな……。
_ ピッグタイピング
pig typing というのはどうか。
この用語の名前は「ピッグ・テスト」に由来する。

The pig which does not fly is just a pig.
(飛行しない豚は、まさしく豚である。) -- gcc拡張のweak属性が使えないかなと思った。
#include <iostream> class pig { public: __attribute__ ((weak)) virtual void fly() const = 0; }; class just_only_a_pig : public pig { public: }; class porco : public pig { public: void fly() const { std::cout << "I'm just not a pig." << std::endl; } }; template <typename Piggy> void fly(const Piggy& piggy) { if (&Piggy::fly) piggy.fly(); } int main(void) { just_only_a_pig pig1; porco pig2; fly(pig1); fly(pig2); }
pig.cpp: In function 'int main()': pig.cpp:29: error: cannot declare variable 'pig1' to be of abstract type 'just_only_a_pig' pig.cpp:10: note: because the following virtual functions are pure within 'just_only_a_pig': pig.cpp:6: note: virtual void pig::fly() const
見事に目論見失敗! ていうか肝心なことを見落としていたんだけど、スタート地点が「純粋仮想関数 の実装めんどくせ」なので、そもそも仮想関数を純粋にしなければ全て解決する んじゃないか。俺はアホか。どこまで与太なんだこの日記は。

2008/08/03

_ 俺に必要なのはダックタイpングだったのか?
C++の(純粋)仮想関数は、前もって宣言しておいてしかも継承しなきゃならない
のが面倒くさいと思っていたけど、だkkタイピングという考え方を知って目の
前が開けたような気がした……ものの、virtual void run() = 0;とかdraw() = 0;
とかあったとして、中身が実装されてなかったら無視するみたいな機構が欲しい
と思うのはダックtイピングとは別の概念のような気がしてきた。おまけにそん
な機構があったら、俺なら一晩で100のバグを造る気もする。
_ 最近眠すぎて死んでたのは副作用だったのかしら
http://shinh.skr.jp/m/?date=20080731#p02

ぼくはふつうにダイアキュートっぽい名前の軟膏を貰いましたが、調べたら最強
のステ(Strongest I郡)だったので異常。顔付近に塗ったったらアウトだったん
じゃないか。んで顔付近用にはリポビタンAっぽい名前のステを貰って、これも
割りと強め(strong III郡)でどーかと思った。まぁ症状がもの凄かったのでびっ
くりしたんだと思う。顔付近ってゆうか耳だったのでおっきくなっちゃったんだ
と思う。

あやしー水もらえなかったのはくやしーので、これからは水道水を積極的に摂取
しようと思った。

最新
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