2013年1月27日日曜日

PSVITA Malicious Rebirth

ゲームに飢えていたので、amazonでポチりました。という3本の到着を待たずに、更に@STOREでポチリました。ボス戦ONLYというフレーズに惹かれて。1500で安いしね。って言うか残額が足りてたので。本当は何を買おうとしてたんだっけオレ。

http://malicious-rebirth.alvion.jp/

操作し心地にデジャブを感じること、空中戦艦で戦ってて、壁を走ったあたりで思いだしました。あー、これPS3に有った奴だ!

思い出したが最後、何の気無しで男性で始めちゃいましたが、身が入らず。女性キャラでやり直し。って言ったって、空中戦艦の鎧武者を倒しただけなので、惜しくもなんともありません。

PS3時代には、体が欠損する!という描写もさることながら、回復しても服が戻らない!という訳で、女性キャラの方が、ノリが違うというわけです。大事だよね。



コスチュームのディテイルは大分良くなってるみたいですね。女性用の「王族の衣」はヒラヒラしてて可愛いです。防御主体なので、慣れてないうちは丁度いいですね。



アクションはまあまあ多彩。マントが変化して攻撃するので、アクションの質的にはベヨネッタ。

  • 空中戦艦→鎧武者→WING 〆
  • 図書館→角獣→ランス 〆
  • 王家最上階→女帝?→剣でした
  • 旧決戦場大防壁→空中戦艦→盾の強化
  • 英雄凱旋広場→銅像→拳の強化
直接攻撃あるいは飛び道具でもいいのですが、雑魚を倒してる間に「オーラ」が溜まるので、Lを押しながら攻撃で、オーラ消費攻撃ができます。当て心地的にダメージが2倍以上は違う感じ。
またダメージを追っても、これまたオーラ消費で回復できます。が、欠損によって消費量が違うし、攻撃で使いきっちゃってると回復できません。こうなると雑魚にすら追い回される状態。
単調っちゃ単調なので、飽きるのも速いかもしれませんが、1戦のコストが非常に低い(ミスしてもリスク無し、何時でもリタイアして戻れる)ので、暇つぶしにも丁度良いでしょう。














快作「神魂合体ゴーダンナー」

UHF系で放送してたので、ドマイナーだと思っていたらパチンコもあるのね。

大雑把に例えると、グレンラガンが好きなら本作もイケる予定です。

バンダイチャネルオフィシャルで1話だけ見れます
http://www.youtube.com/watch?v=_DuDKYIY80M

合体をテーマーとした本作。ロボットも合体しますが、主人公メカ ダンナーの装甲が開き、その中にオクサー系が折りたたんで収納。乗っていた奥さんは、シートごと移動。旦那の股間に現れて、さらに奥さんの股間からは操縦桿。「説明は後だ、杏奈、ソイツを握れ!」 

とまあ、こんな感じで、週刊少年ジャンプあたりなら、赤面しながら進みそうな下ネタを、戦闘中のシリアスで繰り出すという、エロシリアスロボット熱血アニメ?オフィシャルでは何て言ってたっけ?

合体した状態では、ゴーダンナーツインドライブ。ダンナーとオクサーのエンジンを結合してパワーアップ。らしい。強度的には不利じゃね?パワー数倍。燃費も数倍。ウルトラマンよろしく短期決戦が必須。

予算がないのか、明らさまなシーン使いまわしが目立ちますが(って言うか、バンクって言うの?)、必殺技は、ハートブレイカー(貫通パンチからの冷凍弾)と、凍らせた上で、高空からの飛び蹴りで叩き割るソウルブレイカー。かなり単純。往年のスーパーロボットを彷彿とさせます。超電磁竜巻からの超電磁スピンだと思ってもらって可。

UHF本放送では、杏奈が家出してるうちに、ミラが復活して、オクサーを優雅に操縦してみたり、でも1期終了。ちょwおまw。ここから待たせるのか?!

と、単調な熱血ロボットアニメ(でもないが)とおもわせといて、三角関係も充実。旦那がウイルス感染で命の危険に晒されまくったりとか、シリアス路線も充実してます。

2013年1月25日金曜日

名作「宇宙のステルヴィア」

ハードディスクを整理してたら、アナログ時代の録画ファイルがありました。宇宙のステルヴィア。

2003年作品 全26話
http://ja.wikipedia.org/wiki/%E5%AE%87%E5%AE%99%E3%81%AE%E3%82%B9%E3%83%86%E3%83%AB%E3%83%B4%E3%82%A3%E3%82%A2

http://www.amazon.co.jp/%E5%AE%87%E5%AE%99%E3%81%AE%E3%82%B9%E3%83%86%E3%83%AB%E3%83%B4%E3%82%A3%E3%82%A2Blu-ray-BOX%E3%80%90%E6%9C%9F%E9%96%93%E9%99%90%E5%AE%9A%E7%89%88%E3%80%91-%E4%BD%90%E8%97%A4%E7%AB%9C%E9%9B%84/dp/B002XGZ1OO/ref=sr_1_1?s=dvd&ie=UTF8&qid=1359074182&sr=1-1

今となっては大御所の女声優の一人、野中藍さんの、事実上の出世作と言ってよいでしょう。主題歌のangelaさんと「同期」と言い合ってるらしい。ただし、裏声がキンキンするボーカルは嫌いなので、実はangelaは余り好きな歌手ではないです。アニソン専業だけどね。

宇宙からの脅威(超新星爆発の衝撃波的なもの)が押し寄せてくるので、それを地球人総出で迎え撃とうじゃないか!という物語。具体的には既に1回喰らってるのですが、それを踏まえて冥王星あたりまで宇宙ステーションを作っちゃっていて、それぞれ訓練校の体も成しています。重力制御も可能。そういう時代考証です。

本編は、でいうと、人畜無害な感じのおとなしい少女が、いきなり訓練校の入学試験を受かってて、宇宙デビュー。同世代の少年少女と揉まれながら、開眼|覚醒していく感じのストーリー。

序盤は、ヒロイン1 片瀬志麻が、宇宙訓練にアタフタする感じですが、徐々に実は実力をだすのが下手なだけ??感が顕わになり、中盤では、小型宇宙艇に現場でプログラミングして、上級生を脅かすまでの存在に。


