SlideShare a Scribd company logo
1 of 102
Download to read offline
Unity のオンラインゲームを
HTML に移植して
わかったこと


               株式会社 Aiming
         リードソフトウェアエンジニア
                   細田幸治
                 2012/11/06
こんばんは!
今日はロードオブナイツを
Unity3D → HTML5
に移植した経緯と
得られた教訓の話
話の前提として
ロードオブナイツってど
 んなゲーム?
ロードオブナイツとは
● 多人数ストラテジー
  ○ マップ:ブラウザ三国志
  ○ 内政:Kingdoms of Camelot

+

● カードバトル
  ○ ターン制オートバトル
    ■ ドラクエモンスターズ風
こんな感じのカード出てきます
こんな感じのカード出てきます
こんな感じのカード出てきます
私は
細田幸治といいます。

http://www.facebook.com/kouji.hosoda

Unity 版ロードオブナイツの開発サイドのリーダー
やってます

HTML 版の開発では中盤から見積もり、設計、ペ
アプロ要員として参加しました。
目次
● Unity 版の開発と移植の経緯
  ○ Unity 版の開発経緯
  ○ HTML 版の移植経緯
● 移植のポリシーと実際
  ○ 移植チーム体制
  ○ 移植ポリシー
  ○ 移植の実際
    ■ 再利用性
    ■ 良かった点・ネックになった点
● 開発のこれから(おまけ)
Unity 版の開発と
 移植の経緯
どのような経緯で
Unity 版が作られたのか
Unity 版の開発経緯




Unity 版の開発経緯
Unity 版の開発経緯



Unity 版の開発経緯
● 2011 年夏
  ○   スマホでリッチなゲームが少なかった
  ○   そもそもゲーム少なかった



ゲームでアプリ内課金で売り上げランキング上位
だったのは Kingdom Conquest ぐらい
Unity 版の開発経緯



Unity 版の開発経緯
● 2011 年夏
  ○   スマホでリッチなゲームが少なかった
  ○   そもそもゲーム少なかった
● iPhone と Android でリッチなゲームをすばやく
  出せれば勝てる可能性が高いと判断
  ○   当時使えそうなフレームワークを検討した結果 Unity に
Unity 版の開発経緯



Unity 版の開発経緯
● 2011 年夏
  ○   スマホでリッチなゲームが少なかった
  ○   そもそもゲーム少なかった
● iPhone と Android でリッチなゲームをすばやく
  出せれば勝てる可能性が高いと判断
  ○   当時使えそうなフレームワークを検討した結果 Unity に
● 工数の都合や当時の Unity での制約上、部分
  的に HTML で作成
Unity 版の開発経緯



Unity 版の開発経緯
● 2011 年夏
  ○   スマホでリッチなゲームが少なかった
  ○   そもそもゲーム少なかった
● iPhone と Android でリッチなゲームをすばやく
  出せれば勝てる可能性が高いと判断
  ○   当時使えそうなフレームワークを検討した結果 Unity に
● 工数の都合や当時の Unity での制約上、部分
  的に HTML で作成
● オンラインゲームなので追加開発は当然
  ○   メンテナンス性も重視
Unity 版の開発経緯




次のような設計で開発
Unity 版の開発経緯



画面の分担
● 動きのある画面、レスポンスを良くしたい画面
 ○   Unity で




● 自由入力、リスト表示系、キャンペーンなど更新
  頻度高い画面
 ○   HTML で
Unity 版の開発経緯



画面の分担:メッセージ連携
● HTML 画面と Unity 画面とのメッセージ連携
 ○   独自形式でメッセージ送受信できるようにしてた
 ○   Unity のネイティブプラグインを書いて実装
Unity 版の開発経緯



画面の分担:メッセージ連携
● HTML 画面と Unity 画面とのメッセージ連携
  ○   独自形式でメッセージ送受信できるようにしてた
  ○   Unity のネイティブプラグインを書いて実装

例:HTML のリンクを押したら
  任意の Unity 画面に遷移


                    遷移
Unity 版の開発経緯



画面の分担:メッセージ連携
● HTML 画面と Unity 画面とのメッセージ連携
  ○   独自形式でメッセージ送受信できるようにしてた
  ○   Unity のネイティブプラグインを書いて実装

例:HTML のリンクを押したら
  任意の Unity 画面に遷移


                    遷移
Unity 版の開発経緯



画面の分担:メッセージ連携

  割とトリッキーな実装

    後で後悔する
Unity 版の開発経緯



通信
● Unity と PHP の通信は HTTP で JSON-RPC
  形式
● 最初から通信コードの自動生成導入


詳しくは
Lord of Knightsの開発裏側みせます
のスライド参照
Unity 版の開発経緯



通信

     デバッグしやすい
      修正コスト低い

     これはよかった
Unity 版の開発経緯



