Mirrativ Tech Blog

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

Mirrativでのビジュアルスクリプティング(Bolt)活用事例とテクニック

こんにちは、ミラティブUnityエンジニアの菅谷です。 ミラティブでは先日Mirrativアプリ内で遊べるライブゲーム「エモモランあーるぴーじー」をリリースしました。 運営配信に遊びにきてくださってありがとうございました✨あのゲームに、新たなシリーズが──⁉…

Unityの描画パイプラインをURPに移行しました

こんにちは、ミラティブUnityエンジニアの牧野です。 ミラティブアプリの3Dアバター(エモモ)の描画にはUnityを利用しており、その描画パイプラインをURPに移行した内容を紹介していきます。 はじめに URP (Universal Render Pipeline) とは以下のような特…

ミラティブのUnityエンジニアになったら学べること

みなさんこんにちは。ミラティブUnityエンジニアの菅谷です。 私がミラティブに来てからちょうど2年が経ちました。 以前はソーシャルゲームの会社でゲームの運営や新規開発を行っていました。リードエンジニアとして広くコミットすることで、特にクライアン…

Android12でのピクチャー イン ピクチャーの改善をR&Dしました

こんにちは。エンジニアのshogo4405です。普段はAndroidの開発を行いながらときどきiOSの開発を行なっています。本稿では、Android12で改善したピクチャー イン ピクチャーをMirrativに導入できないか調査した内容を紹介していきます。

社内勉強会「Swiftの並行処理についてのセッションを見る会」を開催しました

iOS

こんにちは、クライアントエンジニアのちぎら(@_naru_jpn)です。Swift 5.5 で async/await が導入されて久しいですが、皆さま導入はされているでしょうか。プロダクトに導入して活用できればいいですが、すぐには導入できないプロダクトも多くあると思います…

ミラティブのUnityアセット運用とそれを支えるCI/CD

こんにちは、ミラティブUnityエンジニアの菅谷です。 ミラティブでは週に一回以上のペースでエモモのイベントを行っており、1つのイベントごとに約40個の衣装やエモモアイテムを追加しています。 エモモアイテムの多くはUnityを活用して作られており、アセッ…

Mirrativ Engineers & Values

はじめに 「ミラティブのエンジニアってどんなことが求められるんですか?」 本ドキュメントは、多くの方に聞かれるこの問いに答えるものになります。 Software Engineer MirrativにはiOSアプリからライブ配信基盤まで広い技術領域が存在しますが、ミラティ…

ミラティブの開発チーム編成をアプデしたよ Feb 2022

みなさま、おはようございます。よこて @n0mimono です。令和になってなんと4年目に入りました。 今回はミラティブのプロダクト開発チームを更新したよ、という話をします。ついでに周辺の取り組みも紹介してみます。 前回記事はこちら tech.mirrativ.stream…

接続が途切れないストリーミングサーバの無停止アップデートを実装してみました

こんにちは ハタです。 最近 SO_REUSEADDR / SO_REUSEPORT を使ったストリーミング配信サーバの無停止アップデート(Hot Deploy)を実装してみたので紹介したいなと思います ことの経緯 HTTPサーバによる Hot Deploy の仕組み ストリーミング配信サーバへの応…

【北の国から】休学を決めてからミラティブで1年間インターンするまでを振り返る

初めまして!クライアントエンジニアのいっちーです。 今年の4月からインターンとして入社し、iOSチームの一員としてMirrativの開発業務を行ってきました。 普通に学生エンジニアをしていた自分にとって、ミラティブでの開発は新鮮なことばかりでした。 本記…

Docker + Mac どうする問題

Mirrativバックエンドのエンジニア @stakme です! みなさんMacでDockerしてますか?今回は私から、Mac+Docker開発についての文章をお届けします。Docker Desktop for Macの有料化など、最近話題の多いところですよね。 ただし法的問題を含みますので、記事…

ミラティブでの配信画質改善の取り組み

ミラティブの配信の画質を向上させるために行った対応の概要をご紹介します。

Unityチームで出社してわかりあい会をしたお話

こんにちは、ミラティブUnityエンジニアの菅谷です。 先日、ミラティブには新たなUnityエンジニアが加わったためUnityチームでオフィスに集まり、わかりあい会をしてみました。 ミラティブはリモートで業務を行っており、来年もリモート体制を続けることを宣…

イヤホン配信を支える音のプログラミング入門

こんにちわ。shogo4405です。本エントリーは普段UI開発を行なっているクライアントエンジニア向けに、Mirrativのイヤホン配信を支えている音のプログラムの基礎を紹介していきたいといます。 音のプログラミングの概要を掴んでもらい、より詳しい部分につい…

配信コメントバー 〜 PiP 描画パフォーマンスとの向き合い方

iOS

こんにちは、クライアントエンジニアのちぎら(@_naru_jpn)です。先日 配信コメントバー 〜 iOS15 で実現する新しい PiP 体験 という記事を公開しました。ミラティブアプリ上では Unity を利用して 3D のアバターであるエモモを描画しており、配信コメントバ…

配信コメントバー 〜 iOS15 で実現する新しい PiP 体験

iOS

こんにちは、クライアントエンジニアのちぎら(@_naru_jpn)です。先日ミラティブの iOS アプリバージョン 9.38.0 にて「配信コメントバー」機能をリリースしました。この機能は iOS15 から利用可能になった PiP に関する技術を活用したもので、ミラティブ以外…