ヒロイン2は、アリサグレンノース。ステルヴィアi行きのシャトルで、地球と家族との別れに涙するアリサ。その隣で志麻がハンカチを差し出して以降の大親友。最後までブレません。パイロットは諦めつつも、メカニックの才能を見出して、後期はそっちで。宇宙艇4台を同時に操作して、巨大ロボットに加速ブースターを一人で取り付けるとか、地味に活躍はします。



プログラミング技術で台頭する志麻ですが、彼女が最強ってわけにはならず、後発のヒーロー。音山光太が実は「真の天才」。成績は中程度だったが、「わざと手を抜いて」中成績を取ってることは一部の教官には見抜かれつつあった。物語序盤で、幾つか志麻に、的確かつ天才的なアドバイスをしており、今の小生が見ても画期的な台詞です。

「データなんて手がかりだよ。適当に無視しちゃっても大丈夫さ」
「情報の隙間は脳味噌の後ろの方が勝手に埋めちゃってるというか」
「お汁粉に塩入れたりするよね、ああいう感じかな」
「甘さが引き立つ、そう、隠し味」

「情報の全部を受けようとしてない?」
「あのさ、自分が感じたいように感じてみたことある?
「感じるんだよ、自分が宇宙の中心だって気持ちになってね」
「データの伝えてくる座標なんて相対値だからね、自分を絶対値に置くんだ」





上級生ヒロイン(ヒロイン4ぐらい) 町田 初佳。ビッグ4と称される程の実力もあり、努力もしてたので、かなり自信もあったので、志麻の台頭が面白くない。訓練中の事故を装って志麻をリタイアさせようとする。実は志麻の同級生のヒロイン3藤沢やよいも被害者の一人。

大急ぎで助けに来たのが音山。そして手加減無用の攻撃で、町田の期待を一瞬で戦闘不能に陥らせた。その時の彼の操縦技術が、汎用機の宇宙艇で、残像を残すほどの動きを観せます。改めてみたら、レベル3惨影もしくは瞬獄殺。

     

この事件を切っ掛けに、光太は才能を期待されまくり人生が始まりますが、網膜に直接情報を転送するというヘッドアップディスプレイを装着して、「宇宙が見える」とか言い出す電波系。志麻に「見えるよ!志麻ちゃん!」とか言っちゃうが、志麻は何が何だか判らず、何となく意気投合して片思いしてただけに、距離感を感じて泣き出してしまう。

という感じで、SFに見せかけて、実は結構、学園恋愛ドラマです。割とね。

男性陣はキャラが薄く、主要キャラに破れた脇役女子を慰める的な役どころが多い。最終的には、ヒロイン志麻の支援者となっていきます。一番影が薄かった一人を筆頭に、最終作戦では結構な活躍をします。

と言うわけで、言うほどキャラ弱くはないと思うのだが、
http://www.amazon.co.jp/product-reviews/B002XGZ1OO/ref=cm_cr_dp_hist_two?ie=UTF8&filterBy=addTwoStar&showViewpoints=0
低い評価をつけてる人は、全体的に辛口で「売ってる」人っぽいので、割り引いて考えるべきでしょう。

宇宙戦闘は基本的にCGです。が、小型宇宙艇の内部ディスプレイは、マツボックリが動いてるだけに、偉く簡略化して描写されてて、それがかなり拍子を抜かれます。ご注意。

ただし、プログラミングの描写は、21世紀の今見ても結構画期的。ブロックの様な何かを組み合わせていきます。ビジュアルプログラミング??志麻は、汎用人形決戦兵器のプログラムを勝手にチューニングして、光太の反応速度に追いつかせる。

   

最終的には、音山と志麻は、「地球圏最強のカップル」として、宇宙の脅威に立ち向かいます。

    

本編フィナーレは、志麻たちが進級、下級生を迎える立場になって、アリサの妹ミヤと、志麻の弟 真人が、シャトルで出会う。ラブコメ続編の予感アリだが、未だに続編は出てません。

  
   
面白かったんだけどなー。

2013年1月24日木曜日

Android遍歴 2012

中華タブレット含めて、色々Android搭載製品を買いましたが、全部使ってる訳ではありません(当たり前)

生き残ってるのはどうやら、ここ1年以内発売のもの、あるいは大手メーカー販売に限る様です。

3年前ならともかく、ここ数ヶ月以内は、中国製品もかなり品質が上がってます。タッチパネルも静電容量式で安いものが出てますし、使い捨てと割り切るならかなりアリでしょう。

最近では、国内メーカが自社銘柄でだしてる製品(AKART CH-AD77DR等)も増えてきてるので、よほどの好奇心がない限り、わざわざ直輸入で買うアドバンテージは減ってるかも知れません。

2013年1月22日火曜日

tri G の 「G級」って、「難しい」って意味じゃないよね

当初の目的、グランミオラスの翼までこわせるようになったら、燃え尽き感が異常。

元々のモチベーションは、

  1. G級装備がなかなか可愛いので作ってみよう!
    1. ルドロスZ剣士 ガンナー ※防毒は初期はかなり有効
    2. ルドロスX剣士 ガンナー ※耳栓だけじゃ駄目ね
    3. ネブラX剣士 ガンナー ※覚醒だけじゃ駄目ね
    4. ベリオX剣士 ※ウルクの方が性能がよかったという
    5. ボロスX剣士 ガンナー ※あまり出番なし
    6. ペッコX剣士 ※作ってはみたけど出番あまりなし。デザインは割と好き
    7. セーラーX剣士
    8. レイアX剣士
    9. ガンキンZガンナー ※対グランミラオス+ヘビイボウガン用。のつもりだった
    10. ※デザインは上位の下位互換
      1. アシラX剣士 ガンナー※採取専用
      2. ウルクX剣士
      3. ラングロX剣士 ガンナー
  2. グランミオラスを一人で倒せるまでやってみよう!
  3. グランミオラスの翼を壊せるまでやってみよう!
グランミオラス素材だけは揃ったのですが、大型モンスターの半端素材が残ってて、

  1. ミラアルマ装備 残りは頭と腕
    1. 大地を穿つ剛角
      1. ディアブロス面倒くさ!
    2. 蒼火竜の重殻
      1. レウス亜種面倒くさ!
  2. もうイイか
  3. ←いまココ
