食えるワカメちゃん


日本の漫画・アニメの歴史は戦いたくないというテーマをいかに描いてきたかという歴史といっても過言ではない。(いや言いすぎだけど)
古くはアトムから、ナウシカるろ剣トライガンそしてガンダム00まで。
多くの作品がこのテーマを含有するのは日本という国の特殊事情が大きく影響しているような気がする。
このテーマをメインにする作品は次の2項目を満たす場合が多いからだ。
一つ目は主人公達に強大な「力」があること。そして多くの場合それを行使する義務のある立場にあること。
二つ目は過去、力の間違った使い方をしたこと。それにより力の行使に対して葛藤があること。
これらは日本という国の歴史をいやでも思い起こさせる。
しかしこの解釈は作者の意図とは違うかもしれないことはもちろん言っておかねばならない。


で、作中で、殺す気の敵に対し、いかに自分たちの仲間を守るかということが語られるわけだが。
大多数の作品では、戦うしかないと覚悟して戦っている。
00はさらに過激だ。戦いを無くすために戦いを生み出すなんて。楽しみにして結論を待とう。
トーナメント試合形式にしてしまった幽白って例もある。
倒れた敵の手をとる作品も多くあった。
でも、女の子がダメーーーッって言って敵が引くのは納得いかない。薄っぺらすぎる。
感情的に行動しても何も解決できない。
複雑な問題を感情が解決する場合もあるのだけどね。


ところで、過去に滅び去った文明というシチュエーションが多く出てくるのもこのテーマと関係あるのかもしれない。
ロストテクノロジーという「力」は破棄されるのが大抵の結論だが。
シータの「国が滅びたのに王だけ生き残っているなんて滑稽だわ」というセリフも意味深だよなwww

準児童ポルノ違法化、まずはやるべきことがあるんじゃない?

だいたい言いたいことは他の人に言われちゃったので別な視点の指摘をば。
なぜ、MSとYahooが協賛してるかってところ。
両方ともポータルサイトとして老若男女いろいろな人が訪れる。
その両方ともメインのコンテンツとして検索サイトがある。
そしてそこから普通の検索キーワードで工口サイトに容易に飛べてしまう。
おそらくそのことで抗議が来ているのだろう。


いや、でも、待て。
それはゾーニングの問題と検索エンジンの性能の問題だろう。
このキャンペーンをする前に「検索エンジン避けにご協力ください」って言うほうが先だろう。


とりあえず、俺たちのできることは抗議のメールを書くことだろう。
そして、低性能なフィルタリングの助けをするため分かりやすい排除キーワードを工口絵があるページに混ぜておくべきだろう。
例えば18禁と一言書いておくだけでいい。ただし、工口絵ページ全てでなければ意味がない。
入り口だけに注意を書いておくのも無意味だ。(ディープリンクの議論はあちこちでされているので繰り返さない。)
俺たちは見たくない人にまで届けたいわけではない。
住み分けができるならそれに越したことはない。


参考:普通の検索キーワードの例
http://guideline.livedoor.biz/archives/50771023.html

私的手書きMADメモ

部屋の片づけをしているとつい漫画を読みふけったりしませんか?
このエントリはそんな罠によりまとめられたものです(謎)。

1988/06/19 電通大? 「極上ロボアジオージャ」@アニ研連15
1991/01/26 秋田大 「農耕士コンバイン」@えび天(発表されたのはもっと前のはず)
1993/12/23 50feet's 「サイボーグ00ムーン」@アニ研連26
1994/12/18 50feet's 「サザエトレック」@アニ研連28


黎明期
自主制作アニメの一つのネタとして手書きMADは生まれた。
最古のものは私の知っている限り「極上ロボアジオージャ」か「農耕士コンバイン」。
もっと古い作品があるかもしれない。
ともかく以後少しずつ作品が作られる。


1996/12/15 東京大 パステリオン大戦」@アニ研連32
1997/12/24 や団 GGG退官ビデオ」@アニ研連34
1997/12/24 東工大 「アリモン」@アニ研連34
1998/08/1? や団 「すごいよ!! マルチさん」@C54
1998/12/20 や団 「Y-ヤマト」@アニ研連36
1998/12/2? 「彼女の事情」@C55
1999/06/20 東大 「碇ごっつ」@アニ研連37


