【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜

>100 Views

December 18, 17

スライド概要

2017/11/18に開催されたUnity道場スペシャル 2017京都の講演スライドです。
講師:佃 松三郎(株式会社テクロス)

ソーシャルゲーム開発に求められるのは、面白いゲームはもちろんのこと、グラフィックやシナリオ、ゲームロジックなど、それらを取り巻く様々な要素を担当する人達と、上手くコミュニケーションしてゲームの開発を進めることが大切です。このセッションでは Unity を使った UI パーツと計算ロジックの分け方など、ゲーム開発の現場の今をお伝えします。

こんな人におすすめ
・ソーシャルゲームの開発に興味のある方
・規模の大きなゲーム開発を目指す方

受講者が得られる知見
・Unity を使ったゲーム開発のフローおよび手法

Unityのイベント資料はこちらから:
https://www.slideshare.net/UnityTechnologiesJapan/clipboards

profile-image

リアルタイム3Dコンテンツを制作・運用するための世界的にリードするプラットフォームである「Unity」の日本国内における販売、サポート、コミュニティ活動、研究開発、教育支援を行っています。ゲーム開発者からアーティスト、建築家、自動車デザイナー、映画製作者など、さまざまなクリエイターがUnityを使い想像力を発揮しています。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

ブラウザアプリ・ネイティブアプリの 複数プラットフォームのゲーム開発の現場 Unity 道場 京都スペシャル2

2.

レジュメ ● 自己紹介 ● なぜブラウザとネイティブの両方なのか ● フレームワーク指向について ● Techcross Battle Qeue Systemについて ● 今後の展望について

3.

自己紹介 略歴 ● 独立系システムハウス入社後独立 ● 2006年からアメリカでスタートアップ立ち上げ ● 2015年株式会社テクロス入社 ● 2016年同社CTO就任

4.

CM...

5.

CM...

6.

CM...

7.

CM...

8.

なぜブラウザとネイティブの両方なのか 弊社の開発タイトルはブラウザゲームを制作した 後、ネイティブアプリも開発している (前述紹介のUnitiaについては同時開発)

9.

なぜブラウザとネイティブの両方なのか そもそもなぜブラウザとネイティブアプリの両方をリリー スする必要があるのか? テクロスの主戦場となるプラットフォームはDMM GAMES

10.

なぜブラウザとネイティブの両方なのか DMM GAMESの会員数は2017年10月現在 1900万人超 売上もブラウザでのプレイヤーがメインとなって いる

11.

なぜブラウザとネイティブの両方なのか そのため一つのコードで両プラットフォームにパブ リッシュできるUnityはとっても良いゲームエンジン (よいしょヽ(゚∀゚)ノ)

12.

フレームワーク指向について モバイルゲームの開発規模は年々大きくなってい る。

13.

フレームワーク指向について 前作品などを再利用するといえども、毎度毎度ゼ ロベースでゲームを作るのは限界に近づいている のではないか。

14.

フレームワーク指向について 開発会社ごとに見れば、作るゲームの方向性は あまり変わらない、ということが多い(弊社であれば RPG)

15.

フレームワーク指向について 今後のモバイルゲームの開発エンジニアに求めら れるのは、フレームワーク的な発想なのではない かと思う。

16.

フレームワーク指向について もう少しマクロで考えると、今後のモバイルゲーム 開発現場。

17.

フレームワーク指向について フレームワーク的な発想とは、一つの物事や構成 から必要なエッセンスを抽出して抽象化する力

18.

フレームワーク指向について テクロスでもバトルだけに着目したフレームワーク 開発に着手

19.

フレームワーク指向について フレームワークを設計するにあたって、前述のバト ルのエッセンスは何かを考えた

20.

フレームワーク指向について 結論 バトルって突き詰めると、相手のHPをひたすら削 り合ってゼロにするだけだよね?

21.

Techcross Battle Queue System そこで誕生したのが Techcross Battle Queue System ⇒ 以下 TBQ と呼ぶ

22.

Techcross Battle Queue System

23.

Techcross Battle Queue System 目指したのは機械時計のマニュファクチュールのような 精密で狂いのない機構

24.

Techcross Battle Queue System TBQの大まかな構造

25.

Techcross Battle Queue System キャラクター(エネミー含む)1体につき1つのキューを格 納するユニットアクトキューを持つ ユニットアクトキュー ユニットアクトキュー ユニットアクトキュー ・・・

26.

Techcross Battle Queue System キューを流れるのはアクトブロックと呼ばれる行動が定義 されたブロック アクトブロック キー:パラメーター アニメーション情報

27.

Techcross Battle Queue System アクトブロックが各ユニットアクトキューからバトルアクト キューへと流れていく ユニットアクトキュー ユニットアクトキュー ユニットアクトキュー ユニットアクトキュー バトルアクトキュー

28.

Techcross Battle Queue System バトルアクトキューは計算機構を通って計算結果と演出 情報を出力 計算結果 バトルアクトキュー 計算機構 カルキュレーター 演出 (エフェクト、アニメーショ ン)

29.

