Aiming Study 6 「Unity アプリを HTML5 に移植してみた」に行ってきました #aimingstudy
2012/10/24に神保町(インターネットイニシアティブ本社 会議室)で行われた、Aiming Study 6 「Unity アプリを HTML5 に移植してみた」に行ってきたのでそのメモ。
ロードオブナイツの移植の話でした。
会議室が広かったので発表と同時に資料公開は嬉しかった。
例によって、資料に書いてある内容はたまにメモるのさぼるので資料みてくだしあ。というかどっちも資料がしっかりしてるし、公開されてるしで、後半メモるの諦めてる。
大規模JSの設計と実装と実際
普通のweb技術を使う理由
- 普通だからキャッチアップできる
- 普通だから人員追加できる
CoffeeScriptはいい
- 書いてて気持ちいい/面白い
- BadPartsでないJSを出力する
- 古い記事(2005年)は参考にならないので、本を読もう
開発チームと環境
- 環境縛らないほうがパフォーマンスあがるだろう
- テスト書く習慣はお膳立てしてとにかく書きやすい環境
- Nodeによるテスト環境
- https://github.com/mizchi/sample-node-client-test
- DOM依存は大変。デザイン的な理由で変わったりするので
- github
- 自分のPull Reqは必ず他人がマージする
- お前指摘することできたよね
- マージされたコードは全員の責任
- 定期的に設計会議
- パッチ単位では指摘できない問題がある
- 足りない知識を埋めるようにペアプロ
HTMLの特徴
質問
- Unityからなにもってきた?
- 仕様だけだが、もっとコード読めばよかったな
- 仕様理解度が低かったので元のコード書いた人を呼んだりはした
- Viewは1ページ1ビュー?それとも
- Viewを入れ子にできるような拡張をしている
- Viewは2,30個ぐらいあるんじゃないかな
短期間+大規模ゲーム開発でも破綻しないHTML, SCSS
プロジェクト発足までの流れ
- IE8対応……
- 20%超のユーザは切れない
- デザインも新規……
- リリース日優先……
という厳しい中で何を諦めて何を諦めなかったのか、という話。
諦めたもの
- セマンティック・ウェブ
- idやclass名も各々好きなように
- タグは基本的にdiv
- aタグも使わない(ul,liはたまに)
- 問題ない!DOMさえあれば十分
- 一般的な段組レイアウト
- position: absolute; z-index多用
- 工数削減にはなった
- エディタで作るのは筋が悪いのでは?→GUIツールとか欲しい
- 画像アセット管理
- アセット管理はとても重要
- 継続的にアップデートするので
- でも諦めた!マンパワー!→そして事故へ
- IE8対応
- 工数的には同じものをもう半分つくるぐらい大変
- すごくハッピー
がんばったもの → 開発効率
まとめ
- なにが大切かはプロジェクトによって違う
- アセット管理は大切
- WEB制作のセオリーはゲーム開発に無批判で持ってくるのは…
- SCSS + Compass使おう!
質問
- HTMLの行数はJSとか含めて?
- 簡単な出し分け用のJSは書いてる
- DOMの生成は?
- シーンが切り替わるたびにDOM生成
- z-indexの数値とか複数人だと大変では?
- SCSSの変数を使っている
- 上に出すのはこの変数使う、みたいな
- 仕様の要件とデザインでぶつかった場合はどちらを優先
- そういうことなかったからわかんないや、特に決まってはない
- Androidの対応はどれぐらい大変だった?
- デザイン的に困難なところはなかった。でもJSは問題だったみたい
- SCSSは今回はじめて?
- 初めてじゃない。結構使ってる
- 初めての人がはまる罠とか?
- スコープに気をつける