設計とレビュー
● 仕様レビュー
  ○   企画の意図を理解し、Unity で作るか HTML で作るかを
      判断
  ○   実装コストが高いものについては仕様調整できないかも
      随時相談
● コードレビュー(gerrit)
  ○   全コミットがレビュー対象
  ○   通信設計、クラス設計などは必ずレビューする
  ○   ブラックボックス作らない
Unity 版の開発経緯



設計とレビュー
● コードレビュー(gerrit)




                    Web 上でインライン
                    でコメントできる
Unity 版の開発経緯



設計とレビュー

  メンテナンス性に貢献

   これはよかった
Unity 版の開発経緯




Unity 版の作業分担
Unity 版の開発経緯



作業分担
これまでの開発経験を元に以下の分担にした
● クライアント Unity:
  ○   Aiming(弊社)
● クライアント HTML:
  ○   infinite loop(パートナー会社)
Unity 版の開発経緯



作業分担
これまでの開発経験を元に以下の分担にした
● クライアント Unity:
  ○   Aiming(弊社: 東京)
● クライアント HTML:
  ○   infinite loop(パートナー会社: 札幌)
● サーバー & API:
  ○   infinite loop
● 通信設計:
  ○   Aiming が設計
  ○   infinite loop がレビュー
        ■ 誰が読んでも機能を連想できる名前付けを心がけた
Unity 版の開発経緯



コミュニケーション
●   やり取りは Skype チャットがメイン
●   仕様は Redmine の wiki やエクセルで
●   タスクの優先度付けは Google spreadsheet
●   メールはほぼ使いません
Unity 版の開発経緯



コミュニケーション
● チャットのレスは 1 日あたり数百件ぐらい
● お互い遠慮しないで発言してる
 ○   信頼関係が築けているのでリモートだけどそんなに問題
     ない
Unity 版の開発経緯




 Unity 版の
開発ボリューム
Unity 版の開発経緯



開発ボリューム
● 開発期間
  ○   約 8 ヶ月 + 運用 4 ヶ月
● API数
  ○   75 個
● 画面数
  ○   100 画面以上
● コード行数
  ○   クライアント
       ■ C# 82022 行
  ○   サーバー
       ■ PHP 133659 行
Unity 版の開発経緯




コード 20 万行以上!
    けっこう
 ボリュームあります
どのような経緯で HTML 版
  が作られたのか
HTML 版の移植経緯
HTML 版の移植経緯




  Unity 版
軌道に乗ってきた!
HTML 版の移植経緯




もっと多くのユーザー
に遊んでもらいたい!
HTML 版の移植経緯




そこで
HTML 版の移植経緯
HTML 版の移植経緯



移植の要件
● mobage のスマホ、PC の両プラットフォーム同
  時リリースしたい!
HTML 版の移植経緯



移植の要件
● mobage のスマホ、PC の両プラットフォーム同
  時リリースしたい!
● アプリ版よりブラウザ版の方が間口広いのでブ
  ラウザで!
HTML 版の移植経緯



移植の要件
● mobage のスマホ、PC の両プラットフォーム同
  時リリースしたい!
● アプリ版よりブラウザ版の方が間口広いのでブ
  ラウザで!
● UIデザイン作り直し!
 ○   スマホブラウザは縦持ちじゃないとプレイしにくい
 ○   PC版は画面サイズが結構違う
HTML 版の移植経緯



移植の要件
● mobage のスマホ、PC の両プラットフォーム同
  時リリースしたい!
● アプリ版よりブラウザ版の方が間口広いのでブ
  ラウザで!
● UIデザイン作り直し!
 ○   スマホブラウザは縦持ちじゃないとプレイしにくい
 ○   PC版は画面サイズが結構違う
● 工期3ヶ月で!
HTML 版の移植経緯



移植の要件
● mobage のスマホ、PC の両プラットフォーム同
  時リリースしたい!
● アプリ版よりブラウザ版の方が間口広いのでブ
  ラウザで!
● UIデザイン作り直し!
 ○   スマホブラウザは縦持ちじゃないとプレイしにくい
 ○   PC版は画面サイズが結構違う
● 工期3ヶ月で!


● ゲームの仕様は変わらないよ!
HTML 版の移植経緯




つまり
HTML 版の移植経緯




強くてニューゲーム
    Easy
    Hard
  Very Hard
HTML 版の移植経緯




強くてニューゲーム
    Easy
    Hard
  Very Hard
HTML 版の移植経緯




強くてニューゲーム
    Easy
    Hard
  Very Hard
HTML 版の移植経緯




強くてニューゲーム
    Easy
    Hard
  Very Hard
HTML 版の移植経緯




こうして開発2ゲーム目
 が始まりました♪
移植のポリシーと
  実際
移植チーム体制




移植チーム体制
移植チーム体制



