YKTのどっちがいいかな?

実世界連動地域貢献型すごろくゲームのアプリ開発状況を書いていきます。

東京MOMOストーリー ~ブレークスルーは突然に~(苦悩編)

何から始めればいいのか わからないまま時が流れて

浮かんでは消えてゆく オートポストの構想

ネタがあんまり ニッチだから

ただググっても ヒットしなくて

多分もうすぐ 締切りがきて 一人たそがれ

あの日 あの時 あの場所で に会えなかったら

アプリはいつまでも 不便な機能のまま






オトコなら誰しもが一度は夢に見る”自動投稿”。

MOMO120%化計画第一弾は長年の夢である”自動投稿”の着想と実装までの苦難の日々について迫ります。


人類の発展の礎は”めんどくさい”である

まずはこちらをご覧いただこう。

おわかりいただけただろうか・・・

そう、アプリを作って遊ぶという高尚なことをしているにもかかわらず、そのシェアの仕方のなんと稚拙なことか。

自分で言うのもなんですが、今回のアプリのクオリティはこれまでのものとは一線を画すわけでして。

この問題を抱えたまま本番に臨むというのは私の10ヵ月にも及ぶ開発期間に対する冒涜というものです。

私にとってほぼ唯一のツイッター活動がこのままでいいわけがないのです。

ほかにもこのシェア方法には以下の問題点があります。

  1. 要所要所で写真を取らなければいけない。
  2. 写真を撮り忘れがち(サイコロの出目とか)。
  3. 動きがないためどこからどこへの移動なのかがわからない。
  4. 歩きながら文字入力するのがめんどい(それゆえに説明文が適当になりがち)。
  5. ツイッターの画像保存するのめんどくさいんでラインでください!!!とかのたまってくるやつがいる。

つまり、目指すべきは各ターンのアプリ画面を動画で記録し、サイコロの出目・移動先・獲得したカードなどの定型文とともに自動投稿可能で、かつ別のソーシャルメディアに再投稿が容易なシステムです。

さて、如何にも難しそうなシステムですが、開発当初はかなり楽観視しておりました。

といいますのも、長年プログラミングに携わっている人間の感覚としては、動画キャプチャも自動投稿も誰かがそういう機能を作ってくれていて、かつ誰かがその使い方をブログで説明してくれているはずと思っていたからです。


動画キャプチャが思ったよりニッチだった

本日の内容はこれにつきます。

そうです、動画キャプチャが思ったよりニッチだったのです。

ググれどもググれども全く有用な情報が得られないのです。

その悲しみの歴史を時系列にそって振り返っていきましょう。

EveryPlay

まず最初に見つかったのがEveryPlayというサービス。

mag.app-liv.jp

こちらはUnityの公式サービスで、プレイ動画の録画しソーシャルメディアへのシェアが可能とまさに私が探し求めていたものでした。

意気揚々と公式サイトにアクセスしてみると、今時なミニマムデザインの質素なページ。

お、えぇやん、えぇやん。イカしてるなあ。

・・・でもちょっと情報なさすぎひん?・・・ん???


なんでやねん!あと1年頑張れや!

Lobi Rec SDK

いや、でも似たようなサービスが絶対あるはず・・・!

ほら、やっぱりあった!Lobi Rec SDK!

お、これはよさそうやなぁ。いやー助かった助かった。

さて、どうやって使うんや?なになに・・・?


くぁwせdrftgyふじこlp。また2018年!!!

いつでも探しているよ

それでもあきらめず、私は情報を探し続けました。

向かいのホーム、路地裏の窓、こんなとこにいるはずもないのに。

「Unity 動画撮影」、「Unity 動画キャプチャー」とかで調べるとそれっぽいのは出てくるのですが、そのほとんどがPC向けのもので、ios向けにビルドしたアプリ上で録画できるものはほとんどありませんでした。

その後も検索ワードを変えネットの海を彷徨います。

「Unity プレイ動画 録画」
「Unity movie share」
「Unity play recorder」
「Unity screen capture」


それでも有用な情報は得られず。。。

私の頭の中に"諦め"の二文字が浮かびかけていたことは言うまでもありません。


ReplayKitとの出会い

風向きが変わり始めたのは、次の検索ワードがきっかけでした。

「Unity replay ios

そう、ReplayKitです。

説明文を読んでみると、どうやらReplayKitとは、iOS9から導入された機能だそうで、なんとその機能がUnityでもサポートされているとのこと。

え、まじ?デフォルトの機能ならもっと簡単にヒットしても良さそうなのになんで出てこないの?

念のため「Unity ReplayKit」で再検索してみましたが、出てくるのはUnityの公式マニュアルのみ。

たいていのことは誰かがその使い方をブログで説明してくれているはずという私の経験則が崩れ去った瞬間でした。


ReplayKitの実装、そしてコレジャナイ感

参照できるブログがないため、公式マニュアルを頼りに、ReplayKitをアプリに組み込んでみました。

その結果がこちらです。

うーん。確かに動画は撮れているけれども。。。

ツイッターに投稿もできるけれども。。。

コレジャナイ感。

ReplayKitでは、動画のpreview画面を介す必要があり、アプリから直接、定型文とともに動画を投稿するみたいなことはできないことがわかりました。

でも、動画は録画できたわけだし・・・

もう、ゴールしてもいいよね・・・?


あの日あの時あの場所で君に会えなかったら

はい、皆さんご存知の通りそこで妥協しないのが私という人間です。

今度は、本当にReplayKitでは思い通りの機能が実装できないのかという観点から調査を始めました。

具体的に言えば検索ワードから「Unity」の文字を抜いてワールドワイドなウェブに再ダイビングしました。

そして、ついに運命のに出会いました。

qiita.com

このブログを要約すると、iOS11以上向けにアップデートされたReplayKitでは、すっげー頑張るとアプリ側から動画のハンドリングができるようになったとのこと。

そしてその頑張り方を、我々愚民どもにご教示なすってくださっているわけです。

ただし、これはiOSアプリ開発のネイティブ言語であるSwiftでの話であって マルチプラットフォームゲームエンジンであるUnityに直接適応できる話ではありません。

もちろんUnityでiOSのネイティブプラグインを使用する方法がないわけではないので、Swiftを覚え、Unityで使えるようにできれば目標の機能が実装できるかもしれないという一縷の望みが見えてきました。


おわりに

さて、長々と語ってきましたが、ここまでの話は(それこそブログ開始以前の)昔話で、先週のブログの締め↓につながる内容でした。

ただし、120%の理想を実現するためには、swiftを習得し、unityから呼び出すという高度なことをしなければならないようです(伝わらないですよね。はい。)。

この話は、それこそこのブログがなければ決して語られることのなかった、けれども、一番誰かに話したかった苦労話のような気がします。

来週は東京MOMOストーリー ~ブレークスルーは突然に~ (解決編)をお届けしたいと思います。


おまけ ~ブレークスルーは突然に~