中屋と猫

PHPHTMLJavaScript でクジのシステムを作ったと以前書いた。それをパトスロのスロット画面みたいに派手にできないかなぁと何となく思っていて、After Effect でパーティクルのアニメーション部分だけ吐き出せないかなぁとやってみたら、できた。

これが一枚一枚の PNG になったので、こいつを使えばいくらでも画面が派手に出来るなぁと。

本番では使わなかったけど、将来的には星を飛ばしたり、ハートマークがいっぱい出てふわーっと浮き上がったり、打ち上げ花火みたいにしたりとか出来るといいなぁと思いつつ……ただ、Javascript で動かすので重そうだけど。

そして今日は中屋に行った。つけうどんに天ぷら三つ。うどんは 500g だったかなぁ?
お腹いっぱいになりました。そして猫の写真は、銀杏岡八幡神社の横でひなたぼっこしているこの界隈では名物猫。

まだまだ Adobe だけでは完結できない

とある仕事で動画に BGM をつけるっていうのをやってるんだけど、音が絡むと Adobe だけでは完結できないなぁって話。

今回の仕事でメインで使っているツールは Premiere だ。尺が 2 時間もあるのでそもそもチェックが面倒くさいのだが、まぁシーンに合わせて BGM を当てていくんだけどもちろん画像とピッタリに作られているわけではないので、 BGM を切ったりつなげたりしていく。
BGM の方が長い場合は、BGM の盛り上がりとかを映像の盛り上がりにシンクロするように合わせてその前後を切ればいいのでそんなに大変じゃない。どっちかっていうとシーンより BGM が短いときがめんどうくさい。と言うのも、今回のはゲームではないので、BGM データはループなど考慮されていない。曲全体を聞いてどこでループさせると違和感がないかを見つけ、そこで BGM を切ってつなげていくという作業になる。

また他にも面倒くさいのは、展開が速いシーンのあとブツッと次のシーンに一瞬で切り替えるときとか。ブツッと切れたのを感じさせないように最後リバーブ(残響音)を残して曲を切るとかやる。いきなりリバーブをかけるとおかしいので、最後の数秒前からだんだんかけたりする。

あとはシーンに合わせてリバーブ・エコーフランジャーLo-Fi などをかけたりする。

これらの機能は Premiere にもついてるんだけど、やっぱり色んなことしようとすると機能がぜんぜん足りない。で、Adobe には Audition っていう音周りの総合的なソフトウェアがあるんだけど、これでもやっぱり足りなかった。
たとえば上で出てきた残響音を残して曲をブツッと切りたい場合、曲はブツッと切れてるんだけど、残響音は「わんわんわんわんわん………」と最後の音がしばらく続かなければならない。ところが Premiere や Audition だと曲がブツッと切れた場所で残響音も切ってしまう(笑)。
他にも残響音はそのままに曲だけフェードアウトなんてことをしたくても、残響音ごとフェードアウトしてしまう(汗)。

結局 Sound Forge のお世話にならざるを得ないという……。

Adobe 以外のアプリを使うのがめんどうくさいのは、Audition だと Premiere から呼び出せて、Audition で編集したファイルは自動的に Premiere に取り込まれる。いちいち Audition でファイルを保存し、Premiere にその保存したファイルをドラッグ&ドロップするとかそういうことはしなくて済むのだ。
Sound Forge で編集してしまうとそもそもそのファイルは Premiere が開いているので Sound Forge が「このファイル書き込めないんだけど?」ってエラーを出してくるし、別名で保存してその保存したデータを今度は Premiere に持って来なくちゃいけないし、別ファイルになっちゃったから位置合わせもやり直しだし……あー、もう! ってなる。

まー、Adobe は映像の会社なので音周りがショボイのは仕方がないか……。

WB-BT300 とか PHP とか VPN とか

Twitter から拾った、コンピュータ関係の話。

iPhone の音を PC の音とミックスして出したくて、使っていなかった Bluetooth レシーバを引っ張り出してきた。Onkyo の WB-BT300 という機械だ。コイツはなにをする機械かというと、iPhone など Bluetooth 対応機からは音響装置に見え、WB-BT300 に対して音声を飛ばしてくれる。WB-BT300 は iPhone からきた音声を、デジタル信号かアナログ音声信号に変換して出力してくれるのだ。

