読者です 読者をやめる 読者になる 読者になる

しるろぐ

いろいろ書きます。

Aiming Study 6 「Unity アプリを HTML5 に移植してみた」に行ってきました #aimingstudy

勉強会

2012/10/24に神保町(インターネットイニシアティブ本社 会議室)で行われた、Aiming Study 6 「Unity アプリを HTML5 に移植してみた」に行ってきたのでそのメモ。

ロードオブナイツの移植の話でした。
会議室が広かったので発表と同時に資料公開は嬉しかった。
例によって、資料に書いてある内容はたまにメモるのさぼるので資料みてくだしあ。というかどっちも資料がしっかりしてるし、公開されてるしで、後半メモるの諦めてる。


大規模JSの設計と実装と実際

@mizchi

普通のweb技術を使う理由

  • 普通だからキャッチアップできる
  • 普通だから人員追加できる

CoffeeScriptはいい

開発チームと環境

  • 環境縛らないほうがパフォーマンスあがるだろう
  • テスト書く習慣はお膳立てしてとにかく書きやすい環境
  • github
    • 自分のPull Reqは必ず他人がマージする
    • お前指摘することできたよね
    • マージされたコードは全員の責任
  • 定期的に設計会議
    • パッチ単位では指摘できない問題がある
  • 足りない知識を埋めるようにペアプロ

JSと設計

  • コンパイラとしてのRails
    • Assets Pipeline
    • 社内にRubyに詳しい人が多い
    • シングルページ
    • 本番は静的ファイルしかない
  • 名前空間
    • 事前に予約
  • 全体で3,4万行

HTMLの特徴

  • いいとこ
    • UI組むのが得意
    • デザイン変更が楽
  • だめなとこ
    • 細かいパフォーマンス・チューニングが大変
    • 初期化が重い
      • divの再利用とか
      • 手計算した近似値
      • 端末ごとに生成数を変える
    • cssGPU負荷

質問

  • Unityからなにもってきた?
    • 仕様だけだが、もっとコード読めばよかったな
    • 仕様理解度が低かったので元のコード書いた人を呼んだりはした
  • Viewは1ページ1ビュー?それとも
    • Viewを入れ子にできるような拡張をしている
    • Viewは2,30個ぐらいあるんじゃないかな

短期間+大規模ゲーム開発でも破綻しないHTML, SCSS

@shiwano

プロジェクト発足までの流れ

  • IE8対応……
    • 20%超のユーザは切れない
  • デザインも新規……
  • リリース日優先……

という厳しい中で何を諦めて何を諦めなかったのか、という話。

諦めたもの

  • セマンティック・ウェブ
    • idやclass名も各々好きなように
    • タグは基本的にdiv
    • aタグも使わない(ul,liはたまに)
    • 問題ない!DOMさえあれば十分
  • 一般的な段組レイアウト
    • position: absolute; z-index多用
    • 工数削減にはなった
    • エディタで作るのは筋が悪いのでは?→GUIツールとか欲しい
  • 画像アセット管理
    • アセット管理はとても重要
    • 継続的にアップデートするので
    • でも諦めた!マンパワー!→そして事故へ
  • IE8対応
    • 工数的には同じものをもう半分つくるぐらい大変
    • すごくハッピー

がんばったもの → 開発効率

  • 開発環境でのマークアップ管理
  • 画像最適化
  • SCSS + Compassの導入
    • やっぱり便利
    • data属性の値で画像が変わるの面白いなー
  • PC版、モバイル版出し分けの準備
  • 実装の把握

まとめ

  • なにが大切かはプロジェクトによって違う
  • アセット管理は大切
  • WEB制作のセオリーはゲーム開発に無批判で持ってくるのは…
  • SCSS + Compass使おう!

質問

  • HTMLの行数はJSとか含めて?
    • 簡単な出し分け用のJSは書いてる
  • DOMの生成は?
    • シーンが切り替わるたびにDOM生成
  • z-indexの数値とか複数人だと大変では?
    • SCSSの変数を使っている
    • 上に出すのはこの変数使う、みたいな
  • 仕様の要件とデザインでぶつかった場合はどちらを優先
    • そういうことなかったからわかんないや、特に決まってはない
  • Androidの対応はどれぐらい大変だった?
    • デザイン的に困難なところはなかった。でもJSは問題だったみたい
  • SCSSは今回はじめて?
    • 初めてじゃない。結構使ってる
  • 初めての人がはまる罠とか?
    • スコープに気をつける