チーム体制
サーバー側
● 移植チームと Unity 版チームが同じメンバー
 ○   メンバーの増員はやった
● Unity 版と HTML 版でワンソースで管理
 ○   マルチプラットフォームごとの対応でブランチたくさん管理
     するのは大変だったという経験から。
移植チーム体制



チーム体制
クライアント側
● 移植チームは Unity 版チームと別メンバー
  ○   開発初期は Unity 版も忙しく、移植チームは別動隊
  ○   社内+業務委託で 12 人ぐらい
       ■ ロードオブナイツ経験者ほぼいない

● Unity 版と HTML 版で別ソース
  ○   Unity 版は C# ⇔ HTML 版は CoffeeScript
  ○   CoffeeScript をはじめて触る人がほとんど
移植チーム体制




クライアント側は
結構チャレンジ
移植ポリシー




移植ポリシー
移植ポリシー



移植ポリシー
● 使えるものは使いまわす♪
● 優先度低い仕様は削る♪
● 省略できる実装はやらない♪
移植ポリシー



移植ポリシー
● Unity 版と作業分担はそのままにする
● サーバー側の追加実装は基本しない
 ○   クライアントは全部ブラウザ上の JavaScript で処理
 ○   サーバー側とドメインも分離してデプロイフローも独立
移植ポリシー



移植ポリシー
● Unity 版と作業分担はそのままにする
● サーバー側の追加実装は基本しない
 ○   クライアントは全部ブラウザ上の JavaScript で処理
 ○   サーバー側とドメインも分離してデプロイフローも独立




Unity 版と HTML 版で共通の
デプロイフローを使えるように
移植の実際




移植の実際
移植ポリシー




 工期最優先
色々トレードオフ
移植の実際



結果
● 工期
  ○   1 ヵ月近くオーバーした
  ○   リミットラインの 8 月中にはなんとかリリースできた
● コード量
  ○   クライアントは CoffeeScript 20290 行
  ○   コード量 4 分の 1 になった!
● API
  ○   4つ追加
  ○   ログイン、クライアントの設定保存用API
● 画面数
  ○   微増
  ○   友達招待系の画面追加
移植の実際




Before/After
          Unity 版   HTML 版
 開発期間     8 ヶ月      3 ヶ月半
 クライアント   8 万行      2 万行
 コード量
 API数     75 個      79 個
 画面数      100 以上    微増
移植の実際




Before/After
● 工数は Unity 版の半分ぐらい!
 ○   予定よりかかってる
● コード
 ○   CoffeeScript 書きやすい
 ○   仕様や実装をシェイプアップできた
移植の実際




再利用性
移植の実際



再利用と作り直し
クライアント Unity  すべて作り直し
クライアント HTML   実装は再利用
              テンプレート・CSSは
              作り直し
サーバー & API    ほぼ再利用
認証・課金・友達招待 作り直し & 追加実装
等 Platform 対応
移植の実際




 サーバー側は
再利用性高かった
移植の実際




クライアント側は
 ほぼ作り直し
移植の実際




振り返り
良かった点
ネックになった点
良かった点
                             ネックになった点


設計面
● 良かった点
 ○   API は超再利用性高い
 ○   通信設計が仕様書になる
● ネックになった点
 ○   Unity 版の HTML 画面がネックに
良かった点
                              ネックになった点


良:API は超再利用性高い
● Unity 版のサーバーがほぼそのまま使えた
● JSON-RPC
 ○   ブラウザの開発者ツール使えばデバッグしやすい
● 自動生成なので変更コスト低い
良かった点
                          ネックになった点


良:通信設計が仕様書になる
● 可読性が高い通信の定義書
 ○   それが実装仕様になる
● Unity 版でレビューしてきた成果がでた
良かった点
                              ネックになった点


ネック:Unity 版の HTML 画面
● いろいろトリッキーな実装だった
  ○ Unity とのメッセージ連携
    ■ 独自プラグインで実装されていたので HTML 版でどう
       するか模索
 ○   通信内容が API 化されていない
     ■ HTML 版でどうワンページアプリとして実現するか模
       索


HTML 版で上記が動くようになったのは残り1 ヶ月
ぐらいになってから
良かった点
                                    ネックになった点


チーム体制面
● 良かった点
 ○   Unity 版の HTML 画面のおかげで作業分担できた
● ネックになった点
 ○   移植チーム孤立
 ○   パートナー会社とのコミュニケーション不足
良:Unity 版の HTML 画面の
                           良かった点
                        ネックになった点




おかげで作業分担できた
● サーバー側は API が再利用できた分、HTML
  画面の実装に回れた
● 並列作業が出来たので工期短縮に貢献


分担できてなかったらスケジュールやばかった
良かった点
                                    ネックになった点


ネック:移植チーム孤立
● 初期は Unity 版が忙しくて移植チームが孤立し
  てた