と言うわけで、用は済んだというわけです。総時間 517時間、借りて274時間以上買ってから265時間。HR65だから、もうイイよね。元取れたよね。

暇つぶしですらやる気になりにくい、というのは、やはり本シリーズが本質的に「攻略が面倒臭い」というところでしょう。

歴代シリーズでtri Gだけ買ってなかった知人が、先月買ったのですが、もう自力でG級に行ってしまった。聞いた感じ、HR換算でいえば30前後だと思われます。とは言え、ロアルドロスですら40分掛かるので、もう面倒だからって疎遠になってるらしい。彼がまだやってるなら、付き合いようもあったのですが、またボッチかよ!

もちろん、Youtubeには、G級すら5分前後でクリアしまくる達人だらけなのですが、彼らのオススメはミラアルマだったりとか、アルバトリオン装備とか。いやそれを作るのがまず大変だって言ってんだろうが!レベル差がありすぎて参考にならない。

面倒臭い、の理由には、G級のモンスター行動の容赦なし加減が酷すぎるところでしょう。何度も言うけど

  • 蒼レウスの、爪で吹っ飛ばして毒らせて、起き上がりに滑空を重ねてくるとか。
  • フィールド端でコッチは転げまわってるのに、突進を続けるディアブロスとか。
  • 子持ちギギネブラ亜種の、咆哮中に放電とか。
いやー、これ上手いとか上手くないとか通り越してますよね。

コンピュータが、神経衰弱で本気だしちゃイカンだろって話ですよ。
しかも上位装備では、2発喰らったら死亡です。緊張感の無駄使い

ん、でもよくよく考えれば、手加減されてもアレですね。コッチがダウンしたのを見計らって、バックジャンプして遠吠えとかされてもね。挑発か!プロレスか!出来レースか!

レウス希少種のレア素材に至っては、捕食でしか出ないから、仕方ないのでプレイヤーが喰われてくださいとか、ナイわー。

昭和のアクションじゃないんだからさー。ミスったら即死するゲームって。

本質的にモンスターが圧倒的に有利な上に、コッチは3回死んだら負けです。リスクとリターンが釣り合わない。正直バランス放棄だと思います。だから、達人たちは、「ずっと俺のターン」で押しきる。猫火事場やら、闘魂やら、属性開放やら、切れ味+1やら、耳栓やら、とにかく攻撃力&攻撃頻度を挙げて、怯み値すら数える。

詰将棋の領域です。ここまでくるとアクションとは思いません。だって、ノーミスじゃないと倒せないわけでしょ?

しかも乱入モンスターの乱入頻度が酷い

  • 順調に進んでる時に限って、マップ中央で佇むイビルジョーとか※乱入頻度高すぎワロエナイ
  • ウラガンキン亜種攻略中に、ラングロトラが来て、ダブルで悪臭噴射とか


改めて言いますが、
  • モンスターハンター、少なくともtri G以前は、
  • 「モンスターとの対戦格闘」です。しかも制限時間50分の。プロレスか! 
断じてハンティングアクションじゃないです。だって「狩れる」ほど有利じゃないし。

前出の「5分針」レベルプレイヤーは、「狩ってる」とは言えますが、その実ハメです。投げハメみたいなもんでしょう。まあモンスターだって、起きあがりに突進重ねてくるとかヒドイので、お互い様。に見せかけて圧倒的不利は変わってません。達人たちだって録画失敗とかはあるはず。成功した奴しか揚げてないんだから。

この辺り、4ではどうにか成ってるといいですが。無理だろうなあ、カプコン強情だから。まあ小生としては、ゴッドイーター2最優先でしょうか。しかしどうせ回りに誰も買う人居なさそう。

tri+ G グランミラオス、翼も壊せるようになったけど

グラン・ミラオス9体目にして、ようやく翼(片方だけ)どうにか壊せるようになりました。

最終的には、やはり小生はハンマー。発掘系のバルメテオ・コアですね。大地の結晶を99個とか超面倒臭かったけど、作った甲斐はありました。同じく発掘系で、エピタフィディオンとかも作りましたが、どうも大剣だと手数不足です。駄目な時は股間すら壊せないという。

水中での起動はやはりキモですが、自由自在は無理なので、溜3大回転か、溜1で攻撃しながら追い掛けるかとか、そんな感じです。

2013年1月20日日曜日

優れた Python プログラマを見分ける10+1の質問。らしい。

http://methane.hatenablog.jp/entry/20110301/1298972457

やっべ、ほとんどわかんね。

list, tuple, dict, deque, heapq, bisect がどういう場面に適しているか説明しなさい

やっべ、使ったことねえ。アンチョコ(要するにマニュアル)見ていいのかな??
  • list 不定長の単純配列。非ソートデータの保持
  • tuple 一時的な小さいデータの保持。不変。
  • dict 連想配列。色々。
  • deque ※使ったことねえです
  • heapq ※使ったことねえです
  • bisect ※使ったことねえです
全体的には、「pythonでミッションクリティカルな案件の経験があるか?」的な感じですね。小生、もちろんpythonで仕事をしたことはありますが、そんなシビアな案件じゃなかったので、プロファイラとか使わないで済んでます。料金が変わるまでは、appengineの無料quotaで済んでたしね。

現在の出稼ぎでは、残念なことにPHPです。PHPでプロファイラ使う話はあまりないですね。と言うか、実行時間の殆どはphp-activerecordと、adobe amf framework だったりするので、チューニングで頑張る余地はあまりないです。これらのフレームワークのロード時点で、メモリ3MBづつ使うので、memory_limitは、8MBから増やさざるを得ません。

「○○すれば出来るよ」は大概「○○を使わないとやってられない」「○○も結構面倒くさい」だったりする


http://unkode-mania.net/view/5016619653eb124626000000

「カンニングペーパーをモニタに貼っとけば、何のクラスかすぐわかるでしょ?」
何処から突っ込んだらいいのか判らない。

「○○すれば解決する」発言をする人は、

  • ○○の必要コストを度外視する。
  • 「○○しない場合のコスト増加」を全く考慮しない。
  • しかも、別の選択肢を考慮しない。

要するに、手段のために手段を選ぶ、効率の悪い方法を自分で選んで自分の仕事を増やしてる。プログラマだから頭悪いとは思わないけど、馬鹿ですね。

