Mirrativ Tech Blog

株式会社ミラティブの開発者(バックエンド,iOS,Android,Unity,機械学習,インフラ, etc.)によるブログです

2023-01-01から1年間の記事一覧

ミラティブでのアウトゲーム設計の紹介

こんにちは。ミラティブUnityエンジニアの菅谷(tetsujp84)です。 今回はミラティブのライブゲーム開発で行ったアウトゲームの設計について紹介します。 以前アウトゲーム設計に関してXでポストしたらレスポンスをいただけたのでできるだけ丁寧に解説してみま…

Mirrativ iOSアプリでのメモリ使用量削減への取り組み

こんにちは、iOSエンジニアのふじのです。 Mirrativの機能開発を進める傍ら、iOSアプリのメモリ使用量の改善に取り組んでいます。 今回は、アプリ内でメモリ使用量を増やしている問題点を見つける方法と、それらをクライアント実装で解決する具体的なアプロ…

GitHub APIを利用したスケーラブルなマスターデータ管理システム

こんにちは、バックエンド基盤チームマネージャーの夏(なつ)と申します。ミラティブの基盤チームはユーザが直接触れる機能よりかは、開発者や会社全体の生産性を向上させるためにエンジニア主導で課題を発見・解決している部署です。 今回は基盤チームが主…

UnityでモバイルWebGLゲーム開発を頑張る話

こんにちは。ミラティブUnityエンジニアの菅谷(tetsujp84)です。 ミラティブのライブゲームはUnityで開発し、MirrativアプリのWebGLで動いています。 ライブゲームを支える仕組みと実際のライブゲーム開発で使用した技術については過去の記事で紹介していま…

あてっこ!ぷにまるずで利用したVisualScriptingとデザイナーフレンドリーな開発

皆さんこんにちは。Unityエンジニアのおはぎです。 ミラティブでは先日「あてっこ!ぷにまるず」(以下ぷにまるず)というライブゲームをリリースしました。 使っている技術については以下の記事に概要が書かれています。 tech.mirrativ.stream 本稿ではその…

【Go/GCP】ライブゲーム「あてっこ!ぷにまるず」を支えるバックエンド技術

ライブゲーム「あてっこ!ぷにまるず」のバックエンド技術について紹介します。

あてっこ!ぷにまるずを支える技術紹介 〜モバイルWebGLの開発事例〜

Unityエンジニアのいも(@adarapata)です。 みなさんはUnityでWebGLプラットフォーム開発していますか? ミラティブでは先日「あてっこ!ぷにまるず」というライブゲームをリリースしました。 これはモバイルブラウザで動くWebGLです。 PCブラウザ想定のWebGL…

Unityチームでの輪読会の取り組み紹介とUniRx/UniTaskクイズ

こんにちは。ミラティブUnityエンジニアの菅谷(tetsujp84)です。Unityチームの一員として、私たちが週に1時間を費やして行っている輪読会について紹介したいと思います。輪読会では、チーム内で読む本を都度決め、それを読み進めていきます。これまでにはパ…

iOSプロジェクト内の神クラス解体の進め方

iOS

こんにちは、クライアントエンジニアの竹澤(@to4iki)です。 Mirrativでは、リアルタイムの配信視聴時のコメントやギフト機能を実現するために、WebSocket ベースの仕組みを利用して、サーバー・クライアント間でPub/Subのメッセージングを行っています。*1 …

Flipperを使ったiOSアプリの開発体験向上&iOSエンジニア目線でのミラティブ社の魅力について

iOS

はじめに 初めまして!Mと申します。 私は、2022年8月中旬より現在まで、iOSチームでインターンとして参加させて頂いています。 (実はこのミラティブのTechブログを読んだことがきっかけで、インターンに参加することになりました) これまでの期間、特に私…

Go Conference 2023 にて Go/Cgoで映像・音声のリアルタイム処理をやるまでの道のり というタイトルでお話してきました

こんにちは ハタ です。 このたび Go Conference 2023 Online にて Go/Cgoで映像・音声のリアルタイム処理をやるまでの道のり というタイトルで発表しました 久しぶりの大きなカンファレンスでの登壇だったのでとても緊張しましたが、10周年を迎えた機会に登…

新しいUnity AnalyticsとUnity Cloud Diagnosticsの紹介と使い方

こんにちは。ミラティブUnityエンジニアの菅谷です。今回はUnityのサービスであるUnity AnalyticsとUnity Cloud Diagnosticsについて紹介します。2つのサービスはゲーム開発者がゲームのパフォーマンスを追跡し、ユーザーエクスペリエンスを改善するための強…

【ミラティブ】Go Conference 2023 に登壇 & スポンサーとして協賛します

こんにちは、ミラティブの野呂です。 2023年6月2日(金)に開催される Go Conference 2023にて、ミラティブから2名のエンジニアが登壇します。さらに、ミラティブもスポンサーとして協賛をさせていただきます! Go Conference 2023については以下公式サイトを…

