正直日記



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郡)でどーかと思った。まぁ症状がもの凄かったのでびっ
くりしたんだと思う。顔付近ってゆうか耳だったのでおっきくなっちゃったんだ
と思う。

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

2008/07/26

_ この操作法ってどうなのよ?
http://www.team-dsx.com/main.html
(リンク先18禁注意)

絵を右に配置すると、ペンが被さって邪魔じゃないか?それにUIや視線移動を考
えると、絵は左に置いて、右の画面で操作するのが普通のように思うけど。図中
では左手でペンを持って操作しているようだが、左利きの人は少ないような……

と、ここまで書いたところでゲームのジャンルを思い出し、なぜ左手でペンを持
つのか考えるに至ってようやく、すべての謎が解けてしまった。この UI はよく
練られてる気がする!あくまで気がしただけ!
_ STG NEWSとか(6) デザイン編
なんだかゴチャゴチャして見づらい気がしてきた……。とはいえ、多少見づらい
程度なら人の方で慣れてしまうものだから、うかつに変えない方が良いような気
もして如何ともしがたい所ではある。

今見づらいと感じているのはこの部分。

[アイコン]サブカテゴリ ☆ 見出しがずら〜〜〜〜っと
サブカテゴリの文字列が、「見出し」をジャマしてるように思うのだ。 位置を変えてみる。
見出しがずら〜〜〜〜っと [アイコン]サブカテゴリ
こうすると「見出し」を読む分には邪魔にならないように思う。しかし視線移動 を考えると、見出しを読む前にサブカテゴリを目に入れておきたいと思うので、 この配置だとサブカテゴリを設ける意味が少なくなってしまう。 どうしたもんかしらね。 -- あのサイトを作ったのは自分のソフトの宣伝場所を設けるつもりもあったんだけ ど、なかなか手をつけられなくて、一向に宣伝できる気がしないよ。ううぅ。
_ 続・体中の皮膚炎
http://shinh.skr.jp/m/?date=20080722#p03

僕とか冬からずっとなのでもう半年か。明らかにアレルギー反応なんだけど原因
が思い当たりすぎて逆にハッキリしないのが困りものだったり。3の倍数と3の
つく数字のときだけかゆくなります!みたいな分かりやすい原因ならいいのにね。
まぁかゆみは耐えられるのでどうでもいいんだけど、汁が困るんだよなー。服を
汚すから。

ちょっと酷いので一念発起して部屋を掃除しまくりーの、ダニアースを畳に打ち
込みまくりーの、アレルクリンを散布しまくりーのしてみた。ついでに竹シーツ
も押入れから出してきてヒンヤリ爽やかクールな寝心地を演出しつつダニの死骸
から肌をガードしてみたり。あと怪しげな壷も飾ってみたので来週には治る予定
なので素晴らしい。みなさん壷を買いましょう。


<-- 未来へ 最新 過去へ -->
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