運用5年を迎えた「ジョーカー〜ギャングロード〜」で60%レイテンシ改善した話

ジョーカー~ギャングロード~(以下ジョーカー)でサーバーエンジニアをやっている嶋です。
ジョーカーは、最大25 vs 25の計50人で戦う抗争というGvGがメインのカードゲームです。
参加人数、行動回数が多いチーム同士の対戦(以下、アクティブな対戦)では、レイテンシがかなり高くプレイ体感が悪いことが発覚し、調査及びレイテンシ改善を行いました。
その結果、最大約60%のレイテンシ削減に至ったので、その時のことを書かせて頂きます。

まずはジョーカーのインフラ構成、GvGにおける排他制御の方法を説明します。

続きを読む “運用5年を迎えた「ジョーカー〜ギャングロード〜」で60%レイテンシ改善した話”


Java(Kotlin)におけるgRPCライブラリの選定と実装および速度比較検証

はじめに

Applibotで内定者アルバイトをしている18卒の杉浦です。

今回、Applibotの基盤制作チーム A.R.T.(Applibot Root Technologies)でのタスクとして、Java (Kotlin)におけるgRPCライブラリの選定と、gRPCと既存の運用でよく使われているシリアライズフォーマットであるJSONを用いたAPIとの速度比較をしたのでその結果を書きます。

続きを読む “Java(Kotlin)におけるgRPCライブラリの選定と実装および速度比較検証”


Hubotによるチーム開発の効率化

はじめまして。サーバーエンジニアの井上です。

今回は弊社の文化として浸透してきているCRについて、事例を交えて紹介させていただきます。

CRとは新しいチャレンジ(Challenge)とルーチンワーク(Routine)の言葉から作った造語です。また下記の

PrefabUtilityとEditorGUILayoutでViewクラス自動生成&自動アタッチする

CRハッカソンを開催しました!

でも紹介していますので参照してみて下さい。

続きを読む “Hubotによるチーム開発の効率化”


SonarQubeで始める静的コード解析

アプリボットの技術基盤グループであるA.R.T.(Applibot Root Technologies)が導入を進めている、SonarQube というプログラムコードの解析と自動レビューをする仕組みについて紹介を行います。

ちなみに、SonarQubeにはクラウド版のSonarCloudもあり、オープンソースプロジェクトだけでも2017年9月時点で5000以上のプロジェクトから使用されています。

続きを読む “SonarQubeで始める静的コード解析”


Springフレームワークによる分散トランザクション検証(Atomikos)

こんにちは。エンジニアマネージャーの岩本です。
最近はマネージメントの傍らPJの基盤技術を構築したりしています。

最近新規ゲームPJの基盤構築をしていて、MySQLの分散トランザクションについて検証をしました。
運用中のタイトルでは結構力技でDB分散をしていますが、「保守が大変」「もっとスマートに出来るようになりたい」という懸念点がありました。
せっかく新規で作れるならばこの際思い切って変えてしまえ!!という勢いです。
※運用中のタイトルのDB分散はこちらの記事を参照して下さい。

続きを読む “Springフレームワークによる分散トランザクション検証(Atomikos)”


スプレッドシートによるAPIドキュメントの管理とクラスの自動生成

こんにちは。サーバーサイドエンジニアをしている向井です。

今回は新規プロジェクトで導入を検討している、スプレッドシートによるAPIドキュメントの管理方法と、ドキュメントからクラスの自動生成する方法について紹介します。

続きを読む “スプレッドシートによるAPIドキュメントの管理とクラスの自動生成”


運用タイトル『JOKER』 負荷対策のあれこれ

こんにちは。サーバエンジニアのZです。

今回は、弊社「ジョーカー~ギャングロード~」(以下、ジョーカー)で行った「負荷対策」のお話を実際行った手順を元にご紹介していきたいと思います。

サービス運営していくうえで避けては通れない道なので、少しでも参考になれば幸いです。

続きを読む “運用タイトル『JOKER』 負荷対策のあれこれ”


Unity & サーバー間通信でのMessagePack導入奮闘記(サーバー導入編)

こんにちは。新卒でサーバーサイドエンジニアをしている向井です。

今回からは、MessagePackをプロジェクトでの導入するにあたっての実用話や苦労話を、複数回に分けてお届けします。

本エントリでは、新規プロジェクトでMessagePackの導入に至った背景と、サーバーサイドでのMessagePackの導入について紹介します。

続きを読む “Unity & サーバー間通信でのMessagePack導入奮闘記(サーバー導入編)”


DBUnitを用いた単体テスト基盤について

こんにちは。今回は、 グリモア~私立グリモワール魔法学園~ で使用している単体テスト基盤についてご紹介します。

このテスト基盤は、Javaのサーバーサイドの単体テストをJUnitを用いて行う際に使用されています。

この記事では、単体テスト基盤を導入する前にあがっていたテストデータの管理とテストデータの切り替えの問題点と、問題解決のために開発された、単体テスト基盤のコンセプトと実装についてご紹介します。

続きを読む “DBUnitを用いた単体テスト基盤について”