第2期
パソコンと編集ソフトの普及により少し敷居が下がりアニメが作りやすくなる。
ブームとなったのは「GGG退官ビデオ」でコミケのほかメッセサンオーなどの同人ショップで売られる。
また、同人ソフトにオープニングムービーが付くという形で影響する。


2001/12/24 wosa 「うる★8つら」(以降「キ8ンディー キ8ンディー」「ドラゴソボール8」など)
2002/03/22 ??? 「ゾ1ド」
200?/??/?? ??? あずまんが大王(カウボーイビバップで)」
2003/02/26 512kb 2ちゃんねる大王」
2003/07/20? 黄泉ー 「8ットデタマン」
2003/08/17 春風亭工房 「埋葬機関ツキヒメ CEIL」
2003/0?/?? 前スレ432 「ナースエンジェルモモちゃんマジカルて」
2003/12/14 のみ 「ジャングルはいつもハチのちグゥ」(以降「電脳海賊 8トの大冒険」「2人はパリキュア」「ふしぎ星の8つご姫」「エスパーのみ」「ぱにぽにで100万Hit記念」「ア2マル横町」など)
2005/09/27? ぷりんせす☆ぷろじぇくと マリみてSEEDオープニング」(以降「MSKanonオープニング」など)
2005/10/10 茶々丸 空耳ケーキ よつばと!Remix」(以降「ぱにぽによつばと!」Remix」など)
2005/10/28 壱円壱拾参銭 「フェイト大王」(以降「ひぐぽに」「アインツベルン式友情物語」「夏コミの作品」など)
2005/10/?? 桂川ままま 「新学期アヴェマリアン
2006/02/01 ふりむけば電波 「真オヤシロボ」
2006/02/?? さみ 「[ブロ+ホロ]-Blood/hollow ataraxia-」(以降「武装錬金OP風Fate/stay night」など)
2006/05/?? クマ吉 涼宮ハルヒの憂鬱ED 陰からマモル!バージョン」(以降「ちょこッとBANANA」「ひだまりBANANA」など)
2006/06/09? ZAPPY 「プリンセスメイデン」(以降「ろーぜんっ!」「プリンセスメイデントロイメント」「クックローゼン音頭」など)


第3期
FLASHアニメが流行る。このネタの一形態として2chのキャラを動かした手書きMADが作られる。
ブームとなったのはネタの秀逸さももちろんながらFLASHというWebで閲覧しやすく転載しやすいフォーマットだったのも一因か。


2006/06/03? RSF カラテカユカイ」
2006/06/07? ??? 「ピカピカユカイ」
2006/09/29 nasuyo 妖々夢ユカイ」
以下略


第4期
ハルヒらき☆すたのopの踊ってみたネタの一形態としてキャラを動かしたものがうける。
以降、FlashYouTube上、ニコニコ動画上などで多数の作品が作られる。なお、手書きMADという名称はニコニコ動画でのタグ付けで生まれたらしい。
ニコニコ動画上では私が把握してるだけで約800、腐向けのものは検索避けがされていたりマイリスト登録が禁止されているものも多く恐らく、この倍以上の作品があるものと思われる。
絵として使われる作品はお/お/ぶ/り(95)、テ/ニ/プ/リ(53)、電/王(53)、遊/戯/王(53)、リ/ボ/ー/ン(44)、ハルヒ(30)、ひぐらし(28)、Vocaloid(24)、地/球/へ(23)、ジョジョ(22)、ネ/ウ/ロ(21)、アイマス(20)、モ/ノ/ノ/怪(19)、戦/国/バ/サ/ラ(19)、東方シリーズ(19)、銀/魂(18)などがある。(カッコ内は把握数)
動きの元となる動画はハルヒed、らき☆すたop、ひぐらしop、絶望先生op、「お嫁さんにしなさい」などが多い。
また、一度優れた作品が登場するとその動画元を使った他作品の動画が作られることが多い。(例:上に挙げたものの他、ウテナop、ローゼンed、Blood+ed、ベルバラopなど)