カンニングペーパーを「貼らなければならない」時点で、能率が悪い、ということに気づいてない。

そうそう、この手の早見表だよりで仕事をしてる人は、8ビット時代からプロやってて、しかも64ビットの現代でもその感覚を捨てきれてない。ロートルもいいとこ。ああ、もちろん作業はMS-DOS使ってるんですよね?

「手段のために手段を選ぶ」のは、「EXCEL大好き」に一致します。小生の感覚では、「管理表を作る仕事を増やす」時点で能無しなのですが、やっつけ仕事が早いので、法人としては比較的有用な人材です。恐らく彼らはマシーンです。理屈やら効率やらの話をしても無駄でしょう。

外人が選んだ見る価値のあるアニメ一覧 2012

http://blog.livedoor.jp/robosoku/archives/22610401.html

センスがイイって評判ですが、どうなんだろう。ふうむ?結構公開時期に幅があるので、「2012年度公開の」、じゃなくて、「2012までの歴代の」、ということらしい。

本稿を書くにあたって、人間OCRをやらなきゃならんかと思ったら、ちゃんとテキスト一覧がありました。

http://www.imdb.com/list/rwBzzmNch3g/

全体的に見ると、一見オシャレアニメかと思われますが、小生はなんとなく判ります。

一つは、恐らくは「世界観構築」。
例えばナウシカ、蟲師、ラストエグザイル、ハウルの動く城

脳内補完といえば、そう言えなくもない。登場人物「以外」の生活が想像できるもの。妖怪系オカルトなんか判りやすいとは言えます。宮崎駿の初期の作品がランクしまくりなのも頷けます。

冒頭、メーヴェに乗ったナウシカが集落に戻ったとき、「ああ、世界中がこんな感じなんだろうな」と物語の中にすんなり入れたでしょう?

エヴァンゲリオンは重要なところは伏せてましたが、ディスプレイを漢字が駆け巡る描写とか、日本人の自前テクノロジーとしては妙な説得力がある。

ラストエグザイルは、ゴンゾーがまだ「判りやすかった頃」。難解なところは殆どありません。主人公二人の冒険を描きつつ、彼らの父親達の偉大さが垣間見えます。「小型飛行機乗りが不可侵領域への挑戦」とか。有りがちっちゃ有りがち。

故に、キャラクタだけで引っ張る「萌え」は大幅に不利。
例えば、有名な「けいおん」。コイツが入ってないには小生には実に理解できる。

一環して、ややタレ目。細い眉毛。区別する方法はヘアスタイルのみ。幾ら日本アニメに見慣れてるであろう 日本アニメファンでも、キャラの描き分けの弱いコンテンツは見てられないのではないでしょうか?戦隊ヒーローで、全部同じ色だったらどうしますか?

外人アニメオタクでも、ストーリーを理解する気はある。むしろ日本人より必死なはず。日本語を勉強してまでですからね。字幕待ちの緩い日本アニオタとはおお違いです。

とは言え、ストーリー的にはシンプルで、枝葉で「魅せる」「観せる」作品が多いかな。

2013年1月14日月曜日

ウンコードの殆どは、実は言語仕様に問題がある。と思う

代入と比較の取り違え
http://unkode-mania.net/view/5055e449a753b5d160000008

代入演算子と、比較演算子の取り違えはよくありますが、テストすりゃ判る。それはその通り。

式の中で、代入と比較を混在できるのも、よくよく考えればヤバイ。とは言え、これは手続き型言語の鬼門とも言えますな。本来は言語仕様レベルでなんとかするべきでしょう。この点考慮してるのは、pascal系ぐらい?しかも流行ってません。この間違えた誰かさんはpascal育ちなのでは無いでしょうか?そんなに馬鹿にしたものではないかもよ。

そもそも字面が1文字違いってのもヤバいです。イコール1個忘れたら動かないわけですよ?むしろ間違えるなって方が無理。よくよく見ても判りません。小生、乱視が酷くてですね。

そういう意味では、Java族のgetter/setterはその反省といえるのかも知れませんが、1文字違いなのは解決してないという。

クラス初期化にmemset
http://unkode-mania.net/view/5019208444f2527722000000

Cまではメモリ管理がプログラマ任せでしたから、その調子でC++を書けば、こんなことは起こるでしょう。intで宣言したら0入れて、char[]で宣言したらmemsetで、ってそんな馬鹿正直に書くより、全部memsetしちゃったほうが賢い。悪いのは仮想関数の機構、および、初期化しませんっていう、C/C++ランタイムのサボリです。

forの2段目のコピペ間違え
http://unkode-mania.net/view/50177f11fc12b2e54a000000

これは古典的Cのfor構文が悪い。ネタでは2段ループの2段目を間違えました。ってオチですが、実はこれ。1段でも起こります。

古典for構文では、制御変数を3回書かなければならない。故に、後発の軽量言語では大抵foreachが使えます。極力ソレを使うべき。なにより、「ループの意図」を明確にできます。

逆に、古典forの3ブロックの式で、すべて別の変数をイジることはできるわけですが、むしろ小生としてはそっちの方が有用だと思ってます。

  • ループの前に必ずやること、
  • ループの終了条件、
  • ループの最後に必ずやること、


という3点を明記できますから。

初期化ブロックとかを空にして無限ループとかいう小細工も横行してますが、小生の感覚では、これは裏技です。コンパイラを騙してる感がします。

ナニコレ凄え降ってる 2013/1/14


2013年1月10日木曜日

「オブジェクト指向」は、忘れるための技術です

流石に2年も経つと、staticおじさんもオブジェクト指向を概ね理解してきたみたいですね。
http://wonderfulsky.web.fc2.com/oop.html

● メッセージバッシングの多用はプログラムの動作が追いにくい原因となる。関数でできるものは関数で実現するのがよいのではないか?
● デザインパターン本では派生クラスを多用しているサンプルプログラムが多いが、実際の開発でこのようなケースが有効につかえるのか?

業務アプリしか作ったことのない人の意見だなー。
今時のソーシャルゲームなら、幾らでもある話ですよ。
  • 普通はプレイヤーキャラが、モンスターを倒す。
  • しかし、プレイヤー同士が戦うこともある。
こういう場合、いずれのケースとしても(PHPっぽく書くなら)
$player->attack($enemy)

と記述できた方が遥にメンテナンスしやすい筈です。

