Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

31
Virtua Fighter5 Final Showdown Twitter連動機能について 株式会社セガ 岩﨑剛

Transcript of Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

Page 1: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

Virtua Fighter5 Final Showdown の

Twitter連動機能について 株式会社セガ 岩﨑剛

Page 2: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

自己紹介

Page 3: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

株式会社セガ

第二研究開発本部 開発2課

岩崎剛

Twitter: @twtrfk

Page 4: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

開発の前段階

Page 5: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

部内SNSの構築

2009年5月頃 岩﨑「VF5Rの新仕様にあるライバル設定ってTwitterっぽくすると面白いかもしれませんね」 企画「うーん」 岩﨑「ちょっと待ってて下さい」 3日後 岩﨑「AmitterってSNSを部内用に作ってみたんで試してみてください」

Page 6: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

部内SNSの構築

参考:Amitter

Page 7: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

「青天の霹靂」?「にわかに始動」?

2009年11月頃 何故か、初音ミク Project DIVA Arcade(DIVA-AC)とTwitterの連動の話が急に盛り上がる。

Page 8: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

部内SNS用ライブラリの作成

2010年1月頃 Amitterに外部ゕクセス用APIを実装。 DIVA-ACにAmitter用のライブラリ(AmitterUtil)の作成。

AmitterのTLにDIVA-ACのプレイ結果が流れ始める。

Page 9: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

部内テストを経て・・・

2010年3月頃 VF5 Final Showdown(VF5FS)の新規機能としてTwitterとの連動を改めて提案。

Page 10: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

正式に始動

2010年4月頃 VF5FSでのTwitter連動が正式に動き出す。 AmitterUtilをVF5FSに移植。 Twitter4JとAmitterUtilをラップするクラスの作成。

Page 11: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

システム概略図

Page 12: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

ゲーム用サーバ

VF.NET用サーバ

バッチ用サーバ

VF5用データベース

データセンター

ツイート

XAuth/OAuth認証

個人設定等

ユーザTL

戦績等

ゲームセンター

Page 13: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

大まかな処理の流れ

Page 14: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

(1)ICカードを使ってプレイ

Page 15: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

(2)VF.NETのアカウント作成

Page 16: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

(3)VF.NETにICカードを紐付ける

Page 17: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

(4)VF.NETとTwitterを紐付ける

Page 18: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

(5)Twitter連動の設定を行う

Page 19: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

(6)ICカードを使って筐体でプレイ

Page 20: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

(7)プレイ結果からユーザTLを作成

プレイ結果(八段に昇格など)などがVF5DBに記録されます。 この時、Twitterと連携しているゕカウントの場合、ツイートすべき条件を満たしていればVF5DB内のUSER_TIME_LINE(以下、ユーザTL)と呼ばれるテーブルへユーザ毎にツイート内容を記録していきます。

Page 21: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

(7)プレイ結果からユーザTLを作成 create table USER_TIME_LINE ( -- ユーザーID I_UID int not null, constraint fk_utl_1 foreign key (I_UID) references USER_INFO(I_UID) on delete cascade, -- データID -- 0〜19 DATA_ID smallint not null, -- プライマリキー設定 constraint pk_utl_1 primary key (I_UID, DATA_ID), -- ツイート内容 -- 140文字*2バイト(EUC) TWEET varchar(280) not null default '', -- 最終更新日時 UPDATE_TIME timestamp not null default '2001-01-01-00.00.00.000000' );

Page 22: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

(8)バッチでツイートする

1分間隔で起動するバッチで(7)で生成したユーザTLの内容をツイートします。 バッチが最後にツイートした時刻より後に更新されたユーザTLを最大1000件分SELECTして、50個のスレッドに最大20件分づつ割り振ってパラレルでツイートしています。

Page 23: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

この様な仕様になっている理由

Page 24: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

ゲーム本編で実装するリスク

1. C++でTwitter連動の実験はしていなかった。 2. スケジュールがかなり短かった。 3. VF.NETとTwitterの紐付けはサーバ側で行うので、筐体

で実装しても工数はそんなに減らない。 4. 万が一、バグでプログラムが制御不能になるとどうにも

ならない。 5. もしも、セガ本体やTwitter社からクレームが来ても迅速

に対応できない。 6. バグ等で修正版を出すのに数週間単位で時間がかかる。 7. バグ以外の機能追加版は簡単には出せない。 8. ゕクセストークンを送信する事になる。 9. ゲームセンターからセガ管理外のサーバに直接通信した

タイトルが当時は(多分)無かった。

Page 25: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

サーバ側で実装するメリット

1. 既にTwitter4J等を使う基礎実験は済んでいたので、すぐに作業に入れた。

2. VF.NET側の処理を作る段階で、一緒に作ればいいので作業に集中できる。

3. バグ修正が簡単に出来る。 4. 機能追加が簡単にできる。 5. ツイートする量がセガ側で確実にコントロールできる。 6. ゲーム筐体からセガ管理外のサーバに直接通信する場合

にセガ社内で必要な申請が回避できる。

Page 26: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

バッチでツイートするメリット

1. 筐体用サーバの負荷をなるべく上げたくない。 2. 処理時間を長引かせたくない。 3. 負荷分散を可能にするため。

Page 27: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

その他

Page 28: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

1. テスト用のゕカウントは地道に用意するしかない。 2. 一部の携帯キャリゕからTwitterへ直接遷移させることは

NGとされた。 3. 当時は携帯電話だとOAuth認証ページが正常に表示でき

ない機種があった。 4. XAuthを使うのに申請が必要なのを知らなかった。 5. XAuthの申請が英語だった。

苦労した点

Page 29: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

残念ながら未定。

今後の展開

Page 30: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

ハッシュタグとか

ハッシュタグ #VF5FS 連動ツイートだけ検索する時には #VF5FS source:VF.NET バーチャフゔイター公式ゕカウント @vf_official

Page 31: Virtua Fighter5 Final ShowdownのTwitter連動機能について #twtr_hack

ご清聴ありがとうございました