iOSの音声読み上げ時のメモリ消費量について

iOS

こんにちはミラティブ2年目突入の福山です。 今回は、ユーザーが追加でインストール可能な拡張版の読み上げ音声がiOS 16で多くのメモリを消費するということがわかったので、ライブ配信用のアプリ拡張内で対策を行いました。 メモリ使用量50MB制限 Mirrativ…

LeSS Huge を参考にしたスクラムのスケーリング

こんにちは、エンジニアのちぎらです。先日 開発組織にはじめてのスクラムを導入する という記事を公開しました。先日の記事にも課題として記述した通り、組織の一つのチームにスクラムを導入した後は、他のチームにどのようにスクラムを展開していくか、全…

Jetpack ComposeにおけるViewの多重タップ、複数同時タップの防止策

こんにちは。ミラティブのAndroidエンジニアのかねき@kanesyです。 以前の記事でも何度か紹介していますが、MirrativのAndroidアプリでは新規で作る画面には積極的にJetpack Composeを活用しています。 tech.mirrativ.stream Jetpack Composeでの開発が活発…

24年新卒から次の新卒に伝えたい、ミラティブに感じた技術的な面白さ

前書き 初めまして。山倉拓也と申します。 私は2022年9月26日から現在(2023年3月)まで、株式会社ミラティブの基盤開発部でインターンをさせていただいており、2024年度に正社員として入社する予定です。この記事では、私が具体的にミラティブで今までにどん…

SDWebImage起因のクラッシュを解消した話と学び

iOS

こんにちは、iOSエンジニアのいっちー(@0IcchI)です。 最近はインターン終了を迎えるなか、引越しや卒業などでバタバタしており、若かりし頃の自分が広げまくった風呂敷をやっと畳んでるような気がしてます。 ...これからシェアハウスなどを始めるので、まだ…

CI/CD Conference 2023 に参加し、ミラティブのCI基盤移行について発表しました

インフラ・ストリーミングチームの @udzura です。 3月20日、私は日比谷国際ビルのコンファレンススクエアで開催されたCI/CD Conference 2023に参加しました。 event.cloudnativedays.jp このカンファレンスにてミラティブにおけるCI基盤の移行についての事…

MirrativにおけるUnityのWebGLを用いたライブゲームの仕組み

はじめに 2022年のCEDECで講演した内容の詳細について解説します。特に、UnityのWebGLを用いたライブゲームの仕組みに焦点を当てて紹介します。 tech.mirrativ.stream WebGL技術を活用したライブゲーム ライブゲームには、WebGLの技術が使用されています。Un…

【ミラティブ】CI/CD Conference 2023 に登壇 & スポンサーとして協賛します

こんにちは、ミラティブの野呂です。 いよいよ来週開催される CI/CD Conference 2023 by CloudNative Days にて、ミラティブから近藤(@udzura)が登壇します。さらに、ミラティブもスポンサーとして協賛をさせていただきます! CI/CD Conference 2023につい…

【Android】Jetpack ComposeでCanvasを使って凝ったUIを表現しよう

こんにちは Androidエンジニアのなかむらです。 ミラティブでリリースされた視聴ミッションの実装に関してお話ししていこうと思います。 視聴ミッションは視聴開始直後からメーターが進み始めるという機能です。 このメーターをかっこよく表現したいよねとい…

iOS16.1 以上でピクチャ・イン・ピクチャが CPU を異常に消費する問題の応急処置

iOS

こんにちは、エンジニアのちぎら @_naru_jpn です。ミラティブの iOS アプリでは 配信コメントバー 機能の実現のためにピクチャ・イン・ピクチャを活用しています。ピクチャ・イン・ピクチャは iOS16.1 以上の端末において、特定のシチュエーション *1 で異…

ミラティブの開発組織をアプデしました February 2023

2023年もよろしくおねがいします、よこて @n0mimono です。今回もミラティブの開発組織を更新したよという話をします、結構大きな変更が入っています。 前回記事はこちら tech.mirrativ.stream プロダクト開発と体制 組織 ミラティブではゲーム配信とライブ…

自動マージでアセット更新作業を楽にする

Unityエンジニアの森田です。今回は前回書いた記事の続きで、CI/CDのちょっとした改善をした話を書いていきます。 tech.mirrativ.stream 課題 以下の記事で書いたように、ミラティブでは複数のアプリのバージョンを運用しており、それに合わせてアセットも複…

Firebase Crashlyticsを用いたError検知のすすめ

こんにちは。shogo4405です。本エントリーは、Firebase Crashlytics(以下Crashlytics)を利用しているiOSエンジニア向けにError情報の保存および活用についてのミラティブ社の事例を紹介したいと思います。 Errorの収集 ここで言うError情報とは、protocol Er…