何故って、このまま右辺と左辺を入れ替えれば、先攻後攻が入れ替わるわけですよ。「static関数の引数の、2番めと3番めが入れ替わってる」より遥に直感的だと思うのですが。

  • $player->attack($enemy);
  • $enemy->attack($player);
勿論、内部的には、攻撃力オブジェクトを、防御力オブジェクトに突っ込んで初めてダメージが出る訳です。モンスターやプレイヤーは恐らく次のような感じで定義するでしょう。
  • interface BattlePerson { function attack( BattlePerson & $target ); 他にも色々 }
  • class PlayerPerson implements BattlePerson { 省略 }
  • class MonsterPerson implements BattlePerson { 省略 }
この2通りだけだったら、「staticで充分だ!」と言うかもしれません。違います。こんなもんじゃないです。

チーム戦だったらどうします? 下手すると、3重ループぐらいに成りかねない。要するに、オブジェクト自身がどうこう、って言うんじゃなくて、呼出側が複雑化するわけです。

そうそう、ゲームは、攻撃力計算にも、バイアスやら倍率やら色々掛かるんですよ。防御力に同じく。おまけになんかアイテム持っていたら、必殺技が発動して、全体攻撃。敵全体にダメージ、とかやらなきゃならない。逆に、もちろんオブジェクト自体も複雑化するということです。

staticなんかとても呼んでられないですよ。
これをstaticで書ききるのは、それなりの技術と記憶力がないと無理でしょう。ただしそれをstatic宣言群の記憶で使い切るのは非常に勿体ない。

オブジェクト指向は「忘れる」ためにあるのですから。

前出の例で言うと、BattlePersonをimplementsすると言うことは、「攻撃相手に指定できる」ということでもあります。処理方法は、PlayerPersonを実装する時に頑張ればいいわけです。メソッドの向こうは、一旦忘れるべき。それが「カプセル化」の本来の意図でしょう。privateだのprotectedだのgetter/setterだのは、ガイドライン或いはコーディングルールの一つでしかない。

故に「プログラムが追いにくくなる」は全くの言いがかりです。或いは、逆ギレです。
  • そういう脳の使い方に慣れてないだけ。もしくは、
  • そのプログラムが「オブジェクト希望プログラミング」で書いてあるか。
  • メソッド名のネーミングセンスが最悪か
ああ、ちなみに小生は関数型では作れません。知人に居ます。ほとんど仙人ですけどね。

え、「派生クラスの話は何処?」かって?それも説明しなくちゃ駄目?

例えば、attack()の中身の話をしていません。相手がモンスターだったりプレイヤーだったりで幾つか都合が有りますが、

  • 攻撃力を求める
  • 防御力を求める
  • ダメージ計算をする

という辺りは変わりません。
public function attack( BattlePerson & $target ){
$offence = $this->attackValue();
$defence = $target->defenceValue();
$damage = $offence - $defence;
$target->damage($damage);
}
abstract function attackValue();
abstract function detenceValue();
abstract function damage($damage);
そんな訳で、前にはinterfaceってことにしましたが、この関数は基底クラス預かりにしたほうが良さそうです。攻撃力、防御力は、プレイヤー、モンスターで別系統の処理が必要なので、派生クラスの責任にするしかありません。

後は実装の内容ですが、派生クラス間で、共有したい処理が幾つか出てくる筈なので、それを基底クラスに押し込むか、mix-inを使うか。もちろんPHPではmix-inは無理(ってことになってる)ので、入れ子クラスにするしかなかったりします。入れ子クラスの処理が追いにくいのは確か。Java族の悪しき伝統です。

2013年1月9日水曜日

経営責任を従業員に負わせるとか、ナイわー

今更録画を見ました。クローズアップ現代 NO3191

http://www.nhk.or.jp/gendai/kiroku/detail_3191.html

「辞めさせてもらえない」それ自体は小生にも経験はあります。しかし「説得」するのが筋でしょう。脅迫とかあり得ません。

番組中で紹介している事例では

  • 退職月の給与を支払わないと脅す
  • 「お前はみんなを見捨てるのか!?」と社長直々に泣き脅す
  • 離職届けを発行しない
    • 2ヶ月後やっと来たと思ったら、「懲戒免職」扱い
  • 退職届の受理をトボける
  • 損害賠償で訴えると脅す
    • 実際訴える。退職者が責任者になってから業績が落ちたので、その経費と損害の総額2000万余り
    • 結局、負けて逆に会社側が「未払い給与1000万」を払うことになりましたが。
そんな事ありだと本気で思ってるのか、理解に苦しみます。顧問弁護士とやらがOK出したんなら、今すぐ解約していいレベル。「「勝てる」って言う」のが仕事じゃないよね。勝てる勝負をさせるのが仕事だよね。違うの?違うならいいです。

番組中では、「辞めたい人」の「辞めたい理由」として、会社の損失を天引きで補填させられてて、色々疲弊したため。と言う例もあり。そりゃ30万が10万に減れば大変でしょうよ。しかし、どう考えても、賃金カットのダシにされただけでしょう。

業績悪化を従業員の責任に押し付けるのなら、業績が挙がったら勿論給料が上がるんですよね?そうなっていたとしても、何とでもトボけるのが目に浮かぶようですよ。そんなこと言い出す経営者は、遅かれ早かれ、会社か自分かどっちかを潰しますよ。(倒産 OR 自殺 ) ぶっちゃけ経営放棄じゃね? 従業員全員で今すぐボイコットしていい。

って言うか、

  • 給料が2ヶ月止まった
  • 社長が大風呂敷広げっぱなしで畳まない人

って会社は大抵潰れますよね。

法人の意義てのは、リスクとリターンを平均化するためでしょう。儲かってる方の利益と、儲かってない方の損失を平均化する。その母集団を増やすことで、法人は安定します。取引先が個人だったら、その人が事故ったら仕事が止まるけど、法人だったら、誰かが代替して作業するしかない。そういう契約の筈ですからね。言い換えれば、法人てのは連帯責任なのですよ。

故に、「お前のせいで業績が落ちた、だから損失を補填しろ」は明らかにオカシイ。他の人は何やってたの?誰のフォローもしないで、悪者だけ決めてるの?中学生じゃないだからさー。