● 新規メンバーはロードオブナイツあまり知らな
  かった
 ○   スケジュールがタイトで使用理解不足のまま進んだ
 ○   異常系などが漏れてバグバグになった
      ■ 急遽 Unity 版の優先度調整して Unity 版のメンバー
        が参加
● Unity 版のメンバー参加後
 ○   裏仕様や実装仕様の把握が進みスピードアップ
良かった点

ネック:パートナー会社とのコ
                              ネックになった点




ミュニケーション不足
● infinite loop さんとのやり取り慣れてなかった
  ○   プロジェクトの優先度の共有ができてなかった
       ■ 初動が遅れた
  ○   プラットフォーム対応の実装優先度付けに失敗してた
       ■ 何がネックになるか把握できてなかった
       ■ サーバー側の課金や友達招待などの実装タイミング
         がぎりぎりになってしまった
以上をまとめると
移植で注意すべき
 3つのこと
移植で注意するべき3つのこと
1. API 設計はしっかり
  ○   レビューを活用して誰が見ても分かる状態をつくろう!
移植で注意するべき3つのこと
1. API 設計はしっかり
  ○   レビューを活用して誰が見ても分かる状態をつくろう!


2. トリッキーな設計はなるべくしない
  ○   なるべくフレームワークに乗る範囲でやる!
移植で注意するべき3つのこと
1. API 設計はしっかり
  ○   レビューを活用して誰が見ても分かる状態をつくろう!


2. トリッキーな設計はなるべくしない
  ○   なるべくフレームワークに乗る範囲でやる!


3. コミュニケーションはやっぱり大事
  ○   仕様や実装を把握しているメンバーも一緒にやる!
  ○   パートナー会社と優先度をしっかり共有する!
どれも当たり前のこと
  ですが、
基本が大事。
質疑応答
● ここまででなにかあれば!
質疑応答
● ここまででなにかあれば!
● Unity 版のコードを素直に移植しなかったのは
  なぜ?とか
質疑応答
● ここまででなにかあれば!
● Unity 版のコードを素直に移植しなかったのは
  なぜ?とか
 ○   初期に Unity 版メンバーがいなくて Unity 版のコードの伝
     達出来てなかった
 ○   Unity とアーキテクチャが異なるのでそのままは使えない
     ところも多かった(特に View 周り)
 ○   Model 層は結構使えたので最初に読んでいたらもっと開
     発の効率上がってたと思う
 ○   でも直移植でないからこそコード量を圧縮できたという面
     もある
質疑応答
● 他になにかあれば!
質疑応答
● 他になにかあれば!
● なぜ UnityWebPlayer を使わなかったのか?
質疑応答
● 他になにかあれば!
● なぜ UnityWebPlayer を使わなかったのか?
  ○   スマホのブラウザで動かない
  ○   ネイティブプラグインの再実装のコストが結構かかりそう
      だった
       ■ クライアント側のストレージ
       ■ Webとゲーム部分との機能連携
開発のこれから
 (おまけ)
チームを1つに
● Unity 版、HTML 版の区別をなくしチームを統合
  中
● 朝会、夕会を共有
● 開発は全員 Unity 版、HTML 版の開発環境を
  触れるように

企画・仕様・設計の理解をメンバー全員が出来て
るようにするのがねらい
メンバーがパワフルに
なれるチームを目指して
改善を続けて行きます
これからの Aiming に
ご期待ください!
質疑応答
● なにかあれば!
今後ともよろしく!

More Related Content

What's hot

Unityでオニオンアーキテクチャ
UnityでオニオンアーキテクチャUnityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャtorisoup
 
その素敵なUI基盤を目指して・・・
その素敵なUI基盤を目指して・・・その素敵なUI基盤を目指して・・・
その素敵なUI基盤を目指して・・・KLab Inc. / Tech
 
Real-world game development with Ebitengine - How to make the best-selling G...
Real-world game development with Ebitengine -  How to make the best-selling G...Real-world game development with Ebitengine -  How to make the best-selling G...
Real-world game development with Ebitengine - How to make the best-selling G...Daigo Sato
 
ネイティブアプリにおける、UI/インタラクションのトレンド
ネイティブアプリにおける、UI/インタラクションのトレンドネイティブアプリにおける、UI/インタラクションのトレンド
ネイティブアプリにおける、UI/インタラクションのトレンドyosuke sato
 
ワンランク上のゲームデザイン・レベルデザイン・UIデザインを考える 「コンテキスト」「コンフリクト」「コントラスト」デザイン
ワンランク上のゲームデザイン・レベルデザイン・UIデザインを考える 「コンテキスト」「コンフリクト」「コントラスト」デザインワンランク上のゲームデザイン・レベルデザイン・UIデザインを考える 「コンテキスト」「コンフリクト」「コントラスト」デザイン
ワンランク上のゲームデザイン・レベルデザイン・UIデザインを考える 「コンテキスト」「コンフリクト」「コントラスト」デザインKouji Ohno
 