注:
敬称略。
うる覚え+適当で書いているので過度な期待は禁物です。抜けてたり間違ってても勘弁。
詳しい公開日の分からないものはニュースサイト捕捉日になってます。

安値ミクのテーマ(同ネタ多数)

価格の限界を超えて私は来たんだよ
ポイントついてないけど出来れば欲しいな
あのね、早くカートに入れてよ
どうしたの?パッケージずっと見つめてる 君のこと
激安にしてあげる 値札はまだ、頑張るから
激安にしてあげる だからちょっと覚悟をしててよね
激安にしてやんよ 在庫までね、頑張るから
激安にしてやんよ だからちょっと油断をしてあげて
激安にしてあげる 世界中のどの店より
激安にしてあげる だからもっと私に売らせてよね

ちょいとRGB565でアルファブレンドを行う必要があったので考えてみる

検索してみると、meltさんのところでまんまなものを見つけた。
http://d.hatena.ne.jp/melt_slinc/20060920

これをもうちょっとは最適化出来そうなので考えてみることにします。

(src&dst)+(((src^dst)&0xf7de)>>1) ・・・(1)
ハーフブレンドする計算式はこんな感じなんですがそれを基礎に立ち戻って考えてみます。
それぞれのbitを取り出して考えてみるとこうなります。

dst\src 0 1
0 0.0 0.1
1 0.1 1.0

つまり、
20の桁はsrc&dst
2-1の桁はsrc^dst
になっているのが分かると思います。
そしてそれらを、色同士が混ざらないようマスクして足すと(1)式になるのです。


では、src:dst=3:1ならどうなるでしょう。

dst\src 0 1
0 0.00 0.11
1 0.01 1.00

つまり、
20の桁はsrc&dst
2-1の桁はsrc&~dst
2-2の桁はsrc^dst
です。
∴(src&dst)+(((src&~dst)&0xf7de)>>1)+(((src^dst)&0xe79c)>>2)


同様に、src:dst=7:1のとき、

dst\src 0 1
0 0.000 0.111
1 0.001 1.000

つまり、
20の桁はsrc&dst
2-1の桁はsrc&~dst
2-2の桁はsrc&~dst
2-3の桁はsrc^dst
∴(src&dst)+(((src&~dst)&0xf7de)>>1)+(((src&~dst)&0xe79c)>>2)+(((src^dst)&0xc718)>>3)


で、32段階それぞれに計算してやるとこうなります。


※11/9修正:srcとdstの配合比率が逆でした。
直して検証すると、それでも各下位1bitに誤差がでてるんだけどこれはなんだろ。
引き続き検証中。


※11/11追記
うすうす予想していた通り原因は小数点以下の桁上がりでした。
解決方法としては
(a)桁上がりの補正を加える
(b)各色間の隙間をあけて下位bitの計算も行うようにする
ってのが考えられるんだけど、今回の使用は見た目がそれっぽければいいんでこのままで。
近似でいいんなら減算も使えるんでもうちょっと速くなるかも。


以下は最適化ではなく近似計算になりますんでご了承を。