そしてその責任転嫁を、社長が率先してやってるなら、その会社はもう駄目でしょう。

2013年1月7日月曜日

「TOKYO MXの周波数が変わります」…だと?

何気なくCM(だけが切り別けた)を眺めてると、物騒なアナウンスが。



フツーのテレビは自動で切り替わりますとか。そりゃそうだろうな。家電だからな。しかしウチはPT2。チャンネルスキャンってやったっけ?周波数って何処かで入れたっけ? と泡食ってましたが、そうだ!物理チャンネルって奴の話をしてるんだ!

たしかマスプロのページを
http://www.maspro.co.jp/contact/bro/kantou.html
とくにまだ書き換わってませんね。

http://www.mxtv.co.jp/jyushin/index.html
おお、あった有った。そうだよ!それが聞きたかったんだよブレイド!

16 (スカイツリー)
20 (東京タワー)
細かい事情は判らんが、家電って自動で切り替わるの??物理チャンネルが変わる系は、チャネルスキャンしなおさないと無理じゃね?まさかコレだけのために、手数料とってアンテナ業者が来るとか?そういう戦略?産業の創出?仕事を増やす仕事に絶望した!



そのつもりで眺めてみると、
  • foltiaの場合は、
    1. foltia_stationテーブルの
    2. digitalchカラムを 
    3. 20 から 16に
  • epgrecの場合は、
    1. er1_channelTbl テーブルの 
    2. channel_discを 
    3. "GR20" から "GR16" に
変えれば良さそうですな。


それにしても、「東京タワーでいいじゃん」と2年前までは思っていた気がするが、ひょっとして設備の老朽化とかヤバいのだろうか。
http://ja.wikipedia.org/wiki/%E6%9D%B1%E4%BA%AC%E3%82%BF%E3%83%AF%E3%83%BC#.E5.9C.B0.E4.B8.8A.E3.83.87.E3.82.B8.E3.82.BF.E3.83.AB.E6.94.BE.E9.80.81
当たらずとも遠からずというか、日本電波塔株式会社っていう独立法人なのね。あくまで放送設備なので、観光施設としては強度不足であり、スカイツリーへの移行が完了しちゃうと、FM放送+放送大学+観光収入しかないので、経営が立ち行かなくなる。最悪、取り壊しの可能性あり。

と危ぶまれていたが、スカイツリーが故障した場合の予備としての契約を続けはするらしい。幾らだか判らないけど、固定収入は有難い。今まで放送業界に貢献してきた人徳ですな。

2013年1月6日日曜日

ツイッターが「つぶやき」だと思ってる人が居るけど、違うから

日本人の大多数は、「ツイッター」が「つぶやき」だと思ってるけど、そういう人は今すぐ退会したほうが良い。

http://ejje.weblio.jp/content/tweet

【動詞】 【自動詞】
〈小鳥が〉チッチッと鳴く.
【名詞】【可算名詞】
さえずり(声).

そういう事なんですよ。ピーチクパーチクです。

英語圏の連中は概ねこのとおりに使ってるはずです。
英語圏の人が、Tweetの意味が判らん、ってナイでしょ?

で、どうやら、twitter.comは日本進出にあたり「つぶやき」に「誤変換」してしまった。
恐らく適切な日本語訳は、「便所の落書き」です。でもそうする訳にいきません。第一、株主になんて言い訳すればいいんだ?

このお陰で、恥ずかしい日本人が続出です。

一番の問題は、「愚痴でも書いてりゃいい」と思ってるところ。
そして、その証拠が消えてなくなると思ってるかもしれないところ。

いや、無理よ。だってガリガリ検索できるもん。

http://twitter.com/akzic/status/243460380553252864

http://twitter.com/newyuri2chan/status/285269559185924096 お?慌てて消したね
無理よ、アナタの迂闊な発言はネットの中に「永遠」に残る。
http://whyareyouwanazawasan.tumblr.com/post/39196491610

https://twitter.com/hanepie/status/310008943541907456

これを眺めて、リツイートしてるうちはいい。しかしアナタがされる方になったらもう駄目よ。
「拡散してください」というまでもなく拡散してくれるから、安心していい。晒され放題だ。


http://togetter.com/li/317846

http://togetter.com/li/350899

http://togetter.com/li/120406

http://togetter.com/t/%E5%A4%8F%E7%9B%AE%E4%B8%80%E4%BA%BA

芸能人がうかつなことを言っちゃう場合も後を断ちませんが、これこそがツイッターの本質を示してると言えるでしょう。

http://matome.naver.jp/odai/2128272444279636201/2128279314880295403

http://matome.naver.jp/odai/2128272444279636201/2128278809280081503

http://matome.naver.jp/odai/2128272444279636201/2128278408379973703

http://matome.naver.jp/odai/2128272444279636201/2128279867980453403

誤解を恐れずに言うなら、「ツイッター」とは「生放送中にマイクを向けられた」と思えばいい。アナタの迂闊な発言は、地球上に撒き散らされ、あまつさえ録画している場合もある。コウダクミっていう小娘の例もあるでしょ?

謝罪ツイートもやればいいってものでもない。それを「拡散してくれる」とは限りません。

ちなみに
http://matome.naver.jp/odai/2128272444279636201/2128279498080400003
これ自体の発言をツイッターで「囀る」のもどうかと思うが、発言自体は極めて正当なものです。これでネットを敵に回したとか、案の定「器が小さい」じゃねえかって言われかねません。

2013年1月5日土曜日

2段以上のifを書いたら負け ( ウンコード )

ウンコ確定のコードを勝手にレビューして、勝ったつもりになる企画です。

しかし、ウンコはPHPが多いかと思ったけど、Javaも多いんだなー。
これで、「オレJavaプログラマだから単価高いぜー」とか粋がってる奴が多いんだよな。※主に2chだが

http://unkode-mania.net/view/50a1018a61fd523468000000
これは、完全に「真偽値を返す」が目的になってしまったケース。
小生の数少ないサンプリングでは、16bitの時代からやってる人は、checkって付けたがる。
そして、コメントも「○○をチェックする」とか書いちゃうんですよね。
「真偽値を返す」は手段であって、目的ではありません。

http://unkode-mania.net/view/503cf8bd81ce286163000001
かなりベテランでもこういう多段ifを書く人はいますね。
なんか、「大雑把なエラーケースは、大雑把なifで最初に括りたい」という俺ルールがあるらしい。
それ自体は判らんでもないが。

