しがないエンジニアのブログ

技術的な内容をメモ代わりにつらつら

[Unite2019] Game Server Services ではじめる サーバー開発運用しないゲーム開発

動画・スライド:https://learning.unity3d.jp/3241/

丹羽 一智 Game Server Services 株式会社


学んだ知見

  • Game Server Services(GS2)が目指すもの → 汎用ゲームサーバー
  • 初期費用・運用費用なし
    • 料金は0.02円/API
  • 秒間10万アクセスにも耐えられる
    • SINoALICEのピーク時アクセスの2倍以上
  • 改ざん・チート対策も完備
  • github, excelを用いたマスタ管理
  • 環境をyaml形式で管理、サーバのオートスケールも可能
    • AWZ, GCPの機能を利用

DeNA, KLab, ワンダープラネットでの採用実績あり

サンプル
https://github.com/gs2io/gs2-sample

公式HP
https://gs2.io


講演概要

なぜGS2か?

開発者を追うべき責任
○ おもしろさ
× 動くことの担保

クライアントにはUnity, UE4がある
サーバーには汎用エンジンが存在しないのでは?

GS2が提供するAPI

  • アカウント管理(作成、引継ぎ)
  • 経験値・レベル
  • プレゼントボックス
  • 所持品
  • 回数制限
  • 抽選処理
  • マッチメイキング
  • 課金通貨
  • エス
  • リアルタイム対戦
  • ミッション
  • イベントスケジュール
  • ゲーム内ストア
  • スタミナ
  • 編成(パーティ、装備)
  • チャット機能
  • フレンド
  • バージョン管理

用例1:イベント期間1回だけ買える商品
イベントスケジュール → 販売期間を設定
回数制限       → 購入回数を設定

用例2:ログインボーナス
エスト        → ログインボーナスを「1日1回進行できるクエスト」として定義
回数制限        → クエストの進行回数
イベントスケジュール  → 公開中のログインボーナス
所持品         → ログインボーナスを獲得して追加

サーバスクリプトに記述 → クエストの終端に達したら進行状況をリセット

チート対策

「報酬」と「対価」をセットにしたスタンプシートで管理
報酬と対価の両方が支払われた場合スタンプシートを永久に破棄
以下のようなチートを確実に防げる

  • 対価を支払っていないのに報酬を支払う
  • 対価・報酬を改ざんして請求

所感

  • よさそう
  • 会社で複数ゲームを取り扱うときに、基盤機能の共通プラットフォームとして利用できるのでは
  • ゲーム特有でサーバ処理が必要な場合はどうなるのか?
    • 独自のフックをスクリプトで書いて対応可能
      • リザルトの理論値計算、不正チェック
      • パーティ編成の不正チェックなど(コストオーバー検知)

[Unite2019] 中の人がいない!? 音声対話型AIサービスを使ったバーチャルキャラクターの作り方

動画・スライド:https://learning.unity3d.jp/3235/

秋永 和計 株式会社NTTドコモ
尾崎 竜二 だるまジャパン合同会社
北川 正義 だるまジャパン合同会社
AI セバスちゃん


学んだ知見

  • 音声認識自然言語処理音声合成をすべて内部で行うことで
    中の人がいない対話AIを作成している
  • AIは対話ログから頻出ワードをマッチさせることで人間が学習させている
  • セバスちゃんはツンデレ属性
    → 特別に学習データを作ることで特有の表現は学習可能

中の人がいなくても魂は込めることができる


講演概要

AIの内部構成

このプロジェクトで利用しているSDKは公開されています
https://dev.smt.docomo.ne.jp/?p=common_page&p_name=sebastien_teaser

資料の後半はSDKの使いかたのチュートリアルとなっているので、
音声対話の実装の参考になると思います


所感

  • ゲームとの連携は難しそう(音声対話という点から)
  • webサービスとの相性は良さそう
    • ただしシナリオ作成まわりの整備が必要になりそう
    • そもそもUnityを使わないで利用できるのかという点も要確認

[Unite2019] Unityで手軽に使えるAIエンジンailia SDK

動画・スライド:なし

品部 仁志 株式会社アクセル


学んだ知見

補足

clip studioで採用事例あり
https://prtimes.jp/main/html/rd/p/000000027.000004053.html


講演概要

ailia SDKを使わない場合のフロー

1.従来のフロー1

よくある問題

  • モデルをエッジ機器で持ちにくい
    • モデル構築がpythonベース
  • 常時インターネット接続が必要
    • 通信量の問題
    • ネットワークが切れたときの動作の担保
  • サーバーでのコスト大

2.従来のフロー2

よくある問題

  • アプリ開発向けのDNNフレームワークがない
    • python, core MLなどを使うことがおおいので、モデル変換に失敗する
  • モデル自体の容量が大きすぎる
    • VGGだと数百MB
  • 特定のGPUしか動かない
  • 実行が重い、実機でしか動作確認できない

3.ailia SDKを使った場合

エクスポートにcaffe model, ONNXというものを使う

ailia SDKが提供する価値

1.高速、世界一を目指す
tensorflow liteの3倍の性能

2.ハードウェアの選択肢を提供
Windows, Mac, Android, iOSなどに対応
FPGAも視野に入れる

3.快適・安心・効率的


所感

  • 知識がある場合は、基本的に学習済みモデルがサンプルとしてあるだけなので別に利用しなくてもいいと思った
    • 自分で作成したモデルを使うことも可能
  • ただ、手間をかけずに利用できる点は便利
  • クロスプラットフォーム開発のコストが高い場合は利用価値がありそう