Copyright (c) AtomitechCorporation. All rights reserved.Copyright (c) Atomitech Corporation. All rights reserved.
「KiQ」が拓くゲームサーバの未来
株式会社アトミテック 研究開発室 長久勝
2016/7/15 GTMF2016東京
1
2.
Copyright (c) AtomitechCorporation. All rights reserved.
(株)アトミテック
設立:2004年
資本金:26,000,000円
代表取締役:松本 浩司
拠点:山口本社、東京本社、福岡営業所
関連会社:(株)エクスジール
統合運用管理ツール「Hinemos」
公式ソリューションパートナー
APNスタンダード
コンサルティングパートナー2
Copyright (c) AtomitechCorporation. All rights reserved.
多言語対応
RPCフレームワーク
「Thrift」
RPC定義言語Thrift IDLの
採用により、クライアント側
の通信ライブラリを、多言語
で、自動生成できる。クライ
アント側のプログラミング言
語に合わせて、通信ライブラ
リを提供できる。
32
33.
Copyright (c) AtomitechCorporation. All rights reserved.Copyright (c) Atomitech Corporation. All rights reserved.
ご相談、
お待ちしています!
ご希望があれば詳細説明に伺います。
下記まで、ご連絡ください。
sales@atomitech.jp
33
Copyright (c) AtomitechCorporation. All rights reserved.
無料サービス準備中
KiQBasicPluginのみ利用できる(独自ロジックは
実装できない)ゲームサーバを、無料で提供する
準備を進めています。CEDECまでには何とか......
※無料サービスに対する動作保証は限定的なものになる予定です
小規模な案件に対して、性能保証の低い廉価なプ
ランを、秋以降に順次、提供する予定です。月に1
万円、10万円、50万円といった枠を検討中です。
それを超える規模の案件につきましては、個別に
対応させて頂きます。35
36.
Copyright (c) AtomitechCorporation. All rights reserved.
無料ハンズオン準備中
無償版のサーバを公開後、
UDXにてハンズオンセミナを
計画しています。
36
37.
Copyright (c) AtomitechCorporation. All rights reserved.Copyright (c) Atomitech Corporation. All rights reserved.
ご相談、
お待ちしています!
ご希望があれば詳細説明に伺います。
下記まで、ご連絡ください。
sales@atomitech.jp
37
38.
Copyright (c) AtomitechCorporation. All rights reserved.Copyright (c) Atomitech Corporation. All rights reserved.
開発スタッフ他募集中
(勤務地:UDX)
プログラマ、インフラエンジニア、広報・営業など
スタッフも募集中です!
https://careers.atomitech.jp/
エントリーシートの「その他」に、
希望職種と「KiQチームへの応募」を記入して下さい。
38
39.
Copyright (c) AtomitechCorporation. All rights reserved.Copyright (c) Atomitech Corporation. All rights reserved.
よし、
出展費分は
宣伝したぞ!
ここからは自由時間です
まずは告知から
39
40.
Copyright (c) AtomitechCorporation. All rights reserved.
告知
CEDEC2016
ラウンドテーブル
「ゲームサーバ
についてのパ
ターンマイニン
グ」
応募時の詳細、
本文5行で通っ
た、やる前から
伝説のラウンド
テーブル40
41.
Copyright (c) AtomitechCorporation. All rights reserved.
告知
IGDA日本SIG-4NG
地方の小中学生を対象にワーク
ショップを提供しています。
公益財団法人
中山隼雄科学
技術文化財団
からの助成を
受けて実施して
います。
41
42.
Copyright (c) AtomitechCorporation. All rights reserved.
告知
IGDA日本
福島ゲームジャム
今年もあるよ!
郡山メイン会場の参
加申し込み締め切
りは、7/19(火)
42
43.
Copyright (c) AtomitechCorporation. All rights reserved.Copyright (c) Atomitech Corporation. All rights reserved.
残り時間で
中身とか構想とか
43
44.
Copyright (c) AtomitechCorporation. All rights reserved.
ぼくのかんがえた
(うちでやれるはんいで)
さいきょうのげーむさーばの
えーだぶるえすじょうでのこうせい
44
45.
Copyright (c) AtomitechCorporation. All rights reserved.
ぼくのかんがえた
(うちでやれるはんいで)
さいきょうのげーむさーばの
びるどとでぷろい
45
46.
Copyright (c) AtomitechCorporation. All rights reserved.
ぼくのかんがえた
(うちでやれるはんいで)
さいきょうのげーむさーばの
しゅっかはんていしけん
46
47.
Copyright (c) AtomitechCorporation. All rights reserved.
ぼくのかんがえた
(うちでやれるはんいで)
さいきょうのげーむさーばの
ふかしけん
47
fullbok、直しました!(うちのスタッフが)
CentOSに入れ替えて直しました!
(AmazonLinuxがね、ちょっとね……)
https://github.com/mnagaku/fullbok/blob/develop/fullbok.template
48.
Copyright (c) AtomitechCorporation. All rights reserved.
48
インフラ監視の一環で、使っているAWSのサービスの稼働
状況を、実リクエストベースで監視している。特定リージョ
ンの特定サービスで、瞬断が観測されることは月に何回か
みたいな頻度である。そのつもりでコードを書いたり構成を
考えたりしておく。
# aws ec2 start-instances --instance-ids hogehoge
A server error (InsufficientInstanceCapacity) occurred when calling the
StartInstances operation: We currently do not have sufficient c4.8xlarge
capacity in the Availability Zone you requested (ap-northeast-1c). Our system
will be working on provisioning additional capacity. You can currently get c4.
8xlarge capacity by not specifying an Availability Zone in your request or
choosing ap-northeast-1a.
マシンを起動できない場合も考えたりしておく。
IT土方は見た
49.
Copyright (c) AtomitechCorporation. All rights reserved.
ぼくのかんがえたさいきょうの
ちゅうしょうどのたかいせっけいがいねん
● 現状
C/Sで技術基盤が違う
C/S開発を別々の担当者が行う
「2つのシステム」が連携して動く
● 理想
ゲームという「1つのシステム」の中の
C/Sという部分があるに過ぎない
49
50.
Copyright (c) AtomitechCorporation. All rights reserved.
ぼくのかんがえたさいきょうの
ちゅうしょうどのたかいせっけいがいねん
例:画面遷移
● 現状
「Cで画面遷移」、「C/Sで通信、Sでゲームロジック
の処理」は個別に考えられている。通信APIは「S
でゲームロジックの処理」単位に設計される
● 「1つのシステム」
何かを表示する必要があり、その何かを得る1つ
の実装パターンが、通信とSのゲームロジック処
理、に過ぎない。画面遷移と通信を不可分の関係
として見直せるのでは?50
51.
Copyright (c) AtomitechCorporation. All rights reserved.
ぼくのかんがえたさいきょうの
ちゅうしょうどのたかいせっけいがいねん
51
52.
Copyright (c) AtomitechCorporation. All rights reserved.
ぼくのかんがえたさいきょうの
ちゅうしょうどのたかいせっけいがいねん
画面遷移と通信を不可分の関係とする
→例外を包含可能な形で、そのような設計が可能
メリット
● 通信エラーの単純化
● チート対策
● 仕様が分かりやすくなる
● 検証しやすくなる
52
53.
Copyright (c) AtomitechCorporation. All rights reserved.
「状態遷移の管理」
53
KiQゲーム
KiQ
クライアントとサーバが
それぞれ状態遷移を管理し整合性を確認
Copyright (c) AtomitechCorporation. All rights reserved.
状態遷移で異常検知⑤
● ここまでの変換は自動で行える
● サーバ側でこの情報を元に監視を行う
● 設計時に、この情報をレビューすること
で、この例では、stageClearやgameset
を無限ループで呼べることが脆弱だと
判断できたりする
59
60.
Copyright (c) AtomitechCorporation. All rights reserved.
状態遷移で異常検知⑥
● モデル検査できる
● プロセス代数系の実装モデルを採用し
たプログラミング言語と相性が良い
○ ほんとは、GoやErlangで書けるとキ
レイなんじゃよ
60
61.
Copyright (c) AtomitechCorporation. All rights reserved.Copyright (c) Atomitech Corporation. All rights reserved.
ご相談、
お待ちしています!
ご希望があれば詳細説明に伺います。
下記まで、ご連絡ください。
sales@atomitech.jp
61