ただし、これをうまく折りたたむのはかなりコツが要ります。
正直、免許皆伝レベルでしょう。
それが出来る人なら、大抵の要件で、大概美しく書けることでしょう。

小生、「2段以上のifを書いたら負け」っていう独りルールを課して仕事してます。
え、だって、同じ条件式が何度も出てくるって、恥ずかしいでしょう?

出稼ぎ先の皆さんにも課してしまいたい。正直。

http://unkode-mania.net/view/5035b6194525595031000024
これも目的と手段が逆転してるタイプ。
「3日だから」という「手段」しか頭にない。
もしくはネーミングセンスが壊滅的な人。
多分UtilとかMiscとかvalueとかやるに違いない。
「「3日」が何なのか」を変数名にするべき。

http://unkode-mania.net/view/5033834e57c8e41736000004
これはどっちかというと、delete()が失敗した時に、例外を吐くべき。
Javaのお作法なら、そっちのほうが正当だと思うのだが。

http://unkode-mania.net/view/50326320383b806b09000000
怖!

http://unkode-mania.net/view/5060461ea753b5a970000000
一個の関数に処理を全部ねじ込んで、mode=1 とかやりたがる人は結構居ますね。
「処理の違いが、数行だけなんです」というなら、判る。それでも辞めて欲しいけど。

明らかに「複数系統の処理が同居」しちゃってるのは、「カプセル化」が判ってない。
「カプセル化」ってのは、オブジェクト指向云々の話ではありません。処理の粒度の話ね。
えてして、こういうコーディングする人は、非常に改造しにくい実装をやらかすので
仕様変更の毎にゴネます。

Tumblr類似サービス? visualize.us

Tumblr類似サービスを探しては居ます、というか、フォロー先の誰かさんが使っていたのを見つけただけですが。

http://vi.sualize.us/

画像専用のブックマーク、と銘打ってますね。画像そのものは一応「引用」してくれては居るようで、TumblrのPhotoに近い運用ができそうです。

2013年1月4日金曜日

ウンココードというらしい

なんでこんなサイト見つけたんだっけ。ああ、「staticおじさん」で検索したらか。

http://unkode-mania.net/view/5017de366ce2e89241000005
http://unkode-mania.net/view/501908d27e19b43a0700000e
なんちゃらutilって名前つけるプログラムは大抵駄目だよね。
何に使うか自分で決定できない。必然、カプセル化失敗。
こういう人がPHPに移ると、幸せになってしまう可能性があります。要注意。

http://unkode-mania.net/view/5017c16b88f62a4864000000
ネーミング自体は悪くないと思う。むしろ賛成。
ただし、TakeCareAboutEscapeToAvoidSQLInjectionするなら、Stringを生で渡すんじゃなくて、new EscapeToAvoidSQLInjection()とかするべきだよね。

http://unkode-mania.net/view/509db1a961fd528e20000009
怖!

http://unkode-mania.net/view/504453931095000c1c000000
初級者に非常に多い。「似たような処理」という認識ができてない。
故に、「似たような処理を集約する」ことが出来ない。
コピペ天国。こういう実装をする人は成長しません。

http://unkode-mania.net/view/50ac2309de7cf25e79000008
http://unkode-mania.net/view/5040f47b9b6066a52e000003
こういう、処理の遷移状態で、解放処理が増減するような場合、結構コツが要ります。
結構なベテランでも、平気でこういう実装をやらかす場合が多いようです。

http://unkode-mania.net/view/50323348383b809649000000

http://unkode-mania.net/view/509b3f94c2a4d15548000001
これはどっちかというと、「パンくずリスト」と訳した人が悪い。
小生も「パンくずリスト」という呼称は嫌いです。
なぜって、一般的実装は「住所」であって「道順」ではないから。ヘンゼルに謝れ。
そう思ってる人は他にもいるらしく、トピックパスとか言うらしい。こっちのが正しいです。

http://unkode-mania.net/view/5030ffd7383b80451c00000a
こういう実装をするひとは、PHPに移ると幸せだろうな。

http://unkode-mania.net/view/50338f6957c8e49774000008
まるで悪いわけでもありません。それぞれ1回しか呼ばない可能性がありますから。
もちろん、DBをsingletonにしたほうが、玄人受けは良いでしょう。

2013年1月3日木曜日

ワンピースとかテニプリとかって要するにミュージカル漫画だと思えばいいのね

ワンピースは大分前に、読まない宣言して、概ねその通りです。昨今の章はおもしろそうには見えますが、やってることが、なんちゃら監獄の地下編と大差ない。

一方、テニスの王子様は、ジャンプSQに連載してるので、視界の端をカスることはままあります。相変わらず何をやってるのか解らん。っていうかテニスじゃなくていいよねこれ。ハンドボールでもいいよね。

この2作で何となくピンと来たのですが、共通点「(腐)女子に人気」。

前者はそうだと思ってませんでしたが、検索してみたら2chに書いてありました。それっぽいことが。2chなんか信じてませんよ。いやだなーもう。
http://www.logsoku.com/r/wcomic/1299558250/


で後者のテニスの王子様のミュージカルがやる、って言うので、どうするのかと興味はありましたが、本編に全く興味がない上に、男性アイドルにも更に用がない。要するにオンナノコ向けコンテンツなのね。
http://www.tennimu.com/
とりあえず、講演の有様の画像はないか、と探してみると。
http://ticket-news.pia.jp/pia/news_image.do?newsCd=201207170005&imageCd=0



http://news.music.biglobe.ne.jp/201112/article_44.html

あ、「全然テニスしてねーじゃん」感は、原作ソックリですよ。
ラリーなんか誰もしてねえから、テニスコートも要らないわけですよ。なんてミュージカル向きな。
と思ったら、テニスコートあるよ。



うーん、絶対コレ、実体ボールは打たないよね。脳内補完ですよね。


そして、ミュージカル的演出の第1人者は、聖戦士星矢ですね。
http://www.musical-seiya.com/
って、冗談のつもりで言ったら実在した。



殴ってるオレと、殴られてる吹っ飛んでるアイツがいれば、演出が成り立つわけです。本当に攻撃が当たったかどうかなんてカンケーねえ。漫画だとどうかと思うけど、ミュージカルならおk。ってこれも腐女子コンテンツじゃねえか。


