QuestNotes開発ブログ

MMOTRPG「QuestNotes(クエストノーツ)」を開発しています。不具合や要望があればぜひご一報ください。 

Azureちゃん可愛い大好きえらいねすごいね天才

[更新]
サーバーの一部を引越し
先日のメンテナンス時にエッジサーバーを引越ししましたのでその経緯について共有しておきます!

ことの発端は、めっちゃカメレオンのサーバー代0円という話題がうらやましくなって、改めてQuestNotesのサーバー費用という現実と向き合っていたところ、エッジサーバーの転送料金がレポートの使用量の数倍の請求がされてることに気が付きました。はて、これは何かの間違いがあるのではと思ってAzureに問い合わせをしたところ(問い合わせも100$かかるので自分の見落としや勘違いがないかをものすごい下調べした。。。)、数回のオンラインでのヒアリングを挟んで、、、

Azureサポートさん:レポート機能におけるデータの集計が正しく機能しておらず、出力される結果に大きな差異が発生する不具合を確認しました。
その結果、レポート機能のデータと、実際の課金額が大きく乖離して表示されている状況になっています。将来的には修正される予定ではございますが、明確な時期などは公開されておりません。

と言われました!!!(要約:レポートのほうが間違っており請求書が正しい。金額は変わりません
(ちなみにメトリクスという指標は正しいので、使用量はそちらで確認してほしいとのことでした)

ということで、金額は正しく、、、想定以上に転送量があるようなので出費を抑えられないかと諸々検討した結果、そもそもAzureのエッジサーバーがやや高価だったので転送する部分についてはCloudflareに移行してみました。

「転送量メトリクス」

引っ越し後数日はDNSキャッシュの影響か通信が残りましたが、現在はほぼ移行完了したようなので先ほどAzureのエッジサーバーは撤去しました。

さてCloudflareによってクライアントとエッジサーバー間は安いがエッジとオリジン間は転送費はかかってしまうようになるので、合計では安くはなるとは思うのですが、引き続き対応を考えていかないとと思っています。(Azureだけの場合はエッジとオリジン間は無料のはず)
エッジとオリジンの転送量を減らすためにキャッシュヒット率が高くなるような更新も今後していければと思っています。。

また、一般のゲームと違いQuestNotesの特性的にそれぞれのファイルを予めクライアントのストレージに保持することもできないので、基本的にはメモリで保持しているんですが、それも一長一短があるので、もう少しクライアント自身にもキャッシュも増やしても良いのかもとも思っています。。。(バランスが難しい。。。)

ちなみに転送量といえば圧縮ですが、現状は圧縮については以下の感じになってます。
テキスト(シナリオデータ):配信時に圧縮
画像:大きい場合はアップロード時には圧縮
音楽:ファイル制限でアップロード前に圧縮(を皆様にしてもらってます)

こっちもバランスや対策が難しい。。
画像についてはwebp形式にサーバーで変換が良さそうなんですが、クライアント側の描画対応を考えると二の足を踏んでいます。。(webpと元画像両方保存がするのがクライントと転送面では良いですが、そうするとストレージ側の負担が気になる。。)

ともあれ、ひとまず何にせよ引越しによって多少サーバー費は抑えられるようになったとは思うし、データ量が増えれば諸々表現がしやすくなるので、諸々の対策も視野にいれつつデータサイズの上方調整もしていけたらよいなとも思っています。。

クラウド事業者に頼りきりな、「デジタル小作人」の辛みをひしひしと感じているんですが、せめて一つのクラウドにこだわらず適切な環境を渡り歩く「デジタルジブシー」として生きていければと思っています!。。Azureちゃん青くて好きなので小規模向けもがんばって!

[予定]
さよならUserVoice
・・・世知辛い話がもうひとつ。。さらに今週UserVoiceさんからメールが届きました。(UserVoiceからは提案機能を提供してもらっています) 
uservoice.com

なにやら
「Your plan is currently on a seat-based model that we're retiring. 」
プランの変更とのことで、実質値上げらしいです。。。

多少の値上げならこのご時世まあよいか、、、と思っていたところ8倍ほど値上げとのことでした!(管理者が一人だとそこそこ安く使えていたんですが、複数人で管理する前提のプランだけになったとのこと。。)

さすがに継続利用はしんどい。。けども、提案機能はゲームを良くしていくうえで必須だと思っているので、8月中に提案機能を内製に切り替えようかと思っています。。。

内製することでゲーム内連携やデザインや文言をはじめ色々調整もできるようになると思うので、例えば以下のような仕様変更を考えています。
・提案票数を月ごとに回復するようにしようと思ってます(提案しきって票がなくらないようにする)
・ゲーム内からの提案
・ゲーム内通知に連携
・提案が採択されたら名誉点獲得

「こういう提案機能にしてほしい」みたいなアイデアがあれば、UserVoiceへのはなむけにぜひご一報ください!。。
questnotes.uservoice.com


[予定と更新]
口調を参照する特殊表記
あ、やっとゲーム内の話になるんですが、実装周りでは今月はセリフまわりの改修を行っていたんですが、キャラクター指定メッセージコマンドのとき、一人称などを参照できる特殊記法(\youみたいなの)を追加しようと考えていました。

ただ、新しい記法を追加してもそもそもどういう記法があるのかが現状わかりにくいと思ったので、記法を確認できるボタンを用意しました。

で、記法追加に合わせて、キャラクター名の記法も追加するようにして、キャラクター指定発言コマンドのとき、現状名前が自動入力されるようになっているんですが、それをやめようかと思っています。。。(過去のものはそのままの動作で。。。)

キャラクター指定メッセージコマンド自体がなかなかクセが強いんですが自身のキャラクターが発言するのは独特の感覚なので有効活用されたらいいなと思っています!!

以上、よろしくお願いいたします!