時代遅れと言われようとMdaフレームワークの紹介
時代遅れと言われようとMdaフレームワークの紹介時代遅れと言われようとMdaフレームワークの紹介
時代遅れと言われようとMdaフレームワークの紹介MaxNeetGames
 
ゲームAIの基礎と事例
ゲームAIの基礎と事例ゲームAIの基礎と事例
ゲームAIの基礎と事例Tomoaki TSUCHIE
 
アニメーションとスキニングをBurstで独自実装する.pdf
アニメーションとスキニングをBurstで独自実装する.pdfアニメーションとスキニングをBurstで独自実装する.pdf
アニメーションとスキニングをBurstで独自実装する.pdfinfinite_loop
 
【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術
【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術
【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術Unity Technologies Japan K.K.
 
Cocos2d-xを用いた "LINE タワーライジング" の開発事例
Cocos2d-xを用いた "LINE タワーライジング" の開発事例Cocos2d-xを用いた "LINE タワーライジング" の開発事例
Cocos2d-xを用いた "LINE タワーライジング" の開発事例gree_tech
 
国際化対応におけるUI実装で気をつけるべきこと
国際化対応におけるUI実装で気をつけるべきこと国際化対応におけるUI実装で気をつけるべきこと
国際化対応におけるUI実装で気をつけるべきことKLab Inc. / Tech
 
UniRx完全に理解した
UniRx完全に理解したUniRx完全に理解した
UniRx完全に理解したtorisoup
 
GoでシュッとWebスクレイピングする
GoでシュッとWebスクレイピングするGoでシュッとWebスクレイピングする
GoでシュッとWebスクレイピングするYuta Ohashi
 
仕様書作成のポイント_180814
仕様書作成のポイント_180814仕様書作成のポイント_180814
仕様書作成のポイント_180814Sugimoto Chizuru
 
Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜
Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜
Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜KLab Inc. / Tech
 
ゲーム仕様書の書き方 ~大久保磨編~ ver.1.2.0
ゲーム仕様書の書き方 ~大久保磨編~ ver.1.2.0ゲーム仕様書の書き方 ~大久保磨編~ ver.1.2.0
ゲーム仕様書の書き方 ~大久保磨編~ ver.1.2.0Osamu Ohkubo
 
UniTask入門
UniTask入門UniTask入門
UniTask入門torisoup
 
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...エピック・ゲームズ・ジャパン Epic Games Japan
 
インタフェース完全に理解した
インタフェース完全に理解したインタフェース完全に理解した
インタフェース完全に理解したtorisoup
 
PMBOKで学ぶプロジェクトマネジメントの基礎
PMBOKで学ぶプロジェクトマネジメントの基礎PMBOKで学ぶプロジェクトマネジメントの基礎
PMBOKで学ぶプロジェクトマネジメントの基礎Hiroyuki Tanaka
 

What's hot (20)

Unityでオニオンアーキテクチャ
UnityでオニオンアーキテクチャUnityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャ
 
その素敵なUI基盤を目指して・・・
その素敵なUI基盤を目指して・・・その素敵なUI基盤を目指して・・・
その素敵なUI基盤を目指して・・・
 
Real-world game development with Ebitengine - How to make the best-selling G...
Real-world game development with Ebitengine -  How to make the best-selling G...Real-world game development with Ebitengine -  How to make the best-selling G...
Real-world game development with Ebitengine - How to make the best-selling G...
 
ネイティブアプリにおける、UI/インタラクションのトレンド
ネイティブアプリにおける、UI/インタラクションのトレンドネイティブアプリにおける、UI/インタラクションのトレンド
ネイティブアプリにおける、UI/インタラクションのトレンド
 
ワンランク上のゲームデザイン・レベルデザイン・UIデザインを考える 「コンテキスト」「コンフリクト」「コントラスト」デザイン
ワンランク上のゲームデザイン・レベルデザイン・UIデザインを考える 「コンテキスト」「コンフリクト」「コントラスト」デザインワンランク上のゲームデザイン・レベルデザイン・UIデザインを考える 「コンテキスト」「コンフリクト」「コントラスト」デザイン
ワンランク上のゲームデザイン・レベルデザイン・UIデザインを考える 「コンテキスト」「コンフリクト」「コントラスト」デザイン
 
時代遅れと言われようとMdaフレームワークの紹介
時代遅れと言われようとMdaフレームワークの紹介時代遅れと言われようとMdaフレームワークの紹介
時代遅れと言われようとMdaフレームワークの紹介
 
ゲームAIの基礎と事例
ゲームAIの基礎と事例ゲームAIの基礎と事例
ゲームAIの基礎と事例
 