よく解らないけど、腐|女子向けコンテンツは、ミュージカルになってしまう。というお約束もしくはオトナの事情があるらしい。

しかして、ワンピースも、ミュージカル的演出だと思えばそんなに悪くもない。よくもないが。だって、大抵のコマで高らかに謳ってるじゃありませんか。

mercurial のサブリポジトリをgitにしてブランチ貼りまくるとトラブる(?)

うーん、この運用は駄目だな。

小生、個人的に作ってるスクリプト群が幾つかあり、それらは総て基本mercurialで保管しています。まあ当然ですね。小生はmercurial押しです。

そのうち、やや自信作のものをgist/githubに貼り直して、subrepoにしたりしてます。全体ではないです。pythonでいうと、パッケージ単位。__init__.pyのある単位ですね。

前者の個人的スクリプト本体は、試行錯誤を繰り返してそのままcommit忘れ、がよくあるので、cronで勝手にブランチ貼って、勝手にcommitするような運用にしてます。いやこれなかなか便利ですよ。
https://gist.github.com/3065657#file-repositorysafe-sh

この「勝手にブランチ」は、本質的には「作りかけ」です。故に、小生の気がすんだらdefaultにマージするのが前提です。
マージも、対default専用のを作りました。
https://gist.github.com/3065657#file-mergebranch-sh

gitのサブリポジトリも、ブランチやらマージやらは、ちゃんと掛かってる様でした。

そんな事を続けていたある日、事件はpushしようとした時に起こりました。

cannot push revision 0aa01b55dba9603009f5b0426fa284dfe714ea19

結論から言うと、こいつは、mercurialは「有るはず」と言ってるチェンジセットが、gitサブリポジトリに無くなってると、こうなるようです。事実、gitリポジトリ単体のpush/pullは成功します。

小生の嫌いなアレ、「gitは、参照してないチェンジセットをガベージコレクションにて、抹消する」
これですよ。喰らいましたよ。

コイツのお陰で、このリポジトリは、誰にもどこにもclone/pushできない奴になってしまったではありませんか。勝手に消して、トボけるとか、酷くね?>git

とは言え、よくよく調べてみると、小生のgit resetの使い方が間違ってたらしい。
http://d.hatena.ne.jp/murank/20110327/1301224770
revertのつもりで使ってたけど違うのね。危なくね?

こりゃ、git初心者はハマるなあ。とてもじゃないが、仕事じゃ使えない。
おっと、厳密に言いましょう。中級者以上を要求するツールは、仕事には使えません。

  • mercurial同士なら平和
  • git同士もおそらく平和
  • mercurial親、git子がハマる
  • git親、mercurial子はおそらく平和
    • ただし、前述の通り、親リポジトリの操作でハマる可能性が出てくる

何度も書いてるけど、gitは概念が高度過ぎる。流石linusの設計とでも言いましょうか。
resetとかの語彙も、微妙に違うんだよなー。

結局、本来の問題の「clone/push出来ない件」は、ブランチ指定cloneで回避しました。無くなってるチェンジセットは、前述のスクリプトが自動的に貼るものの筈で、大前提で、既にマージ済みの筈だから。

2013年1月1日火曜日

tri- G 覚醒装備ったらネブラXしかないので

グロンドギガは何となく出来てしまったので、覚醒装備って言ったらネブラXしか持ってません。火耐性-25って駄目じゃねコレ?しかも匠が足りないので、青ゲージ据え置き。

とりあえず担いで行ってみました。例によってグランミオラス。

  • 結論から言うと失敗しましたが、
    • わずか0分針で、尻を壊せたのには吹いた。
    • しかしその後が問題で、
    • 今回のミオラスさんは、威嚇溜めをやってくれないので、大転倒を狙う機会が激減
      • ってアレ、尻を早々と壊しすぎたせい??
    • 海中では、気持ちよく肩を壊すぜー、と思っていたら
      • 溶岩弾3発くらって1乙
    • そのまま20分ぐらい粘る
    • 多分、瀕死になっていたと思うんだけど。
      • 匠ナシなので、青ゲージなので、最初からアチコチ弾かれまくり。リズム悪。
    • って言うか、溶岩弾だけで負けました。
色々検索してみると、覚醒+匠装備ってやつは、軒並み火耐性が低いらしい。http://mh3weblog.blog88.fc2.com/blog-entry-4324.html
だめだこりゃ、小生の今の実力では諦めるしかなさそう。

ただ、グランミオラスは、攻撃のローテーションが早いので、ジェンモーランより退屈感が少ないですね。

PIXIVのbigモードがchromeで開かなかった。のだが。

Pixiv見てます。日本人の「2次元業界の奥深さ」に感心するとともに、リブログしまくり。ああ、心配は要りません。パスワード掛けてる個人コレクションなので。

悩んでいるのが、mode=mediumの時に、画像をクリックしても、大きくならないのです。

結論から言うと、Referrer保護系のエクステンション入れてると駄目ですね。設定次第ではありますが。

ページのリクエストを受けるときに、mode=mediumから飛んできたかどうか常にチェックして、さもないとmode=mediumに飛び直します。これはpixivのサーバがやっちゃうので、サーバの都合に合わせるしか手がありません。

最初は、Refererで嘘を送ろうかと思っていたのですが、検索した時に、幾つかインストール済みのもありまして、あれ、後者はまだしも、前者は入れてたっけ???


Referer Control https://chrome.google.com/webstore/detail/referer-control/hnkcfpcejkafcihlgbojoidoihckciin

Refererで嘘を付く系。Pixiv mode=bigの場合。パターンマッチしてる模様。なので絶対無理っぽい。


ScriptSafe https://chrome.google.com/webstore/detail/scriptsafe/oiigbmnaadbkfbmpbfijlflahbdbdgdf

本来はJavascriptのロード&実行に介入するツールで、欝都惜しいバナー広告を止めるのに便利ですが、Referrer制御も内蔵してるっぽい。これは設定次第で解消できます。Referrer Spoof とかイカにもな設定。




Refererを加工するエクステンションのうち、小生が入れてるのは以上の2件。これらをOFF/適切に設定してようやく、bigを見ることが出来ました。

って元旦から何やってんだオレ。