ブックマーク / tech.mirrativ.stream (97)

  • Apple のサンプルプロジェクトから Swift Concurrency 移行のエッセンスを学ぶ - Mirrativ Tech Blog

    こんにちは、クライアントエンジニアのちぎら(@_naru_jpn)です。AppleSwift Concurrency への移行をサポートするためのサンプルプロジェクト Updating an App to Use Swift Concurrency を公開しているのをご存知でしょうか。 このプロジェクトには、DispatchQueue を用いて記述されたアプリのコードと、それを Actor などの Swift Concurrency を使用したコードに書き換えたアプリのコードの 2 つが同梱されています。運用しているプロダクトのコードを書き換えるのは規模も大きく大変ですが、小さいプロジェクトから書き換えの課題感を掴んだり、ウォーミングアップとして Apple のサンプルプロジェクトから学べることがあるだろうという事から、このプロジェクトを題材にして社内勉強会を開催しました。 勉強会の

    Apple のサンプルプロジェクトから Swift Concurrency 移行のエッセンスを学ぶ - Mirrativ Tech Blog
  • Mirrativでのビジュアルスクリプティング(Bolt)活用事例とテクニック - Mirrativ Tech Blog

    こんにちは、ミラティブUnityエンジニアの菅谷です。 ミラティブでは先日Mirrativアプリ内で遊べるライブゲーム「エモモランあーるぴーじー」をリリースしました。 運営配信に遊びにきてくださって ありがとうございました🥳✨ あのゲームに、新たなシリーズが──⁉️ ⚔🏃‍♂️#エモモランあーるぴーじー🏃‍♂️⚔ ミラティブで開発中の #新作ライブゲーム🎮の✨超✨極秘映像🎥を 🎉Twitterでもお披露目🎉 ぜひRTして、ミラ友さんにも教えてあげてくださいね🐰💨 pic.twitter.com/H80ANnVLIq— ミラティブ@スマホ1台でゲームプレイ配信! (@mirrativ_jp) 2022年4月6日 エモモの衣装やアイテムを装備、強化して敵を倒しながらステージを進んで行くランゲームです。 エモモで遊べるオリジナルのゲームで、全てミラティブが開発しています。 ゲー

    Mirrativでのビジュアルスクリプティング(Bolt)活用事例とテクニック - Mirrativ Tech Blog
  • アプリ開発を支える10個のDangerレシピ - Mirrativ Tech Blog

    こんにちわ。shogo4405です。普段は、ミラティブで開発しながら、余暇にOSSのHaishinKit*1をつくっています。エントリーは普段UI開発を行なっているクライアントエンジニア向けに、ミラティブで導入しているDangerの実践レシピを公開いたします。 はじめに Dangerとは「Pull Requestの作法を形式化して指摘を自動化」するツールであり、採用している開発者の方も多いのではないでしょうか。Dangerの導入にあたってはDangerで始めるPull Requestチェック自動化 - コネヒト開発者ブログを参考にして導入いたしました。ありがとうございます。 ミラティブ社でも形式的なチェックは基的にDangerに任せるにようしています。エントリーでは、開発現場のあるある指摘内容をレシピ集という形でまとめました。 レシピ1:githubの更新があった箇所のみ指摘する 定

    アプリ開発を支える10個のDangerレシピ - Mirrativ Tech Blog
  • ミラティブのUnityエンジニアになったら学べること - Mirrativ Tech Blog

    みなさんこんにちは。ミラティブUnityエンジニアの菅谷です。 私がミラティブに来てからちょうど2年が経ちました。 以前はソーシャルゲームの会社でゲームの運営や新規開発を行っていました。リードエンジニアとして広くコミットすることで、特にクライアント側の一通りの技術を学ぶことができましたが、ミラティブに来てからも事業が成長していく中で様々なことに挑戦し学んできました。振り返ってみてミラティブのUnityエンジニアとして習得できる技術や、ミラティブで活かせるスキルが分かってきたので一例として紹介します。 ミラティブのUnityエンジニアとしてのスキルは大きく3Dアバター(エモモ)系とゲーム系とに別れます。 どちらの技術もMirrativアプリで直接使われ、メンバーが変わるわけではありませんが開発における性質は異なります。 以下それぞれの特徴について説明します。 エモモ系 3Dアバター(エモモ)

    ミラティブのUnityエンジニアになったら学べること - Mirrativ Tech Blog
  • Mirrativ Engineers & Values - Mirrativ Tech Blog

    はじめに 「ミラティブのエンジニアってどんなことが求められるんですか?」 ドキュメントは、多くの方に聞かれるこの問いに答えるものになります。 Software Engineer MirrativにはiOSアプリからライブ配信基盤まで広い技術領域が存在しますが、ミラティブではそれらに携わるエンジニアを全て「ソフトウェアエンジニア」と呼びます。特定の領域に留まらず、より深く、より広く、技術を追求し、チームに貢献することが、ユーザーに愛される最高のプロダクトを作るために必要であると信じています。 わかりあう願いをつなごう ミラティブはミラティブという1つのチームです。 ミラティブの行動指針は わかりあおうとし続ける 事実に学ぶ 大胆に考える 成果にこだわる そして楽しむ これらはプロダクトのリリース以来、チームが多くの困難を乗り越えた経験に基づく教訓であり、チームのコンセプトでもあります。 た

    Mirrativ Engineers & Values - Mirrativ Tech Blog
  • ミラティブのUnityアセット運用とそれを支えるCI/CD - Mirrativ Tech Blog

    こんにちは、ミラティブUnityエンジニアの菅谷です。 ミラティブでは週に一回以上のペースでエモモのイベントを行っており、1つのイベントごとに約40個の衣装やエモモアイテムを追加しています。 エモモアイテムの多くはUnityを活用して作られており、アセットバンドルとして追加・更新されます。 今回はハイペースなアセットバンドルの更新と運用を支える技術について解説します。 エモモアイテムがユーザーに届くまでの流れ Unityでのエモモアイテムのセットアップ、アセットバンドルのビルド、アセットバンドルの配信のフローによりエモモアイテムがユーザーに届けられます。 全体の概要は以下となっています。それぞれについて解説します。 1. エモモアイテムのセットアップ 3Dデザイナーがエモモのアイテムを以下のようにしてUnityプロジェクトに追加します。 Mayaなどで3Dモデルを作成する Unity上で3

    ミラティブのUnityアセット運用とそれを支えるCI/CD - Mirrativ Tech Blog
  • ミラティブの開発チーム編成をアプデしたよ Feb 2022 - Mirrativ Tech Blog

    みなさま、おはようございます。よこて @n0mimono です。令和になってなんと4年目に入りました。 今回はミラティブのプロダクト開発チームを更新したよ、という話をします。ついでに周辺の取り組みも紹介してみます。 前回記事はこちら tech.mirrativ.stream ちなみに今日はこのの影響を受けています。 チームトポロジー 価値あるソフトウェアをすばやく届ける適応型組織設計 作者:マシュー・スケルトン,マニュエル・パイス日能率協会マネジメントセンターAmazon プロダクト開発と体制 組織 まず基情報から。プロダクト開発に関わる組織そのものは今まで通りです。いわゆる機能別組織です。メンバー一覧見たら80人くらいいました、エンジニアは30人くらい。 技術部 ← エンジニアとか 分析部 ← 分析とか 企画部 ← PdMとか デザイン部 ← デザイナーとか エンジニアの組織はエン

    ミラティブの開発チーム編成をアプデしたよ Feb 2022 - Mirrativ Tech Blog
  • ミラティブでの配信画質改善の取り組み - Mirrativ Tech Blog

    こんにちは、ストリーミングチームの松です。 今回はミラティブの配信の画質を向上させるために行った対応の概要をご紹介したいと思います。 目次 目次 スマホゲームの配信の画質を改善したい 映像のエンコードの負荷が大きくなってしまう 映像のエンコード時のビットレートを高くする必要がある ミラティブでの配信画質改善への取り組み 映像ビットレートの向上 アップロード速度の調査 アップロード速度のでない配信ユーザーへの救済措置 映像ビットレートの動的な調整 配信サーバーの台数・コスト見積もり・増設 配信サーバー増設に関連する対応 サービスイン・サービスアウトの自動化 段階的なリリース まとめ We are hiring! スマホゲームの配信の画質を改善したい 配信の画質を改善したい場合には、画質が悪いとはどういうことかについて考える必要があります。 多くの場合画質が悪い一番の大きな理由は「配信される

    ミラティブでの配信画質改善の取り組み - Mirrativ Tech Blog
  • 配信コメントバー 〜 PiP 描画パフォーマンスとの向き合い方 - Mirrativ Tech Blog

    こんにちは、クライアントエンジニアのちぎら(@_naru_jpn)です。先日 配信コメントバー 〜 iOS15 で実現する新しい PiP 体験 という記事を公開しました。ミラティブアプリ上では Unity を利用して 3D のアバターであるエモモを描画しており、配信コメントバーの描画コストが大きすぎるとエモモの動きや見た目に影響しますし、画面のスクロール操作にも支障が生じます。今回は、複数の描画方法についての計算コストの計測結果と共に、配信コメントバーの描画をいかに最適化したかについて書きたいと思います。 描画の基的な方針 配信コメントバーの全体像 前回の記事 で AVSampleBufferDisplayLayer と CMSampleBuffer に言及しました。CMSampleBuffer に表示する内容を描画する方法は、たくさんの種類があります。 画像をそのまま書き込んだり、ピク

    配信コメントバー 〜 PiP 描画パフォーマンスとの向き合い方 - Mirrativ Tech Blog
  • 【iOS】SwiftLint のバグに遭遇したのでコントリビュートしてみたら学びを得た - Mirrativ Tech Blog

    こんにちは、クライアントエンジニアのちぎら(@_naru_jpn)です。 ミラティブの iOS アプリでは SwiftLint を活用して開発を行なっています。先日アプリの開発中に、SwiftLint 0.44.0 で、あるルールについての autocorrect の結果が想定外のものになりアプリのビルドが通らなくなるという事象に遭遇しました。1 今回はそのバグを修正したという話、修正する中で SwiftLint の中身には参考になる箇所が沢山あった話、を書こうと思います。 背景 今回遭遇した事象は redundant_optional_initialization ルールに関するもので、このルールは「Optional な stored property は = nil による初期化は省略できるよ」という内容です。 var hoge: Int? = nil // ~ // Redundan

    【iOS】SwiftLint のバグに遭遇したのでコントリビュートしてみたら学びを得た - Mirrativ Tech Blog
  • Redash SaaSサービスから自前ホストへの移行した話 - Mirrativ Tech Blog

    概要 ミラティブではデータ分析用ツールとしてRedashのSaaS(redash.io)を使用している。(Lookerと併用) 2021年11月末で redash.io のサービスが終了する。そのため、自前のGCP環境にRedashを移行した。 Redash謹製の移行ツールが提供されているが、いくつかハマったポイントがあった。 記事では、GCP環境への移行手順・移行時のハマリポイント・移行後にあると便利なものを紹介する。 はじめに 初めまして、ミラティブでデータ分析基盤を担当している芝尾です。データ分析チームは5名のチームになっており、日々ユーザーの皆様のデータを分析してサービスの向上に努めています。今回はミラティブで使用していたデータ分析可視化ツールの移行を行いましたのでそのやり方を共有します。 背景 Redash hosted サービスが終了します。この記事 によると 2021/11

    Redash SaaSサービスから自前ホストへの移行した話 - Mirrativ Tech Blog
  • ミラティブの社内勉強会の紹介!! - Mirrativ Tech Blog

    こんにちはLivePlatformチーム所属の_mkazutakaです。 ミラティブでは、週1回木曜日にエンジニア向けの社内勉強会を開催しています。社内勉強会にはバックエンドエンジニアのみならず、iOSエンジニア、ビジネスサイドからの参加があります。 今年の8月でサービスリリース6周年を迎えたミラティブですがこれまで社内勉強会するという文化はありませんでした。 ミラティブでの社内勉強会も次で26回目になります。振り返りの意味も含め、なぜ・どうやって勉強会を開催しているかを紹介していきたいと思います。 社内勉強会をやっているけれども他の会社ではどのようにやっているのだろう、社内勉強会に興味がある、といった人達にとって参考になれば幸いです。 なぜ開催し始めたのか ミラティブでは月に一回プレミアムエモイデーという全体会議があります。当時プレミアムエモイデーにてチーム内の行動指針に沿った行動につい

    ミラティブの社内勉強会の紹介!! - Mirrativ Tech Blog
  • ゲームエンジニアから見たミラティブ - Mirrativ Tech Blog

    はじめに こんにちは、Unityエンジニアのおはぎ @ohayo_ohayo_ です。 前職ではスマホゲームの開発をしており、今年の5月にジョインして約半年が経ちました。 現在はMirrativ内でエモモというアバター部分の開発をしています。 スマホゲーム開発とは結構違うなあと思ったので、 その辺をカジュアルに書こうという試みです。 プロダクト 大前提としてMirrativはゲーム配信アプリであり、ゲームではありません。 Unityを使っている部分は主にエモモの制御部分であり、一つのシーンで完結しています。 そのシーンに様々な機能を追加していくため、大きな一つのシーンとなります。 機能としては着せ替え、アニメーション、Cinemachineを使った演出が主であり、 それぞれはゲーム開発でも使われることがある技術です。 体力や攻撃力などのパラメータがないため、 パラメータのほとんどが見た目に

    ゲームエンジニアから見たミラティブ - Mirrativ Tech Blog
  • ISUCON11本選のしくじりを振り返っていく - Mirrativ Tech Blog

    こんにちは、バックエンドエンジニアのmakinoです。ISUCON11選から1ヶ月半が経過し、2年連続失格の傷が癒えてきたので振り返りブログを書いていこうと思います。 ISUCON11選について 選の題材は大学の履修登録サイトでした。 すでに作問陣による選問題の解説と講評が出ているので、問題の詳細については下記の記事をご参照ください。 isucon.net 今回の問題は、高負荷な箇所を改善してもスコアが一気に上がるようなことはなく、じわじわ伸びていくような問題だったので競技時間中はずっと苦しんでいました。 また、選出場30チーム中12チームが失格になったことからも、問題の難易度が窺えるかと思います。 弊チーム「カレーおじさん」の最終スコアは68,347点でしたが、最後の負荷走行にてfailになってしまい失格となってしまいました。 また、運営の方が競技終了後に一時的にサーバーを開放

    ISUCON11本選のしくじりを振り返っていく - Mirrativ Tech Blog
  • ミラティブのプロダクト開発体制と組織を解説する: The Mirrativ Model, Autumn 2021 - Mirrativ Tech Blog

    はじめに みなさまお久しぶりです、前回記事を書いたのが1年前というよこて @n0mimono です。今回はミラティブのプロダクト開発の体制的な話を書いてみようと思います。 ミラティブではMirrativというサービスを作り、運営していますがこれをどういう体制で作っているのかというお話です。開発フローとか技術的な話というより、どういう組織構造で作ってるのか、あるいは開発するものをどう決めているのかというあたりを語ります。(開発フローってどうなってんの?みたいな話は他の誰かが書いてくれるはず!) 先にネタバレするとこの記事はこのの影響を受けています。 www.amazon.co.jp の影響を受けて開発体制をつくったというわけではなく、少しずつ改善していって後から振り返ったら「あれこれ似たようなことやってるな・・」という感じですね。 プロダクト開発と体制 The tribes ミラティブの

    ミラティブのプロダクト開発体制と組織を解説する: The Mirrativ Model, Autumn 2021 - Mirrativ Tech Blog
  • AndroidチームのIDE警告ゼロへの取り組み - Mirrativ Tech Blog

    こんにちは。エンジニアのshogo4405です。普段は、ミラティブで開発しながら、余暇にOSSのHaishinKit*1*2をつくっています。稿では、Androidチームで取り組んだAndroid Studioから出てくる警告対応ゼロの仕組み化について紹介します。 はじめに 筆者は、警告は一つ一つ適切なアクションを行うべき対象と考えています。警告一つ一つに意味を持っています。リリース後にクラッシュレポートを見て「あー警告」で指摘されてたという失敗経験もあります。チーム開発においては、IDEの警告ゼロが当然になるように働かきかけています。 Androidチームでは、2021年第3四半期のOKRの一つとして警告ゼロ対応を掲げました。着手当初は278 warnings, 306 weak warnings, 75 infosの警告等がありました。 ゼロ警告へのアプローチ まず初めにチームで実施

    AndroidチームのIDE警告ゼロへの取り組み - Mirrativ Tech Blog
  • ISUCON11予選に参加して10位で予選突破しました - Mirrativ Tech Blog

    こんにちは、バックエンドエンジニアのmakinoです。先日行われたISUCON11予選に参加し、10位で予選突破することができました。 isucon.net 私が所属している「カレーおじさん」チームは、前職の同僚の @sugaret, @lazydg と組んでいるチームで、ISUCON参加は3回目、予選突破は去年に続いて2回目になります。 それでは、さっそくISUCON11予選を振り返っていきたいと思います。 使用したツール alp pt-query-digest Cloud Profiler alpはaccess log解析、pt-query-digestはslow query解析で毎度使っているものです。 今年はCloud Profilerを新たに使ってみることにしました。いつもはベンチマーク実行時にpprofを手で叩いており面倒だったのですが、Cloud Profilerは継続的にプ

    ISUCON11予選に参加して10位で予選突破しました - Mirrativ Tech Blog
  • 【iOS】ゲームアプリの音声設計とミラティブの配信について - Mirrativ Tech Blog

    こんにちは。エンジニアのshogo4405です。ゲーム開発会社様より、iOSで画面収録またはミラティブで配信をすると、SEは鳴るが、BGMが消える場合がある。技術的な仕様について教えてくださいと連絡をいただく場合があります。 エントリーでは、ミラティブの配信中にゲームBGMが鳴らない現象について、ゲームアプリ側での回避方法の例をご紹介したいと思います。 はじめに ミラティブのライブ配信は、iOS11で導入されたReplayKitAPIを利用して実現しています。iOS標準機能として画面収録と呼ばれています。画面収録の利用方法は、次の通りです。 [設定.app] → [コントロールセンター] → [コントロールを追加] → [画面収録]を追加する[画像1] コントロールセンターを開き、新規登場した ◉ マークを長押しする。[画像2] [写真] を選び。収録を開始する。 画面収録開始後に時

    【iOS】ゲームアプリの音声設計とミラティブの配信について - Mirrativ Tech Blog
  • 【iOS】Unity Framework とクラッシュ解析の取り組み - Mirrativ Tech Blog

    こんにちは、Mirrativ iOS エンジニアのちぎらです。クラッシュが発生して、その原因が分からないととてもかなしい気持ちになります。このブログでも以前から触れているように、Mirrativ のクライアントアプリではエモモなどの表示に Unity を使用しています。今回は、Unity の Framework とその内部で発生したクラッシュ解析の取り組みについて紹介をしたいと思います。 隠されたクラッシュ情報 Mirrativ iOS アプリではクラッシュ情報の解析と集計に Firebase Crashlytics を使用しています。Bitcode を有効にしている場合、App Store Connect からダウンロードした dSYM ファイルを Firebase Crashlytics にアップロードすることによってクラッシュ情報の詳細が見えるようになります。しかし、dSYM ファイ

    【iOS】Unity Framework とクラッシュ解析の取り組み - Mirrativ Tech Blog
  • 【Unity】Mirrativのエモモ着せ替えの仕組みを解説する - Mirrativ Tech Blog

    こんにちは、Unityエンジニアの菅谷です。今回はMirrativのアバター(エモモ)の着せ替えについて解説します。Mirrativはゲーム配信のサービスではありますが、大きな特徴としてエモモがあります。エモモは2018年にリリースされ、ライブ配信のお供としてエモモが使われるようになりました。ユーザーは衣装やアクセサリーなどのエモモアイテムを組み合わせてエモモを着飾ることができます。エモモアイテムは主にイベントで追加されており、今では5000種類以上あります。 エモモの着せ替え エモモアイテムには以下の種類があります。 体型 体格や身長 顔のパーツ 髪型や目、口など 化粧や装飾 アイシャドウやフェイスペイントなど 服装 服やなど アクセサリーや置物 カテゴリーは全部で30種類以上あり、肌や目などのエモモアイテムは色が変えられます。ユーザーはエモモアイテムを組み合わせたり、色を変えたりして

    【Unity】Mirrativのエモモ着せ替えの仕組みを解説する - Mirrativ Tech Blog