アニメーションとスキニングをBurstで独自実装する.pdf
アニメーションとスキニングをBurstで独自実装する.pdfアニメーションとスキニングをBurstで独自実装する.pdf
アニメーションとスキニングをBurstで独自実装する.pdf
 
【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術
【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術
【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術
 
Cocos2d-xを用いた "LINE タワーライジング" の開発事例
Cocos2d-xを用いた "LINE タワーライジング" の開発事例Cocos2d-xを用いた "LINE タワーライジング" の開発事例
Cocos2d-xを用いた "LINE タワーライジング" の開発事例
 
国際化対応におけるUI実装で気をつけるべきこと
国際化対応におけるUI実装で気をつけるべきこと国際化対応におけるUI実装で気をつけるべきこと
国際化対応におけるUI実装で気をつけるべきこと
 
UniRx完全に理解した
UniRx完全に理解したUniRx完全に理解した
UniRx完全に理解した
 
GoでシュッとWebスクレイピングする
GoでシュッとWebスクレイピングするGoでシュッとWebスクレイピングする
GoでシュッとWebスクレイピングする
 
仕様書作成のポイント_180814
仕様書作成のポイント_180814仕様書作成のポイント_180814
仕様書作成のポイント_180814
 
Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜
Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜
Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜
 
ゲーム仕様書の書き方 ~大久保磨編~ ver.1.2.0
ゲーム仕様書の書き方 ~大久保磨編~ ver.1.2.0ゲーム仕様書の書き方 ~大久保磨編~ ver.1.2.0
ゲーム仕様書の書き方 ~大久保磨編~ ver.1.2.0
 
UniTask入門
UniTask入門UniTask入門
UniTask入門
 
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
 
インタフェース完全に理解した
インタフェース完全に理解したインタフェース完全に理解した
インタフェース完全に理解した
 
PMBOKで学ぶプロジェクトマネジメントの基礎
PMBOKで学ぶプロジェクトマネジメントの基礎PMBOKで学ぶプロジェクトマネジメントの基礎
PMBOKで学ぶプロジェクトマネジメントの基礎
 

Viewers also liked

One Step Effects 解説
One Step Effects 解説One Step Effects 解説
One Step Effects 解説MakotoItoh
 
Unity×HTMLで作るiPhone オンラインゲーム開発事例
Unity×HTMLで作るiPhone オンラインゲーム開発事例Unity×HTMLで作るiPhone オンラインゲーム開発事例
Unity×HTMLで作るiPhone オンラインゲーム開発事例Kouji Hosoda
 
Drupal 8 へのスタンドアロン behat の導入
Drupal 8 へのスタンドアロン behat の導入Drupal 8 へのスタンドアロン behat の導入
Drupal 8 へのスタンドアロン behat の導入tom_konda
 
芸術情報演習デザイン(web) 第2回:HTML入門
芸術情報演習デザイン(web) 第2回:HTML入門芸術情報演習デザイン(web) 第2回:HTML入門
芸術情報演習デザイン(web) 第2回:HTML入門Atsushi Tadokoro
 
三角ポップ大作戦!!(京大CARP)
三角ポップ大作戦!!(京大CARP)三角ポップ大作戦!!(京大CARP)
三角ポップ大作戦!!(京大CARP)pj_wcj
 
情報編集 (web) 第2回:HTML入門
情報編集 (web) 第2回:HTML入門情報編集 (web) 第2回:HTML入門
情報編集 (web) 第2回:HTML入門Atsushi Tadokoro
 
持続可能な里山とは?~里山保全の同時代史と里山ガバナンスの今後
持続可能な里山とは?~里山保全の同時代史と里山ガバナンスの今後持続可能な里山とは?~里山保全の同時代史と里山ガバナンスの今後
持続可能な里山とは?~里山保全の同時代史と里山ガバナンスの今後marrmur
 
PtengienのヒートマップとOptimizelyとの連携
PtengienのヒートマップとOptimizelyとの連携PtengienのヒートマップとOptimizelyとの連携
PtengienのヒートマップとOptimizelyとの連携Ptmind_jp
 
マークアップ講座 01b HTML
マークアップ講座 01b HTMLマークアップ講座 01b HTML
マークアップ講座 01b HTMLeiji sekiya
 
2016年12月冥炎強化月間
2016年12月冥炎強化月間2016年12月冥炎強化月間
2016年12月冥炎強化月間paul01647
 
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
短期間+大規模ゲーム開発でも破綻しないHTML・SCSSShogo Iwano
 
Ptengineの使い方
Ptengineの使い方Ptengineの使い方
Ptengineの使い方Ptmind_jp
 
HTMLデザインを崩さないテンプレートエンジンの作り方
HTMLデザインを崩さないテンプレートエンジンの作り方HTMLデザインを崩さないテンプレートエンジンの作り方
HTMLデザインを崩さないテンプレートエンジンの作り方kwatch
 
