2024年3月31日を持ってVOXELCANVASをサービス終了します。
2017年のリリースから7年も個人開発で続けてきましたが、利用しているバックエンドサービスであるNCMBの終了を受け、この度サービス終了することとしました。
本エントリではこれまでご利用いただいたユーザーの方へ感謝を申し上げつつ、VOXELCANVASの思い出を振り返っていこうと思います。
作品コンセプトについて、ADAA2021に出した動画がわかりやすいと思います。
CMなんかも作っていました
これまでの開発の経緯についてはこのブログでまとめていますのでぜひ見てみてください
https://utautattaro.blog/tag/VOXELCANVAS/
最終的なシステム構成は以下のようになっていました。
VOXELCANVAS EditorはずっとPlayCanvasで開発していました。このあたりは初期の頃に高校の同級生であるせいろ氏と共同開発したものがベースになっていて、彼の構築したvox engine v2によってボクセルの大量描画を実現しています。
https://x.com/utautattaro/status/937305534100672512?s=20
実際このvox engine v2が安定稼働してくれたおかげでエディタに関しては定期的なPlayCanvas engineのアップデートを行うだけで、ほぼノーメンテで動き続けてくれました。感謝
フロントエンドフレームワークはNuxt2を利用し、最初はJamStack運用していましたが、動的OGPに対応させたくなったりユーザーページを作りたくなったりしたのでSSRに変更し、それと同時にロリポップの共用サーバーからロリポップマネージドクラウドに変更しました。
gitを利用したデプロイができて、プッシュと同時にビルドされる仕様が非常に楽で良かったです。ユーザーがいない状態だとサーバーが休止状態になってしまうので、再アクセス時に3秒ほどオーバーヘッドが発生するのがちょっと微妙でした
データ・ユーザー管理及び認証はすべてNCMBにお願いしていました。デフォルトでは2つのキーをクライアントサイドに置くことになってしまうためherokuを利用してクライアントキー隠蔽を実装したりもしていました。いろいろ手に届かなくてむず痒い思いはあったものの、NCMBがなければVOXELCANVASもなかったと断言できるので、本当にお世話になりました。
画像もWebサーバーに溜め込んでいたのですが、表示速度や解像度の問題が頻発するようになったところでimageCDNであるimagekit.ioに出会いました。有名どころはimgixだと思うんですが、imgixがソース置き場をしているするのに対してimagekitl.ioはクラウドを提供してくれます。またAPIも豊富でbase64を投げれば画像化してくれたりと、かなり使い勝手が良いですし、無料で使える容量も非常に豊富なので自分はとても好きなサービスです。初学者ほど使えばいいのになあと思うのですが、日本ではあまり使ってるケースは少ないみたいですね。
Cesium社によって作られている3Dモデル変換のためのOSSです。obj,mtl,textureを投げるとglb化してくれるというシンプルなライブラリですがこれの良いところはコマンドラインベースでも、スクリプトベースでも動くという点でして、非常に使い勝手が良かったです。Webサーバーとは別にロリポップマネージドクラウドを作成してそこにホストしていました。
VOXELCANVASはタグ機能はありましたが命名機能はなかったので、過去に作成されたモデルを含めキャプションを作るために様々なCV APIを試しました。最初はAzure CV APIやGCP CV APIを試していたのですが当時は精度が悪く、だいたい「Computer Game」とかになってしまっていたのでサービスへの統合はせず諦め気味だったのですが、最近登場したgpt-4-vision-previewで試しにやったところ非常に精度が高いキャプションを生成できたためどこかで全キャプション作成したいなーと思っています。
ユーザー登録機能を展開してから、サービス終了まで、計5000アカウント作成されました。
ユーザー数はバズアプリと言えるほど伸びはしませんでしたが、自分なりに良かったなーと思うのはその体験地域の多さです。
GA4の全データを確認したところ、なんと世界167の地域からアクセスがありました。
割と頑張ってアプリを初期から英語で作っていたためグローバルに使っていただけるアプリになったんだと思います。
下の方にはセントビンセント及びグレナディーン諸島など、地理の教科書で見たような地域からのアクセスもあり、テンションが上りました。
自分のコードが地球上の167の地域の端末で動作したんだなあと思うと達成感がありますね。
というか、そのレベルの地域でも問題なく使えてるNCMBすごい
最終的にボクセルモデルは9163作成されました
これはエクスポートされていないモデルもすべて含まれる数値で、forkされたものも含まれます。
エクスポートされたglbデータは2971個で、合計761MBでした。意外と軽いですね。
管理画面から、エクスポートされたglbをGoogleの<model-viewer>で閲覧できるページを作っていたのですが、なかなか壮観でした
これだけのデータが集まったのも感慨深いですね。
とりあえずエクスポートはしたのでいつかなにかに使いたいなと思います。
Mashup Awardで富士通クラウドテクノロジーズ賞を頂きました。ここで頂いた副賞の5万円で、その後の開発にコストをかけれたので非常に良いきっかけでした。
Webサービスとして出すにあたって、しっかり行政書士と調整して日英で規約を作成しました。データを作成できる、ダウンロードして再利用できる、パブリックに公開すればだれかが複製して共創できるというなかなかないスキームのサービスで、行政書士とたくさんMTGしたのがいい思い出です。個人開発のコスト感として妥当なレベルで作成するのが大変でした。
ポルトガル在住のPhD学生が授業で使ったよ!とわざわざ連絡をくれました。その後風景の写真も送ってくれて、地球の裏側で自分のツールが有効活用されたと非常に嬉しかった思い出です。
glbエクスポート機能について、需要は理解できていたのですがいかんせん開発する時間がなかったのですが、入院した際に時間ができたので実装したのはいい思い出です。
https://x.com/o_ob/status/1306577388201893888?s=20
VOXELCANVASのおかげでHTML5 Conferenceでセッションする機会をいただけました。
最近では本業でもいろいろ活用いただけて、中高生向けのイベントなんかで使っていただけました
https://www.4gamer.net/games/999/G999905/20230822034/
https://tech.gmogshd.com/playcanvas-edu-shimonoseki/
いろいろ振り返りましたが、結局VOXELCANVASを作れてよかったなと思います。
VOXELCANVASのお陰で様々な経験ができましたし、自分のキャリアやスキルを上げるうえでも非常に役立ったサービスでした。
今見てみるとだいぶ拙いところもあるなあ、、、と思いますがそれも含めて自分の成長過程を見ているようで感慨深いです。
サービス終了は自分もさみしいですが、このブログを最後にしようと思います。
またいつか、VOXELCANVASのようなサービスを作れたらいいなと思います。
改めて、ご利用いただいたユーザーの皆様、ありがとうございました!
【Web表現チェンジャー】PlayCanvasに追加された3Diframeサンプルが控えめに言ってヤバい
2021年1月13日(水) 15時21分41秒 | 97 viewVOXELCANVASのモデルページをアップデートしました
2021年4月9日(金) 6時50分4秒 | 15 viewVOXELCANVASにモデルページを実装しました
2021年1月20日(水) 20時8分9秒 | 12 viewVOXELCANVASのドキュメントページをリリースしました
2021年1月25日(月) 14時11分8秒 | 6 viewVOXELCANVASにマイページ機能を追加しました
2021年1月18日(月) 5時59分54秒 | 4 view