uint32 AlphaBlend( uint32 src , uint32 dst , uint32 alpha ){
    switch( alpha ){
    case 0:
        return dst;
    case 1:
        return (src&dst)+(((~src&dst)&0xf7de)>>1)+(((~src&dst)&0xe79c)>>2)+(((~src&dst)&0xc718)>>3)+(((~src&dst)&0x8610)>>4)+(((src^dst)&0x0400)>>5);
    case 2:
        return (src&dst)+(((~src&dst)&0xf7de)>>1)+(((~src&dst)&0xe79c)>>2)+(((~src&dst)&0xc718)>>3)+(((src^dst)&0x8610)>>4);
    case 3:
        return (src&dst)+(((~src&dst)&0xf7de)>>1)+(((~src&dst)&0xe79c)>>2)+(((~src&dst)&0xc718)>>3)+(((src&~dst)&0x8610)>>4)+(((src^dst)&0x0400)>>5);
    case 4:
        return (src&dst)+(((~src&dst)&0xf7de)>>1)+(((~src&dst)&0xe79c)>>2)+(((src^dst)&0xc718)>>3);
    case 5:
        return (src&dst)+(((~src&dst)&0xf7de)>>1)+(((~src&dst)&0xe79c)>>2)+(((src&~dst)&0xc718)>>3)+(((~src&dst)&0x8610)>>4)+(((src^dst)&0x0400)>>5);
    case 6:
        return (src&dst)+(((~src&dst)&0xf7de)>>1)+(((~src&dst)&0xe79c)>>2)+(((src&~dst)&0xc718)>>3)+(((src^dst)&0x8610)>>4);
    case 7:
        return (src&dst)+(((~src&dst)&0xf7de)>>1)+(((~src&dst)&0xe79c)>>2)+(((src&~dst)&0xc718)>>3)+(((src~&dst)&0x8610)>>4)+(((src^dst)&0x0400)>>5);
    case 8:
        return (src&dst)+(((~src&dst)&0xf7de)>>1)+(((src^dst)&0xe79c)>>2);
    case 9:
        return (src&dst)+(((~src&dst)&0xf7de)>>1)+(((src&~dst)&0xe79c)>>2)+(((~src&dst)&0xc718)>>3)+(((~src&dst)&0x8610)>>4)+(((src^dst)&0x0400)>>5);
    case 10:
        return (src&dst)+(((~src&dst)&0xf7de)>>1)+(((src&~dst)&0xe79c)>>2)+(((~src&dst)&0xc718)>>3)+(((src^dst)&0x8610)>>4);
    case 11:
        return (src&dst)+(((~src&dst)&0xf7de)>>1)+(((src&~dst)&0xe79c)>>2)+(((~src&dst)&0xc718)>>3)+(((src&~dst)&0x8610)>>4)+(((src^dst)&0x0400)>>5);
    case 12:
        return (src&dst)+(((src&~dst)&0xf7de)>>1)+(((~src&dst)&0xe79c)>>2)+(((src^dst)&0xc718)>>3);
    case 13:
        return (src&dst)+(((~src&dst)&0xf7de)>>1)+(((src&~dst)&0xe79c)>>2)+(((src&~dst)&0xc718)>>3)+(((~src&dst)&0x8610)>>4)+(((src^dst)&0x0400)>>5);
    case 14:
        return (src&dst)+(((~src&dst)&0xf7de)>>1)+(((src&~dst)&0xe79c)>>2)+(((src&~dst)&0xc718)>>3)+(((src^dst)&0x8610)>>4);
    case 15:
        return (src&dst)+(((~src&dst)&0xf7de)>>1)+(((src&~dst)&0xe79c)>>2)+(((src&~dst)&0xc718)>>3)+(((src&~dst)&0x8610)>>4)+(((src^dst)&0x0400)>>5);
    case 16:
        return (src&dst)+(((src^dst)&0xf7de)>>1);
    case 17:
        return (src&dst)+(((src&~dst)&0xf7de)>>1)+(((~src&dst)&0xe79c)>>2)+(((~src&dst)&0xc718)>>3)+(((~src&dst)&0x8610)>>4)+(((src^dst)&0x0400)>>5);
    case 18:
        return (src&dst)+(((src&~dst)&0xf7de)>>1)+(((~src&dst)&0xe79c)>>2)+(((~src&dst)&0xc718)>>3)+(((src^dst)&0x8610)>>4);
    case 19:
        return (src&dst)+(((src&~dst)&0xf7de)>>1)+(((~src&dst)&0xe79c)>>2)+(((~src&dst)&0xc718)>>3)+(((src&~dst)&0x8610)>>4)+(((src^dst)&0x0400)>>5);
    case 20:
        return (src&dst)+(((~src&dst)&0xf7de)>>1)+(((src&~dst)&0xe79c)>>2)+(((src^dst)&0xc718)>>3);
    case 21:
        return (src&dst)+(((src&~dst)&0xf7de)>>1)+(((~src&dst)&0xe79c)>>2)+(((src&~dst)&0xc718)>>3)+(((~src&dst)&0x8610)>>4)+(((src^dst)&0x0400)>>5);
    case 22:
        return (src&dst)+(((src&~dst)&0xf7de)>>1)+(((~src&dst)&0xe79c)>>2)+(((src&~dst)&0xc718)>>3)+(((src^dst)&0x8610)>>4);
    case 23:
        return (src&dst)+(((src&~dst)&0xf7de)>>1)+(((~src&dst)&0xe79c)>>2)+(((src&~dst)&0xc718)>>3)+(((src&~dst)&0x8610)>>4)+(((src^dst)&0x0400)>>5);
    case 24:
        return (src&dst)+(((src&~dst)&0xf7de)>>1)+(((src^dst)&0xe79c)>>2);
    case 25:
        return (src&dst)+(((src&~dst)&0xf7de)>>1)+(((src&~dst)&0xe79c)>>2)+(((~src&dst)&0xc718)>>3)+(((~src&dst)&0x8610)>>4)+(((src^dst)&0x0400)>>5);
    case 26:
        return (src&dst)+(((src&~dst)&0xf7de)>>1)+(((src&~dst)&0xe79c)>>2)+(((~src&dst)&0xc718)>>3)+(((src^dst)&0x8610)>>4);
    case 27:
        return (src&dst)+(((src&~dst)&0xf7de)>>1)+(((src&~dst)&0xe79c)>>2)+(((~src&dst)&0xc718)>>3)+(((src&~dst)&0x8610)>>4)+(((src^dst)&0x0400)>>5);
    case 28:
        return (src&dst)+(((src&~dst)&0xf7de)>>1)+(((src&~dst)&0xe79c)>>2)+(((src^dst)&0xc718)>>3);
    case 29:
        return (src&dst)+(((src&~dst)&0xf7de)>>1)+(((src&~dst)&0xe79c)>>2)+(((src&~dst)&0xc718)>>3)+(((~src&dst)&0x8610)>>4)+(((src^dst)&0x0400)>>5);
    case 30:
        return (src&dst)+(((src&~dst)&0xf7de)>>1)+(((src&~dst)&0xe79c)>>2)+(((src&~dst)&0xc718)>>3)+(((src^dst)&0x8610)>>4);
    case 31:
        return (src&dst)+(((src&~dst)&0xf7de)>>1)+(((src&~dst)&0xe79c)>>2)+(((src&~dst)&0xc718)>>3)+(((src&~dst)&0x8610)>>4)+(((src^dst)&0x0400)>>5);
    case 32:
        return src;
    }
    return 0;
}