Techcross Battle Queue System TBQの特徴

30.

Techcross Battle Queue System アクトブロック:TBQのコアとなるのはアクトブロックという オブジェクト アクトブロック キー:パラメーター アニメーション情報

31.

Techcross Battle Queue System キャラの行動原理となるデータとアニメーション情報が 入っている キャラ一つの行動につき一つ発生する

32.

Techcross Battle Queue System 例えば、座標Xを目標地点に移動の場合で、1サイク ルの移動距離がNの場合、Nの移動分で一つのブロッ クが生成される 例えば、キャラが100歩進む場合、行動の単位が1歩な らブロックが100個生成される

33.

Techcross Battle Queue System アクトプッシャー:アクトブロックを作り出す機構 アクトプッシャーが通信によって取得したJSONデータ からアクトブロックを生成する仕組み

34.

Techcross Battle Queue System JSONデータにはトリガーとなるデータと、アクトブロック のシードとなるデータが含まれている

35.

Techcross Battle Queue System アクトプッシャーのトリガー:どのような条件でも良い 例えば、自分の半径N以下に何か対象物が入ってきた 場合 アクトブロックを生成 ▶ ユニットアクトキューへ

36.

Techcross Battle Queue System 例えば、アクトブロックの内容が「通常攻撃」だとする と、アクトプッシャーが反応して、キューが実行されるこ とによって、半径N以下になると自動的に「通常攻撃を する」が実行される

37.

Techcross Battle Queue System アクトプッシャーのトリガーはUniRxのプロパティを使用 値が下回れば(上回れば)トリガーが入る仕組み

38.

Techcross Battle Queue System トリガーと対象となるオブジェクトの関連付けは、オブ ジェクトリポジトリ(後述)を介して、トリガーを自律的に 関連付ける

39.

Techcross Battle Queue System TBQの水晶振動子となるのはUnityのUpdateメソッド 確実にクロックを刻んでくれるのはここ Updateに引っ掛けてデキューなどが駆動する

40.

Techcross Battle Queue System オブジェクトリポジトリ:すべてのオブジェクトの参照が可 能となる機構 生成されたオブジェクトはここで名前アクセスが可能と なる

41.

Techcross Battle Queue System 予約オブジェクトはシステムが生成する カスタムでオブジェクトを生成して格納することもできる (ただしカオスになるので安全機構必要)

42.

Techcross Battle Queue System キュー:システム内のキューはすべて優先キュー 優先キューであるが、段階的な重みはなく「通常」か 「優先」の二種類のシンプルなもの

43.

Techcross Battle Queue System 通常キューとしてエンキューすれば通常キューとして、 優先キューとしてエンキューすれば優先キューとして取 り扱う デキューは、優先キューが空になるまでデキューして、 なくなれば通常キューをデキューする

44.

Techcross Battle Queue System 優先キューによって、最優先のスペシャルスキルの発 動が可能となる 優先キューによって、ユーザーの画面操作による割り 込みが実現できる

45.

Techcross Battle Queue System バトルカルキュレーター:その名の通り、バトルを計算す る機構 バトルキューから取り出されたアクトブロックを処理する

46.

Techcross Battle Queue System ルールブック:バトルカルキュレーターの実行部を定義す るプロファイル(実はこれが一番重要) アクトブロックにattackというキーが定義されていたら、 attackの値で相手のhpというキーの値を減らす

47.

Techcross Battle Queue System 結果ステータスモブ:カルキュレーターが吐き出す計算 結果、アニメーション情報、計算履歴 履歴はログとしても使える

48.

Techcross Battle Queue System バトルアクトコンポーザー:結果ステータスモブをキャラに 反映しつつ、アニメーション結果をバトルステージパ フォーマンスキューへと引き渡す ここでキャラのステータスが決定しつつ、アニメーション が再生される(演出)

49.

Techcross Battle Queue System バトルステージディレクター:ステージパフォーマンス キューからアニメーション情報を取り出して演出する機構 ここでキャラのステータスが決定しつつ、アニメーション が再生される(演出)

50.

Techcross Battle Queue System ウォッチドッグプロセス:監視対象が、ある状態になれば 何かをするという機構(キャラと全体) 例えば、キャラのHPがゼロになったとき、アニメーション を含めて、キャラの死亡演出をして後始末をするという プロセスを独立させることができる

51.

Techcross Battle Queue System 例えば、バトルを終わらせる要素、主人公の体力がゼロ になったとき、バトル終了処理をする 例えば、キャラのHPがゼロになった瞬間、確率によって 復活させる処理をする

52.

Techcross Battle Queue System デモ(できれば) デモの前提 ● 行動のすばやさカウンターがある(FW外) ● すばやさが一定値(100)に達したらキューに詰め込まれる ● ルールブックには通常攻撃、同時に発生するミスやクリティカ ルが定義されている

53.

今後の展望について TBQの今後の展望

54.

今後の展望について 次タイトルの開発で使う(予定)

55.

今後の展望について オープンソースにしたい(希望) ディレクターの激しい反対にあっている…

56.

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