gsgl 2012 さくらソフト
TRANSCRIPT
月間1億の売上を誇るゲームを持つさくらソフトが開発技術公開!ソーシャルゲームディレクター・デザイナーも知っておくべき
開発手法勉強会&大ヒットゲームの負荷分散 tips共有&大ヒットゲームの負荷分散 tips共有&大ヒットゲームの負荷分散 tips共有&大ヒットゲームの負荷分散 tips共有&大ヒットゲームの負荷分散 tips共有
三上 隼人
さくらソフト• ソーシャルゲームプロバイダ
一周年を記録した一周年を記録したロングランゲームロングランゲーム
主婦層をガッチリ掴む主婦層をガッチリ掴むほぼ横ばいの継続率ほぼ横ばいの継続率
奥深いゲーム性奥深いゲーム性多プラットフォーム展開多プラットフォーム展開
さくらソフト• ソーシャルゲームプロバイダ• GSGLのシルバースポンサー
• Microsoft MVP 上村がメンター
• 特色• 高い技術力
「ソフト」と「インフラ」「ソフト」と「インフラ」事例紹介と分析
現場の構成
(C) http://www47.tok2.com
開発者チーム開発者チーム5人構成5人構成経験:0〜10年経験:0〜10年
自己紹介自己紹介• 三上 隼人 三上 隼人• 経験:今日で二ヶ月 経験:今日で二ヶ月• ギルド機能担当 ギルド機能担当
• 一ヶ月→ 二週間 一ヶ月→ 二週間なぜ、それができたのか?なぜ、それができたのか?
機能追加や変更要求
(C) http://www47.tok2.com
要求の特徴要求の特徴種類:機能、デザイン問わず種類:機能、デザイン問わず時期:開始から公開直前まで時期:開始から公開直前まで件数:常に飽和状態件数:常に飽和状態
ソーシャルゲームの特徴ソーシャルゲームの特徴
新装ヴァルキリーの場合
主要部分主要部分売り出す機能:着せ替え売り出す機能:着せ替え
ソーシャル要素:フレンド、挨拶ソーシャル要素:フレンド、挨拶課金要素:アイテム、ガチャ課金要素:アイテム、ガチャ
カード合成カード合成
トレードトレード
ギルドギルド
ソート機能ソート機能
検索の絞り込検索の絞り込みみ
クエストクエスト
協力戦協力戦
プレゼントプレゼント図鑑図鑑コンプボーナコンプボーナ
スス
特典特典自動デッキ自動デッキ
新装ヴァルキリーの場合
主要部分主要部分売り出す機能:着せ替え売り出す機能:着せ替え
ソーシャル要素:フレンド、挨拶ソーシャル要素:フレンド、挨拶課金要素:アイテム、ガチャ課金要素:アイテム、ガチャ
カード合成カード合成
トレードトレード
ギルドギルド
ソート機能ソート機能
検索の絞り込検索の絞り込みみ
クエストクエスト
協力戦協力戦
プレゼントプレゼント図鑑図鑑コンプボーナコンプボーナ
スス
特典特典自動デッキ自動デッキ
新装ヴァルキリーの場合
主要部分主要部分売り出す機能:着せ替え売り出す機能:着せ替え
ソーシャル要素:フレンド、挨拶ソーシャル要素:フレンド、挨拶課金要素:アイテム、ガチャ課金要素:アイテム、ガチャ
カード合成カード合成
トレードトレード
ギルドギルド
ソート機能ソート機能
検索の絞り込検索の絞り込みみ
クエストクエスト
協力戦協力戦
プレゼントプレゼント図鑑図鑑コンプボーナコンプボーナ
スス
特典特典自動デッキ自動デッキ
・・・とはなりませんでした
事例紹介• 工数を抑えられた事例• 対処法• 企画者、デザイナーと綿密な打ち合わせ• 必要事項をおさえて、最もシンプルに実装
• 具体的には• 変更で品質低下• 奥が深いと勘違い• 手軽だったが変更に弱い
変更で品質低下• チュートリアル• 主要機能• 一通りゲーム機能の紹介
• 変更事例• 新機能追加• Flashの追加• 進行中のステータス変化• レベルアップ、カードドロップ、お金、経験値・・・ etc
チュートリアル
クエスト1クエスト1 ボス戦ボス戦 結果結果
• ステータス変化:カードドロップ
合成合成
Flash(次のページへ飛ばす )
レベルアップレベルアップ
カードドロッカードドロッププ
あれ?あれ?
チュートリアル
クエスト1クエスト1 ボス戦ボス戦 結果結果
• 変更後
合成合成カードカードドロップドロップ
レベルアッレベルアッププ
ステータス:チュートリアル終了後に初期化
企画者の頭の中では分かっていたこと企画者の頭の中では分かっていたこと
事例紹介• 工数を抑えられた事例• 対処法• 企画者、デザイナーと綿密な打ち合わせ• 必要事項をおさえて、最もシンプルに実装
• 具体的には• 変更で品質低下• 奥が深いと勘違い• 手軽だったが変更に弱い
奥が深かった・・・• とりあえずやってみる
• 前がダメなら
• 後ろがダメなら
• if文で状況を判断しながら、3つの forループが必要?
... 6 7 8 9 10 11 1 2 ...
1 2 3 4 5 6 ...
... 4 5 6 7 8 9 10
整理してみると• 必要なのは
• リンクの開始位置• 現在の位置• リンクの終了位置• 全部で 5つ:袖は2つまで
• 結果• 最初に開始位置と終了位置を袖2つで初期化• 開始位置が始端なら、始端から5つで終了位置を• else 終了位置が終端なら、終端から5つで開始位置を• if ... else ... 1つだけで大丈夫
自動生成• そもそも必要だったもの
• 親子関係• 世代が深くなると→前部分の画像が増えるだけ
• 画像要素は3つのパーツ
• 再帰処理で簡単に実装できる• 業務では役に立たない代表格• スタックでも同じことができる→コード量増加→バグの温床