こんにちは!Tokyo Otaku Modeのメディアチームでインターンをしている小田です。
先日、社内で行われた第1回TOM One グランプリについて話していこうと思います。
Tokyo Otaku Modeでは2022年1月現在、社員の多くが完全フルリモートで業務しています。現在の世の中の環境に合わせつつ、より効率化を図ることで、働き方の環境としてはよくなったそうですが、他方で雑談の機会が減ったという声も聞こえていました。もちろん社内ツールのチャットでコミュニケーションするものの、仕事に関係のない自分の趣味などを共有し合うということは、なかなか難しいわけで・・・。
さて、Tokyo Otaku Modeの社員はその社名の通り、なにかのオタクであることが多く、好きなことに関わりたい!よくしたい!生み出したい!という思いがきっかけになってジョインした人がほとんどです。みんななにかのオタクという環境・・・これをコミュニケーションに活かせないのはもったいない!
というわけで、「自分の推しコンテンツについて知ってほしい!」「仲間がどんなことに興味を持ってるのか聞きたい!」という社内コミュニケーションを実現するために、自分の好きなコンテンツについて熱く語るライトニングトーク大会「TOM One グランプリ」が開催されるに至ったのでした。尚、本企画でのライトニングトークとは5分間に内容を凝縮して話すプレゼン形式のことを指します。
それではさっそくルールをかんたんに説明させていただきます。
言い忘れましたが、オンラインでのイベントになるので、
発表者も観客も、リモートでの参加となります。
我こそはと募集に応えたのは6名のTOMスタッフたち。いずれもクセつよ・・・ゲフンゲフン、推しコンテンツに愛を注ぐ、誇りある猛者どもです。それぞれの発表の推しパワーを伝えるには技術も文字数も足りませんが、僕の小並感あふれる感想も交えながら、ご紹介したいと思います。
トップバッターの佐藤さんはRTA in Japanというゲームイベントについてのプレゼンをされました。
RTAとはリアルタイムアタックの略で、ゲームを最初からスタートし、ゲームクリアまでの実時間を競い合う大会とのことだそう。僕はこんな世界があることを初めて知りました。特にクリア速度を上げるためにバグ技を駆使するあたりが、なんかもう「人の好きって(狂ってて)スゲェ・・・」と初っ端から学びと畏れがあったプレゼンでした。YouTubeでも大会のアーカイブを視聴できるとのことで、見てみたいと思います。余談ですが、佐藤さん、めちゃめちゃ声がよくて、アナウンサーみたいだと思いました。
続いて登場したUTさんはアニメ界の推し作曲家について語ってくれました。
アニメの音楽と言えば主題歌などのアニソンが想起されやすいですが、作中のシーンを盛り上げる音楽もヘビロテしたい神曲が多いとのこと。いくつかのアニメ作品の作中に使われた曲を流しながら、それぞれの作曲家さんの魅力を解説いただきました。お仕事中にも思うのですが、UTさんの発表は、前説でつかんでから主題に入っていく流れがすばらしく、今回も「そもそも推しとは」という導入からの流れが冴え渡っていました。「もののけ姫の曲を屋久島で聴くと魅力200%増し」、僕もいつか体験したいです。
次は滝沢さんの番です!滝沢さんはイタリアのご出身なのですが、自他ともに認める立派なジャニーズオタクでその歴は16年だそう!好きのちからって国境を軽く超えるんですね。すごい!(世界中からオタクが集うこの会社もすごい)。
発表を見て知ったのは、ジャニーズって人気グループからジュニアまで、思ってたよりたくさんのグループがあるということ。滝沢さんが各グループを紹介するときのお手製キャッチコピーがすばらしく、5分という短い時間でその魅力と滝沢さんのジャニーズ愛が伝わる、お手本のような発表でした。特に「セクシーサンキュー!」で締められたのは流石でした!
続いて、HGNさんからプラモデルについての発表です。HGNさんは社内でも有名なガンダムオタクで、過去にはガンダムについての社内研修イベントやガンプラ勉強会を主催されたほどなのですが、この日の発表は「プラモデル」というジャンル全体についてのもの。
「難しいんでしょ?」といったプラモデルに対しての懸念をひとつずつ解消し、プラモデルの楽しさを様々な角度からプレゼンされました。特に「組立説明書に載っているのは正解のひとつで、楽しみ方は自由なんだ!」という力強い言葉にはシビレましたね。
後日、HGNさんのガンプラコレクションを見せていただいたのですが、確かにその自由さはオシャレでカッコよかったです!
大トリは竹森さん、音ゲーについての発表でした。
竹森さんは通算約12年を音ゲーに捧げてきたそうなのですが、ここまでのみなさんの発表で、もう驚かなくなってきた自分に少し驚いています。
音ゲーとは、音楽やリズムに合わせてプレイし、より高いスコア、つまり完璧な演奏を目指すゲームの総称です。最近ではスマホゲームでも多数遊べるのですが、竹森さんのオススメはゲームセンターでのプレイ。知ってる曲でプレイしたい人向け、ちょっと違った操作感を求める人向け、演奏してる感を楽しみたい人向けなどなど、ゲームセンターで様々に進化してきた音ゲーを紹介してくれましたが、魅力を優しく伝える中に、本気で沼に引きずり込もうする気迫が垣間見えました。
スマホゲームとゲームセンターの筐体では音の臨場感が全然違うそうなので、今度おすすめの機種を体験しにゲームセンターに足を運んでみたいです。
あれ?ここまで5名・・・参加者は6名じゃ?
と思ったあなた、するどいですね。
実は僕も出場していました。
インターンを始めて数ヶ月経ちますが、リモートワークの関係で、実際にスタッフの人とお会いしたことがなかった僕は(まったくすごい時代ですね)、積極的にイベント参加して交流を深めたいと思い、出場を決意したのでした。
何について話そうかいろいろ悩みましたが、僕の大好きな番組である『水曜どうでしょう』をテーマに勝負に挑みました。
実際に発表資料を準備する段階になって、「大好きでいつも見ているのに、相手に魅力を伝えようとするとなんと言葉にしていいかわからない」というようなモヤモヤがありました。ライトニングトークのプレゼンってほんと難しいんですね・・・。番組を知らない人のために概要を伝え、さらに発表のメインである魅力を解説し、さらにさらにそれを5分で収めないといけないなんて!
結果、毎回出演者たちがボロボロになっているということを繰り返し伝え過ぎた発表となりました。人前で発表することは得意ではありませんでしたが、みなさんの優しい雰囲気やコメントのおかげで、だいぶリラックスして話すことができたと思います。
6名の発表が終わり、観客による投票に入りました。
そして待つこと数分…ついに優勝者の発表の時がきました。
第1回TOM One グランプリの優勝者は、
「ゲームプレイヤーのオリンピック RTA in JAPANの魅力」を発表した佐藤さんでした!おめでとうございます!!!
一風変わった「RTA」という遊びを楽しむ人たちのコミュニティの魅力が伝わってくるすばらしい発表でした!ちょうど発表があった日の週末に、この「RTA in JAPAN Winter 2021」が開催されることがプレゼンの最後に明かされるという見事なギミックもあり、静かな「ぜったい見てね」圧を掛けてこられたのも、強い推し愛を感じさせるプレゼンとして支持された理由のひとつかと思います。
もちろん他の方々の発表もとても魅力的で、何より全員が好きなことへの愛で溢れていました。普段なかなか話すことがない、仲間の推しについて知れる貴重なイベントになったと思います。
僕自身も『水曜どうでしょう』について話したことがきっかけで、後日あったオンライン飲み会での話題にもなるなど、社内での交流の輪が広がり、お互いをより知ることにつながりました。好きなことに関わりながら仕事をするだけではなく、共通の趣味について楽しく話せる職場は、とても居心地良く感じました。
もし、これを読んでいただいた皆さんの会社でも、リモートワークをきっかけにコミュニケーションが減ったなぁとお感じの方がいらっしゃいましたら、お互いの推しを発表するオンラインイベントを開催してみてはいかがでしょうか?
お互いの好きなものを知ることは、居心地がよくて満足度の高い社内環境に一役買うかもしれませんよ。
お楽しみいただけましたでしょうか?
こちらを読んでそれぞれの「好き」に興味を持っていただいた人のために、各発表者から「まずはこれを体験するのがオススメ!」というのを紹介してもらいました!
ぜひ最初の一歩として、チェックしてみてくださいね。
RTA in Japan 3 - スーパードンキーコングシリーズ1,2,3完全クリアトリロジーリレー
走り・解説・会場の雰囲気など、どこをとっても魅力的で、RTA/RTA in Japanの「良さ」が詰まっている動画です。ここから沼にはまりましょう!
“Snow Man LIVE TOUR 2021 Mania” Highlight Video
才能溢れる若手ジャニーズの中でも特にハイスペックのSnow Manの最新ツアーの様子を収めたダイジェスト動画。彼らのハイレベルなダンス、生歌、表現力、アイドルさをご堪能あれ!
プラモデルの中でも特に作りやすいと話題のガンプラ。転売や品薄で入手困難な今日このごろですが、公式ショップは再販品から限定品まで取り揃え、その場で組立体験も楽しめます!
KONAMI ARCADE CHAMPIONSHIP (KAC)
つい最近開催された、KONAMI社のアーケードゲームの全国大会(KAC)から、Dance Dance Revolution(DDR)の決勝戦をご紹介します。トッププレイヤーたちが身体を全力で動かしてプレイする様はeSportsではなくSportsそのもの。一見の価値ありです。
音楽ゲームの魅力のひとつであるバリエーションに富んだオリジナル楽曲の数々。なかでもコミックソングやおふざけ曲には制作スタッフのいつも以上の本気を感じることが多い気がします。実際にプレイするハードルが高いと感じる方は、お気に入りの曲を探すところから始めてみてはいかがでしょうか。
水曜どうでしょう4人だけのスペシャル裏トーク【TEACHER’S presents 21年目のヨーロッパ旅 完結記念】
40秒で雰囲気がわかる番外編動画です。気になってたら是非本編も見てください!
この記事はブロックチェーン関連の新サービスがどのようにつくられているか、舞台裏について書かれています。これを読むと、「へー、こんな感じでプロジェクトが始まって、こういう資料をもとに、こんな具合に進むのか」という新サービスが生まれるまでの流れを生々しく把握できると思います。
はじめまして、Tokyo Otaku Mode(以下、「TOM」)という会社で、日本のオタク文化を世界へ広げる活動をしている安宅(@paji_a)と申します。先日、「ホンヤククエスト(Tokyo Honyaku Quest)」という、オタク文化を愛する世界中のファンがほかのファンのためにコンテンツを翻訳するブロックチェーン・プロジェクトを開始しました。2019年内は実証実験で、アニメニュースなどアニメ関連情報の日英翻訳からスモールスタートしつつ、近い将来、アニメ・マンガ・ゲームなどのオタク系コンテンツをあらゆる言語で翻訳できる環境をつくることを目指しています。
Twitterなどで感想やリクエストを送っていただけると嬉しいです。
目次を作りましたので、ぜひ興味を持った項目からご覧ください。
<もくじ>
構想からプロジェクトにする
コミュニケーション方法を決める
「契約書」と「NDA」を結ぶ
各社の役割を決める
サービスの名前を決める
用語を決める
決起会を行う
エコサイクルを設計する
サイトマップをつくる
仕様を決めてワイヤーフレームをつくる
開発仕様を決める
世界観を設計する
フックモデルを設計する
スケジュールを切る
ロゴを制作し商標を申請する
デザインをつくる
紹介動画をつくる
開発を進める
プライバシーポリシーと利用規約をつくる
キャッチコピーを決める
初期ユーザーを集める
カスタマーサポートとツールを導入する
プレスリリースを打ちイベントを開催する
検証項目を設計する
<番外編>
はじまりの話
もうひとつのチャレンジ
社内向け説明資料をつくる
補助金制度を活用する
ビジネススキームを固める
おわりに
構想からプロジェクトにする
「ホンヤククエスト」がどのような経緯で生まれてきたかは「番外編」に委ねるとして、2018年12月19日に構想を下記のようなテキストでまとめたのが、このプロジェクトのスタートでした。
など、各社で検討を進めてもらうために最低限必要な情報を書き出しています。とても文字文字しいのですが、パワーポイントなどを使ってしまうとどうしても”見栄え”をこだわりたくなって、本質的な内容を仕上げることからフォーカスがぶれてしまうので、文字中心に最初の構想をつくるようにしています。
この構想(ポエム)を元に、イードで事業統括をされている土本さん、bitFlyerで新規事業開発を担当されている三瀬さんとともにメッセンジャーでグループを作り、全員が直接会う前からやりとりを開始しました。2019年1月に3人でボッシュカフェにてコーヒーを飲みながら初のミーティングに臨み、「実現したいサービスがクリアである」「解決したい問題が大きくていい(日本の国全体が抱える問題)」「各社の強みを活かせる」「実現させるためのすべての機能が揃っている」「本腰を入れる前に実証実験を行って手応えを確かめていく方が良い」「最初は権利関係が複雑なコンテンツそのものよりも関連情報=アニメニュースなどから翻訳実績を作ったほうが良い」「各社のニーズにも合致している」「各社がブロックチェーンという新しい技術に対してポジティブ」などの話をして、各社でプロジェクト進行の承認に向けた調整をかけていくことになりました。
コミュニケーション方法を決める
2019年1月末に、各社の調整が進み、土本さんと三瀬さんと私の3名でプロジェクトを進めていこうと認識がすりあった後、「日々の連絡はどうしましょうか」という話になり、SlackチャンネルとTrelloを作成、かつ、週1回の定例ミーティング(60分)を開催することになりました。ちなみに、定例ミーティングは各社の時間感覚が似ているからか、最初から移動時間の短縮のためできるだけビデオチャット(Zoom)でやりましょうという方針にすんなり決まったことは、”働き方も多様な時代になったものだ”と印象深かったです。
▼Slack
▼Trello(クエストボード)
▼Zoom
定例ミーティングは毎回Trelloをベースにアクティブなチケットを一周し、新しい議題がある場合は、誰でもチケットを追加できるように運用しています。こうしておくことで、進行管理の漏れがなくなり、誰でも俯瞰した視点で、誰が何を行うのかがざっくりと明確になります。そして、そのチケットごとに細かくブレイクダウンしたタスク管理はそれぞれの担当が自由にツールなどを使って進行できるようにしています。
ちなみに、Zoomの有料化と同時にAIによる雑音消去のプラグインKrispも導入し、他サービスに比べても非常に安価で快適にリモート会議ができていると思います。
「契約書」と「NDA」を結ぶ
今回関係する会社は、それぞれ一定規模の大きさの会社組織ですので、会社から「やってみよう」と承認がおりて決まったあとに「急にや〜めた」をされてしまうと、各社が困ってしまいます。また、話した内容には外に共有されては困るセンシティブな情報も入ってきます。そうした情報を外部に出されてしまうと問題になってしまうので、覚書レベルの「契約書」と「NDA(秘密保持契約書)」を結んで、早い段階で具体的な深い話をできる状態に持っていきます。プロジェクトの最初にやるべき大事なステップです。
各社の法務部と確認を取りながら、早い段階で「契約書」と「NDA」を交わしました。当初は実証実験を行うということで、契約書の内容も比較的シンプルでクイックな進行ができました。また、各社ともなるべく手弁当で力を出し合い、コストやリスクは大きすぎない無理のない形でスタートを切るように認識をそろえていました。また、そのようなライトな進め方でもプロジェクト内のメンバーの熱量が高く、プラスの相乗効果で勢いよく進行したように思います。
今回協業をしていく3社はそれぞれに強みがあり、(一部の機能は重なるものの)会社ごとに持っている機能も特徴が分かれており、役割分担も比較的スムーズに決まったと思います。構想からお互いにフィードバックしあいながら、2019年4月頭時点での大ざっぱな役割分担のタタキはこちらでした。
<各社の役割>
企画・設計:TOM(サポート:各社)
サイトデザイン:TOM(サポート:イード)
サーバサイド開発&サーバー運用:イード
ブロックチェーン関連開発:bitFlyer
カスタマーサポート・コミュニティ運営:TOM
アニメアニメ英語版サイト:イード
※上記の役割分担は適宜相談し途中で変更可とする(双方合意に基づく)
サービスの名前を決める
当初はサービス内容とブロックチェーン用語の組み合わせで機械的な「翻訳Dapps(仮)」というコードネームのような呼び方をしていました。話が進むにつれ、いよいよロゴを作ったり、ドメインを取るためにも、サービス名を決めようという話になりました。2019年2月初旬の話です。
サービスをつくる当事者として一番ワクワクするのは、ネーミングのアイディア出しのブレストだと思っています。ここで決めたネーミングが後世に残る可能性もあるので、最高にエキサイティングな瞬間です。
手前味噌ですが、過去に複数のサービスを企画・開発していた経験から、これまで私がネーミングしたサービスや会社がいくつかあります。ネーミングは自分の力を発揮する領域なので、Tokyo Otaku Modeの創業時にも張り切ってアイディアを出していました。全部で100以上のネーミングが集まったのですが、その中で明らかに輝いていたネーミングこそCCOの森澤が出した「Tokyo Otaku Mode」だったのです。いまでもやっかみ(笑)を兼ねて森澤本人にも伝えていることですが、これには逆立ちしても勝てない強さがありました。あの字面を見た瞬間、みんなが「あぁこれが一番いい!」と圧倒的な支持を集めてしまったのです。その後、このネーミングが世界に広まっていく様子は私自身も間近に見ていました。
——という経緯も影響したのかもしれませんが、今回の翻訳サービスは「海外」「オタクジャンル」「楽しさ」などを表現したいことから逆算して考えると、どうしても「Tokyo Otaku Mode」にあやかったネーミングが一定のアドバンテージがあるだろうし、ファンから翻訳者を集めるときにも安心感/ブランドが伝わるだろうという目論見もありました。アイディア出しから決定まで約2ヶ月間、各人でアイディアを考えながら、「Tokyo Honyaku Quest」というサービス名に行き着いたのです。
サービス名を確定させる前に「 .com」ドメインが空いているかも要チェックポイントです。今回の場合は、特徴のあるネーミングになっていましたので以下ふたつのドメインが空いていましたので、早速ドメイン名を取得しました。
tokyohonyakuquest.com
honyakuquest.com
用語を決める
サービス内で使う用語はプロジェクトメンバーはもちろん、サービスを利用するユーザーにも統一した呼び名になるよう用語の定義が大事になってきます。「ホンヤククエスト」においては、構想段階で「翻訳者」「校正者」と呼んでいた翻訳する人たちの名称は、固い表現から「トランスレイター」「ブラッシュアッパー」などの柔らかい表現にアップデートされていきます。翻訳の依頼主からの翻訳依頼を「クエスト」、採用可否を「ジャッジ」と呼んだりと、用語を定義することによって世界観が彩られていきます。
例えば、翻訳を依頼することを「案件依頼」と呼ぶか「クエスト依頼」と呼ぶかで、同じ内容を指していても、それが楽しそうと思えるかどうか、受け取る人の印象が違うことが分かると思います。いわば用語は文字のデザインともいえ、サービスが与える印象を決める要素のひとつといえるのです。
<おもな用語>
翻訳者・・・トランスレイター
校正者・・・ブラッシュアッパー
翻訳案件・・・クエスト
翻訳・・・トランスレイト
校正・・・ブラッシュアップ
翻訳者確認・・・チェック
依頼主確認・・・ジャッジ
称号・・・レジェンド、四天王、十傑
独自トークン・・・HON(ホン)
決起会を行う
2019年4月、以前から行いたかった決起会という名の飲み会を行きつけの渋谷・わたら瀬で開催。「あした葉」という独特の味がする葉っぱが食べられる渋い雰囲気のお店です。イードからは土本さん&江崎さん、bitFlyerからは三瀬さん&市園さん、TOMからは大迫&安宅の計6名で『ドキッ!男性だらけの(略』を開催。話はなぜか「クリケット」がホットトピックとして、世界最速160kmで投げるピッチャーがいるとか、インド市場が伸びてくるので海外向けにクリケット漫画を本気で作ったほうがいいとか、他愛もない話が繰り広げられ。土本さんが次の日に健康診断にもかかわらず呑兵衛の大迫と日本酒一騎打ちが始まったり、和気あいあいとした雰囲気で歓談。それまでお互いにZoom越しでしか顔を見たことがなかったメンバー同士もいる中、一気に打ち解けられた会になりました。
ややタイミングが遅くなってしまったキックオフ飲み会ですが、お互いに人となりを知れたことで距離感が近づいて、変な遠慮もなくなり、そのあとの進行がよりスムーズになったのでした。
「ホンヤククエスト」は、ブロックチェーン業界の用語でいう「トークンエコノミー(コミュニティの中で一種の経済システムが確立されていること)」の事例の成立も兼ねたプロジェクトです。
そこで、「ホンヤククエスト」でもサービスが成長していくためのインセンティブ設計=トークンエコノミーを図式化してみたのがこちらです。bitFlyer三瀬さんが作成されました。
このインセンティブのハブとなる存在が独自トークン「HON」であり、「HON」の報酬設計こそ、このサービスのキモと言えます。三瀬さんと市園さんが下記のシナリオ別のチャートを作り、あらゆるパターンで矛盾がでないように設計することができました。
「ホンヤククエスト」は、ウェブサイト上で依頼主が翻訳案件を登録し、複数の翻訳者が翻訳や校正を行い、最後に依頼主が翻訳内容をジャッジして、案件が成立すると「HON」というサイト内の報酬がもらえる仕組みになっています。これらの一連のステップをウェブサイト上で実現するための設計をすることになります。そのためにどんな画面があり、その画面で何ができるかを示すものが、サイトマップになります。
2019年3月、ウェブサイト構築歴20年のベテランのディレクター大迫によってパパッとタタキが完成、必要な機能やページから全体構成を割り出し、いくつかの修正を加えてFixさせました。
仕様を決めてワイヤーフレームをつくる
同時進行で、サービスの仕様やデザインの骨組みであるワイヤーフレームを作成していきます。私が書いた構想(ポエム)から一段ブレイクダウンした整理整頓のための資料制作を、三瀬さんと市園さんが積極的に進めてくださいました。「ブロックチェーンの仕様決めに必要ですから当然です!(キリッ」と答えてくださったとき、”情熱が溢れて素晴らしい方たちだなぁ”と感じたのをはっきり覚えています。
ちなみに、「ホンヤククエスト」で翻訳するトランスレイターは英語圏、依頼主は日本語圏を想定しているため、サイトでも日英の両方テキストを用意しました。英訳はTOMの翻訳チームのケイティと台湾出身の起業家ポユさんが担当しました。
開発仕様を決める
機能的な仕様が固まってくると、具体的な開発の仕様も決められる段階になります。「ホンヤククエスト」では、ウェブサービス的な要素の裏側にブロックチェーン技術を活用しているので、開発の仕様はブロックチェーンの特徴を把握しながら、フロント側の仕様を決めていく必要がありました。
国内最大手の取引所として知名度も抜群のbitFlyerですが、独自のブロックチェーン技術「miyabi」の存在はそれほど知られていないかもしれません。bitFlyerを創業された加納さんが、グループ会社としてbitFlyer Blockchainという会社を設立して社長に就任、ブロックチェーン技術の他業界との活用事例を生み出していく本気度を感じます。直近では住友商事との提携が話題となり、「miyabi」を使って不動産業界xブロックチェーンの領域で革新的なユーザー体験をもたらすプロジェクトが進行しています。
今回、「ホンヤククエスト」のプロジェクトでも「miyabi」を活用して、ブロックチェーン技術でこそ実現させたいものがありました。そのもっとも大きい活用方法は、「ファンの翻訳に対してオフィシャルとしてのお墨付きを与えられる」ことです。経済産業省の支援制度「J-LOD」に提出した資料に詳しく書かれていますが、ブロックチェーンで改ざんされずに記録されていき、翻訳者自身も誰に対しても自身が翻訳したことを正当に主張できる仕組みであることが、将来的にとても価値があり、意義があることだと感じるのです。
「ホンヤククエスト」がちゃんとワークすると、誰が何を翻訳したかがブロックチェーン上に記録され、誰でも参照が可能になります。それが蓄積されていくと、翻訳者のキャリア形成に大きなメリットをもたらすと考えられます。
表側の機能面が固まってくると同時に、ブロックチェーン側の仕様も市園さんを中心に設計がこんな資料とともに固まっていきます。
脚本家がキャラクターの性格や生い立ちを決めていくと、キャラクター同士が勝手に話し出す、という話をよく聞きます。私はクリエイティブな能力はほとんどないため、そういった話は遠巻きに「そういうものかな」とずっと思っていたのですが、これに近い現象が「ホンヤククエスト」では、サービス名が決まった段階から起こりだしたのです。きっとこのサービス名からさまざまな想像が膨らんでいった結果なのだと思います。
その最たるものは、「ホンヤククエスト」の世界の成り立ちがディレクター大迫の”遊び心”によって、いつのまにかできあがっていたところです。企画書兼ワイヤーフレームの冒頭、こんな設定が盛り込まれているのです。定例ミーティングでの各社の反応はポジティブで「楽しげでいいじゃん!」でした。
というわけで、世界観の一部の設定をここで公開してみると、
世界/国名:
トルケニスタ・・・この世界
ウィンタニア王国・・・舞台となる北方の王国
キャラクター:
フォンゴーニ14世・・・現在の王、民に慕われる気さくな国王。ちょっと抜けてて”爺”によく怒られる。
ボルトン(爺)・・・財務官、王が小さな頃から仕えてきた。王より年上だが実はそんなに変わらない年齢。少しボケてきているが、まだ若いモンには負けんと、密かに闘志を燃やしている。
ビービー・・・通信係、読書や空想を好み、物静か。運動苦手、ドジっ子。
メール文面(一部):
「●●●よ、ウィンタニア王国の財務官ボルトンじゃ。
お主が手がけた「[記事タイトル]」を依頼主がお選びになった。
ここに報酬を進呈する、おめでとう!
http://xxxx.ooo
世界が分断されてからというもの、人々の交流はほとんどなくなってしまった。
お主はこの世界トルケニスタをつなぐ希望じゃ、、国王はもちろんこの爺も期待しておる。
ありがとう、これからも頼むぞ。」
もともとは味気なかったシステムメッセージも、こうしたキャラクターが「話す」ことで世界に息づき、「楽しみながら翻訳ができるサービス」に一歩近づいた気がします。
フックモデルを設計する
新しいプロジェクトを進める役得として、既存のプロジェクトでは挑戦しづらい新しい手法・進め方・フレームワークなどを導入しやすいということがあると思います。
私が大好きな「yenta」というビジネスマッチングのアプリがあります。この事業を率いているのが岡さんという方で、アプリがリリースされた当初に連絡して(「素晴らしいサービスなので連絡しちゃいました!」的なノリです。は、恥ずかしい)、以前からやりとりをさせていただいていました。もうひとり、500startupsの先輩で「決算が読めるようになるノート」のシバタナオキさんが久しぶりに日本に来るということで、toC向けのサービスでイケてる人を紹介する話があり、お二人を繋いだのです。当日、私は同席できなかったのですが、あとからシバタナオキさんに聞いたところ、岡さんから聞いた「yentaはフックモデルに素直に従って作った」という話に感銘を受けたとのことで、「ホンヤククエスト」など新しいプロジェクトに活かせるかもということで、周回遅れではありつつも、私もとても気になって書籍を読んでみたのでした。
「フックモデル」の内容はぜひ書籍「Hooked ハマるしかけ 使われつづけるサービスを生み出す[心理学]×[デザイン]の新ルール」を読んでいただくとして、質問・回答をしていくことでフックモデルをどうつくり出せるかを洗い出せるので、実際に3社で回答に答えてみたのです。その一部を紹介します。
この質問・回答によってとてもクリアに機能や見た目のイメージが整理されたので、こちらも記しておきます。今回のサービスにおいて、翻訳者が翻訳することを習慣化できると嬉しく思います。
今回のプロジェクトは、ブロックチェーンをかけ合わせた点や翻訳フローをサイト上で完全に再現する点、また報酬設計の点などにおいて、これまでなかったサービスであったため、検討に時間をかけようと思えば、ある意味無限に時間を使えてしまう状況でした。構想(ポエム)段階では2019年4月あたりに実証実験ができると良いよね、という希望的観測に基づくざっくりしたスケジュールの目安を書いていましたが、具体的に検討を始めていくと各社かけられるリソース状況なども見えてきて、現実的なローンチ予定日が決まっていきました。
こちらを元に、定例ミーティングなどでややストレッチしたスケジュールのおしりを決めつつ、bitFlyer市園さんにビジュアルに落とし込んでもらったガントチャートになります。
定例のペースにあわせ、週単位で各社がその週どんなタスクをこなしているべきかが俯瞰して見られ、大海原を航海するときの北極星のような役割を果たしてくれています(まだこの瞬間もパイロット版のローンチに向けて各社進行中です)。
ロゴを制作し商標を申請する
ロゴの制作もサービスにおける世界観を決定づけるものですので、重要かつサービスが成功すればするほど重要度が増していきます。ブランディング観点で、もっとも時間とコストをかけて取り組むべきことのひとつでしょう。
ありがたいことに定例ミーティングの中でみなさんから、せっかくなので、TOMのロゴを制作してくれたCCOの森澤に今回のロゴ制作も依頼したいという声があがり、承った次第です。サービス名を決める時に出てきたコンセプトと、今回あやかるTOMのロゴの並びもベースに、ゲームの世界を意識したエンタメ感満載のロゴが完成します。また、世界観をよりダイレクトに示すために、ゲームの中を表現するドット絵の世界地図を、著名なドット絵クリエイターのBAN-8KUさんに制作を依頼しました。BAN-8KUさんはTokyo Game Showで毎年恒例の「Game(L)over」というナイスなコピーの入ったドット絵TシャツをこれまたCCO森澤と一緒に作っていただいていることもあり、今回も自然な流れで作っていただくことになりました。長年培われた信頼関係は本当に大切にしていきたいものですね。
ロゴが完成するとあわせて商標も申請しています。
また、このロゴの世界観にあわせて、BAN-8KUさんがドット絵のイラストを制作していきました。コミカルでとても親近感がわくイラストに仕上がったと思います。
デザインをつくる
ロゴができ、ワイヤーフレームがFixしたら、いよいよサイトデザインに取りかかれます。今回は、エンタメ系デザインで非常にクオリティの高いアウトプットを出し続ける元Gatebox(ホログラムの二次元の嫁と暮らせるアレ)でクリエイティブ担当をされ、現フーモアにいらっしゃる佐々木さんチームに2019年5月に依頼をさせていただきました。
今回やや特殊だったのは、世界観を分かりやすく伝えるデザインを考えると、どうしてもキャラクターやオブジェクトや背景画像をドット絵で制作するほうがベストであったため、デザインとは別にドット絵イラストをBAN-8KUさんが並行して作業されるという点です。2ラインの制作が同時進行で進んでいったことで、コミュニケーションの難易度が少し高かったと思いますが、大きなトラブルもなく進行していきました。
今回のサービスには、ファンがコンテンツを翻訳するときに、仕事ではなく遊びの延長のような感覚で、楽しみながら翻訳依頼=クエストをこなしていってほしいという想いが込められており、それはロゴやサービス名、デザインや世界観にも反映されています。そして、そんなコンセプトをもっとも正確にファンに伝えることができるのは60秒ほどの短い「紹介動画」であると位置づけました。
そこで、ロゴや世界観をあらわすドット絵をBAN-8KUさん作っていただいている流れで、TOMのクリエイティブのCCO森澤、そして同チームに所属する竹森のディレクションの元、いつもお世話になっている映像ディレクターの稲垣さんに「紹介動画」の制作をしてもらうことにしました。
「どんなサービスになるか」「何を伝えたいか」「どこで使う動画なのか」など適切な動画を制作するための情報整理を元に下記の絵コンテを作成してもらいました。サイトデザインと映像のトンマナを合わせるため、多くの素材をサイトのデザインデータから流用して制作しています。
というわけで、いろいろな人たちが力を出し合った動画をぜひご覧ください。
フロントサイドの開発はイード社(ならびに関係会社のBENITEN社)が担当しており、PMの佐藤さんが窓口として開発全般を取り仕切ってくださっています。ブロックチェーンの開発はbitFlyerが「miyabi」を動かすための各APIを開発し、フロントサイドからAPIをコールして、ブロックチェーンを動かして連携をしていくイメージです。
bitFlyerのエンジニア小林さんや渡会さんによってこうした仕様書が作られ、機能ごとに10個以上のAPIがつくられていきました。
開発は基本、黒い画面とにらめっこの世界ですので、なかなかビジュアルで紹介しづらいものですが、例えば、フロントサイドとシステムの組み込みではこうしたコミュニケーションを通じて、双方の結合を図っていきます。
そして、いよいよステージング環境でサイトを動かせるようになったら、非エンジニアも混ざって受け入れテスト(UAT)を開始します。Googleスプレッドシートでバグや気づいた点を全体で共有しながらブラッシュアップとフィードバックを繰り返していきます。
これらのステータスがすべて「完了」になったとき、パイロット版は無事に船出となるのです。
プライバシーポリシーと利用規約をつくる
サービスの中でも、ウェブやアプリサービスの領域においては、プライバシーポリシーと利用規約の掲載が必須となります。「ホンヤククエスト」が少しややこしいのは、複数社の協業サービスであること、日本語圏・英語圏が対象であること、(仮想通貨ではないが少し紛らわしい)独自トークンが存在すること、ブロックチェーン技術が用いられていること、上場もされ一定規模の組織同士、などがあり、論点が多く確認にタイムラグがでるため、一定時間がかかる見込みがありました。
TOMの法務・住吉に以下の内容を伝え、口頭でも補足しながら、
比較的早い段階からタタキを作り出し、段階ごとに各社(の法務)への確認をしつつ、Word上の提案モードで3〜4回ほどの修正・調整などを行い、内容のFixに向かいました。
キャッチコピーを決める
いまの世の中はサービスが溢れてしまっていて、新しく何かが生まれたとしても、一瞬でそのサービスが「自分にとって役立つのか」が理解されないと、なかなか世の中に浸透していくことが難しい時代になってきたと感じます。
そのサービスをあらわす一言=キャッチコピーが100点満点だったら、100%の理解度で対象となる人々に伝わり、もし、そのキャッチコピー50点だとしたら、50%でしか伝わらないので、浸透率が大きく変わってきてしまうというようなイメージです。
そんな前提で出てきた候補が下記になりまして、
アニメファンが公式アニメ記事を翻訳
みんなの「Tokyo Honyaku Quest」実験中
翻訳クラウドゲーム「Tokyo Honyaku Quest」実験中
アニメファンが公式アニメニュースを翻訳、みんなでクエストをクリアしよう
キミの翻訳を世界に届けよう!
アニメファンのための「Tokyo Honyaku Quest」
上から「公式感や実験感を強調」、「ゲーム性やエンタメ感を強調」、「自分の翻訳が世界に広まるワクワク感を強調」で、どれが正解でどれが不正解というわけではないのですが、私たちは、翻訳者が主役でありグローバルな世界が舞台であることも伝わる、3番目の案を採用したのでした。
ここで決めたキャッチコピーはサイトのトップページで掲載されています。
「ホンヤククエスト」のサービスにおいてもっとも重要な登場人物といっていいのが、コンテンツを翻訳してくれるトランスレイターたちです。英語ネイティブで日本語も読める一定の翻訳スキルを持ったを方たちをいかに集められるか、最善手はTOMのFacebookページを活用することでした。
TOMのFBは北米・英語圏中心に2,000万人の「いいね」がついており、オタク文化を愛してやまない人たちが見てくれている媒体です。黎明期からTOMのFacebookページを育ててきたファンと、翻訳者とのコミュニケーションを香港出身でバレーボールの元香港代表選手だったタンが共同で担当し、「日本語のクイズ」をテーマに投稿し、Facebookグループへ誘導していきます。日本人から見ると何の変哲もない内容に見えますが、アニメ好きで日本語に興味津々なファンにはウケるという一例です。
2019年8月現在、1,200名を超える候補者が集まり、候補者には下記のようにGoogleフォームを活用した30分のガチの翻訳テストを行ってもらいパイロット版参加の条件としました。結果25名のファンたちがパイロット版で活躍してもらうことになっています。また、タンが率先して各人と1人1人面談を行っています(たまたま東京に住んでいた方もいてランチもご一緒したことも)。
あらゆるサービスにはお客様=カスタマーがいます。カスタマーからのお問い合わせには単に回答するだけのでなく、コミュニケーションをとることでサービスの方向性、次に実装すべき機能の優先度を絶えず調整していくための情報を得ることができます。
ただ、メール、お問合せフォーム、Facebook・Twitterのような各種SNSなど、カスタマーとのタッチポイントが複数になると、誰がどのお問い合わせに対応していて、いまどんなステータスなのかが煩雑になり、カスタマーサポートをスムーズに回すのがだんだんと難しくなっていきます。
そこでおすすめしたいのがZendeskです。さまざまなタッチポイントを1箇所にまとめ、1件のお問い合わせを1つのチケットにして、担当者と現在のステータスがひと目で分かるようになるので、毎日一定数以上のお問い合わせにミスなく対応するならマストなツールといえます。
「問い合わせが来て一回目に返信するまでの平均時間」がわかったり、「(設定すると)問い合わせ対応のやりとりの満足度を図れる」など、かゆいところに手が届く仕様になっていて、カスタマーサポート自体のPDCAサイクルを回せるようになっている点もポイントが高いです。また、ヘルプセンターといって、「よくある質問」をWiki形式でエンジニアでなくても内容のアップデートも行えるので、同じような問い合わせはカスタマーの自己解決を行ってもらえるようにも誘導ができます。あとはなんといっても(プランによりますが)費用が1アカウント月5ドルと格安なので、オススメ中のオススメです!
プレスリリースを打ちイベントを開催する
サービスを作っていて、もっともドキドキする瞬間はプレスリリースやイベントでのお披露目のときではないでしょうか。あるサービスが世の中に出てくるまでには、裏側ではたいてい多くの人や、思わぬたくさんのタスクがバタバタと展開されていて、世の中にお披露目されたときの反響や評判で苦労が報われたり(報われなかったり)するものです。
2019年7月12日、「ホンヤククエスト」の実証実験の開始をPR TIMESを通じてプレスリリースしました。ありがたいことに、30媒体近くのメディアで取り上げられました。TOMのコーポレートサイトにも掲載しています。
土本さん・三瀬さんをはじめ、3社の広報にもサポートいただきました。bitFlyerは金光さん、TOMからは創業メンバーでコーポレートオフィサーの秋山が担当しました。
今回この記事を書いている理由のひとつにもなっていることですが、本来サービスの裏舞台というのはスポットが当たらず、利用者やクライアントに近いポジションを担っているプロデューサーやマーケティングやSNS運用や営業や広報といった役割の人だけが注目されがちです。しかしながら、ここまで書いてきたように、デザイナーやエンジニア、それをとりまとめるPMやディレクター、連携する企業をまとめるための契約書をつくる法務・経理・総務をはじめとしたバックオフィスのメンバーなど、さまざまな役割の方の支えがあって、こうしたサービスが世の中に出てくるのです。
2019年7月18日、bitFlyer Blockchain、イード、TOMの3社の代表が集まり、記者会見イベント(厳密にはbitFlyer Blockchainの不動産関連の提携発表の別パートでのお披露目)を行いました。写真の奥に記者会見でよくある各社のロゴが掲載されたパネルボードがあると思いますが、資料作りに加えてこちらの画を撮るために、bitFlyerの三瀬さんたちが徹夜されて組み立てられたと聞いています。こうしたひとつひとつの頑張りは普段注目されることはないですが、まさに今回の記事を通して、「たしかにこういうパネルボードも勝手にできあがるわけではないよな」と裏方にも思いを馳せてもらえたら嬉しく思います。
“賊軍”の彼らを“官軍”にしたい――世界中のファンがアニメ記事を翻訳する「Tokyo Honyaku Quest」の意義
検証項目を設計する
ウェブサービスは、ありとあらゆる数値がログとして取得できて、分析できるところが面白いところでしょう。独自に開発実装しなければ取りづらいデータもありますが、ほとんどの場合、Google Analyticsなどの無料ツールで取りたい数値が取得可能です。
「ホンヤククエスト」でも、検証項目を出して、それぞれにデータを取得&分析ができるように設定しました(念のため申し上げると、個人を特定するような情報をとっているわけではありません。個人情報のプライバシーは遵守しています)。
これらの検証項目を毎日・毎週・月単位で数値を追ったりグラフで遷移を出していくと、どれくらいサービスが成長しているのかがひとめで分かり、目標に対しての達成度なども図れるようになります。
今回は、実証実験時に最低これくらいの数値を達成できない場合は、撤退もやむなしというデッドラインも設けて本気で取り組んでいます。結果は神のみぞ知るですが、やるからには全力でやりきろうという気持ちで、いままさにこのプロジェクトを進めている真っ最中です!
以上、新しいサービスはどう作られているか、その舞台裏をなるべく限界まで公開してきました。プロジェクトの開始からパイロット版サイトの完成まで、追体験できていたとしたらとても嬉しいです。
実証実験の検証は2019年内いっぱいを予定しています。2020年には、翻訳の依頼主、そして翻訳をしたいファンを拡張させていく予定です。こちらの記事をご覧になったみなさまや、みなさまの周りに、「私もホンヤククエストで翻訳してみたい」「ちょうど翻訳の発注をしたいと思っていたので依頼主になってあげるよ」という方がいたら、ぜひお気軽にご相談ください。最初は日英翻訳のみとなりますが、コンテンツの対象は、アニメ・マンガ・ゲーム・ラノベといったオタク系コンテンツ、アニメの公式Twitter、Vtuberなど幅広く受け付けておりますので、どうぞよろしくお願いいたします。ここまで長々とお付き合いいただきありがとうございます。
お問い合わせはカスタマーサポートまでお気軽にどうぞ!
[email protected]
<番外編>
ここからは、本文では書ききれなかった内容が盛りだくさんのおまけパートとなります。よろしければこちらもお楽しみください。
はじまりの話
いま考えると、「ホンヤククエスト」のはじまりはイード宮川社長との出会いからでした。TOMを創業する前に私が開発・運営していたサービスを事業売却させていただいたのがキッカケで、年に数回食事をさせていただいていました。
その後、「アニメ!アニメ!」の編集部の方たちとも交流を持ち、TOMがブロックチェーンを活用するコミュニティ通貨『オタクコイン』という構想を起案し、業界団体としてオタクコイン協会(当時は準備委員会)を組成した2017年末に、宮川社長から事業統括責任者の土本さんを紹介いただきました。
一方、bitFlyerとは、ブロックチェーン開発者の落合庸介さんからのご紹介で、2018年6月にカナゴールドという呼称で知られる現・BUIDL橋本さんとの打ち合わせをさせていただき、そこに同席されていたバリミッシュこと元・銀行マンの三瀬さんと出会いした。その後、三瀬さんと親交が深まり、2018年10月に食事をしている中、今回のプロジェクトの原型のようなものができあがっていきます。
ファンの力で日本のコンテンツを翻訳する
ブロックチェーンを活用して翻訳者としてのキャリア形成をサポートする
トークンエコノミーの世界の実現=ファンだからこそ円やドルといったお金ではない報酬が成立する世界を作りたい
アイディアが出てきた段階で、これはおそらくイードの土本さんにも協力してもらうといいかもしれないと思い、すぐにお声がけしました。そうしたのにはいくつか理由がありますが、①土本さんやイードがブロックチェーンxメディアのトライに積極的であること、②運営メディアの海外展開が念願であったこと、③そして私が密かに土本さんの才気に惚れ込んでいたこと(あ、これは本人にも伝えてないですし、いま初めて言ったのでラブレターみたいで恥ずかしい)、などが理由です。
土本さんはゲームファンなら知る人も多い「インサイド」というゲームメディアを学生時代に個人でゼロから立ち上げ、大きなメディアへ育てた実績もさることながら、かつ他のあらゆるメディアでのグロースも経験をされてきている方で、コンシューマー向けのサービスの立ち上げからグロースまでのノウハウはこのプロジェクトの成功に欠かせないと考えたのです。
もうひとつのチャレンジ
ここまであまり触れてきませんでしたが、このプロジェクトのもうひとつのチャレンジングな取り組みが「アニメ!アニメ!」の英語版「Anime Anime Global」の同時展開です。「ホンヤククエスト」の実証実験で翻訳される対象のテキストは「アニメ!アニメ!」日本語版の日本語記事で、1日約20本(各記事平均600文字前後)をアニメファンのトランスレイターたちが翻訳していく仕組みです。ここで翻訳された英語のニュース記事は、依頼主でもあるイードが「採用(ジャッジ)」すると、そのまま英語版「Anime Anime Global」へと掲載されるため、いわばアニメファンがアニメファンのためにアニメ関連のニュースを一緒につくるという、まさにコミュニティの力で新しい形のメディアができあがるはずです。
自分が翻訳した記事か正規のニュースとしてメディアに掲載されることになるため、翻訳者のモチベーションをさらに高めることができると考えています。
「ホンヤククエスト」によって、日本のアニメが大好きなファンによって、気軽に「正規コンテンツ」を翻訳でき、その翻訳の成果を英語圏向けに新しく作られるアニメニュースサイト「Anime Anime Global」にブロックチェーンで自分の名前が刻まれます。違法な海賊版でさえファンの熱量によってあらゆるコンテンツが翻訳されている状況の中、この仕組みがワークしたら最高に熱いと思っています。
補助金制度を活用する
プロジェクトを進めていると時折思ってもみない幸運に出会うことがあります。通称:J-LOD(読み:ジェイロッド、Japan content LOcalization and Distributionの略)の採択もそんな幸運のひとつだったと思います。J-LODとは、日本の経済産業省が実施する『コンテンツグローバル需要創出等促進事業費補助金』のことで、かんたんにいうと、日本から海外にコンテンツを広めてくれる企業に補助金が出ますよ、という制度です。
以前はJ-LOPという名称で、TOMもフランス最大のオタクイベントのJapan Expoへ出展時に採択されて活用していました。
2019年はJ-LODの対象プロジェクトが突然ブロックチェーン開発にも広がってくれたため、我らが「ホンヤククエスト」も採択される可能性があるのでは?ということで、bitFlyer三瀬さんがいち早く動いて、申請&採択をされる運びとなったのです。
ちなみに、補助金を受けられるメリットはありつつも、国の税金を活用させていただくわけですので、どんな事業やサービスにどんな風にブロックチェーンを活用してどのように海外へコンテンツを広めていくのかを判断いただくための資料作りには一定の時間がかかります。三瀬さんが作成された一部(タタキ段階)を紹介したいと思います。
一定規模の組織になってくると、セクションや役割で持ち場が定まってくるので、TOMでも社内で大小含めると100以上の施策や企画が同時進行で動き出したりして、誰が何をやっているか、「見出し」は把握していても、内容の詳細まではなかなか伝わらなくなってきます。また、一見すると理解しづらい難しそうなプロジェクトは「なんであれをやっているんだろう」という素朴な疑問を誰もが持つものであり、それぞれ各社内との連携を進める上では、いわゆる「社内向け説明」というのは欠かせません。
とくに、「このプロジェクトを進めるとどんなメリットがあるのか」「(自分含め)自チームやセクションにどんな影響があるのか」など、組織体制が整っていればいるほど、予定されている計画への影響度をあらかじめ把握して、予定に組み込むようなチーム内調整も必要です。早め早めの共有が、結果として大きなサポートとなって担当を超えたレベルの協力体制でプロジェクトを支援していくことが実現されます。今回TOM社内向けに作ったレポートをチラ見せしちゃいます。
ドキュメントワークというのは一定の工数がかかりますが、社内外を巻き込み、より大きなプロジェクトと昇華させていくステップとして欠かせない工程だと感じます。また、プロジェクトをファン向け、クライアント向け、協業先向け、社内向けとさまざまなアングルから視点を変えて見てみることで、新しい方向性の発見や必要な機能が見つかったり、プラスに働くことも多いと感じています。説明資料の中で引用しているSHIFT:イノベーションの作法にも出てくる「インターナルマーケティング」の重要性は、組織が大きくなっていくほど社内リソースのレバレッジをかける上で大変有意義なのだと思う次第です。
ビジネススキームを固める
「ホンヤククエスト」のプロジェクトは最初、手応えを掴むために短期間の実証実験からはじめ、依頼主やファンのニーズやウォンツを確かめながら、次ステップへ進むかどうかの判断を都度都度していく、というようなリスクヘッジをしながら進める方法を取っています。仕様が固まりデザインやサービスができてきて、TOMのFacebookページなどを通じて翻訳者候補者が一定の人数が集まることが分かってきており、また、ありがたいことにまだパイロット版すらローンチしていないにも関わらず、翻訳を依頼してみたいという依頼主候補も複数出てきており、プロジェクトメンバーもより一段自信が深まってきているところです。
まだ気が早いとは思いつつ、2019年内で実証実験を完了したあと、2020年からは本番稼働を狙っていくとしたら、本番後のビジネススキームをもうすこし具体的に決めていく必要がありました。3社の協業であることもあり、売上や収益の配分によっては採算があわないケースもありえますし、どの会社がどの役割を担うのかなども重要な論点になります。
実はまだこちらは現在進行系で交渉中の内容になりますが、こちらをベースに要点を整理してディスカッションを行っていっています。レベニューシェアや撤退などの生々しい情報も盛り込んだ資料を公開してみたいと思います。
最後に、どのような経緯で「ホンヤククエスト」が生まれてきたのかを紹介したいと思います。
日本のオタク文化は世界中からとても注目されていて、世界各地に熱烈なファンがいます。どれくらいの人気があるかというと、海外の国ごとに数万人から数十万人規模のオタクイベントが毎年行われるくらい人気になっています。USでもっとも多く集まるAnime Expoは4日間で約10,000円の有料イベントで2018年、2019年と2年連続で35万人の来場、ほぼすべて日本のオタク系コンテンツの展示です。写真はAnime Expo2018の開場前の様子です。
ここまでの熱量で溢れていても、コンテンツや関連情報が完全に世界中に行き渡っているかと言うとそうではありません。いまはまだ日本語と世界各国の言語の間に深い溝があり、そこを越えようとしてもうまく越せない「言語の壁」というボトルネックがあるのです。
オタク文化の中心になるのがコンテンツ=作品であるからこそ、中身がわからなければ伝わらず、伝わらなければ作品を楽しむことができません。収益性が見込めるトップ作品は正規版として翻訳され海外に流通していますが、それはピラミッド図でいう上層の話です。「オタク文化を広げる」という大きな枠組みで考えると、ビジネスになる作品だけが翻訳対象というのも世知辛いものです。気軽にできない「翻訳」が日本のオタク文化を世界に広げるための足かせになっているのではないか、ここを解決できれば、より幅広い人に日本のオタク文化が広がっていき、きっと明るい未来が開ける、そう確信しています。
この記事を読んで、少しでも「ホンヤククエスト」にご興味を持っていただけたら、こちらからお問い合わせください。長々とお付き合いいただきまして本当にありがとうございます。
「翻訳を依頼したい」「トランスレイターになりたい」などお気軽にご相談ください。
また、もしこの記事を読んでなにかお手伝いしたい!という方がいらっしゃいましたら、ぜひ下記からTwitterやFacebookなどで記事をシェアしていただけるると、サービスの盛り上げに繋がるので大変ありがたいです!
]]>ごきげんよう。Tokyo Otaku Mode Inc. で Engineering Manager やってます重岡です。
弊社では、2018年から全社的にリモートワーク制度が導入され、エンジニアはフルリモートワーク制度を利用できるようになっています。本記事では弊社のリモートワークの歴史を振り返りながら、フルリモートワークが導入されるに至った経緯をご紹介します。
弊社 Tokyo Otaku Mode Inc. (以下、TOM) は、創業から法人設立までの約1年間は社会人草ベンチャーの期間がありました。
サークル活動として始まり、メンバーが増えた
僕らがTokyo Otaku Modeを立ち上げた当時、”週末起業”という言葉が話題になっていたんです。これはある種の副業ですが、僕らの場合は副業でもなかったんです。会社にもしていなかったので、一種の部活とかサークルのように活動していました。皆普通に会社に行き、終わった後に集まって活動していたので、社会人のアマチュアバンドみたいな感じですよね。引用元: 世界1900万人を魅了する、Tokyo Otaku Modeの成長の軌跡 | 500 Startups Japan
2011年頃の創業前期は、みんな本業があったのでミーティングの時間は平日夜や週末におこなっていました。そういう背景もあり、メンバーは自宅やカフェから Skype や Google ハングアウトでビデオミーティングに参加して、当初からリモートワークが行われていました。
法人設立は 2012年4月 に 500 Startups に入るタイミングでした。当時は 500 Startups のアクセラレータープログラムで3ヶ月間、創業メンバーの半数はアメリカのシリコンバレーに、半数は日本にいるという期間がありました。
創業期に、アメリカと日本の時差かつ地理的にリモートワークという環境が当たり前の状態で仕事をしていたので、リモートワークする土壌はこの当時に完成していたのではと思いました。
その後、オフィスが1拠点の時期が1〜2年ほどありました。
当時の開発組織の話でいうと、その当時にリモートワークを試験的に導入したことがありました。しかし、当時はプロダクト成長フェーズであり、事業サイドから「オフィスに居てほしい」という強い要望があり、エンジニア社員はリモートワークは基本禁止となった経緯があります。これは、会社やプロダクト開発のフェーズとしては仕方ない部分ではありました。
一方、当時は業務委託契約でエンジニア最大8名ぐらいに関わってもらっていました。エンジニア社員は東京オフィスへ出社しているけど、業務委託のエンジニアは日本全国各地からリモートワークしてるという点で、開発組織内だけでは部分的にリモートワークしていることはありました。
東京オフィス、舞浜倉庫、ポートランドオフィス兼倉庫の3拠点体制が、日々拠点間でのやり取りが発生するので物理的に自然とリモートワークすることになっていました。また、日本とポートランド(アメリカ)では時差が 16、17時間も発生するので、非同期コミュニケーションでも円滑に開発できるように取り組んできました。
拠点間ではリモートワークしているけど、基本的には各拠点へ出社義務が発生しており、止むを得ない事情があるときのみリモートワークが許可されていました。
当時、京都在住のエンジニア @naoina から応募があり、初めてフルリモートワークのエンジニアが社員としてジョインしたのが 2014年末頃でした。
未だ他のエンジニアは日常的にリモートワークしていなかったので、数年後 Sprint Retrospective (振り返り会) で有り難いお言葉をいただいたことはよく覚えております。
詳しくは過去記事 産休・育休を経験して得た知見と、わかったうちの会社の良いところ108 | Tokyo Otaku Mode Blog で紹介されてますが、出産後にフルリモートワークで仕事復帰というパターンもありました。
前提として、2018年前半に Tech Lead @pchw が リモートワークについて | Tokyo Otaku Mode Blog という記事で、
各自判断でリモートワークを行っています.
と書いてましたが、その後、会社として公式的にリモートワーク制度導入のアナウンスがされました。余談ですが、Tech Lead はこのタイミングで東京から札幌へ移住して、現在もフルリモートワークで働いています。
厚生労働省の掲げる「働き方改革」の実現に向けて の一環で、弊社では 2018年秋頃から「オフィス出社型」と「リモートワーク型」という2通りの働き方を選択できるようになりました。この制度は、エンジニアやデザイナーだけでなく、全職種で選択できます。但し、営業職は基本的にオフィス出社できるように関東近郊に住む必要がありますが、社外の方と打合せが無い日などに自宅からリモートワークするということは気軽におこなっているようです。
先日、リモートワーク対応企業をまとめている GitHub repository を見つけたので TOM も掲載してもらいました。リモートワーク導入企業は Pull Request 送ってみると良いんじゃないでしょうか。
というわけで、フルリモートワークしたいエンジニアの皆さま、絶賛採用中ですので興味ある方はぜひご応募ください。
過去にリモートワークを題材にした記事 をいくつか書いてるので、よろしければこちらもお読みください。
]]>バーチャルYouTuber(以下、VTuber)の課題や今後について討論する「VTuberサミット」。第1回目の模様をお届けする最終回は、既存ビジネスとの関係性や業界の将来、そしてVTuberの今後について意見が飛び交った。
■「第1回 VTuberサミット」サミット参加者一覧
【亀井智英】
Tokyo Otaku Mode Inc.の創業メンバーの一人( https://twitter.com/tomohkamei )。現在は同社代表取締役会長。経済産業省クールジャパン官民連携アドバイザリーボードの現メンバー。本サミットの発起人。
【高田順司氏】
大手YouTuber向けプロダクションで役員をつとめ、現在は独立。株式会社hayaoki 代表取締役。 https://twitter.com/uchu_jin
事業開発やYouTubeなどの動画関連のアドバイザーなどを行う。
【大坂武史氏】
Activ8株式会社の代表取締役。人気VTuberの「キズナアイ」も参加する バーチャルタレント支援ネットワーク「upd8」を運営。
【AO氏】
人気VTuber「輝夜月」のボス。
【谷郷元昭氏】
VR/AR技術を活用したキャラクターライブ配信やVTuberを展開するカバー株式会社の代表取締役。人気VTuberの「ときのそら」や「ロボ子さん」などを手がける。
【宗像秀明氏】
株式会社アップランドの代表取締役。広告代理事業やアプリ開発、VRプラットフォーム「VR LIVE」などを展開。人気VTuberの「電脳少女シロ」や「ばあちゃる」なども手がける。
【塚本大地氏】
株式会社DUOのCEO。人気VTuber「ミライアカリ」の展開やVTuber事務所「ENTUM」の運営を中心とした事業を手がける。
亀井智英(以下、亀):色々話してきました。残りの時間で、「絶対これは話したい」ということございましたら、ぜひどうぞ。
高田順司氏(以下、高):失敗じゃないんですけど、皆同じ悩みなのかなというのが、 成長速度が早過ぎる こと。あと参加企業が少ないがために、色々なところから色々な話があり過ぎる。受けちゃいけない仕事、関わっちゃいけないものが多い中で、何か色んなものに手を出し過ぎて、自分たちのやりたいことの進む速度がとても遅れているという時期があって、どうなんですかと。僕はそう感じているんですが。
亀:それは「ベンチャーあるある」ですね
AO氏(以下、A):ウチは、編集権限がないメディアやテレビには一切出ません。理由は 誤解されるような情報が出回る可能性やリスクが高いから 。だから何かコラボなり出したいのであれば、うちが最終的な動画を出す・出さないの判断ができるフィールドでしか活動しません。
大坂武史氏(以下、大):ウチは、案件の量を絞ったぐらい。
高:それはどういう意図で?
大:単純に受け切れないんです。初めてお仕事もらった時とかは、そもそもVTuberというものに発注していいのか、みたいな雰囲気もあったので、フルスクラッチで「何でもやります!」っていう姿勢だったんですけど(笑)
宗像秀明氏(以下、宗):ウチは、とりあえず試してみます。ただその結果、チャンネル登録の純増に別に結び付いているわけではないので、いったんやってみて、どんな感じかなって、こちらも手探りでやりながら。
(株式会社アップランドのVTuber「電脳少女シロ」。マツコ・デラックスとの共演や、高い英語力を活かした海外のゲーム見本市「E3」レポート企画など行った)大:最近、既存の商慣習に従わなければいけないものは、基本的に遠ざけようと意識しています。特にコンテンツIP、アニメ、テレビ、芸能なんてムチャクチャしがらみが多いです。「新しいルールを俺らが作っていくぞ」ぐらいの姿勢で、刺される覚悟でやっていかないといけないと思っています。でもそれで色々トラブったこともあります。 既存の商習慣はまやかし なので、それを強いられる仕事はセーブするというのが今のスタンスです。
高:すごく共感します。
大:「我々はこういうやり方なんです」という話はあまり受けません。IT業界とか海外とかベースに考えると、それは当然やるべきこと。超カンタンなところで言うと、 ある業界なんて契約書がほとんどない じゃないですか。あれはおかしい。契約書交わしてくれないのであれば、こっちもやらないだけ。テレビに出るのは意義があると思っているので、僕は続けてはいこうと思います。ただ皆さんのおっしゃるとおり、向こうの土俵に必ずガッツリ乗らないといけないのであれば「じゃあ、やらない」と断るだけです。
大:テレビの話で言うと、アイドルの広がりとかにけっこう影響している気がします。日本のアイドルって、意外とアジアに浸透していないと思うんですよね。なぜかと言うと、たしか 日本で撮った番組は、権利の問題とかあって海外でなかなか放送できない という話しも聞きます。だけど韓国のアイドルグループとかは、日本に比べて障壁が少ないから色んな国で放送できる。日本は、まずそういう課題をクリアして、アジアで君臨するところまで行かないと。
高:テレビ出演したりイベントをやったりすると、色んな取り組みの話が来るんでしょうけど、結局、 組む理由が1つもない というのが大きいんですかね。
大:そういう毅然とした姿勢を保たないと、某業界と同じ道をたどるだけかなと思います。本当に海外基準で考えて、日本でいくらCDやDVDが売れるからって、そこに乗っかったビジネスはしない。せっかくその先のVRみたいな超自由な世界につながるようなことをやろうとしているんですから。
宗:最近「歌とか出さないか」みたいなお話が来ているんですけど、あれこそスゴい既存の商習慣的なんですよね。印税の話だとか……。
亀:そういうのは、まわりに事情通の経験者がいないとダメですね。たぶん彼らと交渉しようと思うと「ウチはこれしかできないんで」みたいなことになります。そういう主張ばっかりで、カウンタートークが打てない。経験者がいないと交渉になりません。
大:ただ、その事情通の人も、どこかに依存しているというのを感じます。それにこと音楽に関しては、権利関係が厄介。となると、自分でやるのも一つの手で、自分たちでもやっていける選択肢はあるとは思うので、それでもいいんですけど、そうなると、今度はテレビでの映像使用料とかが入ってこない。そうなると「やっぱり寄らば大樹の影がいいかな」とかモヤモヤとした感じになっちゃう。
(カバー株式会社のVTuber「ロボ子」人気VRゲーム「Beat Saber」のプレイなど、幅広い動画を投稿している)高:レコード会社は、原版製作のコストを負担する代わりに、そういう権利を持っていったりするわけですよね。けど、マーケティングするリソースなんて、それこそVTuberとかYouTuberとかの方がもう発信力を持っていて、別にレコード会社を必要としていない。唯一必要とするのは出版管理ぐらい。なので、パッケージを作る、配信するみたいなことで言えば、ここにいる皆さん全員ができると思うんですよ。だから レコード会社が介在する理由がほとんどない 。正直、出版管理の部分だけやってもらえればいい。 権利を握らせる必要は全くない はずなんですよね。
亀:プロモーションも「自分たちでできるからいらない」という話になりそうですね。
大:でも中には面白い方がいるので、「その人と仕事できたら面白そう」と思うぐらい。
高:それ、スゴくわかります。
亀:これまで話を聞いてきて、 マーケットを大きくして視聴者が増えれば、業界全体が潤って中間層以下の人も恩恵を受ける 印象を受けました。なので、中間層を今後どうするかという点と、どうすればマーケットを拡大できるかという点を並行して考えるところから始めてもいいんじゃないかなと思います。
大:どの方向にデカくするかですよね。日本から海外なのか、一般層をターゲットにしていくのかとか。そのあたりは整理したいですね。
A:どっちも起きると思いますよ。そもそも一般層に向けたキャラが出てきて、全然違う会社から、これから。刺さり始めるとかいう現象が起きるかもしれないですし。
大:その流れでいくと、“VTuber産業”みたいな感じになるんですかね。僕自身は少し広く捉えて、もう「バーチャルYouTuber」という言葉を使わず、「バーチャルタレント」と言って、YouTuberがどうのじゃなくて、その先にある仮想世界とか含めていました。
これからブロックチェーンの人たちも台頭してくることを考えると、 中央集権的なものから、分散型につながるところまで行くビジョン があります。そういうことを分かった上で、色んな会社さんが参入してきてくれるんだったら嬉しいです。けど、結局何か団体だけポンと作っても、よく分からない人たちが「その考え、賛同します!」とか言ってのっかってきたら、おそらくアンハッピーな結果に終わる。今のところ、VTuberに興味あるよという経営者の方とかの中にも、先の未来が見えていないのかなと思います。
亀:なるほど。
高:これまで色んな人たちと会ってきましたけど、3DのYouTuberを作る価値が「分からない」という人が多かったです。でも、リアル世界よりもこっちの世界の方が、ビジネスチャンス多いんですよ。 リアルの世界は70億人ですけど、こっちはもっと大きな市場になる可能性ある という面を含めて、情報発信していけるといいかなと思っています。
亀:VTuberから始まったけど、そこから他のところにも行ける形になっているし、実際テレビに行っちゃっている人たちもいるので、何かそれをもう少し大きく解釈して進めていくというので、VTuberだけにかぎらなくていいと思いますね。
(株式会社アップランドの男性VTuber「ばあちゃる」。「バーチャルYouTuber人狼」やVTuber同士のeスポーツ大会など、司会役として企画に登場することが増えている)大:YouTubeに投稿しないバーチャルタレントもいっぱい出てくると思います。
塚:出てきますね。
亀:手っ取り早い手段がYouTubeだったというだけ。きっかけに過ぎない。
大:どっちに進めていくかによって、VRコンテンツを作っている方々とかも入れていかなければいけないのかとか、逆にタレントマネジメントやられている方とか、そこら辺の方向性を含めて、若干方向性の大儀みたいなものを作っていった方がいいんじゃないかなと思います。
亀:それをネクストステップにしますか?
大:結束した方がいい部分も多分にあると思いますが、どの部分でどうつながって……みたいなことは、共通認識として持っている課題というか、行きたい方向性みたいなものを最初に1つ用意していただいた方がやっていきやすいんじゃないでしょうか。
亀:そうですね、分かりました。高田さんと相談しますw
塚:次会う時は、また状況が変わっていると思うんですよね。そのときに話すべき問題も、いろいろ変わっていそうだなと思っています。
大:各社それぞれVTuberとか、呼び方も違うかもしれないし、定義も多分違うという状況だと思うので。僕自身が定義しきれていなかったりするので(笑)。だからそこら辺、今の段階でとりあえずまとまりましょうというのは厳しいですかね。
A:おそらく、色んなことが 「VTuber」という言葉にまとまり過ぎ なんですよ。お金もうけが目的ではない人もいれば、技術を楽しんでいるギーク、タレントキャラクターを作りたい人、容姿をアバターで実装したいという人もいる。細分化していったら細かく分かれるものを「VTuber」とまとめている。下手に「VTuberセミナーやります!」とか発信すると、反発食らうところから食らうんですよね。なぜかというと、考え方が全然違うから。だから、もうそろそろ細分化してもいいのかなと思っていて、それに合わせた話し合いとかをしてもいいのではないかと思います。4千人もいれば、絶対皆違う考えを持っているはず。
(株式会社DUOのVTuber事務所「ENTUM」に所属する「猫宮ひなた」。人気FPSゲーム「PUBG」のプレイ動画などで見せた高いゲームセンスが話題に)高:演者のマネジメントにフォーカスしたりとか、技術の話とか。
A:あるいは作品にフォーカスしたりとか。多分それで興味ある人がそれぞれ来いよみたいなスタンスの方がいいんじゃないでしょうか?
亀:分科会みたいな感じで?
A:そうですね。そもそも皆が思っているVTuberの定義が違うから、勝手にVTuberの定義を決めない方がいいと思います。将来的に、それぞれ必要そうなスキルの話し合いとかをして、興味ある人だけ参加できるといいですね。
大:私は、今後のビジネスモデルって、今と全く違うと思います。だからどこら辺のレイヤーの話をしていけばいいのかなというのがあります。そこが見えれば、今後も意義のある会議ができると思います。
高:まずは1個ゴールだけ、皆ある程度向かう先が近いジャンルだったらいいと思います。最終的にYouTuberで終わらず、 仮想世界へダイブして行こうという思い を胸に、色々な人が集まっていく。そういう体だったら、皆話しやすいんじゃないですかね。「俺はギークの部分で話す」「こっちはタレントマネジメントで話す」という、おのおの話したいことを、ゴールに向けて好き勝手語ってもらう。
大:テーマは設けるんですよね?
高:はい。ただ変に限定しないほうが皆話しやすい気がしますね。
大:少なからず自社のキャラクターがやっぱりある一定以上のプレゼンスを持っているメンバーというふうに考えれば、そこから享受できるメリットは共通しているのかなと思うので、それでいくと、やっぱりVTuberが増えてきて、VTuber自体が注目されると、やっぱり真っ先にここにいる会社のキャラクターが注目されていくという意味では、業界自体を盛り上げるとか、中間層問題を考えるというのは、業界全体にメリットのある話なのかなという気はしますね。
高:今回色んな課題やアイデアが出ました。何のためにやるのかとかその題目を考えたりとかして、また皆さんに「どんな感じですか?」と投げさせてもらいます。次回会う時はまた状況が変わってくると思いますので、その都度方向性を調整していきましょう。
亀:とにもかくにも、Vtuber界隈が盛り上がりつつあるのは、今この瞬間に楽しんでくれているユーザーがいるからこそ。そこは感謝していきたいですね。ユーザーへのリスペクトを持って、今後も実りあるサミットにしていければいいですね。
塚:そうですね。
高:では、これにて第1回目のサミットを終わらせていただきます。またお会いしましょう。
活発な議論が展開されたVTuberサミットの第1回目。VTuberはこの先どんな未来をたどっていくのか。『レディー・プレイヤー1』のような仮想世界は本当に誕生するのか。VTuberサミットの今後とともに、乞うご期待!
【終】
**【第1回 VTuberサミット】に関する記事 **
前回は、バーチャルYouTuber(以下、VTuber)の現状や業界拡大について議論した「VTuberサミット」の第1回目。中編となる今回はさらに話を掘り下げ、同業界の今後のポイントや課題について語り合った。
■「第1回 VTuberサミット」サミット参加者一覧
【亀井智英】
Tokyo Otaku Mode Inc.の創業メンバーの一人( https://twitter.com/tomohkamei )。現在は同社代表取締役会長。経済産業省クールジャパン官民連携アドバイザリーボードの現メンバー。本サミットの発起人。
【高田順司氏】
大手YouTuber向けプロダクションで役員をつとめ、現在は独立。株式会社hayaoki 代表取締役。 https://twitter.com/uchu_jin
事業開発やYouTubeなどの動画関連のアドバイザーなどを行う。
【大坂武史氏】
Activ8株式会社の代表取締役。人気VTuberの「キズナアイ」も参加する バーチャルタレント支援ネットワーク「upd8」を運営。
【AO氏】
人気VTuber「輝夜月」のボス。
【谷郷元昭氏】
VR/AR技術を活用したキャラクターライブ配信やVTuberを展開するカバー株式会社の代表取締役。人気VTuberの「ときのそら」や「ロボ子さん」などを手がける。
【宗像秀明氏】
株式会社アップランドの代表取締役。広告代理事業やアプリ開発、VRプラットフォーム「VR LIVE」などを展開。人気VTuberの「電脳少女シロ」や「ばあちゃる」なども手がける。
【塚本大地氏】
株式会社DUOのCEO。人気VTuber「ミライアカリ」の展開やVTuber事務所「ENTUM」の運営を中心とした事業を手がける。
亀:では、次の話題に入ります。VTuber関連は今後、大手企業や大物プロデュサーの参入が十分考えられます。そのあたりに関して思うことがある方はいらっしゃいますか?
AO氏(以下、A):聞いているかぎり、大物のアニメプロデューサーとかアイドルプロデューサーが入ってきそうだという話です。ハチャメチャなバトルロワイヤルになりそうな予感です。
谷郷元昭氏(以下、谷):業界をぜひ動かしてほしいですね……。本当に、色々話ありますよね。こう話している最中にもメッセ来ますもん。
一同:ハハハ!
A:自分はあまり焦っていないです。というのも、 お金だけ投資して成功している事例をまだ見たことがない というのもあって。逆にできていたら、いくらでも来ていると思うんですよ。現に、名前は出さないですけど、何か超強い座組みでやりましたといって、大コケしているところもあるので。そういうのを見ていると「金じゃないな」と思います。
塚本大地氏(以下、塚):なるほど。
A:あと、お金持っている人が入ってくるというよりかは、 プロデュース力のスゴい人が参入する方がインパクトある と思います。アイドル業界も歴史は長かったのに、秋元康さんがプロデュースするAKB48が入って来て、また一気に跳ねたじゃないですか。そういう風に、面白いプロデュースをできる人が入ってきたら、爆発するVTuberが増える気がします。
(カバー株式会社のVTuber「ときのそら」。5月には新衣装を披露し、7月には株式会社ロッテ「[クーリッシュ](https://coolish-cup.jp/)」の企画にも出演)高田順司氏(以下、高):演者を囲うお金的なリソースもあるし、モーションキャプチャーとか映像を作る技術的なリソースもゲームのリソースも持っている。けれどもYouTubeのアナログな部分、人を抱えてのマネジメントや、そもそもYouTubeの仕組みが分からない。そこはやってみると分かるんですが、 クリエイターのパーソナリティに合わせて運用する大変さが一番の参入障壁 。だから「お金の問題じゃないな」と思います。
亀:YoutuberとVTuberの違いで感じることは?
高:一つはパフォーマンス時間ですかね。 VTuberは、歌わせたり踊らせたり、1時間以上長くパフォーマンスできる。そこがエンタテインメントとして可能性の幅が広いと思います 。
A:ウチは案件の仕事はあまりやっていないんですけど、今のVTuber見ていると、マネタイズって案件が大きいじゃないですか。問題はできることできないことがあって、現状VTuberにくる案件はほぼほぼゲームとかだと思うんですね。例えば普通のYouTuberであれば、スポンサーのドリンクを飲んだりできるけど、VTuberはそういうことができません。
高:たしかに。
A:これ、けっこう真面目な問題。VTuberって今増えていて、しかもゲームって、別に三次元もVTuberもできちゃうんですよ。だから このかぎりあるパイを奪い合うことになる。もっとVTuberにしかできないタイアップの方法を作らないかぎり、お互いを食いつぶす結末にしか見えない ですね。
亀:おもちゃメーカーとかから、ライセンスを許諾して商品化しますよみたいな話もありますよね。それで商品紹介とか、ゲーム紹介のタイアップとかとはまたわけが違っている。色々考えて、話を聞きにいったんですけど、数%の取り分の世界。
大:数%の取り分では、事業としてやっていけないと思うんですよ。VTuberが4千人に膨らんできていますけど、余力のある運営チームから 「こういう未来があって〜」とか情報発信が必要です。VTuberもビジョンなく進むと、結果として行き場がなくなります 。
A:プロダクション自体は今作られている方がいると思うのでいいんですけど、もっと運用、仕事を卸すフェーズに問題があると思っています。そっちが増えていないし、VTuberの案件が狭くて、三次元とのパイの奪い合いになっている。 マネタイズを考えないと、トップの稼げるやつだけ残って、中間層以下はどんどん撤退し、最終的にポシャッて業界がなくなると思います 。
昔のニコ動でその現象が起きました。だから大事なのって、トップではなくてその1個下、2個下のレイヤーで、少なからず小遣い稼ぎでもいいから、少しでも儲かるスキームを構築しないと、全員が共倒れすると思います。
亀:文化が根づかない。
A:そうなんですよ。これが一番ヤバいなと今思っています。ここに対する解はまだないと言いますが、自分たちだけでは解決できない。意外と皆それに気づいていないというか、大手さんからお金はどんどん入ってくるんですけど、皆トップを獲ることしか考えていない。そうではなくて、その 下を支えないと、トップを獲っても下見たら誰もいない、ということになる 。かなり根深い問題だと思いますね。
亀:ライブチャットサービスとかがVTuberに興味を持っているという話をよく聞きます。喋りが上手くてパフォーマンスできるとメチャクチャ稼げるというので、そっち側の人たちも、何か今色めき立っているらしいです。そこはそこで異質なところなので、VTuberがメディアに取り上げられることも今後出てくるかなと思っています。ライブチャットみたいな仕組みだと投げ銭システムもありますし、収益面から考えると、本当に始まりそうな感じですね。
谷:ウチもライブチャットの問い合わせ来ました。「紹介してくれ」って。
A:ライブチャットは、今急激にレッドオーシャン化していますよね。だから、今新しいのをふっと出したところで、もうユーザーがあまり見る気起きていないんですよね。「今追いかけているので十分です」という状態になっちゃっている。
亀:供給過多になっているんですね。
一同:なっちゃっていますね(異口同音に)。
A:おそらく今、ライブチャットのユーザーターゲットはほぼオタクだと思うんですよ。でも普通のYouTuberはいわゆる一般層がターゲット。一般層は母数がデカイので、色々出てきても何かしらで見てくれる機会がある。けれども、かぎられた母数の中でオタク向けコンテンツばかり出てくるので、多分もうオタクたちは、自分の推しが決まっていて「もういいです」となっちゃっています。ぶっちゃけ「くまモン」みたいなキャラが出た方がいいと思います。
高:美少女系ではなくて?
A:くまモンみたいな子供たち向けのキャラクターが出てきて、新しいユーザーを獲得していかないと、母数が増えないですね。
塚:それは流れで自然と生まれると思っています。例えばYouTuber界隈だとヒューマンビートボックスみたいな一芸がまず流行って、次にゲーム系が来て、トーク系、メイク系、そして食レポ系……と来ています。
亀:ほうほう。
塚:僕はバーチャルラッパーとか来ると思っています。今ってビジュアルがかわいいとか、女性とか、オタク寄りだったんですけど、バーチャルラッパーがかっこいいリリックを歌うのがウケると、またちょっと別のフェーズに上がる気がします。そうしたら別カテゴリのものもウケて、VTuberもYouTuberみたいに裾野が広がっていく予感がします。
高:注目しているVTuberはいますか?
宗像秀明氏(以下、宗):「げんげん」を注目していました。
A:ある意味、自己表現の幅を広げた感じですよね。
塚:はたしてバーチャルなのか、リアルなのか……みたいな。あれをよりキレイに洗練したもの、まともな人にウケるものがカスタマイズされて将来出てくると思います。
A:「ミソシタ」はどうですかね?
谷:この間、ウチの経営会議で「ミソシタがめちゃめちゃ面白い」ってなりました(※編注:本サミットは、ミソシタが6月15日にメジャーデビューする以前のGW中に実施しました)。
(ポエムコア系VTuber「ミソシタ」。株式会社ポニーキャニオンから2018年8月にメジャーデビューすることが決定している)塚:これも、フォーマット変更したバージョンと比べてくると、拡大する可能性はあると思うんですよね。
A:運営は個人?
大:たぶん個人…ですかね。
亀:深夜放送みたいな。
一同:(ミソシタの映像を見ながら)これアンダーグラウンドでしょう(異口同音に)。
塚:何か引き付けられる世界観ありますね。
高:サミットで皆が思う注目勢「ミソシタ」(笑)。でも、こういう野良感みたいなのがスゴい大事な気はします。
A:今のVTuberの状況は、ニコニコ動画の黎明期と共通する部分がありますし、それをたどると同じことが起きる気がします。かつてクリエイターがニコニコ動画から次々消えて、 空洞化現象 がおきました。VTuber業界は、今だったらまだ何かしら対策考えていけるんですけど、このまま走ったら、同じようになるかもしれません。
亀:あとまだ経験の浅い配信者からすると、どうやったら上に上がれるか分からないと思うんです。つまり 露出の場がない 。引っ張りあげてほしいというか、他力本願なんですけど、そういう場があるといいなというのは思います。たしかニコニコ生放送では、ランダムに色んな番組の注目を集める「ニコ生クルーズ」という仕組みがあります。何かしら、面白そうなVTuberに注目させる仕組みがあったら、色々な人に見てもらうチャンスがある気がします。
A:たしか週刊VTuberランキングみたいな企画あったと思うんですが、どうなったんですか?
谷:なくなりましたね。
A:理由は?
谷:編集が大変だからです(笑)。あと、タイムリーに出せなくて意味ないよねという話で。(※編注:「週刊VTuberランキング」動画版は終了したが、記事版は継続している)
塚:確かに3日ぐらいで変わりますからね。
亀:ボーカロイド業界でも似たランキングありますが、めっちゃ大変みたいです。
高:そうみたいですね。
亀:それこそ塚本さんがやろうとしているエージェント――事務所みたいなところだと、新人発掘みたいなことができる気はします。
でも今のところ、野良系の素人の人たちがたくさんやっていて、その中で一部伸びていく。伸びない人もいるけど、その人はセンスがあるから、声をかけて引っ張り上げることもあるかなとは思います。それ以外だと、誰かのブログで何かやるみたいなことは引っ張られようがないのかな。偶然の出会いみたいなのが多分ない。
塚:基本的に、 強いキャラとのコラボ ですね。「絶対伸ばせる」と思ったら引っ張り上げるような仕組みを作ればいいんですけど、いかんせんそのポテンシャルの人がいない。それはやっぱり、自由過ぎても困るし、自分たちが一過性じゃなくて長期的に上に行きたいというモチベーションがないとやる意味もなくて、コラボした側の、強いキャラの消費で終わっちゃったらどっちも辛い。だから強い人が出てくるのを待つか、自分たちで作って、その仕組みに乗せるかというのが僕らの考えです。
(株式会社DUOのVTuber事務所「ENTUM」に所属する「ミライアカリ」。6月には歌手・西川貴教氏の[番組](http://live.nicovideo.jp/watch/lv313639214)にて共演など行った)亀:なるほど。
高:さっき言っていた中間の層の人たちというのは、もう完全に企業としてやっているとかではなくて、個人のクリエイターとして、自分の創作活動の延長でやっている人たちみたいなことをイメージして。
A:企業は一応あるっちゃあるんですけど、 今いる4千人の運営者のほとんどが個人。企業の方は1割いるかどうか。個人がいなくなったら、業界として立ち行かないと思います 。だから人気が出ないとお金にならない。お金にならなかったら「何のために時間使ってやっているの?」という話になります。何か見返りがないと厳しい。
谷:そうなると、趣味の一環ではなく、新規事業としてVTuberを始めてチャンネル登録者数が伸びないパターンは辛いですね。
A:そこは「頑張れ」としか言いようがないですね。ただ個人は、頑張りようがない人たちもいると思います。それを野放すと、どんどん人が減っていきます。 下手したら、一回やめる流れが始まった瞬間、皆一斉にやめ始める可能性 があるんですよ。それが怖い。
例えば今、何か徐々に個人でもグループになっているじゃないですか。「私は誰々と仲が良い」みたいな。でもAさんがやめると言って、Aさんがもしもグループの主軸だった場合、Bさん、Cさん、Dさん、Eさんも「じゃ、私たちもやめる!」ってなっていくかもしれない。それが怖いです。
谷:実際2グループぐらい崩壊しましたね(笑)
A:そういう現象が今後起きてもおかしくないです。
大:実際に自分個人でやっている実況者さんとかと話しているんですけど、今、飽和状態なので、多様性を担保していかないと、もう今の数で十分。さもないと、どんどん中間層が死んでいくことになる。そこが課題として大きいと思います。
亀:中間をどうやって維持させるか。
A:そうです。このままだと皆抜けていくと思うんですよ。
大:キズナアイみたいな存在は、もっと多様な方向へ育てないといけないですね。YouTubeから抜けて他の世界に行ったとなれば、そこを目指す人が増えるので、裾野という意味で言うと広がると思うんです。
一方で、それが中間層を育てることにはなっていなくて、どういうことをやったらそこが育つのかとか、仕組みで引っ張り上げるというのはあるかもしれないです。
宗: 中間層は何を目的としているかによると思うんですけど、僕が最近見ていて、大多数はお金目的じゃないのかなと思います。むしろアバターの中に入り、ファンアート描いてもらって、ユーザーとのやりとり自体が面白いと思っている層もけっこういるのかなと思います。
一同: 承認欲求 ですね(異口同音に)。
宗:大多数の中間層が何を求めているのかというところはしっかり見極める必要はあるかと思ってまして、「お金じゃない」と言う人の割合のほうが多いかと思っています。
大:あるいは有名になりたいとか。
宗:今の仲間というか、空気感が面白いとか思っている層もいると思うので、難しいところではあるんですけど。
塚:そうですね。
亀:例えばVTuberサミットと言っているんだから、そこの中でイベントやった時、素人の人たちも入ってきやすいようにするとか。認知のきっかけを作ってあげるというのをやってあげる。
谷:ウチは、年末で見るものなくて、ウチのVTuberのところへユーザーが流れてきて伸びて、それで定期で見てもらえるようになりました。
大:今、若干オタクみたいな文脈の人たちに楽しんでもらっているけれども、全然違う 一般層の人をターゲットにしていくには、どうすればいいのか。 そうすると、このVTuberサミットの意義はどこにあるのかなというところでいうと、今、お客さんになっている人たちと向き合うメンバーという意味でやっていくのか。それとも何かもっとこう、意義を拡大して、日本特有のこの文化、産業を海外に輸出できるところまで成長させるのか。そういう方向性があると話しやすいかもしれないです。
VTuberが抱える課題点や人気拡大の可能性について大いに語った中編に引き続き、後編では既存ビジネスとVtuberの関係性や、Vtuberのネクストステップに迫ります!
中編おわり。
後編に続く。
**【第1回 VTuberサミット】に関する記事 **
全世界的なヒットを飛ばしたスティーヴン・スピルバーグ監督の最新作『レディ・プレイヤー1』(4月20日公開)。2045年を舞台にした同作では、仮想世界「オアシス」で繰り広げられるスペクタクルな冒険が観客を魅了した。
そんな中、YouTubeを中心に活躍する仮想キャラクター「バーチャルYouTuber」(以下、VTuber)が、巷で注目されつつある。将来誕生するであろう巨大な仮想世界に思いを馳せつつ、VTuber事情に精通する識者たちが現状や展望を話し合う「VTuberサミット」の第1回目がスタートした。
■「第1回 VTuberサミット」サミット参加者一覧
【亀井智英】
Tokyo Otaku Mode Inc.の創業メンバーの一人( https://twitter.com/tomohkamei )。現在は同社代表取締役会長。経済産業省クールジャパン官民連携アドバイザリーボードの現メンバー。本サミットの発起人。
【高田順司氏】
大手YouTuber向けプロダクションで役員をつとめ、現在は独立。株式会社hayaoki 代表取締役。 https://twitter.com/uchu_jin
事業開発やYouTubeなどの動画関連のアドバイザーなどを行う。
【大坂武史氏】
Activ8株式会社の代表取締役。人気VTuberの「キズナアイ」も参加する バーチャルタレント支援ネットワーク「upd8」を運営。
【AO氏】
人気VTuber「輝夜月」のボス。
【谷郷元昭氏】
VR/AR技術を活用したキャラクターライブ配信やVTuberを展開するカバー株式会社の代表取締役。人気VTuberの「ときのそら」や「ロボ子さん」などを手がける。
【宗像秀明氏】
株式会社アップランドの代表取締役。広告代理事業やアプリ開発、VRプラットフォーム「VR LIVE」などを展開。人気VTuberの「電脳少女シロ」や「ばあちゃる」なども手がける。
【塚本大地氏】
株式会社DUOのCEO。人気VTuber「ミライアカリ」の展開やVTuber事務所「ENTUM」の運営を中心とした事業を手がける。
亀井智英(以下、亀):皆さん、お忙しい中、ありがとうございます。今回は「VTuberサミット」と銘打ちまして、VTuberの現状や課題を共有し合って、業界全体が良くしたり、さらに大きくしていくきっかけになったりすればと思い、私からお声がけして皆さんにお集まりいただきました。会の進行役は、高田さんに今回お願いしました。
高田順司氏(以下、高):まぁ、でも「VTuberサミット」って最初からなかなか振りかぶったよね(笑)。集まっていただいた方の中には、コンテンツIPを作ろうというスタンスの方もいれば、プラットフォームを含めて一緒にやりたいという方もいらっしゃると思います。ぜひ皆様の現状や課題を聞かせてください。
谷郷元昭氏(以下、谷):分かりました。
高:まずは……一つ聞きたいのですが、皆さんはニコニコ超会議にどんな風に関わっていましたか? 色んなIPコンテンツも出ていたと思いますが、まずはキズナアイはどんな感じでしたか?
大坂武史氏(以下、大):キズナアイが音楽ステージにて小林幸子さんの後にオオトリを務めました。時代の変化を感じました。
(チャンネル登録者数200万人以上の人気VTuber「キズナアイ」)宗像秀明氏(以下、宗):ウチのVTuberもニコ超に出演しました。皆さんスゴく楽しんでいたようで、業界の熱量というのを感じ取れたかなと思います。
塚本大地氏(以下、塚):『サンデージャポン』(TBS系)に超バーチャルYouTu”BAR”の様子なんかが取り上げられましたね。報道を通じて一般層にもウケ始めると、あのコミュニケーション体験を店舗持ってやる可能性も高まるかもしれません。人とキャラが別の形でコミュニケーションすることが一般に浸透する可能性を秘めていると感じました。
高:やっぱりニコ超の文化はピックアップしやすいのかなと思います。で、 VTuberに関して言えば、ここ2カ月で数が4千人 になりました、みたいなデータがあったりとか、思った以上のスピードで参入者が増えている印象です。
各社さんが色んな思いを持ってやっていらっしゃいますが、皆さんは、将来的にどういうことを実現したいですか? 例えばActive8さんは、キズナアイだけを伸ばしていくのか、もっと他のことをやりたいのか。
大:4千人いても、1万登録者以上いるVTuberって実はそんなにいません。「今一瞬のブームで終わらないようにするには、どうしたらいいのかな」 みたいなことは強く感じています。
高:自分のところ以外に見てて「面白いな!」というものは?
AO氏(以下、A):面白いところばかりなんですけど……(笑)
一同:ハハハ!
高:例えば「鳩羽つぐ」とか、動画3本くらいしか上げていないのに、スゴい数字伸びていますよね。YouTubeのセオリーからすれば外れていると思うけれど、ああいうYouTuberっぽくないコンテンツだからこそ、色んなフォーマットで展開できそうですよね。
A:同じです……(笑)
大:アニメの文脈から描いて、どれぐらいつぐちゃん自身にファンがついているのか興味があります。今後どういう伸び方するのか気になりますね。
(謎多きVTuber「鳩羽つぐ」。チャンネル登録者数は13万人)高:AOさんはどうですか?
A:ウチは一番デタラメだと思います(笑)。ただただ自分たちのやりたいことをやっているだけ。例えば、 インターネットが将来、仮想世界へバージョンアップされる と思うんですよ。ウチは、そのバージョンアップまでに間があるなら「その間を縮めようぜ」みたいな理念でやっています。それで「縮めるにはどうすればいいだろう?」と考えていた時、たまたまアイちゃんを見て「そうか、人間か」と。 仮想サイドの偶像を作り出して、人間を魅了できたら普及する と思いました。だから、それにつながるのであれば「何でもしよう」というスタンスです。
塚:僕は、人とキャラクターの中間地点にあるこのコンテンツが世の中に普及すれば、新しい概念の浸透で、その周りに商売が生まれると考えています。この市場が伸びる一番のきっかけというのは、やっぱりキズナアイや輝夜月のような天才。YouTubeが伸びた時と同じように伸びてくれればいいなと思ったんですが、そういう天才がいっぱいいるわけでもないですよね。
高:ハハハ、素直(笑)
塚:誰か、早く何か作ってくれないかな〜と密かに思ってます(笑)
一同:ハハハ!
宗:ウチは2010年代始めからアプリ開発もしているんですが、その時と状況が少し似ているかなと感じています。当時、アプリ開発が盛り上がってきたら大手さんや色んな会社さんがどんどん参入してきて、議論したり飲みに行ったりとかして、横のつながりで情報交換しているうちに、さらに業界全体が盛り上がっていくという、今回同じような流れができつつあります。
そういうのは計画的にどうこうというより、気付いたら面白いコンテンツもできてきて、大手もどんどん参入してくることで、各所から色んな予算が下りてきて業界が盛り上がる。そういう印象はあります。
谷:個人的には、今の状況は芸能界の黎明期に近いと感じていて、二次、三次のAKBみたいに僕は捉えています。今は昔の芸能界、まだピンクレディーもいない状態(笑)。
高:世代が分かる(笑)。
亀:まだピンのアイドルしかいない、そういうアイドル文化初期の時代。
高:他に、こういうことを実現したいことありますか? もっと海外の市場を開拓したいとか、チャンネル登録者数を日本一の規模までVTuberを成長させたいとか。
A:ソレント(※『レディ・プレイヤー1』に登場する悪役)に仮想世界を牛耳らせたくない(笑)
一同:ハハハ!
塚: VTuberが一過性のYouTube内現象で終わるのか、はたまた人や企業が集まってきて全てが置き換わるのか。 僕は全部置き換わると考えているんですけど、置き換わるために条件があると思っています。
今、流れるプール的に業界がスゴく勢いで流れていて、そのスピードが速くなればなるほど遠くに行く可能性は上がる一方、参加者全員がリタイアして陸に上がっちゃうと「終了」になってしまう。速くなりつつ、皆がそこにしがみつくことが大事。流れに身を任せつつ、溺れないように、陸に上がらないように、というのを意識しています。
高:ベンチマークにしていることって何ですか?
大:国内のみはあまり意識しなくて、世界単位で考えたいですね。手段として先に世界を攻めるぐらいな感じでもいいのかなと思ってはいる感じですね。本当に漫画、アニメのように海外で受け入れてもらえる日本の資産にしていきたいです。そのチャレンジは続けたいと思っています。
亀:一口に人間と言っても、世界規模で考えると宗教とか人種とか様々な問題があります。例えばウチのTokyo Otaku Modeだと、20%ぐらいが外国籍の従業員なんですけど、彼らに話を聞くと、僕のような黄色人種に対しても、肌が黒めだと認識して「黒人だ」と言う人もいるらしいです。今のキズナアイだと、わりと白人っぽい。ただ、展開場所によっては、ローカル化することも可能性としてある。例えばドバイに行ったらちょっと肌を黒くするとか、そういったことは今後考えられるんでしょうか。
A:「日焼けしました」みたいな(笑)
一同:ハハハ!
亀:今のこの流れって、グルーポン大戦争みたいなのにちょっと近いかなと思っています。グルーポンが日本で流行った時、国内で400サイト、中国で3000サイトぐらいできて雨後のタケノコ状態になりました。しかも 今回のVTuberは、資金があれば個人でもできる。だから全体のスピードはもっと速くなる と思うんです。そこで気になるのが海外の動きなのですが、もしご存知の方いましたらぜひ教えてください。
(「キズナアイ」も参加する バーチャルタレント支援ネットワーク「upd8」)
大:初音ミクをモデルにしたMMD(MikuMikuDanceの略称)が、ニコニコ動画で盛り上がりましたが、日本人はそれに近いノリで始めています。けれども、海外の一般のクリエイターはそういうノリで始めないです。
A:そもそもキャラクター大国が少ないですよね。キャラクターに対して愛情を向けるのは、ドラえもんやマリオがある日本と、マーベルやDCコミックスが長年人気のアメリカくらい。
大:よく海外の投資家の人と会って話しますけど、VTuberは「ビジネスモデルが確立していない」と捉えているんですよね。特に中国は、YouTubeがないからイメージが分からない。 本当はその先に、『レディー・プレイヤー1』みたいな仮想世界、大きくスケールするビジネスがある。それなのに「将来スケールするための準備を今しているんだよ」というイメージがほとんどない。 例えばアニメ化といっても、中国はセルアニメがようやく出てきたぐらいで、コンテンツ的にも3Dアニメはこれから。3Dアニメとタレントというところの親和性も理解できないことが多い。その辺はどんどん啓蒙していかなきゃいけないなと思っていますけどね。
高:僕は「海外」というのが1つのキーワードだと思っています。視聴者属性とか見ても、 こと日本のYouTuberで国境を越えられている人って、ほぼいないんですよ。逆に海外のYouTuberが日本に来れないのも、言語的な問題だったりする んですよね。逆輸入的にHIKAKINが一番最初に火がついたのは、ヒューマンビートボックスをやっていて、「Super Mario Beatbox」という動画でスーパーマリオの曲をカバーした動画が海外のメディアに取り上げられたりしたことが一つのきっかけだったりしますし。
塚:なるほど。
高:今のキャラクター展開は日本独自のコンテンツ文化だし、輸出されるべき要素の一つだなとは思います。 VTuberの文脈は、今までのYouTubeとかYouTuberと状況が似ているようで全然似ていない、 というのは感じますね。今後YouTubeみたいなプラットフォームから飛び出たところでどんなことをやるのか、そっちの方が興味があります。
亀:他にご意見のある方は?
A: 究極の問題はおそらくファン層じゃないでしょうか。現状、海外のオタクにウケているだけなので、海外のオタクにウケるのと海外の一般層にウケるのは、意味合いが全く別。 本当に海外にウケようと思ったら、やり方が変わってくるんだろうなと正直思っています。
亀:海外のオタクの人ってそんなに数が多くないのと、Google Playのアメリカの担当者に、日本の流行っているゲームとか見せると、ちょっと受け入れられないらしいんです。美少女ゲームもうまく意味が理解できない。ユーロ圏でも同じ。特にアジア圏だけが特別なマーケットなので、ゲームの課金がとんでもなく高い。
谷:ほうほう。
亀:一方アメリカだと、クロスワードパズルとかで遊んでいる幅広い年代層がいて、ウェブ上のスーパーカジュアルゲームとかが流行ったり。日本と韓国だけ突出しちゃっているようですね。一般向けだったら、やり方を変えないと、バービーちゃんみたいな感じで振り切って、外国人向けに受けられるキャラクターを作ってみたらまた違うかなと思いますね。
大:1キャラで全部制覇するのは無理だというのが印象としてあるので、やっぱりローカライズの方に走るのかなと。
亀:アメリカの「アベンジャーズ」みたいな集合できてしまうもの作ったらどうですか?(笑)
一同:ハハハ!
前編終わり
**【第1回 VTuberサミット】に関する記事 **
こんにちは,pchwです!
4回目の otakumode Tech Podcast
です!
今回のゲストは,フロントエンドエンジニアでうさぎラヴァーの @FiNGAHOLiC です.
FiNGAHOLiCの由来って何なんですか?って聞いたら,
Fingazz というトークボックスアーティストが好きだったので fingazz + holic = fingaholic なのです
という答えが返ってきました. http://www.fingadelic.com/
Podcastの音声は,Sound Cloudでホスティングしています.iTunesやTuneInからも聞くことが出来ます.
iTunes: https://itunes.apple.com/jp/podcast/otakumode-tech-podcast/id1325440190?mt=2
TuneIn(Amazon Echoで聞きたい場合はこちら): https://tunein.com/radio/otakumode-Tech-Podcast-p1087065/
Show Note
Tokyo Otaku Mode の otakumode Tech Podcast では技術の話・趣味の話・業務の話など色々織り交ぜてゲストを呼んで話していきます!
Podcastを聞いて,面白い話しているな〜興味が出てきたぞ!ちょっと話聞きに来たいなという方がいらっしゃれば下記のリンクからご応募頂ければ!
Tokyo Otaku Mode ではオタクコンテンツに特化した海外向け EC サイト otakumode.com を運営しています。
このサイトは Node.js と mongoDB、redis 等を使用して構築しています。2012 年から継続してサイト開発を行なっており技術的負債が散見される状態となっていたため、2018年1月を負債解消月間と設定し、通常の開発は一切行わず負債解消作業を行いました。
負債解消月間に先立ち開発チームで技術的負債をリストアップしたところ、
が効果が大きいのではないかという話になり実施しました。今回の記事では decaffeinate についてご説明したいと思います。
CoffeeScript は AltJS (alt JavaScript) の一つで、Python Like なインデントによるブロック構文を採用したプログラミング言語です。アロー関数、class / extends syntax によるクラス定義、デフォルトの変数スコープを関数ローカルに強制する等、ES5 以前の ECMAScript にあった多くの問題を解決した実装として2012年から2015年頃に人気がありました。
ES2015 (ES6) がリリースされ大半の機能が ECMAScript に導入されたことや、ES2015 に対応した CoffeeScript2 のリリースが少し遅れたため、一時期と比べ人気は下火になっていると個人的には認識しています。
Tokyo Otaku Mode では大半のコードを CoffeeScript1 で記述しており、CoffeeScript2 にバージョンを上げるか ES2016 に変えるかいずれかの対応を取る必要があったのですが、現在の JavaScript シーンが ES2016 を中心に動いている事などから ES2016 を選択しました。
なお、クライアントサイドの CoffeeScript については平行して行った Vue 2.0 へのバージョンアップ作業とコンフリクトするため CoffeeScript のままとして、サーバサイドコードをすべて JavaScript に置き換えることをゴールとして作業を行いました。
CoffeeScript を JavaScript に変換する場合、decaffeinate というツールで自動変換することができます。
以下のようにファイルやディレクトリを引数に実行すると CoffeeScript が JavaScript に変換されます。
1 | decaffeinate index.coffee |
https://github.com/decaffeinate/decaffeinate に書かれている通り decaffeinate にはいくつかのオプションがあるのですが、Node.js や Babel の使用を前提とする場合以下のオプションを指定しておいた方が良いと思います。
1 | decaffeinate --loose-for-expressions --loose-for-of \ |
各オプションの意味は以下のようになっており、すべて指定すると Array.from への展開を抑制し、不正なコンストラクタがエラーになります。
Decafffeinate は処理中で変換しきれないコードに対して以下のような decaffeinate suggestions をファイル先頭に出力します。
1 | /* |
この decaffeinate suggestions は、「CoffeeScript の暗黙的 return を明示的な return に変換したため不要な return が入っているかもしれないので削除した方が良い」という意味です。
decaffeinate suggestions の一覧は https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md にあります。
これらの decaffeinate suggestions のうち、DS0XX: Highest priority にリストされている項目は環境によっては修正しないとプログラムが動かなくなります。
現時点で DS0XX に挙げられている項目は DS001: Remove Babel/TypeScript constructor workaround のみです。DS001 は --disable-babel-constructor-workaround --disallow-invalid-constructors
オプションを併用すると decaffeinate 実行時にエラーになりますので、エラーが発生しない状態になるよう先に CoffeeScript のコードを書き換えてしまう方が対応としては簡単と思います。
また DS1XX: Common cleanup tasks にリストされている項目については修正することが推奨されています。
DS1XX のうち DS101: Remove unnecessary use of Array.from については、デフォルトではかなり冗長なコードが出力されるため --loose-for-expressions --loose-for-of --loose-includes
オプションを指定することで一部の Array.from への変換を抑制することができます。
その他の decaffeinate suggestions については修正しないと動かない訳ではないのでそのままでも良いですが、不要なコードもあるので可能なら修正した方が良いでしょう。ただし修正にはそこそこの時間が必要になると思いますので、修正する時間が充分取れない場合は放置した方が良いかもしれません。
弊社でこの作業を行った際、1950ファイルあった CoffeeScript を259ファイルに減らしました(上述の通りクライアントサイド CoffeeScriptはそのままにしたため一部ファイルが残っています)。当初は decaffeinate suggestions をすべて修正していたのですが、途中で明らかに終わらなさそうな状態になったため放置する方針に変更しています。
大量に CoffeeScript がある場合、bulk-decaffeinate を使用すると一括変換できます。
bulk-decaffeinate で変換する場合、ソースが git で管理されている必要がありますので未だソース管理していない場合や他のツールで管理している場合は先に git リポジトリを作成してください。
bulk-decaffeinate は dry-run モードで decaffeinate を実行しエラーがあれば中断するようになっています。decaffeinate 成功後 git mv
で CoffeeScript を JavaScript へ移動して commit するため git の commit ログが繋がった状態を保つことができます。また eslint --fix
も合わせて実行するなど、decaffeinate に関わる一連のタスクを自動化できます。
なお、bulk-decaffeinate を使用する場合、decaffeinate のオプションは configuration ファイルの decaffeinateArgs
に記述する必要があります。上述の decaffeinate オプションで実行する場合、以下の内容で bulk-decaffeinate.config.js を作成してください。
1 | module.exports = { |
bulk-decaffeinate check
でファイルチェック、
1 | bulk-decaffeinate -c bulk-decaffeinate.config.js check |
bulk-decaffeinate convert
で JavaScript への変換を実行します。
1 | bulk-decaffeinate -c bulk-decaffeinate.config.js convert |
上述したように、bulk-decaffeinate を使用して decaffeinate した場合 git mv
で .coffee ファイルを .js ファイルに変換して git commit
します。git mv
や git rm
した後で、削除されたファイルを引数指定して git log
しても表示されません。decaffeinate してから古いファイルのログを見ようとするとオプションを工夫する必要があります。
a.coffee を a.js に git mv
してコミットした場合、--follow
オプションを付けて a.js のログを表示すると a.coffee のログも表示されます。
1 | git log --follow a.js |
a.coffee のログだけを見たい場合は、--all
オプションを付けてログを表示してください。(bulk-decaffeinate を使わない場合等) git rm
してから git add
した場合も --all
で削除したファイルのログが見れます。
1 | git log --all -- a.coffee |
(余談ですが --
はオプションの終わりを示す引数です。getopt(3) で定義されていますので、オプションを解釈する一般的な *NIX プログラムで使用できます。)
リネーム/削除問わず、HEAD
上に存在しないファイルの git blame
を見る場合は、対象コミットの一つ前のコミットを指定する必要があります。
1 | git blame \ |
decaffeinate した後のソースコードが特に読みにくいという訳でもないと思いますが、prettier 等でコードフォーマットしておくと以降の開発が楽になると思います。
クライアントサイド JavaScript の場合は Babel と Babel Transform Plugin で実行を想定するブラウザのバージョンに合わせてトランスパイルするようビルドツールを設定した方が良いでしょう。
CI を稼働させている場合 eslint を CI で実行し、lint エラー時に CI を失敗するように設定しておくとコードチェックが自動化し対応を強制できます。decaffeinate を実行してすぐの状態ですと eslint がエラーを出すと思いますので若干手間が必要ですが、prettier と eslint –fix の併用で自動変換してから問題のありそうなエラーを修正した後、コードレベル設定で一部 lint を無効にしておく形でしたら割と簡単に実装できると思います。(eslint の設定方法は https://eslint.org/docs/user-guide/configuring にあります。)
Tokyo Otaku Mode では以下の職種を募集しております。Node.js、mongoDB、Vue.js でのシステム開発にご興味のある方は是非ご連絡ください。
]]>Tokyo Otaku Modeの ぽち@pchw です.
今回はTokyo Otaku Mode内のリモートワーク状況や,リモートワークのメリット・デメリットについて書きました.
Tokyo Otaku Modeの開発チームの多くのエンジニアは渋谷オフィスに出社して日々仕事をしています.しかし,
という風に,リモートワークを取り入れています.
また,渋谷オフィスに出社しているエンジニアも週1回程度はリモートワークを行っています.
よく田園都市線に障害が発生し,交通が混乱することがあるのですが,そのようなケースに渋谷オフィス出社メンバーがリモートワークを行うことが多いです.
他にも,
など,各自判断でリモートワークを行っています.
特に理由がなくとも週1回程度はリモートワークをするようにしているのですが,それは急なリモートワークが必要になった際に慌てないためです.
リモート側としては,環境が古すぎて再構築が必要ですぐに作業を行えない状態に陥らないようにするということを意図しています.
リモートワークを受ける(?)渋谷オフィス側もリモートでのミーティングのノウハウや手順を忘れて手間取ってしまうことを防ぐ意図もあります.
世間ではリモートワークは推進派と撤廃派で日々激しい戦いが繰り広げられています.
シリコンバレーにオフィスを構えるスタートアップは,割とオフィスを快適にしオフィスに出社させてスピード感やシナジーが生まれることを期待するケースが多いような印象です.
世界各国からエンジニアを雇用したり,生産性を向上させたいという所はリモートワークを推進しようとしている印象です.
Tokyo Otaku Modeでは,リモートワークを多く取り入れているチームとそうでないチームで分かれています.リモートワークを多く取り入れているのは,
といったチームです.主にオフィスに出勤せずとも仕事が進められる業務を行っているチームが多いです.
逆にリモートワークをあまり取り入れていないのは,
といったチームです.倉庫での作業や来客等の場所の必然性が大きいことが主な理由です.
Tokyo Otaku Modeでは,初期の頃はボランティア・インターンのメンバーの比率が多く(創業メンバーも元は本業を持っていた),その頃は今よりも多くリモートワークを行っていました.
自分も平日夜や休日の時間を使ってリモートでコントリビュートしていました.
そのような過去があったり,現在でもリモートワークが行われているのですが,まだまだ解決すべき事柄が多くあり,リモートワークは簡単ではないという意見は正しいと感じます.(どの企業でもいきなり明日からリモートワークをやって効率よく回るかと言われるとそうではない,という意味で「簡単ではない」です.)
しかし,ツールを導入したり機材を用意することで,デメリットを最小化しメリットを享受できるようになります.
リモートワークを行っている中で感じたメリットが色々とあります.
大まかにわけて,
の二種類があると考えています.
まずは,リモートワークを行う人だけではなく,企業や仕事の進め方としてメリットが出て来る事柄です.
などがあります.
Tokyo Otaku Modeには,渋谷にオフィスがあります.
関東近郊はエンジニアが日本の中では多いため有利ですが,地方にオフィスがある企業などでは通勤圏内でないとエンジニアを雇うことが出来ないとなると選択肢が狭まってしまいます.
リモートワークがOKであれば,募集する際に近郊に住んでいる必要はなく地方に住んでいるエンジニアでも採用することが出来ます.もっと言えば日本に住んでいる必要すらありません.
実際,Tokyo Otaku Modeの開発チームには,江ノ島のほうに住んでいるエンジニアや函館に移住したエンジニアもいます.
面接もビデオチャットがあれば,問題なく行えます.
開発以外のチームであれば,新潟や山口といった地方からリモートワークで働いているメンバーがいます.
他にも,都内に住んでいるが,時短勤務でリモートワークをしているエンジニアも居ます.
このように,採用という面では場所の制限を考慮しないで良くなるため,受け入れることができる条件が広くなります.
これは,オフィスではどうしても「立ち話で話をしてそこで決まって進む」ということが起こりがちで,その情報共有が漏れると他のメンバーが知り得ない情報が発生することを防止できるということです.
リモートワークを前提として仕事をすると,基本的には情報を伝える際はSlackやGitHub Issue上でやり取りをするため,チームメンバーの目に触れたり,検索可能な状態で情報伝達が行われます.そのため「立ち話で話をしてそこで決まって進む」ということが起こりにくくなります.
もちろん,「SlackのDirect Messageでやり取りを行って進める」,「ビデオ会議上で話して決まって進む」などリモートワークを行っていたとしても,情報共有が漏れるケースを起こすことは出来ます.
そこで,Tokyo Otaku Modeでは
#dev
などのメンバーが居るところでやり取りをするといったルールを設けています.このルールは,実はリモートワークをやり始めた初期に「DMで依頼が飛んできまくって一部の人しか把握しておらずその人が休んだときにスタックした」ということが起こって,全体に注意喚起をしまくって定着させたルールです.
(なおSlackから転記するのはSlackの検索がイマイチ使いづらく,情報も辿りにくいためです.)
他にもチーム全体が見る情報や日報などもesa.io - Expertise Sharing Archives for motivated teams.に積極的にまとめるようにしています.
それによって,とりあえずesaを検索しておけば何かヒットするという状況になっています.
東日本大震災の記憶がまだ新しいと思いますが,東京近郊も東海大地震の危険性をはらんでいます.
東京に集中している場合,大災害が起こった際に業務が全てストップしてしまうという可能性がありますが,全国に散らばっていた場合はそのリスクはある程度は軽減されます.
また,スタートアップは成長が急で日々メンバーが増加することに対してオフィスの移転が追いつかないということがあります.
リモートワークを行っている場合,メンバーの増加が即オフィススペースが手狭になることに繋がりません.
デスクは多少は増やすことは出来ますが,会議室などのミーティングスペースはデスクに比べると簡単に増減することは難しいです.
リモートワークが基本になっていれば,ビデオ会議で行えばいいため,1on1などの他に聞かれてほしくないものだけ会議室で行うという形になります.
冬季などは,オフィスで人が密集することにより,インフルエンザや風邪の集団感染のリスクが高まりますが,リモートワークではインターネットを経由してインフルエンザに感染することがないので,安心です.
次に,リモートワークを行っているその人が享受できるメリットです.
というものがあります.
まず,自分は通勤時間が大嫌いです.
座ってプライベートの開発をしたり,小説を読んだりして時間を有効に活用しようとしたりはしていますが,1日24時間のうちの往復2時間程度の時間が無為に消えていくのがいかに無駄かという話です.
他にも,東西線,埼京線,総武線や田園都市線などあり得ないレベルの満員電車で通勤している人もいます.一定の混雑度を超えた満員電車は,明らかに人の尊厳を損なう異常なレベルとしか思えません.
アメリカから日本に出張してきたメンバーも満員電車を体験し,その後に仕事をするなんてcrazyだという感想を残しているレベルです.
痴漢や痴漢冤罪が大きな問題になっていますが,ただ通勤するという生産性の無い行為にそのようなリスクを負うことがまずありえないと思います.正直に言ってこのリスクを負う必要がないというだけで,既に十分なメリットだと言わざるを得ません.
リモートワークであれば,混んだ電車に乗る必要はありません.
また,都内の鉄道では,大雨や少しの雪で大幅に交通が混乱します.
リモートワークが出来る環境であれば,天気予報を見て「雪が降りそうだから念のためリモートにしておこう」という判断が簡単に下せます.
混乱が起きているのは,「電車が動いてるかどうか分からないけれど,会社から指示が出ていないから出社しておこう」という人が多数いることによって鉄道が止まった際に混乱するためでしょう.
予め,リモートワークを気軽に行える環境であれば「電車が動いているかどうか分からない」という時点でリモートワークに切り替えれるはずです.
実際に1月の大雪警報が出た時のTokyo Otaku ModeのSlackの#dev
のやり取りは,
このようになっていました.
Tokyo Otaku Modeは越境ECをやっているのですが,海外ではDrop offといって家の前に置いて配達完了というケースが多々あります.
日本では,基本的には宅配で不在の場合は不在通知票が入っていて持ち帰られるというケースが多いです.
小さいものであれば,宅配ボックスを利用・コンビニ受け取り・オフィスで受け取って持ち帰るなども可能ですが,家財や大きいフィギュア等だと家で受け取りたいですよね.
また,ネットスーパーは冷蔵や冷凍のものが含まれるため,宅配ボックスを利用できないケースが多いです.
リモートワークであれば,問題なく対応できます.
他にも定期的にやってくる,火災報知器の点検・水道設備の点検・非常設備の点検など色々と家の定期点検などもリモートワークであれば,普段と同じように仕事をしつつ対応することが出来ます.(リモート不可の職場の場合はどうしているんでしょうか?半休を使う?)
自分は一人暮らしなので良く分かりませんが,同居している家族がいる場合や,お子さんがいる場合に一緒の時間を作りやすかったり目が届くということでリモートワークにメリットがあるようです.
Tokyo Otaku Modeでも,結婚を機に引っ越してリモートワークをするようになったメンバーや,出産を機に育児休暇後にリモートワークをするようになったメンバーが居ます.
(産休・育休を経験して得た知見と、わかったうちの会社の良いところ108 | Tokyo Otaku Mode Blog)
リモートワークが普通になっていれば,急に実家に戻らないといけない場合や,地方・海外へ出張になった際にも特にパフォーマンスに変わりなく仕事を行うことが出来ます.
自分もポートランドからリモートワークをしたり,ロサンゼルスからリモートワークをしていたメンバーも通常と変わらないパフォーマンスで仕事を行っていました.いま時点でもポートランドからリモートワークをしているエンジニアもパフォーマンスを発揮しています.
ただ,海外からのリモートワークに関しては,時差の話も絡んでくるため,国内のリモートワークに比べてもう一段階難易度が高いです.
アメリカ西海岸はPDT/PSTのタイムゾーンで,日本との時差は16/17時間です.
日本の朝には西海岸は夕方で,数時間程度しか業務時間が被りません.
そのため,日本側が少し始業を早めて調整したり,スクラムのイベントを午前に行うなどの対策を行っています.逆に一方が寝ている間に他方が動けるというメリットもあります.
自分は帰省をしないので,あまり感じませんが,多くの人はお盆や年末年始といった時期に実家に戻ったりしますが,世間も同じ時期に帰省を行うために交通費が高騰する傾向にあるようです.
しかし,リモートワークが出来る状況であれば早めに帰省して節約をするということも可能です.
親や家族の関係があり,住み慣れた地元で働きたいというケースもこれから増えて来ると思われます.その際にリモートワークが出来るなら,今の仕事を続けたまま地元に帰ることが可能です.
東京は家賃が高めのため,地元に戻ったほうが圧倒的に安く生活ができるというケースもあると思います.
自分はリモートワークの推進派のため,メリットを長々と書いてきました.しかし,もちろんデメリットも存在します.
リモートワークを行うにあたり,必須とも言えるのが環境の整備です.
が少なくても絶対に確保が必要です.
インターネット接続が不安定だと,ビデオ会議時に「音がよく聞こえない」「音がブチブチ切れて会話がなりたたない」ということが起こり,リモートワーク良くないねという結論に陥りがちです.
リモートワークの場合は,自宅やコワーキングスペースなどで仕事を行う事が多いですが,自宅の周りで工事をして工事音があったり,コワーキングスペースが騒がしく喧騒がマイクに入ってしまうとビデオ会議の際の品質が著しく下がります.そのため,静かな場所を確保するのは必須条件の1つです.
また,マイク・ヘッドホンが低品質すぎると,「音がよく聞こえない」「今なんて言いました?」みたいなことが起こり,リモートワーク良くないねという結論になりがちです.
それに加えて,作業するPCをどうするか?(リモートワーク用に用意する?ノートPCにしてオフィスに来る時とリモートワークで共用にする?)とかディスプレイを家にも用意する必要があったり,デスク・椅子も悪いものを使うとよくありません.
カメラもほぼ必須です,声だけだと会話の切れ目などが分かりづらく,やりにくさがあります.1on1やペアプロなどでも効果を発揮します.
また,オフィス側もオフィス多人数でリモートワークしている人と一緒にビデオ会議をやるとマイクが低品質の場合は,リモートワーク側が「すいません,喋ってる人がマイクから遠いです」みたいな不利益を被ります.
基本的には,ある程度の環境を整備してあげれば,問題はなくなります.
ただ,初期投資として機材を揃える必要はあります.
なお,マイクヘッドホンはiPhone付属のイヤホンマイクを使うのが一番揃えやすく問題のない品質というのがTokyo Otaku Modeでの結論です.
オフィス側が会議室に入って,多人数でビデオ会議をやる場合は非指向性のマイクを置くのが良いです.それよりもっといい方法は,会議室に集まってビデオ会議に参加するのではなく,オフィス側も全員自席でイヤホンマイクを使い,自分のPCでビデオ会議に参加するのが良いというのも知見です.
会議室などで大人数の声を拾う必要がある場合は,サンワサプライの400-MC001かMM-MCUSB22を使っています.机を囲むぐらいの距離であれば,特段困らない程度の性能です.
予算に余裕がある場合はBlue MicrophonesのYetiマイクを使うと良いようです.
また,ツールとしても
なども導入したほうが,スムーズにリモートワークでの開発を行えます.
これは性格によるのですが,人によっては自宅からリモートワークをしているとチャット上や(あまり多くない)ビデオ会議で顔をあわせるだけになるためか,孤独感を感じることがあるようです.
これは,解決策は今のところ思いついていませんが,週に1回程度オフィスに顔を出すとか,雑談が出来るSlack上のチャンネルを用意するなどである程度は軽減ができるようです.
Tokyo Otaku Modeでは,#freetalk
といった雑談全般をする部屋や,#dev_neta
といった技術関連の記事を投げ込んだりする部屋があったり,#ika
などの部活動(この場合,Splatoon2を一緒に遊ぶ通称イカ部)関連のチャンネルがあります.
なお,この記事を書くにあたって孤独感を感じる的なことを言っていたエンジニアに話を聞いたら,「もう慣れてしまって,孤独感を感じない」とのコメントを頂きました.
これも完全には解決が出来ていません.
いわゆる雑談というやつなのですが,意外とトイレに行く途中で思いついて「そういえば,xxの件どうだっけ〜」みたいな感じの会話から会話が弾んで何か良い商品のアイデアが思いついた・・・のようなケースがあったりするのですが,こういう機会がリモートワークでは減ってしまうのがデメリットです.
デメリットを消そうと雑談が出来るSlack上のチャンネルを用意したり,オフィスにビデオ通話がずっと繋がっているPCを用意したりしたのですが,デメリットを打ち消すまでには至っていません.
Sqwiggleというサッとビデオ会議が開始できるようなソフトウェアを試用しようとしたのですが,常駐するには重すぎて邪魔だったのと,ずっと自分の姿が映し出されているのに抵抗があったというのでダメでした.(そしてそのソフトもなくなってしまった)
Discordという音声チャットの部屋を用意できるSlack的なものがあるのですが,こちらはまだ試せてないです.SlackとDiscord両方立ち上げといて,使い分ける・・・というのあんまりスマートではないなという気持ちもあります.あと上手く使わないと過疎ります.
リモートワークだと基本は文字コミュニケーションが多くなるのですが,文体によっては「この人もしや機嫌悪いのでは・・・ハラハラ」ということがあったりするようです.
これはすぐ解決出来て,絵文字を使うとニュアンスが伝わりやすくなります.
という風に,まぁなんというか無難な感じになります.
他にもSlackであれば発言に絵文字でリアクションが取れるので,
のような感じで反応することもできて,スムーズにコミュニケーションできます.
リモートワークだと,集中して仕事をしているためか,働きすぎてしまうという危険性があります.俗に言う「もうこんな時間か・・・」というやつです.
オフィスにいると,周りから人の気配が消えたというので気づいたりするのですが,リモートワークだと人の気配は察することが出来ません.
これは,時間を決めて休憩を挟むことでコントロールしたり,ポモドーロ・テクニック等を用いてコントロールするなどの方法があります.
単純に夕方ぐらいにアラームを鳴らすという手もあります.
リモートワークが気軽に行えるようになるとありがちなのが,「調子が悪いのでリモートワークします」というやつです.
これは簡単に解決できます.「調子が悪いなら病院に行って休め」というのを「調子が悪いのでリモートワークします」と発言した人に伝えることです.
そして,自分は今年のどこかで札幌に移住してリモートワークをしようと考えています.
あたりが理由です.
長々と書きましたが,もっと話を聴きに来たいという方が居ましたら以下の募集から「話を聞きに行きたい」して頂ければ.
]]>こんにちは,pchwです!
今年一発目の記事は,三回目のotakumode Tech Podcast
です!
今回のゲストは,Tokyo Otaku Mode のマッスル,セグウェイこと @yutosegoe です.
Sound Cloudでホスティングしています.
iTunes: https://itunes.apple.com/jp/podcast/otakumode-tech-podcast/id1325440190?mt=2
TuneIn(Amazon Echoで聞きたい場合はこちら): https://tunein.com/radio/otakumode-Tech-Podcast-p1087065/
Show Note
Tokyo Otaku Mode の otakumode Tech Podcast では技術の話・趣味の話・業務の話など色々織り交ぜてゲストを呼んで話していきます!
Podcastを聞いて,面白い話しているな〜興味が出てきたぞ!ちょっと話聞きに来たいなという方がいらっしゃれば下記のリンクからご応募頂ければ!
今年もよろしくお願いします!
]]>こんにちは,pchwです!
二回目のotakumode Tech Podcast
です!
今回のゲストは,Annict (アニクト)の開発者でも知られている @shimbaco です.
Sound Cloudでホスティングしています.
iTunes: https://itunes.apple.com/jp/podcast/otakumode-tech-podcast/id1325440190?mt=2
TuneIn(Amazon Echoで聞きたい場合はこちら): https://tunein.com/radio/otakumode-Tech-Podcast-p1087065/
Show Note
Podcast内で出てきた今期・来期のアニメに関する情報をまとめておきます.
今期のアニメの話の流れで出てきたもの
来期のアニメの話の流れで出てきたもの
Tokyo Otaku Modeでは,来年もPodcastで技術の話はもちろん,それだけではなくTokyo Otaku Modeっぽいな〜という感じの話題でゲストを呼んで話していければと思っています.
Podcastを聞いて,社内の雰囲気や面白い話しているな〜興味が出てきたぞ!という方がいらっしゃれば下記のリンクからご応募頂ければ!
来年もよろしくお願いします!
]]>こんにちは,pchwです!
社内のエンジニアやビジネスサイドの人を呼んで雑談をするotakumode Tech Podcast
を収録する試みを始めました!
今回のゲストは,最近開発チームのリーダーになった @shige です.
Sound Cloudでホスティングしています.
Show Note
Podcast内で出てきた書籍に関しては以下の2冊です.
Tokyo Otaku Modeでは,これからも社内のユニークな人を呼んで技術的な話やアニメの話や仕事の話とかを収録して配信していこうと考えています.
社内の雰囲気や面白い話しているな〜興味が出てきたぞ!という方がいらっしゃれば下記のリンクからご応募頂ければ!
こんにちは,pchwです!
先日社内勉強会を行いました.
前回の社内勉強会の記事は わーい! TOM 勉強会だー! FXトレード自動化?すごいのだー! | Tokyo Otaku Mode Blog です.
今回で7回目となる社内勉強会は,7人の発表がありました.
スライドと発表内容のサマリーを紹介したいと思います.
前回はFXの自動トレードの話を発表していたnaoinaが,今回は現代ポートフォリオ理論に基いて確定拠出年金の購入比率を自動的に調整するという発表を行いました.実際にデモも行われました.
(資料は非公開です)
React NativeでRedux-Sagaを導入した経験を元に,Redux-Sagaの概要や利点・使い方などの発表を行いました.
React Nativeで作ったアプリでRedux-Sagaを使ったので,その話 / TOM Internal Developer Session #7 // Speaker Deck
Google App Scriptは色んなチームで使われています.
しかし,一部のAPIしか使われていないため,API全体を見直して使えるものが無いかを調べてみたという発表です.
Free study Google Apps Script // Speaker Deck
otakumode.com をDockerで動かすために色々と試したことについての発表です.
開発環境としてDocker上で動かすパターンと本番での運用を想定してDocker上で動かすパターンをデモを交えて説明しました.
(資料は非公開です)
アニメ視聴記録サービス Annictの開発者であるshimbacoの発表です.
Annictで日々やっている問い合わせ対応やデータ登録周り,ユーザとのコミュニケーションに関する部分の発表です.
Annictの運用で開発以外にやっていること // Speaker Deck
8月から住居を函館に移したnidateによる,函館の紹介とリモートワークの発表です.
(資料は非公開です)
mongodbを叩いて生成した定点観測のデータをスプレッドシートに直接書き出すためにいろいろ頑張ったという発表です.
Tokyo Otaku Modeでは定期的に興味のある開発トピックやノウハウなどの共有を社内勉強会という形で開いています.
興味が出てきたぞ!という方がいらっしゃれば下記のリンクからご応募頂ければ!
こんにちは。Tokyo Otaku Mode(TOM)ソフトウェアエンジニアの稲田です。
TOMが開発、運営している自社ECサイトのotakumode.comのバックエンドは現在Node.jsで動いています。その中で多数の関数が定義され利用されていますが、そのほとんどがCallbackを取るようになっています。
しかし最近、バックエンドのNode.jsのバージョンがv6.11.xにアップデートされジェネレータが使えるようになり、co + yieldの組み合わせで同期的な書き方ができるようになりました。このco + yieldで書くために、PromiseとCallbackの両方に対応した関数を書いたときの問題とその解決方法を書いておきます。
const f = (callback = () => {}) => { const p = new Promise((resolve, reject) => { ...... if (err) { return reject(err); } resolve(obj); }); p .then(obj => { process.nextTick(() => { callback(null, obj); }); }) .catch(err => { process.nextTick(() => { callback(err); }); }); return p;};
PromiseとCallback、どちらの世界でも同じ関数(=処理)を使いたいため両方に対応した関数にします。なぜならば、別の関数にすると処理が分散してしまい、将来変更があった際に変更箇所が増え、バグの原因になりやすいからです。
otakumode.comのコードベースはすでにかなりの大きさになっているため、従来のCallback関数を渡すようになっている処理をすべてPromiseを使うように変えるのは現実的ではありません。
逆にPromiseを使わないという選択肢もありますが、新しいコードはできるかぎり直感的にわかりやすく書きたいのでco + yieldを使っていきたいところです。
これらを満たすためには、すでにあるコードは変更せずに新しいコードはco + yieldで書けるよう、Callbackで呼び出せ、かつPromiseを返す関数にする必要があります。
Callbackを取りつつPromiseを返す関数は素直に書くと、例外の扱いに困ることになります。
const f = (callback = () => {}) => { const p = new Promise((resolve, reject) => { ...... if (err) { return reject(err); } resolve(obj); }); p .then(obj => { callback(null, obj); // ここで例外が発生した場合に困る。 }) .catch(err => { callback(err); }); return p;};
一見すると良さそうに見えますが、このコードだと、渡されたCallbackの中で例外が発生した場合に例外が.catch
に捕捉されてしまい、トップレベルまで例外が上がらなくなります。また、.then
と.catch
の両方が実行されることになるので、2重にCallbackが呼ばれてしまいます。
const f = (callback = () => {}) => { const p = new Promise((resolve, reject) => { resolve('ok'); }); p .then(obj => { console.log('then'); callback(null, obj); }) .catch(err => { console.log('catch'); callback(err); }); return p;};let count = 0;f(() => { console.log(`call ${++count}`); throw new Error('test');});
thencall 1catchcall 2(node:2713) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: test
process.nextTick
の中でCallbackを呼ぶようにすれば、例外が発生したときでも.catch
に捕捉されずに例外がトップレベルまで上がります。
const f = (callback = () => {}) => { const p = new Promise((resolve, reject) => { resolve('ok'); }); p .then(obj => { console.log('then'); process.nextTick(() => { callback(null, obj); }); }) .catch(err => { console.log('catch'); process.nextTick(() => { callback(err); }); }); return p;};let count = 0;f(() => { console.log(`call ${++count}`); throw new Error('test');});
thencall 1/path/to/repo/after.js:24 throw new Error('test'); ^Error: test at f (/path/to/repo/after.js:24:9) at process.nextTick (/path/to/repo/after.js:9:9) at _combinedTickCallback (internal/process/next_tick.js:73:7) at process._tickCallback (internal/process/next_tick.js:104:9) at Module.runMain (module.js:606:11) at run (bootstrap_node.js:389:7) at startup (bootstrap_node.js:149:9) at bootstrap_node.js:504:3
今回はPromise/Callback両対応をする際の問題と解決方法を書きました。新規プロジェクトではPromiseのみで書いてもいいと思いますが、既存のコードに組み込む際にはPromise/Callback両対応するのが現実的です。そういった場合にこの記事が一助となれば幸いです。
最後に、TOMではサーバサイドエンジニアを募集しています。Node.jsでバックエンドを書いてみたい! 私ならもっとうまくPromiseとCallbackを扱える! という方は下記リンクから応募ください。
https://www.wantedly.com/projects/8214
それでは良いPromiseライフを!
]]>こんにちは,ぽち@pchwです.Tokyo Otaku Mode(以下TOM)でエンジニアをやっています.
先日行われた React Native Meetup #6 - connpass のLT枠で発表を行いました.
会場の様子-ひろーい!
テーマは,ExpoというReact Nativeでの開発を楽にしてくれるツール群・ライブラリに関してでした.
内容は,Expoのサラっとした説明と実際にExpoを使ってアプリを作って公開するまでの間にハマったことと解決方法を交えてお話しました.
スライドはこちらです.
TOMではiOS/Androidアプリを出していますが,それはReact Native製ではなくネイティブのコードになっています.
TOMの開発チームでは「20%」という週に1日スプリントとは別の興味があることを開発する時間があります.
その時間を使って試作しているアプリはReact Nativeを使って作っています.
React Nativeを使っているかどうかは関係ないんですが,サーバサイドエンジニア・Webデザイナーを募集中です.
興味がある方は以下から応募いただけるとありがたいです.「発表を見て応募してきました」とか言っていただけると泣いて喜びます!
越境ECサイトで世界を目指す熱いサーバーサイドエンジニア募集
日本のポップカルチャーを世界へとどけるWebデザイナー募集!
みなさんこんにちは。Tokyo Otaku Mode(TOM)でエンジニアをやっています @pchw です。
先日TOMの開発チームは定期的に行われる開発合宿をやってきました。今回は1年ぶりに鎌倉での開発合宿でした。
せっかくだし、息抜きに海岸を散歩するかという絵
今回は、
というテーマを決め、チームに分かれて開発を行いました。
この記事は、CircleCI 2.0 移行 のチームの記事になります。
さて、TOMでは合宿前までは CircleCI 1.0 を使っていました。
色んな記事で
などの前評判を聴いていましたが、「うちに導入してどれぐらい変わるのかねえ」という感じでした。
ひとまず、合宿ではまず公式の Migrating ガイドであるMigrating from 1.0 to 2.0を元に進めることにしました。
circle.yml
を .circleci/config.yml
に移動environment
(環境変数)周りの移行(全部文字列にする)working_directory
の指定steps
という所に処理を書いていくpass
状態にもっていけるversion
jobs
working_directory
build
steps
という所まではすんなりと進みました。
その後、既存のcircle.yml
で行っていた処理を見直しながら.circleci/config.yml
へCircleCI 2.0の書式に従って移行するという作業に移ります。
.circleci/config.yml
を記述するにあたり、まず CI 実行環境をExecutor Type
から選択する必要があります。(Executer Type
には docker
と machine
があります。詳しくは Choosing an Executor Type をご覧ください。)
Executer Type として machine
を選択すると Virtual Machine が実行環境となります。Docker 起動では無くなりますので、後述するような.circleci/config.yml
で複数の Docker コンテナを指定する方法など、Docker Origin な設定はすべて実施できなくなります。(Virtual Machine には Docker が入っているようですので Docker や Docker Compose 等を独自に組み込んで似たような CI タスクを実行することは可能なはずです。)
Executer Type として docker
を選択すると .circleci/config.yml
で指定された Docker image が Primary image として実行され各 CI タスクは基本的にすべて Primary image 上で実行されます。
Executer Type に docker
を選択する場合、CI に使用する Docke Image を自分で指定しなければなりません。
使用する Docke Image は、Public Repository に置かれた Docker Image ならどれでも使用できます。
などの選択があります。
なお Private Repository を使用したい場合は、Docker を起動できる Docker Image をまず起動し、docker login
する必要があります。各タスク実行時も docker run
する必要がありますので、CircleCI 2.0 でサポートされる Docker 関係の機能は使用できません。詳しくは Using Private Images and Docker Registries をご覧ください。
各種オフィシャル Docker Image を使用する場合
CI 実行に必要な各種ライブラリや追加で必要となるプログラミング言語等のリソースを .circleci/config.yml
の steps
でインストールしていく必要があります。
独自に作成した Docker Image を使用する場合
CI 起動時に必要となるリソースは全てインストールされた状態となっていますので、.circleci/config.yml
では CI タスクのみを記述すれば良い形になります。またプレインストール処理が無くなりますので CI の実行時間の短縮が期待できる利点がありますが、アプリの修正内容や production 環境に合わせて Docker Image を更新していく必要があります。
TOMでの選択
諸々検討の結果、Tokyo Otaku Mode では独自に CI 用の Docker Image を作成することにしました。
必要なモジュールをインストールした Image を用意し、DockerHub へ置いておいてそれをimage
で指定しその後の処理をsteps
に記述することになりました。
なるべくsteps
に書く量を少なくしたかったというのが主な理由です。また、その Image を流用してゆくゆくは開発環境をサッと構築し直せるといいなという目論見もあったりはします。
さて、必要なモジュールをインストールした Docker Image を作成して Docker Hub にアップロードするにしても、まずは Dockerfile を作る必要があります。
ここは試行錯誤があったのですが、設定を大きく変えると CI が失敗する可能性がありましたので、ベースの Image には CircleCI 1.0 に合わせて Ubuntu 14.04 を選び、以下のモジュールをインストールするように記述しました。
ビルドした Docker Image は Docker Hub にアップロードします。Docker ID を作成し docker push
すればアップロードできます。(詳しくは Overview of Docker Hub 等をご覧ください。)
余談ですが、Tokyo Otaku Mode では Android アプリのビルドも CircleCI で行なっており、別途アプリの CI 用のイメージも作成しています。
なお、この Image に含まなかったデータベースや elasticsearch などはオフィシャルのImageを使ってimage
と並列に以下のように記述しました。こうすることで別コンテナとして動きます。
このように記述したimage
から作られたコンテナに対しては localhost〜 でアクセス出来るようになっているため、開発環境のマシンでデータベースを立てているのと同じようにアクセスすることが出来ます。
steps
の記述続いてstepsの記述を行なっていきます。
既存のcircle.yml
では、
steps
に変換していく必要があります。ソースの取得は CircleCI 1.0 では自動的に行われていましたが、CircleCI 2.0 では- checkout
と書くことでそこの行を処理するタイミングでソースコードの取得処理が行われます。
つまり、checkout の記述場所によって、ある処理の後にソースコードの取得を行うなど、柔軟にconfig.yml
を書く側がコントロール出来るようになりました。
複数コンテナによるテストは、ほぼ変わりません。CircleCI 2.0 でも引き続きCIRCLE_NODE_INDEX
やCIRCLE_NODE_TOTAL
という環境変数が使えるため、以下のように記述することで複数コンテナでテストを分担して並行して進めることが出来ました。
1 | if [ $CIRCLE_NODE_TOTAL -gt 1 ]; then |
ほかの使える環境変数に関しては、CircleCI 2.0 Environment Variables - CircleCIに記述されています。
staging 環境用の branch のみ処理を行いたい/行いたくない等の分岐も同様に環境変数のCIRCLE_BRANCH
を用いて判定することで実現できます。
1 | - run: |
初期データの投入に関しては、単純にスクリプトを実行すればよかったので、run
命令によって
1 | - run: |
と書けました。
テストをいざ実行しようとすると、MongoDB に接続出来ない旨のエラーが出るようになりました。
これは、image
のセクションで指定した MongoDB がsteps
でテストが実行されるまでに起動して接続できる状態になっていないのが原因でした。
そのため、
1 | - run: |
のように MongoDB に接続を試行して接続が出来るかを確かめる処理をsteps
の初めに入れて対処しました。
CircleCI 1.0 と同様に、プロダクトが依存しているサードパーティパッケージライブラリ等をキャッシュすることができます。CircleCI 1.0 では cache_directories
によりキャッシュ対象を制御していましたが、CircleCI 2.0 では save_cache
と restore_cache
の組み合わせでキャッシュを制御します。
現在 TOM では以下のような設定で npm モジュールと gem パッケージをブランチ別にキャッシュしています。
restore_cache
でキャッシュをリストアしてから npm install
と bundle install
を実行し、paths
で指定したディレクトリを save_cache
でキャッシュします。paths
には working_directory
からの相対パスか絶対パスでキャッシュしたいディレクトリを指定します。
キャッシュの key
を変えることで複数のキャッシュを切り替えて使用することも可能です。キャッシュの切り替え方法や他の詳細については Caching in CircleCI をご覧ください。
キャッシュは key
により制御可能で、 projectname-{{ .Branch }}
と指定することでブランチ単位のキャッシュを取得していますが、{{ .Revision }}
により Git のコミット単位での取得や、{{ checksum "filename" }} により指定ファイルのチェックサム単位での取得を行うことができます。(key
に指定可能な他の値については Configuration Reference: save_cache をご覧ください。)
当初 {{ checksum "filename" }} でのキャッシュを検討していたのですが、npm-shrinkwrap や yarn を使用していないため npm モジュールのロックファイルが存在しない点と、gem パッケージを後述するデプロイ時のみで使用しているため大した量が無い点から、最終的にブランチ単位でのキャッシュを選択しました。
なお、CircleCI 2.0 ではキャッシュは Docker machine 上で作成されるようで、Cirlce CI 1.0 にあった Rebuild without cache メニューが無くなり、キャッシュディレクトリにもアクセスできなくなっているようですので、不完全な内容や誤った内容のキャッシュが作成されてしまった場合は restore_cache
をコメントアウト等で無効にしてからリビルドしキャッシュを再作成する必要があるようです。
TOMでは「Capistrano」のデプロイコマンドを CircleCI 上で実行してデプロイを行っています。CircleCI 2.0からサーバに SSH で接続するための鍵の設定方法が変わったため、再設定をしました。
まず鍵を登録します。 .circleci/config.yml
に add_ssh_keys というフィールドを追加して、サーバに接続するための鍵のフィンガープリントを指定します。フィンガープリントは CircleCI の「SSH Permissions」というページで鍵を登録すると取得できます。
1 | - add_ssh_keys: |
次に ssh-agent を立ち上げて鍵を登録します。上記の add_ssh_keys
が実行されると、 ~/.ssh/
以下に id_rsa_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
といった鍵ファイルが生成されます。この鍵ファイルを ssh-add
することで、CircleCI から SSH でサーバに接続することができるようになります。
1 | - run: |
CircleCI 2.0では SSH で有効にして実行(CI が動いたあとにコンテナにSSHで接続してデバッグ出来る)の機能が無くなってしまった代わりにローカルで同様に CI を実行する事ができます。
ローカルでの実行には、ローカルに Docker を入れる必要があります。
Install Docker for Mac - Docker Documentation にダウンロードリンクや手順があるので、それに沿ってインストールします。(stableで良いです)
その後、circleci
コマンドを入れます。
1 | $ curl -o /usr/local/bin/circleci https://circle-downloads.s3.amazonaws.com/releases/build_agent_wrapper/circleci && chmod +x /usr/local/bin/circleci |
を実行することで、circleci
コマンドがインストール出来ます。
circleci
コマンドには、.circleci/config.yml
の文法チェックを行ってくれるコマンドがあり、正しい場合は以下のようになります。
1 | $ circleci config validate |
1 | $ circleci build |
とすることで、ローカルで CI を実行することができます。
ローカルでの実行に関する本家のドキュメントはRunning Jobs Locally - CircleCI に置いてあります。現時点ではキャッシュ等の制限などがあり、上記のドキュメントに明記されていますが、今後のアップデートで変化していくと思われます。
上記の手順によって全ての既存のタスクがsteps
へ置き換える事ができ、テストの実行が行われるようになりました。
そこで、既存の CircleCI 1.0 の時と CI の実行時間を比べたところ、20分前後から15分前後へ改善しました。
特に CircleCI 1.0 の時と比べて意図的に速度改善を施しては居ない(キャッシュ等も CircleCI 1.0 の時も勝手に行われていたはず)のですが、これだけ改善するのは驚きでした。
今回の開発合宿で、CircleCI 2.0
への移行を行いました。
結果として、無事移行は成功して
TOM ではフロントエンジニア・サーバーエンジニアを募集していますので、興味がございましたら以下のリンクから話を聞きにいらして下さい。(CircleCI を普段使っていても使っていなくても結構です)
フロントエンドエンジニア
https://www.wantedly.com/projects/53079
サーバーサイドエンジニア
https://www.wantedly.com/projects/8214
こんにちは。ふじこ@nezumi650 です。
普段はエンジニアとして働いていて otakumode.com の機能開発や保守を行っています。
私事ですが、去年秋に第一子を出産し、育休を経て、この5月から職場復帰しました。現在は、自宅からリモートで細々としたタスクを進めつつ、会社や開発のことをキャッチアップする日々を過ごしています。
今回は、産休・育休を経験して得た知見とわかったうちの会社の良いところを、時系列にそってまとめてみました。
今後、産休・育休を取得する予定の方や、それらに純粋に興味がある方、それらを取り巻く「働きやすさ」について興味のある方の参考になれば幸いです。
幸いにも私はつわりが軽い方だったのですが、それでもやはり多少なりとも仕事に影響は出ていたと思います。理解して暖かく見守ってくれた会社の皆さんには、本当に感謝しています。
私は、有給休暇をつなげることで早めに産休に入りました。
早めに産休に入ると決めた時は「休み過ぎかな…?」と思いましたが、いざお腹が大きくなってみると日常の動作ですらしんどくなっていたので、早めに取得してよかったと思っています。
また、この時期は本当にめいっぱい遊びました。気になっていたお店や美術館に行ったり、映画を観たり、外食をしたり…。小さい子供を連れて気兼ねなく行けるところ・できることはどうしても限られてしまうので、この時期に悔いを残さず遊んでおいてよかったなぁと思います。
私は里帰り出産をしなかったので、退院後しばらくは、子と2人っきりで過ごす日々が続きました。
出産後1ヶ月間は、たしか1歩も外に出なかったと思います。出産後2ヶ月がたって、子を旦那に預け、美容院に行くために産後初めて1人で外に出た時のすさまじい開放感は今でも忘れることができません。まぁそうとは言え、頭の中は、預けて来た子のことでいっぱいだったんですけどね。
私は、職場復帰の日が近づくにつれ、いろんな不安を感じました。「こんなにブランクがあって、またちゃんと仕事ができるだろうか?」「仕事と育児をうまく両立できるのだろうか?」などなど…。
ひとまず今のところは、チームや会社の皆さん、子の保育園の皆さんのご協力のおかげで、なんとか乗り切れています。しかしまだ、仕事のキャッチアップ不足や長く続いた孤独な生活(笑)の影響か、ミスをしたりコミュニケーションをロスしたりしがちです。焦らず気長に、しかしできるだけ早く、出産前以上のパフォーマンスを発揮できる様になりたいなと思います。
以上です。参考になる情報はありましたでしょうか。
全体を通して振り返ってみると、うちの会社の1番の良いところは、リモートワークができる・ノウハウがあることかなと思います。
ただ、私自身はまだリモートワークをすることに慣れていないので、正直なところ、オフィスでみんなと一緒に仕事する方がやりやすいなぁと思う場面もチラホラあります。そこは、先輩リモートワーカーの皆さんにアドバイスをいただくなどして乗り越えていきたいと思います。
そして実は、子の保育園入園が決まってから慣らし保育が終わるまでの2ヶ月間、我が家は旦那も育休を取得しました。この2ヶ月間で、子がものすごいスピードで成長する様――まだ首も座らず泣くことしかできなかった子が、連続寝返りでところせましと転げ回り、お座りもどきをし、歯が生え、声をあげて笑うようになるまで――を、夫婦揃って見守ることができました。家族3人で寄り添って過ごしたこの2ヶ月間は、今までの人生で1番すばらしい、本当にかけがえのない時間でした。
育休取得中は、性別に関係なく育児休業給付金が支給されます。男性の育休取得率はまだまだ低いようですが、機会があれば、ぜひ男性の皆さんにも育休の取得を積極的に検討して欲しいと思います。
というわけで、最後にお決まりのまとめとなりますが(笑)、このように、産休・育休の取得や仕事と育児の両立をしやすい環境が整っている弊社では、一緒に働いてくださる仲間を募集中です。少しでも興味をもっていただけた方は、お気軽に話をしに来てみてください。
フロントエンドエンジニア
https://www.wantedly.com/projects/53079
サーバーサイドエンジニア
https://www.wantedly.com/projects/8214
明日から二週間限定で公開される劇場アニメ『BLAME!』。
それはどれほど凄いことなのか。
原作未読の方にはまず事の重大さを伝えねばならない。
『BLAME!』は1997年から2003年にかけて講談社の月刊アフタヌーンで連載された弐瓶勉(にへいつとむ)先生による日本のハードSF漫画の金字塔である。
とにかく無口な主人公、見ているだけで病気になりそうなクリーチャー、気が遠くなるようなスケール感のディストピア世界、シュールなくらい進む作中の時間経過、ネット黎明期に描かれた終末、暗いページの割合で読み終える頃には黒くなる指先…
さらに現在日本を代表する漫画家や海外の超有名アーティストにも影響を与えている問題作である。
それが明日、20年近くの時を経て3Dアニメで劇場公開されるのだ。
申し遅れましたが、筆者はTokyo Otaku Modeで翻訳サービスを担当しておりますハギノと申します。
高校生の頃に弐瓶勉先生の作品に触れて以来ファンになり、新装版『BLAME!』の読者キャンペーンに応募して当たった重力子放射線射出装置のレプリカを家宝にし、作中にスターシステム的に登場する企業「東亜重工」ロゴ入りの服を2日に一度着用して出社している。
※物語に関わるネタバレは一切無いのでご安心ください※
4月末某日、アニメ好きの外国籍の方15人あまりを招き、試写会が行われた。
同日16:00、目黒、今回の試写会場のソニーPCLさんにて上映開始。
何よりも特筆すべきが音響。「Blu-ray出るんでしょ?」「Netflix入ってますが何か?」「俺、ヘッドフォン、好き」という方は是非最寄りの劇場に足を運んでいただきデトックス効果がありそうなほど研ぎ澄まされた音を楽しんでいただきたい。東亜重音(いいネーミングですね)なる音響にこだわりまくった企画上映も行われるので楽しみで仕方がない。
映像に関しては最先端の3DCGアニメーションを堪能できた。「CGアニメかぁ…」「ポリゴンが粗いとね…」という諸兄にこそ、この最先端のCGアニメを体験してほしい。
「シドニアの騎士」で驚かされた大型メカ戦とはまた違った、等身大のスムーズなアクション、洗練された見ていて気持ちの良い/悪いテクスチャー、一つ一つの動きを意識し更に進化したカメラワーク、そしてなによりもこれまでのCG映画よりかわいい女の子に度肝を抜かれることだろう。
また永遠に近い時間をさまよう原作を、映画というフォーマットに落とし込むにあたって作られた起承転結のあるストーリー。
明日から始まる一般公開でもう一度観たい。
試写会参加後、余韻に浸りながら座談会に向かう。会場は弊社Tokyo Otaku Modeの会議室だ。共に上映会に参加していただいた中で特に盛り上がった6人とピザを囲んで自己紹介を行った。
メンバーは6人:
オディさん(フランス人/右奥)
AJさん(アメリカ人/右中央)
ベンスキーさん(アメリカ人/右手前)
チョウさん(中国人/左奥)
シャさん(中国人/左中央)
ロシオさん(チリ人/左手前)
と筆者(日本人)である。
原作未読者も居たので、まずは未読者のために『BLAME!』という作品について説明した。
以下、参加者の反応。
ロシオさん: え、あんなにインターネットとかの話なのに20年前の漫画だったの?
ベンスキーさん: そうなんですよ。インターネットの始まりの次期でシンギュラリティ後の世界を書ききっていたのは改めてすごい。
AJさん: なるほど…ネット技術の暴走があの超構造体を作ったんですよね。
あれって現代の3Dプリンターとかみたいなものとかでガンガンやっているんですよね…?先取りしすぎじゃないですか?
オディさん: 技術、デザインだけではなく、概念とかもメインストリームな洋画SFに影響を与えていそう。それが一周して今、日本で映画化されていて本当におもしろい。
シャさん、チョウさん: 本当にそれ!あとデザインがすごい。機能的でありながらかっこいいし…
作者である弐瓶先生の建築関係の経歴を見て一同納得していた。
AJさん:「blame」って英語だと「非難をする、責任を問う」というような意味なので、見ながら「どういう意味なんだ…誰が誰に責任を…?」と思いました。
ベンスキーさん: そうなんですよ、あの超構造体(メガストラクチャー)まみれの世界が何故、誰のせいでああなったのか、とか考えていましたね。
シャさん、オディさん: え、ちょっと待ってください、読み方「ブレイム」じゃないの?
筆者:(ブラムとカナのふられた映画のポスターを指差す)
チョウさん、オディさん: あ、ホントだ…。え、ナンデ!?
一同:(笑)
ロシオさん: タイトルについてはわかりませんが、私は普通のラブコメ/冒険系の映画だと思ってました(笑)ポスターにいるシボとヅルが霧亥と恋をして…みたいな…
ベンスキーさん: キャラクターデザインもシドニアと原作の中間くらいのほどよいシャープさ/可愛さでしたね!
もしかしてロシオさんブラム学園*既読者…?かと思ったが完全に原作、スピンオフ未読とのことだった。それも映像で見たいですが…
ちなみに筆者はインターネットで得た知識をひけらかし、「BLAM!」(ドカン!/バン!)という効果音の英語表記を「『BLAME!』」と書き間違えたという噂を信じています。
真相やいかに。
(*弐瓶勉先生ご本人による学園モノの『BLAME!』セルフパロディー(?)短編集。本編のハードな世界観はどこへやら、ギャグとお色気いっぱいの物語は、今もなお多くの読者を困惑させながらも楽しませている。)
オディさん、AJさん、ベンスキーさん、ロシオさん: 一部読み取れました。フォントかっこいい。ほしいね。
チョウさん、シャさん:(ニヤリ)
AJさん、ベンスキーさん: え、読めたの?
チョウさん: 全部読めるし、全部わかる。(ドヤァ)
チョウさんとシャさんは中国語ネイティブなので完全に理解できていたようだ。
心底うらやましい。
ロシオさん: 声優が素晴らしいですね。櫻井さん、宮野さん出ていたし。イェイ!
ベンスキーさん: シボの声優の花澤さんが本当に好きで、あとシドニアに続きangelaが主題歌でかっこいい。早く販売してくれ!
明日配信開始予定なので、筆者も購入予定。ちなみに彼はアニソンDJもやっている。
オディさん: 霧亥の話し方がとてもおもしろかった。たぶん長い間まともに会話してないんでしょうね。霧亥以外にも状況に応じて声にエフェクトがかかることでキャラクターの状況や心境を表現しているシーンも多々あった。
チョウさん: 声優もだけど、映画館で見れたので音が最高。肌で感じた。(重力子放射線射出装置特有の「キュイイイイイ…ギン!!!」の音真似をしながらポーズを決める)
チョウさんとは後日徹夜で飲みに行こうと思った。『BLAME!』コラボカフェも検索済みである。
これ以降の会話はかなりディープに物語に入るため、今回の座談会で公表できる内容はここで終了。実際に劇場に足を運んで体験してほしい。
正直筆者は本作の難しい特殊用語がゴロゴロしている(重力子放射線射出装置、統治局、端末遺伝子)ので理解しづらいのではないか、世界観が膨大すぎてつかめないのではないか、説明セリフ過多か視聴者置いてけぼりパターンのどちらかになるのではないか、初見の方にとってはかなり難しい映画になるんじゃないか、と心配していた。
だが一切の心配は必要なかった。
本作は一本の話にきれいにまとめられ、必要な時に必要なだけの情報を、しかもそのほとんどを「show, don’t tell.」(言葉で説明するのではなく実際に見せる)をやっていたので非常に見ごたえがある。
そんな劇場アニメ『BLAME!』は明日公開。
筆者も今度は一度目では置いきれなかったディテールを楽しむべく、2回目、3回目のダイブに挑戦しようと思っている。
麺処 まるわさんのコラボ麺「ネットスフィア」を宅麺さんで注文し、舌鼓を打ちつつ謎めいた「ネットスフィア」をつつきながら。
こんにちは。Tokyo Otaku Mode(以下 TOM)ソフトウェアエンジニアの稲田です。
TOM では恒例となっている開発合宿が 4 月に行われました。開発合宿ではタスクに応じてチームをわけて取り組みます。今回は主に 3 つのタスクが設定されました。その中で自分が選択した jade2pug チームとして取り組んだことを紹介します。他のチームについては後日記事が出ると思いますのでご期待下さい。
JavaScript のテンプレートエンジンである jade は現在 pug と名前を変えてリリースされています。本記事執筆時点でのバージョンは 2.0.0-beta.12 です。しかし TOM ではこれまでかなり古いバージョンの jade を使い続けていました。これによって最新の機能が使えなかったり、公式ドキュメントとの剥離があり微妙に使いづらい部分がありました。はじめは徐々に移行していくことを考えましたが、調べていくうちに古い jade と新しい pug を混在させることは難しいという結論に至りました1。そうなると一気に移行する必要があるのですが、いかんせん既存の jade ファイルの数が多く、通常業務の合間に行うにはタスクが大きすぎます。また、移行している間にもどんどん view template は作成/更新されていくので追従するのも難しい状況でした。
そこで、開発チーム全員が参加する開発合宿で行うことにしました。開発チームが全員参加しているということは、view template が新規作成されたり更新されたりすることがないので影響が抑えられます。こういった影響の大きい変更を行うにはうってつけです。
TOM では主に Express の render として jade を使っています。最終的にはこの render に pug を使うようにしたいのですが、1 つ 1 つレンダリングして動くかどうかをブラウザで確認していては時間が掛かり過ぎます2。これを解決するには jade <=> pug 間の非互換によるエラーが出るかどうかを機械的に確認できると良さそうです。そこで、コマンドラインで pug のコンパイルができる pug-cli を使用します。
pug-cli をそのまま使う場合には 2 つの問題があります。
.jade
のファイルも対象にしてくれるが、include 文の指定に拡張子が無い場合は .pug
として扱われてしまうinclude ../layout.jade //- ../layout.jade が読み込まれるinclude ../layout //- ../layout.pug が読み込まれる
.html
を出力しようとするが、その際に各変数参照などが評価されてしまうため、Express のコントローラーから渡している変数を使っていた場合にエラーになってしまうこれら 2 つの問題を回避するために少し工夫が必要です。
まず下記を pug-options.js
として保存します。
'use strict';const fs = require('fs');const path = require('path');const pathJoin = path.join;const dirname = path.dirname;const basename = path.basename;const _read = (filename/*, options*/)=> { try { return fs.readFileSync(filename, 'utf8'); } catch (err) { const p = pathJoin(dirname(filename), `${basename(filename, '.pug')}.jade`); return fs.readFileSync(p, 'utf8'); }};console.warn = ()=> {}module.exports = { client: true, plugins: [{read: _read}],};
このファイルは pug-cli に読み込ませる設定ファイルです。pug-cli には -O, --obj
という、設定を JavaScript オブジェクトの文字列またはファイルから読み込むオプションがあります。これを利用して pug および pug-cli 本体には手を加えずに挙動を変えます。
このファイルで行っていることは 2 つです。
1 つは .pug
ファイルが読めなかった場合に .jade
ファイルにフォールバックする read プラグインを書いて指定します。これによって 1. の問題を回避します。ちなみに pug のプラグインに関するドキュメントは何故かありませんが、ソースコードを読めばどのように作用するかがわかりますのでぜひソースコードを読んでみましょう。
もう 1 つは client: true
オプションを指定して、HTML を出力する JavaScript コード へのコンパイルまでに留めて 2. の問題を回避します。
pug-options.js
を指定して jade ファイルが置かれているディレクトリを対象に pug-cli を実行してエラーを確認します。
% ./node_modules/.bin/pug -O pug-option.js views//path/to/repo/node_modules/pug/node_modules/pug-parser/index.js:59 throw err; ^Error: views/shared/_ogp.jade:40:88 38| meta(name="twitter:image", content= og.twitterImage || og_img) 39| link(rel='shortcut icon', href="#{static_path}/favicon.ico") > 40| link(rel='apple-touch-icon', href="#{static_path}/images/common/apple-touch-icon.png", rel='apple-touch-icon-precomposed')-----------------------------------------------------------------------------------------------^ 41| link(rel='alternate', type='application/rss+xml', href='#{req.conf.url}news/feed', title="Tokyo Otaku Mode News") 42|Duplicate attribute "rel" is not allowed. at makeError (/path/to/repo/node_modules/pug/node_modules/pug-parser/node_modules/pug-error/index.js:32:13) at Parser.error (/path/to/repo/node_modules/pug/node_modules/pug-parser/index.js:53:15) at Parser.attrs (/path/to/repo/node_modules/pug/node_modules/pug-parser/index.js:1092:16) at Parser.tag (/path/to/repo/node_modules/pug/node_modules/pug-parser/index.js:1012:47) at Parser.parseTag (/path/to/repo/node_modules/pug/node_modules/pug-parser/index.js:977:17) at Parser.parseExpr (/path/to/repo/node_modules/pug/node_modules/pug-parser/index.js:202:21) at Parser.parse (/path/to/repo/node_modules/pug/node_modules/pug-parser/index.js:112:25) at parse (/path/to/repo/node_modules/pug/node_modules/pug-parser/index.js:12:20) at Object.load.string.parse (/path/to/repo/node_modules/pug/lib/index.js:126:22) at Function.loadString [as string] (/path/to/repo/node_modules/pug/node_modules/pug-load/index.js:45:21)
これでエラーがある場合は上記のように表示されます。ここまできたら後はエラーを修正していくだけです。
ですが、この方法にはまだ欠点があります。それは、複数のファイルにエラーがある場合、1 つエラーになるとそこで pug-cli の実行が終了してしまい、後続のファイルのエラーは出力されないことです。ファイル数が少ない場合はあまり問題になりませんが、多い場合には全てのファイルのエラーが出たほうが効率的です。
これは簡単なワンライナーを書くことによって解決できます。
find views/ -type f -name '*.jade' -exec ./node_modules/.bin/pug -O pug-option.js {}>/dev/null \;
ここで find -exec
の最後を \+
としてまとめてファイル名を渡すこともできますが、これだと結局 1 つのエラーで後続の処理が止まってしまうことになるので敢えて \;
を指定します。
pug 2 では、属性での Interpolation の記法が変更になりました3。
//- olda(href="before#{link}after")//- newa(href=`before${link}after`)
このように ES6 でのテンプレート文字列と同じ記法になりました。これはあくまで属性の場合だけで、通常の String Interpolation は今までどおりの記法で書く必要があります。
//- incorrectp before${sentence}after//- correctp before#{sentence}after
TOM ではこの記法をかなり多用していたため、人力での置換は現実ではありませんでした。そこで、正規表現を使ってざっくりと置換して、取りこぼしたところは人力でカバーしました。これは、完璧な正規表現を作るのを頑張るよりも、そちらのほうが実質早いだろうという判断によるものです。
find views -type f -name '*.jade' -exec perl -p -i -e 's/(\w+=\s*)"([^"]*)#\{(.+?)\}([^"]*)"/\1\`\2\${\3}\4\`/g;' {} \;
こちらも pug 2 での変更点で、フィルター内で String Interpolation が使えなくなりました。フィルターというのは、pug テンプレートの中で coffee-script や stylus、markdown などの他の言語が使えるようになる機能です4。TOM では下記のようにフィルター内で String Interpolation を利用して直接スクリプトにデータを埋め込むということをしていました。
//- do not work:coffee val = !{JSON.stringify(obj)}
これはあまり良いやり方ではないため、HTML タグの属性に値を埋め込み、それをスクリプト側で取ってくるという方法が望ましいです。
#js-container(data-obj=`${JSON.stringify(obj)}`):coffee-script val = JSON.parse($('#js-container').attr('data-obj'))
ですが、こちらもそこそこ多用されており、Attribute Interpolation と違ってフィルター内は複数行になることが多いため単純に正規表現で置換することができず、一気に直すには時間が掛かり過ぎると思われました。そこで、以前の挙動に戻してしまうことにしました。
ここで真っ先に思いつくのが、pug 自体に手を入れて、以前の挙動に戻してしまう方法です。pug 本体は何らかの理由でフィルター内での String Interpolation を行わなくしたはずなので、本体に Pull-Request を送ったところで Reject されるのは目に見えています。しかし、fork してしまうと、本体のアップデートへの追従が大変になってしまいます。どうにか上手くできないかと pug のソースを眺めていたところ、前述したプラグイン機構が使えそうだとわかりました。
今回使ったのは preFilters
と postFilters
の 2 つです。これらのプラグインはそれぞれフィルターが処理される前と処理されたあとに呼び出されます。この 2 つのプラグインを使って、コンパイル済み pug の Abstract Syntax Tree (抽象構文木、以下 AST) を書き換えて、フィルター内の String Interpolation を実現するという力技で解決します。
最終的なコードは下記です。
const walkAST = (node, fn)=> { // extends/include except RawInclude if (node.file && node.file.ast) { walkAST(node.file.ast, fn); } if (node.block) { walkAST(node.block, fn); } // if if (node.consequent) { walkAST(node.consequent, fn); } // else if (node.alternate) { walkAST(node.alternate, fn); } if (node.nodes) { node.nodes.forEach((node)=> { walkAST(node, fn); }); } fn(node);};const preFilters = (node, options)=> { walkAST(node, (node)=> { if (node.type.toLowerCase() === 'filter') { (options.filterNodeNames = options.filterNodeNames || {})[node.name.toLowerCase()] = null; } }); return node;};const postFilters = (node, options)=> { walkAST(node, (node)=> { if (node.name && options.filterNodeNames && options.filterNodeNames[node.name.toLowerCase()] !== undefined) { const val = node.val.replace(/^/gm, '| ') const tokens = require('pug/node_modules/pug-lexer')(val, {}); const ast = require('pug/node_modules/pug-parser')(tokens, {}); delete node.block; node.nodes = ast.nodes[0].nodes; node.type = 'Block'; } }); return node;};const __express = (path, options, fn)=> { options.plugins = options.plugins || []; options.plugins.push({preFilters: preFilters, postFilters, postFilters}); pug.__express(path, options, fn);}const app = express();app.engine 'pug', __express
まず preFilters
プラグインですが、これには pug-parser で構築された AST ノードと options が渡されてきます。処理としては、
options.filterNodeNames
というオブジェクトに保持するということを行います。ここでの AST ノードの名前にはフィルター名が入ります。例えば
:coffee-script console.log 'test'
というフィルターの場合のフィルター名は coffee-script
になります。
フィルターの AST ノードの名前を保持する理由については後述します。
次に postFilters
です。こちらも preFilters
と同じく AST ノードと options が渡ってきます。postFilters
の処理は
options.filterNodeNames
に含まれている名前を持つ AST ノードを探す|
を付けて pug における PlainText にするとなっています。preFilters
で保持した options.filterNodeNames
を使う理由ですが、postFilters
だけではフィルターの AST かどうかの判定ができないからです。postFilters
の時点ではフィルターが処理された状態の AST が渡ってきます。ですので、node.type
は Filter
ではなく Text
になってしまっているためフィルターかどうかの判定ができません。以上の理由から、preFilters
の時点でフィルターの名前を保存しておき、postFilters
でそれを使ってフィルターかどうかの判定をしています。
フィルターの AST ノードが見つかったら次の処理に移ります。フィルターが処理された後の AST ノードには val
というプロパティあり、ここにフィルターが処理された後の値が入ってきます。下記のようなフィルターの場合
- var str = 'hoge':cofee-script console.log '#{str}'
次のように coffee-script でコンパイルされた文字列が val
に入ります。
(function() { console.log('#{str}');}).call(this);
この文字列に対して String Interpolation を処理するようにします。そのためにはフィルターが処理された後の文字列を再度 pug に処理させます。このまま pug に渡してもエラーになるので pug の PlainText に変換します。
const val = node.val.replace(/^/gm, '| ')
これにより下記のような結果が得られます。
| (function() {| console.log('#{str}');| | }).call(this);
これで準備ができました。上記を pug-lexer と pug-parser にかけて AST を得たあとにそれをフィルターの AST ノードと置き換えて出力すると最終的に下記のような出力が得られます。
(function() { console.log('hoge');}).call(this);
ちゃんと String Interpolation が処理されていることがわかります。
今回の開発合宿では TOM の 1 つのネックだった jade を pug に置き換えました。はじめはエラーをつぶすだけの、ただの単純作業になると思っていましたが、Attribute Interpolation の対応や、フィルター内の String Interpolation など解決するべき問題が出てきました。しかし pug のソースコードを読むことで解決方法を見つけ出しました。特に pug のプラグイン機構は公式ドキュメントにも書かれていないので、ソースを読まなければ jade から pug への移行は難しかったのではないかと思います。
最後になりますが、TOM ではフロントエンド/サーバーサイドエンジニアを募集中です。興味があれば pug のソースを読んでいなくても大丈夫ですので、ぜひ話を訊きに来てください。
越境EC: フロントエンドエンジニア
https://www.wantedly.com/projects/53079
越境EC: サーバーサイドエンジニア
https://www.wantedly.com/projects/8214
こんにちは、Tokyo Otaku Mode(以下TOM)の広告事業を担当している山崎です。
これまで北米進出を目指すスマホゲームアプリは数多くありましたが、うまくいっている例がまだまだ少ないというのが、現状ではないでしょうか。
そんな中、我々Tokyo Otaku Modeと結びつきの強い北米市場に向けたスマホゲームアプリのプロモーションとして成功した例を本記事でご紹介しますので、読者の方々には、北米市場攻略のひとつとして参考にしていただければ幸いです。
アンビションでは普段自社で北米プロモーションを実施されていますが、新たな層を取り込みたいというご意向があり、特定期間のコラボプロモーションを実施することになりました。
ちなみに、今回のプロジェクトに関連し、アンビションのゲーム開発側の内容は、こちらの記事で紹介されています。そのため、本記事では視点をずらし、実際に、Tokyo Otaku Modeで実施したプロモーション内容に限った内容として、結果を余すこと無く公開したいと思います。
(実は、アンビション様からは「結構アウトな内容ですけども」とご指摘を受けましたが、粘り強い交渉の末、若干の修正が入りつつも、限りなくアウトに近い内容でご承諾をいただけました)
さて、今回は以下3タイトルでお話をいただきました。いずれも主に、北米を中心として英語圏に向けてプロモーションをされたいというお話でした。
▼女性向け:
・Dream Boyfriend
http://dreamboyf.com/
・Animal Boyfriend
http://gijin.jp/global/
▼男性向け:
・Dream Girlfriend
http://dreamgirlf.com
それに対して、今回実施した内容は以下のとおりです。
今回は、TOMのもつメディア枠をフルラインナップでの実施となりました。さらにはいずれも、それぞれ複数回できるので、テスト&レビューもできるという恵まれた状況でした。
TOM FB スポンサードポスト+.com記事広告
(現在は通称を「コンテンツ広告」に変更しているので、以下、「コンテンツ広告」として記載を統一)
Otakumode.comでの記事広告をTOM FBスポンサードポストで拡散するパッケージを5回実施しました。
FB広告運用 by TOM
インストール重視のFB広告を第三者のTOMが出稿する形で、TOMらしい様々なクリエイティブを制作しながら、約2ヶ月間運用いたしました。
Otakumode.com バナー
Otakumode.com Shopあるいは、Newsにおけるバナー広告(1ヶ月)を2回実施しました。
インシップ(同梱)広告
Otakumode.com Shopで購入されるグッズの同梱広告を2回実施しました。
TOM ECメルマガ(現在は廃止しているメニュー)
Otakumode.comのメルマガ会員に向けたメルマガ広告を3回実施しました。
結果として、ゲームのインストールという直接的な貢献度の高かった「コンテンツ広告」と「FB広告」を中心に以下詳しく述べていきます。(メルマガも貢献度は高かったが、現状廃止メニューとしているため、除外します)
まずは、コンテンツ広告のレビューです。
今回は、合計5点のコンテンツ広告を実施いただきました。それぞれ実施したコンテンツ内容と結果を公開いたします。コンテンツ広告とは、otakumode.comのnewsにクライアントの商品やサービスの内容をTokyo Otaku Modeのファン達の期待するコンテンツとして広告を掲載し、さらにそれをTokyo Otaku Mode facebookに投稿し、集客につなげる商品のことを示します。
まさに、Tokyo Otaku Modeファンにどういった切り口でfacebookを通して伝えていくかに絞って考え抜くことが非常に重要です。
10 Beautiful Spots in Tokyo They Don’t Tell You About Ikemen Edition
Otakumode.com コンテンツPV:8,985
Otakumode.comから外部への誘導数:174
5 Heavenly Destinations in Japan for the Animal Lover Ikemen Edition
Otakumode.com コンテンツPV:6,815
Otakumode.comから外部への誘導数:284
Who’s Your Dream Boyfriend Quiz
Otakumode.com コンテンツPV:11,120
Otakumode.comから外部への誘導数:5,189
Who’s Your Animal Boyfriend Quiz
Otakumode.com コンテンツPV:25,199
Otakumode.comから外部への誘導数:8,975
Who’s Your Dream Girlfriend Quiz
Otakumode.com コンテンツPV:7,716
Otakumode.comから外部への誘導数:2,591
コンテンツの切り口で分けると、1,2は「記事型コンテンツ」、3〜5は「診断型コンテンツ」と分けて実施した中、顕著に3〜5の診断ゲームコンテンツのほうが「Otakumode.com コンテンツPV」および、「Otakumode.comから外部への誘導数」が、非常に高い結果となりました。例えば、同じAnimal Boyfriendで2と4を比較しても、コンテンツPVは約3.7倍、外部への誘導数は約31.6倍も4の「診断型コンテンツ」のほうが効果の高い結果となりました。
この結果の一つの要因に、読者にキャラクター相性診断コンテンツを楽しんでもらいながら、相性のよいキャラクターの結果画面に置かれた「Meet my boyfriend now」を押してもらうというスムーズな流れが作れたことによるものだと考えられます。
また、TOMの特徴としては、間口がFacebookとなっているのが一般的なメディアとの違いです。ニュース記事であってもなんで合っても、素早く流されてくfacebookのフィードの一瞬のチャンスを逃さず、アテンション、認知、興味からのクリックというワンアクションを得る必要があります。そこにフィットしたのが今回診断コンテンツだといえます。
Facebookのマイフィードをなんとなく覗いている人に、「お!面白そうだから、暇つぶしにやってみようか」そう思わせた反応が反映された結果だといえます。
いまでは、アプリの広告としては非常に評判の高いFB広告。
「え?FB広告をTOMがまわすの?そんなの、誰でもできるじゃん。」
というごもっともなご指摘もあるかと思いますが、
TOMにFB広告運用をお任せいただく際の利点も以下のとおり存在しています。
<FB広告をTOMが運用する利点>
ターゲットはあくまで、TOMにLikeを押してくれているファンのみ(あくまでリーチするのはTOMファンのみ)
TOMが出稿主としてオススメゲームとして紹介するためファンの情報の受容性が高い(そのため、もちろんTOMファンが喜びそうなゲームであることが実施の絶対条件)
TOMファンの好みを知るTOMがクリエイティブ制作も行う。ファンからすれば、フィードに流れくる投稿も広告も同じ場所に流れてくるので、TOMらしいコンテンツづくりが求められる。
(TOM通常投稿との違い)CTAボタンが付加される。
FBのインストール最適化がなされる
それらの利点を生かして、以下の通り、時期を分け、FB広告のクリエイティブのA/Bテストを行いました。前提としてすべて動画クリエイティブとして実施しています。
また、アンビションでは同時期にTOMの運用と併せて自社でもFB広告をまわし露出の最大化を図られておりました。次の比較はあくまでTOMが運用した結果のみを記した比較を行った結果です。
<FB広告各種クリエイティブ>
では、それぞれのCPI(インストール単価)はどうだったか?
Dream Boyfriendに関しては、良いもので平均CPI(インストール単価)は103円、悪いもので平均CPI(インストール単価)は273円でした。Dream Girlfriendに関しては、良いもので平均CPI(インストール単価)は137円、悪いもので平均CPI(インストール単価)は318円という結果となりました。
当然ながら、同じ広告であってもやはりクリエイティブによって大きな数値の開きが出るということがわかります。
ただ、おしなべて、一般的な数値と比較すると、良い部類に入る数値で実施できたのではないでしょうか。
より詳しいお話はこのブログには書ききれませんので、実際のクリエイティブの内容はどうだったか、上記紹介したメニュー以外の結果はどうだったか等、ご興味のある方はぜひ直接お問い合わせいただければと思います。
このグラフはあくまでアンビションの全体売上推移のデータ(※引用元:「海外配信サポート事業サイト」より)になります。
アンビションの海外売上高の推移
今回のTOMでの展開はこのグラフの山になっている2016年12月〜2017年2月ところで実施されました。ゲームの売上としては上昇トレンドとなっている時期にさらなる大幅な上昇を期待し、実施されました。
では、TOMで実施したROAS(投資した広告コストの回収率)は?
※特に好調だったDream Boyfriendの実績。
まだ経過の浅い状況ですが、すでに広告費の回収はきちんとできる見込みがたっており、上記グラフのさらなる上昇カーブを生み出してくれることでしょう。
TOMのFBファンは海外の日本好きな方々。アンビションの日本らしさを強みとした恋愛ゲームがたいへんフィットしました。
さらにいえば、ユーザーが喜ぶようなものだったかどうかというレビューがもっとも重要です。FB投稿に対するファンのコメントには良好なコメントが目立ち、Tokyo Otaku Modeのファンにとっても、まさに非常に満足度が高いものだったといえます。
それこそが、最大の収穫であると同時に、広告であってもあくまでファンとの絆と強めるという視点では必須事項ともいえるでしょう。
そもそもTokyo Otaku Modeにおいてはソーシャルが強みであるがこそ、広告であってもコンテンツに興味を持たれなければ何も始まりません。ファンに期待されるのは、日本らしいコンテンツです。その日本らしさを踏襲した、ファンの目を引くコンテンツを通してしか広がらないし伝わらないので、そこに時間を注いで、クライアントの商品やサービスを伝播させていく必要があります。
ゆえに、TOMとしては、クライアント様、広告代理店様とコンテンツ内容をじっくり考えていくスタンスですので、企画をどうしていくかというところから、遠慮なく、ご相談ください。
また、ご紹介したアンビションにおいても、自社ゲームの配信を行ってきた知見を活かした海外配信サポートサービスを行っておりますので、ご興味ある方は、資料を下記よりダウンロードしてみてくださいね。
Tokyo Otaku Modeでは、世界中に1900万以上のOtakuと繋がるFacebookページを中心としたのメディアを運営しています。それらメディアの広告商品として、FBスポンサードポストやコンテンツ広告、また、Shopで全世界に販売しているグッズの梱包に同梱するインシップ広告やバナー広告を提供しています。
資料はこちら
『海外配信サポートサービス』は、アンビションが4年間に渡って行ってきた、北米を中心とする英語圏地域 への自社ゲームアプリ配信の知見を活かし、ローカライズ、インフラ、QA・サポート、 マーケティング、運営を総合的に支援するサービスとなります。次のようなお悩みをお持ちの企業様 の問題解決を徹底的にサポートいたします。
資料はこちら
Tokyo Otaku Mode 広告事業部
https://otakumode.com/inquire
※お問い合わせは日本語で問題ございません
アンビション海外配信サポートサービス
http://www.ambition.ne.jp/overseas/