ミラティブの社内勉強会の紹介!!

こんにちはLivePlatformチーム所属の_mkazutakaです。 ミラティブでは、週1回木曜日にエンジニア向けの社内勉強会を開催しています。社内勉強会にはバックエンドエンジニアのみならず、iOSエンジニア、ビジネスサイドからの参加があります。 今年の8月でサー…

Redash SaaSサービスから自前ホストへの移行した話

概要 ミラティブではデータ分析用ツールとしてRedashのSaaS(redash.io)を使用している。(Lookerと併用) 2021年11月末で redash.io のサービスが終了する。そのため、自前のGCP環境にRedashを移行した。 Redash謹製の移行ツールが提供されているが、いくつか…

ゲームエンジニアから見たミラティブ

はじめに こんにちは、Unityエンジニアのおはぎ @ohayo_ohayo_ です。 前職ではスマホゲームの開発をしており、今年の5月にジョインして約半年が経ちました。 現在はMirrativ内でエモモというアバター部分の開発をしています。 スマホゲーム開発とは結構違う…

【iOS】SwiftLint のバグに遭遇したのでコントリビュートしてみたら学びを得た

iOS

こんにちは、クライアントエンジニアのちぎら(@_naru_jpn)です。 ミラティブの iOS アプリでは SwiftLint を活用して開発を行なっています。先日アプリの開発中に、SwiftLint 0.44.0 で、あるルールについての autocorrect の結果が想定外のものになりアプリ…

ISUCON11本選のしくじりを振り返っていく

こんにちは、バックエンドエンジニアのmakinoです。ISUCON11本選から1ヶ月半が経過し、2年連続失格の傷が癒えてきたので振り返りブログを書いていこうと思います。 ISUCON11本選について 本選の題材は大学の履修登録サイトでした。 すでに作問陣による本選問…

AndroidチームのIDE警告ゼロへの取り組み

こんにちは。エンジニアのshogo4405です。普段は、ミラティブで開発しながら、余暇にOSSのHaishinKit*1*2をつくっています。本稿では、Androidチームで取り組んだAndroid Studioから出てくる警告対応ゼロの仕組み化について紹介します。 *1:https://github.c…

ミラティブのプロダクト開発体制と組織を解説する: The Mirrativ Model, Autumn 2021

はじめに みなさまお久しぶりです、前回記事を書いたのが1年前というよこて @n0mimono です。今回はミラティブのプロダクト開発の体制的な話を書いてみようと思います。 ミラティブではMirrativというサービスを作り、運営していますがこれをどういう体制で…

iOSDC Japan 2021 にエンジニア2名が登壇します!!

こんにちは、クライアントエンジニアの竹澤(@to4iki)です。 先日のApple Eventを見てポートがUSB Type-Cとなった新しい iPad mini が欲しくなりました。 さて、今年も毎年恒例のiOSDC Japanの開催時期となりましたね! 昨年と同様にオンラインで開催され、事…

Mirrativのバックエンド開発におけるMySQLとの向き合い方

こんにちは、バックエンドエンジニアのmakinoです。先日、LINE LIVEさんとの共催イベントにて「Mirrativを支えるバックエンド開発 ~MySQLとの向き合い方~」というテーマでLTをしました。 connpass.com speakerdeck.com 今回はLTの内容から一部抜粋して、Mirr…

1ms 以下のリアルタイムオブジェクト検出/画像処理を目指して Goの配信サーバサイドで通知ぼかしを実装してみたこと

こんにちは ハタ です。 今回は以前iOSのクライアントサイドで実装していた通知ぼかし機能をサーバサイド(配信サーバ)上に再実装した事を書きたいなと思います 今回はかなり内容を絞りに絞ったのですが、長くなってしまいました、、 目次機能があったのでつ…

ISUCON11予選に参加して予選敗退しました

こんにちわ、エンジニアのタテノです。 8/21 に ISUCON11予選 が開催され、ミラティブから私とかずたかさん、stakmeさんの3人でチームミラティブとして参加しました。 isucon.net 3人ともISUCON参加ははじめてで、各々事前準備しつつ、当日、一時30位くらい…

ISUCON11予選に参加して10位で予選突破しました

こんにちは、バックエンドエンジニアのmakinoです。先日行われたISUCON11予選に参加し、10位で予選突破することができました。 isucon.net 私が所属している「カレーおじさん」チームは、前職の同僚の @sugaret, @lazydg と組んでいるチームで、ISUCON参加は…

Mirrativ×Unity as a Library 活用事例と開発テクニック

こんにちは、Unityエンジニアの菅谷です。今回はUnity as a Libraryの活用事例と開発テクニックとして、以前のLTで紹介した内容をまとめました。Mirrativでの活用事例を通してUnity as a Libraryの強みや課題を共有し、他のプロダクトでの導入の参考になれば…

Mirrativ のアバター活用事例を紹介します!

こんにちは、バックエンドエンジニアの平松です。今回は Mirrativ でのアバター(エモモ)を活用した機能開発事例を紹介します。 Mirrativ のエモモ Mirrativ にはエモモと呼ばれるUnityで動く独自の3Dアバター機能が存在します。 エモモはユーザが自身の好…