GameWith Developer Blog

GameWith のエンジニア、デザイナーが技術について日々発信していきます。

2024/04 サービス開発部業務アピール会 #リモートワーク #tldv #vcam #android #設計 #GameWith #TechWith

こんにちは!GameWithサービス開発部です。

サービス開発部では月に一度、全体会にて どのように業務課題を改善したか をアピールする会を行っています。

今回は4件の内容をご紹介します!

2024年3月の発表内容はこちらです

tech.gamewith.co.jp

チームで出社した話

チーム全員で出社した話をしてくれました。GameWithでは普段、フルリモートで業務が行われています。最近新しい試みとして全社員が出社する「出社奨励日」が月に一度設けられました(※出社奨励日は全社で完全に任意参加になっています)。

初めての出社奨励日は参加を見送ったのですが、次の機会にちょうどチーム内でタイミングが合ったので、皆で久しぶりにオフィスへ行くことにしました。

出社した日は、会社裏の神社へ参拝するなど、リフレッシュも兼ねて外へ出かけたりしました。夕方には酒とピザが食べられたので、食べました。ただ、オフィスに戻るとリモートワークと変わらない作業内容で普段通りの業務でした。

ここに行ったそうです

おみくじを引いたそうですが、吉だったそうです。

ピザの写真

フルリモートの環境下で、一度の出社が新鮮な体験となりつつも、業務としてはリモートと比べてあまり違いがないことを実感した一日でした。出社をするのなら、なにかしらレクリエーションやその他やることを用意しないとリモートと変わらない一日を過ごすことになる、とのことです。

出社奨励日が、今後どのように影響を与えるか楽しみですね!

アバター&自動議事録の話

最近はVR技術を活用して、Meetなどのビデオ会議で自分を美少女アバターに変えて参加するようにしている、という話をしてくれました。感情や表情を伝えやすく、皆発言しやすくなるなど、参加者の心理的な安心感も向上するため、会議がスムーズに進むようになったそうです。

MacBook Proで VCam を使うことで簡単に設定でき、視覚的にも楽しい会議が実現します。

また、議事録の作成は「tl;dv」というAIサービスに任せています。このサービスはMeetの会話内容を自動で文字起こししてくれるため、議事録作成の手間が省け、会議後のフォローアップが格段に効率的になりました。

バ美肉とAI議事録でオンライン会議がより効果的で、かつ生産的になりそうですね!

Google Playの内部テスト機能でリリース前のアプリの動作を確認する

Androidアプリで、play storeのAPIを利用している箇所は、ローカルでのリリースビルドでは確認できないため、Google Playの内部テスト機能を使って確認を行ったという発表でした。

内部テスト機能を使うための流れとしては以下のようになります。

  • ローカルでリリースビルドを作成する
  • play store consoleで Play Integrity API を Google Cloud プロジェクト とリンクして、APIを有効化する
  • play store consoleで内部テストのリリースを作成して、ビルドをアップロードする
  • テスターを追加し、選択する
  • テスターのアカウントでログインされた端末で、テスト用のリンクを開いて、play storeからアプリをダウンロードして、動作確認する

以下に手順をスクショで載せます。

Play Integrity API と Google Cloud プロジェクトをリンク

リリース作成

ビルドをアップロード

内部テストリリース

内部テストをリリースしたあと、テスターを追加し、そのテスターに対してアプリダウンロード用のリンクを渡します。

テスターはそこからアプリの内部テストに参加することができ、こうすることで play storeのAPIも動く状態で動作確認できるとのことでした。

ちょっと手間はかかりますが確実な動作確認ができますね

プレゼントボックス設計の話

業務でプレゼントボックス(のようなもの)を設計する事になったので、経験談から注意すべきことについての発表です。

プレゼントボックスはモバイルゲームでは当たり前のようにある機能ですが、実は時限爆弾を抱えてしまう可能性がある機能の一つです。 時限爆弾となり得る設計及び仕様についての紹介がありました。

その1 受取期限が無期限だと倉庫化してしまう 定期的に受取済みレコードの削除処理を走らせていても未受取レコードがどんどん貯まってしまい、負荷の原因に繋がる可能性があります

設計段階でできる改善方法

  • ガチャで引いた内容を貯め込まないような仕様にする(同キャラ引いたら即座に強化やアイテム化など)
  • 補填を送る際の対象を極力絞る
  • 全体プレゼントはログイン時に受け取るようにして全体配布をしない

その2 正規化しすぎたプレゼント プレゼント生成するたびに削除できないデータが増えてしまう可能性があります 受取期限が無期限だと、そのデータも無期限で消せなくなるに等しくなってしまいます

設計段階でできる改善方法

  • プレゼントグループなどで管理しているのであれば配布時に非正規化し、プレゼントのレコードだけで内容が完結するようにする(モンスターやアイテムなどのIDは消すようなデータではないのでIDで持ってOK)

また、過去にあった事例として、下記のような話もありました

  • 小手先で対応して時限爆弾を爆発させるくらいなら長期メンテで安心な形にした方がユーザーへのストレスが減る
  • 受取期限無し&非正規化していないゲームで8万件近くのプレゼントを保持しているプレイヤーがプレゼント整理すると他プレイヤーがプレゼントを利用できなくなった

シンプルな機能に見えますが考えることが多い機能なんですね!

最後に

今回もGameWithサービス開発部の裏側をお伝えしました。新たな発見に繋がっていれば幸いです。

こんなGameWithではエンジニアを絶賛募集中です!

サーバーエンジニアやフロントエンジニアの方、AIに興味がある方や、Unityでの開発に興味がある方もお気軽にカジュアル面談をお申し込みください!

github.com