D D Mapで守り隊!伊都はいいとこPJ(九大CARP)
D D Mapで守り隊!伊都はいいとこPJ(九大CARP)D D Mapで守り隊!伊都はいいとこPJ(九大CARP)
D D Mapで守り隊!伊都はいいとこPJ(九大CARP)pj_wcj
 
GRADEの基礎:概要と問題設定
GRADEの基礎:概要と問題設定GRADEの基礎:概要と問題設定
GRADEの基礎:概要と問題設定Yuko Masuzawa
 
メディア芸術基礎 Ⅰ 第2回 HTML入門
メディア芸術基礎 Ⅰ 第2回 HTML入門メディア芸術基礎 Ⅰ 第2回 HTML入門
メディア芸術基礎 Ⅰ 第2回 HTML入門Atsushi Tadokoro
 

Viewers also liked (20)

One Step Effects 解説
One Step Effects 解説One Step Effects 解説
One Step Effects 解説
 
Unity×HTMLで作るiPhone オンラインゲーム開発事例
Unity×HTMLで作るiPhone オンラインゲーム開発事例Unity×HTMLで作るiPhone オンラインゲーム開発事例
Unity×HTMLで作るiPhone オンラインゲーム開発事例
 
深層学習生き地獄
深層学習生き地獄深層学習生き地獄
深層学習生き地獄
 
Unity Programing on Boo
Unity Programing on BooUnity Programing on Boo
Unity Programing on Boo
 
Drupal 8 へのスタンドアロン behat の導入
Drupal 8 へのスタンドアロン behat の導入Drupal 8 へのスタンドアロン behat の導入
Drupal 8 へのスタンドアロン behat の導入
 
芸術情報演習デザイン(web) 第2回:HTML入門
芸術情報演習デザイン(web) 第2回:HTML入門芸術情報演習デザイン(web) 第2回:HTML入門
芸術情報演習デザイン(web) 第2回:HTML入門
 
三角ポップ大作戦!!(京大CARP)
三角ポップ大作戦!!(京大CARP)三角ポップ大作戦!!(京大CARP)
三角ポップ大作戦!!(京大CARP)
 
情報編集 (web) 第2回:HTML入門
情報編集 (web) 第2回:HTML入門情報編集 (web) 第2回:HTML入門
情報編集 (web) 第2回:HTML入門
 
持続可能な里山とは?~里山保全の同時代史と里山ガバナンスの今後
持続可能な里山とは?~里山保全の同時代史と里山ガバナンスの今後持続可能な里山とは?~里山保全の同時代史と里山ガバナンスの今後
持続可能な里山とは?~里山保全の同時代史と里山ガバナンスの今後
 
PtengienのヒートマップとOptimizelyとの連携
PtengienのヒートマップとOptimizelyとの連携PtengienのヒートマップとOptimizelyとの連携
PtengienのヒートマップとOptimizelyとの連携
 
マークアップ講座 01b HTML
マークアップ講座 01b HTMLマークアップ講座 01b HTML
マークアップ講座 01b HTML
 
2016年12月冥炎強化月間
2016年12月冥炎強化月間2016年12月冥炎強化月間
2016年12月冥炎強化月間
 
Htmlのコトバ
HtmlのコトバHtmlのコトバ
Htmlのコトバ
 
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
 
Ptengineの使い方
Ptengineの使い方Ptengineの使い方
Ptengineの使い方
 
HTMLデザインを崩さないテンプレートエンジンの作り方
HTMLデザインを崩さないテンプレートエンジンの作り方HTMLデザインを崩さないテンプレートエンジンの作り方
HTMLデザインを崩さないテンプレートエンジンの作り方
 
D D Mapで守り隊!伊都はいいとこPJ(九大CARP)
D D Mapで守り隊!伊都はいいとこPJ(九大CARP)D D Mapで守り隊!伊都はいいとこPJ(九大CARP)
D D Mapで守り隊!伊都はいいとこPJ(九大CARP)
 
まちづくり門前
まちづくり門前まちづくり門前
まちづくり門前
 
GRADEの基礎:概要と問題設定
GRADEの基礎:概要と問題設定GRADEの基礎:概要と問題設定
GRADEの基礎:概要と問題設定
 
メディア芸術基礎 Ⅰ 第2回 HTML入門
メディア芸術基礎 Ⅰ 第2回 HTML入門メディア芸術基礎 Ⅰ 第2回 HTML入門
メディア芸術基礎 Ⅰ 第2回 HTML入門
 

Similar to Unityのオンラインゲームをhtmlに移植してわかったこと

いろいろ見せますLord of Knightsのクライアント開発事例紹介
いろいろ見せますLord of Knightsのクライアント開発事例紹介いろいろ見せますLord of Knightsのクライアント開発事例紹介
いろいろ見せますLord of Knightsのクライアント開発事例紹介Kouji Hosoda
 
ネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConViewネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConViewRakuten Group, Inc.
 
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminarVoicepic@FukuiMASeminar
Voicepic@FukuiMASeminarManabu Shimobe
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshopDaisuke Sugai
 
技術選択とアーキテクトの役割 (要約版)
技術選択とアーキテクトの役割 (要約版)技術選択とアーキテクトの役割 (要約版)
技術選択とアーキテクトの役割 (要約版)Toru Yamaguchi
 
プランナーがPR駆動してみた話
プランナーがPR駆動してみた話プランナーがPR駆動してみた話
プランナーがPR駆動してみた話Rino Omura
 
これからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れこれからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れMitsuru Katoh
 
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 Sansan Tech Meetup Androidエンジニアが振り返る Google I/O   Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O 健一 辰濱
 
Web制作者がandriodのcddを読んでみた version1.1
Web制作者がandriodのcddを読んでみた version1.1Web制作者がandriodのcddを読んでみた version1.1
Web制作者がandriodのcddを読んでみた version1.1Masakazu Muraoka
 
Html5時代のクリエイターのあり方
Html5時代のクリエイターのあり方Html5時代のクリエイターのあり方
Html5時代のクリエイターのあり方Masakazu Muraoka
 
革新的ブラウザゲームを支えるプラットフォーム技術
革新的ブラウザゲームを支えるプラットフォーム技術革新的ブラウザゲームを支えるプラットフォーム技術
革新的ブラウザゲームを支えるプラットフォーム技術Toru Yamaguchi
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今Yuki Igarashi
 
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門Yasuhiko Yamamoto
 
エンジニアという職業について
エンジニアという職業についてエンジニアという職業について
エンジニアという職業についてHisatoshi Kikumoto
 
Angular 4がやってくる!? 新機能ダイジェスト
Angular 4がやってくる!? 新機能ダイジェストAngular 4がやってくる!? 新機能ダイジェスト
Angular 4がやってくる!? 新機能ダイジェストMasahiko Asai
 
私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全てOsamu Shimoda
 
Pythonとgit hubとベンチャー企業の上手な付き合い方
Pythonとgit hubとベンチャー企業の上手な付き合い方Pythonとgit hubとベンチャー企業の上手な付き合い方
Pythonとgit hubとベンチャー企業の上手な付き合い方Takahiro Fujiwara
 

Similar to Unityのオンラインゲームをhtmlに移植してわかったこと (20)

Unity ゲーム開発
Unity ゲーム開発Unity ゲーム開発
Unity ゲーム開発
 
いろいろ見せますLord of Knightsのクライアント開発事例紹介
いろいろ見せますLord of Knightsのクライアント開発事例紹介いろいろ見せますLord of Knightsのクライアント開発事例紹介
いろいろ見せますLord of Knightsのクライアント開発事例紹介
 
ネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConViewネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConView
 
HTML5 のお話
HTML5 のお話HTML5 のお話
HTML5 のお話
 
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
 
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminarVoicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
 
技術選択とアーキテクトの役割 (要約版)
技術選択とアーキテクトの役割 (要約版)技術選択とアーキテクトの役割 (要約版)
技術選択とアーキテクトの役割 (要約版)
 
プランナーがPR駆動してみた話
プランナーがPR駆動してみた話プランナーがPR駆動してみた話
プランナーがPR駆動してみた話
 
これからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れこれからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れ
 
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 Sansan Tech Meetup Androidエンジニアが振り返る Google I/O   Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 
Web制作者がandriodのcddを読んでみた version1.1
Web制作者がandriodのcddを読んでみた version1.1Web制作者がandriodのcddを読んでみた version1.1
Web制作者がandriodのcddを読んでみた version1.1
 
Html5時代のクリエイターのあり方
Html5時代のクリエイターのあり方Html5時代のクリエイターのあり方
Html5時代のクリエイターのあり方
 
革新的ブラウザゲームを支えるプラットフォーム技術
革新的ブラウザゲームを支えるプラットフォーム技術革新的ブラウザゲームを支えるプラットフォーム技術
革新的ブラウザゲームを支えるプラットフォーム技術
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
 
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
 
エンジニアという職業について
エンジニアという職業についてエンジニアという職業について
エンジニアという職業について
 
Angular 4がやってくる!? 新機能ダイジェスト
Angular 4がやってくる!? 新機能ダイジェストAngular 4がやってくる!? 新機能ダイジェスト
Angular 4がやってくる!? 新機能ダイジェスト
 
私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
 
Pythonとgit hubとベンチャー企業の上手な付き合い方
Pythonとgit hubとベンチャー企業の上手な付き合い方Pythonとgit hubとベンチャー企業の上手な付き合い方
Pythonとgit hubとベンチャー企業の上手な付き合い方
 

Unityのオンラインゲームをhtmlに移植してわかったこと