狠狠撸

狠狠撸Share a Scribd company logo
AmebaGames
技術への挑戦
リアルタイム基盤
AmebaGames
技術戦略室 山田 元基
自己紹介
山田 元基
2008年 新卒入社
Ameba統括本部
Amebaゲーム事業本部
技術戦略室
経歴
2008年 サイバーエージェント入社
2011年 ブログ開発3年経験後ゲーム開発を担当
2011年? 天空のクリスタリアなど4本のゲームに関わる
2013年 社員総会でベストエンジニア賞受賞
2014年? AmebaGamesの技術戦略を立案、実行
?サーバサイドエンジニア。現在はマネジメントがメイン
?趣味
旅行???月に1度どこかに出かけてリフレッシュ?
映画???スターウォーズは2回観たけど、もう1回行く予定
ゲーム??シミュレーションが好き。
最近はStarWarsバトルフロントをプレイ中
本日の流れ
①リアルタイム通信基盘开発
②リアルタイム通信基盤のシステム
③現在開発中のチャット基盤の紹介
④AmebaGamesの技術への挑戦
①リアルタイム通信基盘开発
リアルタイム通信基盤「duck」を開発
?リアルタイム処理のプラットフォーム
?高速、高機能、高信頼性
?同時接続1万以上可能
?OSS公開予定
リアルタイム通信基盤「duck」開発経緯
?社内技術イベントのイノテック会議で提案発表、優勝
?提案者であるMario氏が開発着手
(現在はAmebaFRESH!担当)
?2015年4月にプロダクトリリース
エンジニア主導で立案から開発まで実行
なぜリアルタイム通信基盤を開発するのか?
自社でリアルタイム通信基盤を開発した
3つの理由
なぜリアルタイム通信基盤を開発するのか?
①ゲームのトレンド
?オンラインゲームが主流
?対戦、協力型のマルチプレイを基本としたゲームが増加
?今後開発するゲームに搭載は必須になっている
マルチプレイが好きな人は多い!!
自社タイトルにも
マルチプレイが続々!
なぜリアルタイム通信基盤を開発するのか?
②リアルタイム通信技術の蓄積
?技術難易度が高くノウハウ蓄積が重要な技術
?最新技術の導入、カスタマイズが可能
?MMORPG全盛期に向けた技術への投資
開発?運用ノウハウを習得するためには手を動かすのが近道
sock.js
websocket
MQTT
Protocol
Buffers
node.js
AeroSpike
MessagePack
golang
広く深い知識が必要
なぜリアルタイム通信基盤を開発するのか?
③実行できるチーム?組織
?サーバサイド技術に強い開発者が多い
?最新技術に責任を持って挑戦をするリーダーがいる
?挑戦を後押ししてもらえる環境
リアルタイム通信など基盤技術に携わりたい人が多い!
なぜリアルタイム通信基盤を開発するのか?
①ゲームのトレンド
②リアルタイム通信技術の蓄積
③実行できる人材?組織
なぜリアルタイム通信基盤を開発するのか?
ゲーム開発の重要な技術を
自社で開発?運用を行いノウハウを蓄積して
新しい価値を提供するため
②リアルタイム通信基盤(duck)
システム
duckの開発期間と人数
開発期間
?約10ヶ月
開発人数
?初期は1名で開発。リリース時4名
特徴
?少数精鋭チーム
duckのシステム
■プラットフォーム
?PCブラウザ/スマホブラウザ
?ネイティブアプリ
?Macでの開発を想定
duckのシステム
■通信プロトコル
?sock.js
?webSocket
?MQTT
■エンコーディング
?JSON
?MessagePack
?ProtocolBuffers
duckのシステム
■サーバサイド
?Golang
■データストア
?AeroSpike
ネイティブアプリ「ウチの姫さまがいちばんカワイイ」
Webブラウザアプリ「スクールファンファーレ」
duck導入事例
duckの今後の導入
ネイティブアプリ
「ガールフレンド(?)」
その他開発中タイトルも
対応予定
③現在開発中の
チャット基盤の紹介
チャット基盤「gossipy」を開発
?ユーザー間のメッセージを高速に処理
?duck基盤ノウハウ利用したチャットシステム
?3つの機能を提供
1.購読型メッセージング
2.ダイレクトメッセージング
3.ユーザー状態通知
?絶賛開発中
プレゼンス機能フロー図
なぜチャット基盤を開発したか
?新規タイトルでチャットを導入する話が上がった
?リアルタイム基盤との親和性が高く開発効率化が行える
?今後のゲームにおいて標準機能となる基盤になる可能性が高い
基盤開発を行うメリットが大きいと判断
AmebaGamesの
技術への挑戦
AmebaGamesの技術への挑戦
①STF(スマートフォン検証システム)
②ImageHayabusa(画像処理オンデマンドサービス)
③octo(Unity AssetBundle配信システム)
①STF(スマートフォン検証システム)
?スマートフォンを遠隔操作できるシステム
?Smartphone Test Farmの略称
?100台以上の端末を同時操作可能
?デバック、テストの効率化に貢献
?OSSとして発表
http://openstf.io/
https://github.com/openstf/stf
②ImageHayabusa(画像処理オンデマンドサービス)
?画像処理をオンデマンドで行い配信するサービス
?現在はリサイズ、最適化、形式変換に対応
?配信先のデバイスに合わせて自動で最適化
?デザイン作業効率化を目指して
PSDデータからの画像書き出し開発中
?現在は社内限定サービス
https://hayabusa.io/
https://speakerdeck.com/gunta/hua-xiang-bian-huan-night-
imagehayabusa-dezainzuo-ye-xiao-lu-hua
③octo(Unity AssetBundle配信システム)
?UnityのAssetBundle配信の効率化を目指して開発
?基本機能設計を共通化して品質向上
?バージョン管理から配信まで一括対応。
新機能リリース時の負荷削減
?絶賛開発中。今春以降のサービスに導入
最後に
?サービスがHITするための技術への挑戦が大前提
?新しい技術には積極的にチャレンジする
?自身が挑戦をする気になれば組織は全力サポート
?VRやAIへの取り組み強化中

More Related Content

GameTalkNight AmebaGames