
VMagicMirrorの開発開始から3年経ったので振り返ってみる
N周年系の記事です。
VMagicMirrorとは
VMagicMirrorは3Dモデル(VRM)をアバターとして動かせるWindows用のソフトで、専用のトラッキングデバイスが不要です。
……約2年前の正式版公開noteでもほぼ同じことを書いたんですが、当時に比べると似たことを言ってるアプリがだいぶ増えましたね。
(参考) 2020年5月、正式版公開時のnote:
VMagicMirrorのダウンロード(BOOTH):
公式サイト (マニュアルページ):
3年間の実績など
2019年3月13日の初公開以降、現在に至っての色々な数字は大体こんな感じです。
・メンテナンス期間が3年を超えた
・約2年前の2021年に、30回目の更新でv1.0.0として正式化
・3年経過時点で54回目の更新(v2.0.3)を公開中
・つまり正式版以降はほぼ1月1回ペースでアップデートしています。
・のべDL回数が53万回くらい
・BOOTHで「スキ!」された回数が5300程度
・GitHubのStarがこの間300を超えた
いずれも個人開発としては良い数字で嬉しい限りです。
またv1.8.0で追加した有料版(フルエディション)について、正確な売上は基本非公開です(※)が、目安としてサラリーマン生活が耐えられなくなったときVMagicMirrorの売上だけでも生活できるくらいの額になっています。
ただし現時点では売上を生活費に充てないポリシーを継続していて、放送大学の学費やアバターデザインやskeb依頼費用など、自分の懐に入らない形で使ってています。
※Fanboxの支援者限定記事で1回だけ売上をチラ見せしてます。
(参考) 有料版公開時のnote:
開発の振り返り
※ここはVMagicMirrorの歴史に詳しくない人は飛ばして構いません。ちょっとニッチなことを書いています。
今から振り返ると良い開発上のアプローチだったのでは……と思うことをつらつら書いています。
昨年に有料版を公開した時点ですでに対応済みだった話ですが、今考えるとパーフェクトシンクに早めに対応していたのは改めて筋が良かったように思っています。
パフォーマンス、ユーザーコストなど、いくつかの点で今から見ると先行きのよい試みになったつもりです。
・特化型デバイスにならない範囲でかなり高水準な顔トラッキングになる
・PC負荷が抑えられる
・HANA_Toolsがメンテナンスされており、パーフェクトシンク対応の難易度が下がっている
このほか、機能追加とは別でデスクトップマスコットにできる特徴が初公開時から一貫していて、他のVRM用ソフトが出てもアイデンティティに困らないのは強みです。他ソフトの下位互換になったら一瞬でやる気を失う自信があるので、ここは重要です。
また開発上の思想として低~中スペックのPCにも優しくしたいと思っているので、この意味でも開発競争から距離を置けているつもりです。
例えば、VMagicMirrorのハンドトラッキングは「トラッキング範囲や精度やFPSは妥協する代わりにCPU/GPUをいじめない」という優先度で作っていて、実際にトラッキング性能は高くありません。配信の終わり際に手がちょっと振れるとかピースサイン出来ればいOKとかの控えめなユースケースはほどほどのトラッキング精度でも成立するためです。
逆にこうしたポイントを破る例を出すと、「ウェブカメラだけで手と顔が完璧にトラッキング出来るソフトです!PCはそこそこ良いやつ使ってね!」というのがウリの(デスクトップマスコット対応ではない)ソフトを開発していたパターンが考えられます。
しかし、この筋道は現状レッドオーシャンで企業製アプリやパワフルな個人開発者と正面衝突する道になり、精神衛生に悪かっただろう…というのは想像に難くありません。それ以外でも「(高価な)高スペックPCがアリならもう専用のトラッキングデバイスも解禁でいいじゃん」等と考えられてしまい、専用デバイスの多様性ゆえにキリが無くなるのもしんどい所です。
こうした問題を避けて通っているのが開発の気楽さや、気負いすぎないことに繋がっているかもしれません。
開発以外の感想
上述したようなソフトウェア設計寄りのトピック以外でも、職業プログラマー生活でやっていないことを沢山やれており、いずれも教訓になっています。
・そこそこ長い期間のコードメンテナンスを体験する
→安全なアップデートは(単体のクライアントアプリでも)そこそこ気を遣う
・ユーザーから直接の不具合報告や要望を受ける
→ユーザー報告は合理的とは限らない
→仕事でちゃんとした不具合報告をするQAは凄い
・Twitterでアップデート報告をする
→導線設計が悪いと一気にダウンロードされなくなる
・(※最近やれてないけど)必要なら紹介動画を作ってYouTubeに投稿する
→動画での説明はきちんと出すと分かりやすい
→動画編集は大変
→動画はエンコードしたあとで間違いに気づきがち
・画像つきのマニュアルwebページを作って公開した
→マニュアルが書きにくい場合ソフトの仕様に何か問題がある
→ソフトウェアの更新時にヘルプページのスクリーンショットを漏れなく更新する会社/人はかなり凄い
→ヘルプページの多言語対応はちょっと頑張れば出来る
・フルエディションの公開を通じ、価格設定を体験した
→価格設定はとにかく難しい
など、挙げるとなかなか量があります。
特に価格設定への理解は「営利追求するならもっと上手にやらないとダメ」程度ですが、プライベートでの経験としては十二分なつもりです。というか、下手に営利追求をすると売上低下がモチベーションの低下に直結する(いわゆるアンダーマイニング効果が起こる)ので、個人開発では適度にザツにするくらいが精神衛生上よい気もします。
またTwitterでアップデート報告を繰り返すにあたり、広報ワークフローが無いと広報のスピード感が出しやすいのも分かりました。この点では広報がグダグダしている会社にも理解を示せるようになった一方、ある種の厳しい目線を持つようになったとも思います。
実は分かってないこと:メンテ継続のコツ
感想とは別で、3年経っても正確に言語化できていないことを書き添えておきます。
それはメンテナンスが3年間続けられている理由が自分でも把握しきれていないということです。私には3年続いた習慣がほぼ無く、今のところ同じ会社に3年間勤めた経験もまだないので、コードメンテナンスがこんなに長期間できているのは不思議なことです。
もちろんモチベーションのきっかけになる事項は挙げられます。
・ダウンロードされている
・BOOTHのリアクションが一定数ある
・Twitterでツイートしてもらえる
・アップデート報告の内容が(特にVTuberに)褒められる
・(ここに依存しすぎない方が良いが)有料版を買ってもらえている
しかし決め手はイマイチ分かっておらず、この辺の話題を人にアドバイスできるのは当分先になりそうです。
昨年からは放送大学で心理学の勉強に着手しているので、心理系のノウハウもインプットしながらこの問題を内省できると何かしらアウトプットになる予感がしています。
今後の予定
今後の予定ですが、VMagicMirrorは現状で特に完成というつもりもないので、今後も良い意味で惰性でのメンテナンス/アップデートを続けていくつもりです。
ただし2022年の抱負(※なんと本記事の時点で2022年の約25%がもう終わってます)のひとつにVMagicMirror以外で価格がつくようなモノを作るというのがあるためそちらにも時間を使いたいですし、そもそもエルデンリングがまだクリアできていません。
そのため、アップデートは続けつつも時間の使い方はほどほど、という状態でこれからも何かしらは出していく見込みです。
今回は以上です。
今後も突発的に何か書く可能性があったり、そうでなくとも開発4周年のnote記事が出たりするとは思うので、その時はまた読んでもらえれば幸いです。