で、会社の開発機には TEAC の US-366 というミキサー兼 USB 音源があるのでそいつと接続すると、PC からの音と iPhone からの音をミキシング(混ぜて)出せるようになるのですな。ちなみに US-366 と WB-BT300 は光デジタルケーブルで接続。

ところが、iPhone からの音しか出ない!! なんだこれ??

原因は WB-BT300 のデジタル フォーマットがサンプリング周波数 192kHz、量子化ビット数が 24bit のせい。このフォーマットは統一しておかなければならないのだが、たかが Bluetooth の音声受信装置でなんでこんな高い設定なんだwww
ちなみに CD はサンプリング周波数が 44.1kHz、量子化ビット数が 16 ビットだ。CD よりも音が悪いクセにデータ量は CD の 6.5 倍もあるwww

仕方がないので PC 側の出力も 192kHz の 24bit に設定した。こうすることによって無事 PC と iPhone の音が同時に出るようになった。

某絵描きから、イベントの福引きみたいなクジをデジタル化できないかという依頼があり、ごりごりと PHP と HTML と Javascript で作った。今流行の HTML5 というヤツだ(ぁ
中身はすぐに出来た。そりゃまぁ、そうか。クジ振るだけだから、出た乱数が何等賞なのかに変換して表示するだけである。

問題は管理画面である。単純にクジ、と言っても誰でも彼でもアクセスしてクジが引けるというワケにはいかない。以下の様な機能が入っている。

  • ユーザ登録して、ユーザ登録した人がクジを作れる
  • クジはいくつでも作れる
  • それぞれのクジには 1 ~ 10 等賞まで設定でき、さらに残念賞、参加賞が設定できる。そしてそれぞれの賞及びはずれがいくつあるのか設定するようになっている。
  • QR コードの表示
  • クジを引く画面を Javascript でアニメーションさせる。
  • 何等賞が出て、残り何の賞がどれくらい残っているかリアルタイムで監視する、モニター

使い方はユーザ(主催者)がクジを作ったら、そのクジを iPad などの端末で表示し、お客さんがそれをタップしてクジを引くというものだ。
さらに QR コードを吐いて、それをお客さんが撮影してクジを引くという機能もつけた。この場合、ちゃんと一回しかクジは引けないようになってるのだが、残念ながら Javascript では機種固有の識別番号を取得できないので、cookie になってしまった。そのため、cookie を消去すれば何度でもクジは引けてしまう。

ツイートでの愚痴は、HTML というかサーバのプログラムは一回一回が初めてのアクセスになるというか、仕組み上、同じ人が何度アクセスしようが、サーバ側は初めての人が初めてアクセスしたことにしかならない。
今アクセスしに来た人が前の○○という場所にアクセスしに来て、今のアクセスはそれの続きであるということは実は認識できないのだ。それを実現するために、cookie やらセッションやらっていう仕組みがあるのだが、とにかく一回一回のアクセスがすべて関連を持たせられないので、渡す数値だのなんだのも全部もらい直さないといけないので、プログラミングがすげーめんどくさいっていう話。

これが普通のプログラムだったら、さっききたアクセスは変数に残ってるし、その変数を参照して関数を呼び出せば済むんだけど、PHP だとアクセスが来るたびにプログラムは先頭から実行されてしまうのだ。

あと処理は PHP なんだけど、それを表示するのは HTML なのね。組み方としては PHP が処理の結果に応じて HTML を吐き出してるワケなんだけど、そうなるとプログラム ソースの中に PHP と HTML が混在してけっこう美しくない結果に……。今回は仕様書も何もないままテキトーに作り始めてしまったので分離されてないのだけど、予定してたより大きなプログラム(PHP 部分で 2000 行程度、Javascript が 500 行程度)になってしまったので、今後は気をつけたい(汗


(MP4 / 750×1334 / 25fps / 1’05” / 126MB / iPhone)

amatsukami.jp サーバの様々なサービスは、色々がんばって外に出してるんだけど、それでもやっぱり一部の機能は VPN を張らないと使えない。そのたびに端末(iPhone など)から VPN を張ってるんだけど、けっこうめんどくさい。
モバイル WiFi ルータに VPN を張る機能があれば、端末でいちいち張らなくても済むのになぁ……。

思ったほど妹は兄に恋してない

エロゲでさ、いや、エロゲに限らないんだけど、様々な創作物で兄と妹の恋愛を取り扱った作品が多いけど、基本的に男性向けだ。考えてみると女性向けでないよなーってことに気づいた。コレの意味するところは、男は妹ラヴだけど女は兄なんでどうでもいいってことなんだな。

つまり現実では妹とくっつくなんてことは、とても希で滅多にあり得ない。

悲しいねぇ(ぁ

ところが、一筋の光明が。

いちおう女性向けでもそういうジャンルはあるらしい。過保護兄・病んでる兄かー。
男性向けだとどうなんだろう。過保護兄は男性向けでも行けそう。ただ、女性が思う過保護と、男性が思う過保護は違うのかもしれない。病んでる方はボクの経験だとあれだ、執拗に独占しちゃうやつ? で、妹を閉じ込めてどこにも出さない的な、そういうのを想像しちゃうけど、病んでるは選択肢が多すぎて色々だなー。

チャットの使い方

最近、色んなプロジェクトで ChatWork を使うことが多くなった。
ボク個人的には「何コレ?」って感じのサービスなんだけど、要はグループ チャット システムである。プロジェクトの情報共有に使われているようだ。Redmine じゃダメなのん? と思うのだが、Redmine では即時性が足りない(んだと思う)。Chatwork はチャットというだけあってリアルタイム性がある程度付いてくる。とはいえ、「これからチャットするからルームに入ってー」とアナウンスするわけではないので、完全なリアルタイムではなく、用件がある人が書きっぱなしになってしまう。

でね、チャットなので当然、書き込まれた内容はどんどん流れて行ってしまう。
とはいえチャットとはそういうものだ。なので情報共有のためにはチャットを通して決まったことや報告した内容はどこかにまとめて置く必要がある。そのままチャットに置いたままでは、あとから「あの件はどう決まったんだっけ?」と確認するのは大変だからだ。

ところが、プロジェクト メンバーは平気でチャットに書いたままにしておく。
おかげで、○○の件って△△でよかったんでしたっけ? とか聞かれても、知らねーよってなるwww
もちろん知らねーよでは済まされないので、チャットの履歴を遡って検索することになる。

ChatWork には「タスク」というものがあって、話題を切り取っておくことが出来る。ただこれも「タスク」という名前が表すとおり、話題の中で「いついつまでに○○しときましょう」みたいなのを切り取って、それが終わったらそのタスクを消すみたいなことをするためのものなので、いつまでも置いておくとか別スレッドにするとかそういうことは出来ない。
また、「ああこの情報は大事だな」と気づけばそうやってタスク化できるが、向こうが報告してきてボクにとって重要だかどうだかも解らないような情報はボク自身がスルーしてしまう。そういう情報をあとから「あの件って……」と言われたら、結局、チャットの履歴を遡ることに変わりは無い。

どうすればいいか?
話題ごとにチャット ルームを作ればよいのだが、ChatWrok は向いていない。チャットだからダラダラと喋ってしまうし、余計な情報も多くなる。さらに子チャットなどを作る機能もない。
なので、別途掲示板みたいなものがあるとイイと思っている。とにかく話題ごとに切り分けられて、その情報をすぐに見られるようにすればいいのだ。まぁ、切り分けられたスレッドがたくさんできちゃうんじゃないかって言われるかもしれないが、チャットだと検索するにしても、長いチャットのやりとりの中を検索して遡っていく必要があるが、話題ごとになっていればタイトルの検索だけですむことが多いはずだ(ただこれは使う人たちのセンスにもよるが)。

などと長々と書いたが、要するにツールにはそれぞれ長所短所があるんだから何でもかんでも一つのツールで済ませようとするなって話。過去決まったことは、どっか解りやすいところに書いとけよ、っていう。

同じようなことは Redmne や Excel にも言える。本来と異なる使い方をしている企業や人はたくさんいる。

下の写真は餃子市西所沢店のもの。深夜までやってて味もしっかりしてて出てくるのも早くて駐車場もあって、ボクみたいな人間のために有るんじゃないかって言うぐらい気に入っているお店である。

罵られる CD

Twitter から拾った、くっだらねー話。

まぁツイートの通りなんだけど、さらには罵られる方(聞き手)の状況も色々あると思うんだよね。駄兄、駄弟、ニート、お父さん、おっさん、サラリーマン、ヒモなど。ってなると CD(80 min)じゃなくてもう MP3 で配信するしかないよね。

罵ると言っても、女の子側にも「愛」はないとダメだと思ってはいるんだけど、世の中ガチに罵られているのが好きな人もいるので、このさじ加減はなかなか難しい。でも基本的な展開はたとえば妹編だったら兄のことをキモいだのフケツだのいろいろ罵るものの、最終的に兄に陥落されてクパァって考えてるんだけど、罵りだけで終わった方がいいのかなぁ?

いわゆる上で言うところの基本的な展開で風紀委員長バージョンは、風紀を乱した主人公クンを罵りまくるんだけど、主人公に「それって気にしすぎじゃね? 委員長っていつもそんなことばっかり考えてるんだ?」って突っ込まれて動揺→逆ギレして見せるもさらに突っ込まれて狼狽→さらにもっとエロいことを考えてるんだろと主人公に責められ→クパァっていう。

売れるのかどうかは知らんが<ヲイ

どうやって遊ぶのかをちゃんと説明する

最近はすっかりショーシャルゲームの仕事ばっかりなんだけど、そんな中ふと思いついたこと。

ボクは基本プレイ無料ってのが大嫌いで、そもそもお金がかかってるものを無料で配布するのはおかしいし、お金を払っているプレイヤーだけに依存するのもおかしいとは思うものの、世間の答はそうではない。実際にガチャを搭載したゲームの方がパッケージゲームより遙かに多くの利益をゲーム会社にもたらしている。

しかしその儲けの主軸となっている「ガチャ」は確実にギャンブルだし、自制を持ってやめられるような仕組みではなくなっている。

また、この手のゲームの場合、金を全く払わずに遊ぶプレイヤーも重要だ。というのもソーシャルなのでそのゲームにたくさんの人がアクセスしていて貰わないとゲームが成り立たないからだ。だから無料ゲームの場合、全くお金を払わないプレイヤーも実はお客様なのだ。

そこで考えたのが、デバッグ会社などに協力してもらって予めサクラを用意しておくというものだ。と言ってもそれはそのゲームが盛り上がっていることを演出するためのサクラではなく、そのゲームの遊び方や面白いポイントを布教し、お金をどこで落とすべきかと言った所までうまくユーザを導くのが役目だ。
またフレンドなどにも積極的になってくれ、プレイヤーが気持ちよくゲームをプレイできるようにお膳立てもする。こうすることによって、ガチャだけに頼らない、様々なゲーム性・システム・アイテムにお金を出して貰うように、それでいて依存症にならずにその人の収入に見合った適度なゲーム プレイが出来るようにするわけだ。

さらにそれがうまく言ったら、プレイヤーの中でもモラルの高い人、上級者などに新規プレイヤーを任せられるようにする。つまり選ばれた一部のプレイヤーに、ゲーム管理者的な機能を渡してしまうのだ。その管理者的な機能は「ゲーム的な機能」でもある。
より優位なプレイヤーになれると同時にゲーム開発者でしかいじれなかった部分もある程度干渉できるようになる(例えば初心者のためにアイテムを増やしてあげたり、クエストのフラグを調整したり自らのキャラが助けたり、そもそもクエストを創出したりなど)。

こうすることによって、いつかはマンネリになってしまうゲーム上級者に新たな刺激と課題を与えることが出来るのだ。

そんなに悪くない考えだと思うんだけど、どうかなぁ。

今日、打ち合わせで三田に行ったんだけど、その帰りに乗った電車が「エアポート快速」というヤツなのね。この快速は地下鉄のクセになんと飛ばす駅があるのだ。地下鉄部分ってだいたい各停っていう固定観念があったので、何も考えずに乗ってしまったのだけど、このエアポート快速は浅草橋駅は通過するという。

仕方がないのでその前の駅の東日本橋で降りたんだけど、次の電車も快速らしい。マジで? じゃぁ次の快速も乗れないじゃん! って思ったら、こっちの快速は浅草橋に止まるらしい(というか地下鉄線内各停)。
都営浅草線はけっこう色んな電車が入っていて、神奈川にも千葉にも行けるので、よう解らん。