初音ミクが掘り出したもう一つの需要

初音ミクDTMユーザーを掘り起こした。そして自作曲の視聴者も掘り起こした。
この2つにはみなさん異論はないと思います。
しかしミクはもう一つの潜在的な需要も掘り起こしているのです。
それは、金額さえ折り合えば歌手/声優をつかってみたいという人が存外多かったということ、つまり歌手の需要です。
そこで、はてな人力検索みたいなシステムを使って「ニコニコ☆ギルド」みたいなのを作ればみんなニコニコできるんじゃないかというのが今日2つ目の提案です。
まず曲を作った人が懸賞ポイントを賭けて一定期間募集をかける。
そんで歌手は吹き込んで応募する。
作曲者は締め切り後にポイントを振り分ける。
視聴者がおひねりを投げることもできて、作曲者と歌手とにポイントが加算される。
ウマー
はてなさん、ニコニコにシステム提供しませんか?
ちなみに歌だけじゃなくて、「曲に動画つけて」でも「ペーパークラフト作って」でも「このゲームクリアして」でも、なんでも応用が利くので夢がピコピコ。


※日記に書かれているアイデアは全てパブリックドメインです。自由に実現させてください。
イデアは一番最初に実現させた人がエライのですから。
「○○みたいな小説は10年前から考えていたんだ」なんて言っても、口だけくんには誰も相手してくれません。

そろそろP2Pサーチエンジンかな

検索サイトの寡占による弊害がちらほらと見える昨今いかがお過ごしでしょうか。
このままいくと大手企業の思い通りに購買をするネット以前の暗黒時代に戻ることになるかもしれません。
そこで、そろそろ圧力フリーなサーチエンジンを作らないかという動きがあってもいいような気がします。
しかし個人では、巨大なデータベース、計算量、トラフィック量の問題という大きな壁があります。
じゃあP2Pにして分散させればいいんじゃねというのが今回の提案です。
以下、めんどくさいので省略。