Windows8でアカウント名と同じホームディレクトリを持ってMSアカウントも使いたい

 のっけからMSアカウントを作るとユーザー名 minahito に対してホームディレクトリが mina_000 とかになって微妙にイラつく。
 以下の手順をメモ。

  • アカウントの追加画面で、「Microsoft アカウントを使わずにサインインする」を選択
  • 日本語もスペースも使わず無難にアカウント名を作成
    • 日本語でアカウントを作ってもたいして問題ないが、 Unity が起動しないのが痛い。
    • 半角スペースを入れると Perforce で苦労する
  • ストアにアクセスすると MS アカウントとの紐づけを求められるので紐づける

ゲームエンジンアーキテクチャ在庫残り少なく

 アンチャーテッドやLast of Us でリードプログラマを勤めたジェイソン・グレゴリー氏が自身が講師を務めるクラスで教科書として使用するために自ら執筆した技術書「ゲームエンジンアーキテクチャ」の残り部数が少なくなってきているようです。

 ゲームエンジンは作るものではなく、使うものと考えている人もいるかもしれませんが、現在ただいま職業プログラマをやっていれば、思った以上に作ったり、覗いたり、拡張したりします。また、使うにしたって自分がどんな概念のどういう類の技術の上に乗っかっているか興味がある人にはよいとっかかりになる本です。
 元が教育目的ということもあり、知っておいて損がないことがたくさん載ってますので、読み物として是非どうぞ。胸に入れておけば、ギャングに撃たれたり、DIOにナイフを投げられたときに致命傷を防いでくれる厚みです。
ゲームエンジン・アーキテクチャ (Professional game programming)

ゲームエンジン・アーキテクチャ (Professional game programming)

uniSWFに関するメモ

ムービークリップしか再生できない

 uniSWFは、ムービークリップしか再生できないが、受け取ったデータはシーンに直接書かれていることが多かったりする。その場合は、シーンの内容を某かのムービークリップにコピーしてやる必要があります。

  1. .fla ファイルを開いて、ライブラリの上で右クリックし「新規シンボル」を選択(挿入>新規シンボルでもOK)
  2. ASリンケージにプログラム側から引くための名前を書いておく(例:MainSceneなど)
  3. シーンのタイムライン上で右クリックし、「すべてのフレームを選択」し、もう一度右クリックして「フレームをコピー」する
  4. 先ほど追加したムービークリックを選び、タイムライン上で右クリック→「フレームをペースト」する

ストップコントロール

 uniSWFではActionScriptそのものは実行できませんが、uniSWF専用の関数を書いておくことで、「stop」「gotoAndStop(ラベル名)」「gotoAndPlay(ラベル名)」の3種類の制御をSWF側に埋めておくことができます。セットアップは、
http://www.uniswf.com/home/manual/sectionName/Timeline%20API::Basic%20uniSWF%20AS3%20API
 のページの通り。少し順を追って説明すると、「パブリッシュ設定」を開いて、右上の「ActionScript3.0」の右側にあるスパナのアイコンをクリックします。

 開いたダイアログの「ライブラリパス」のタブをクリックし、「+」マークのアイコンを押して行を増やしたら、増えた空行をクリックして選択したあと、「ー」マークの右隣にあるfアイコン「SWCファイルを参照」を押し、uniSWFに付随しているfluidlayout.swcを指定します。

 すると、ActionScriptで、

  • uniSWF.stop() ... そのフレームで再生を停止
  • uniSWF.gotoAndStop(ラベル名) ... 指定したラベルへジャンプして再生を停止(つまりプログラム側で再生をコールするとこのラベル位置から始まる)
  • uniSWF.gotoAndPlay(ラベル名) ... 指定したラベルへジャンプして再生を開始・続行(プログラム側から見ると連続再生が行われているように見える)

 の3つの命令を埋め込めるようになります。
 ただし、この命令は Flash や SWF のプレビューでは再現されないため、一緒に ActionScript を埋めておくことも推奨されています。

uniSWF.stop(); this.stop();

ほかのムービークリップを引っ張った場合

 総尺240フレームのムービークリップ中で、総尺300フレームのムービークリップをインクルードすると、uniSWFでは総尺240フレームと解釈され、最後まで再生されません。引用元のタイムラインで空のキーフレームを引いて尺が合うようにしてやる必要があります。
 インクルード先のムービークリップの専用アクションスクリプト埋込は確か解釈されたと思いましたが、忘れた……

よく使うAPI

 uniSWF でムービークリップを再生するゲームオブジェクトを作るには、 MovieClipBehaviour をアタッチしますが、実際に再生や停止の API を受け付けてくれるオブジェクトは movieClip メンバとしてその下にぶら下がっております。

var movieClipComp : MovieClipBehaviour;

function Foo()
{
   movieClipComp.movieClip.play(); // 再生
   movieClipComp.movieClip.stop(); // 停止
   movieClipComp.movieClip.gotoAndPlay("label1"); // 指定ラベルから再生
   movieClipComp.movieClip.gotoAndStop("label1"); // 指定ラベルに飛ばして停止

   // 再生中か調べる
   if (movieClipComp.movieClip.isPlaying) {
      // ...
   }
}

ポータブル環境に関するメモ

 ノートPCは持ち運びに優れているが、コストパフォーマンスは高くありません。最近はiMacなど市販のポータブルマシンを安価に買えるようになってきました。しかし、何台か買って運搬して活用してきましたものの、未だにコストとパフォーマンスの融合点を見つけることができません。自分の考えをまとめる意味で、4機のポータブル環境についてメモ書きします。

iMac


 ご存知モニタ一体型のMacintoshで、デュアルブート機能Boot Campを用いてWindows環境と共存可能です。モニタがついてるため電源ケーブル1本以外はケーブルレスで済ませることができ、旧型がおよそ9kg、新型は5.6kgとさらにポータビリティを高めています。旧型でも10kgの米より1kg軽かったのですが、新型は5kgの米より600g重いだけになりました。Google で「iMac Starbucks」で画像検索すればご理解いただけるとおり、本国アメリカでは iMac は事実上ポータブルマシンのカテゴリに分類されています。
 CPU、GPUは同価格帯のノートより数段グレードが高く、メモリはあとで安価に追加可能で、ストレージサイズも1TB2TBと容量で悩むことはありません。専用運搬バッグが多数販売されており、安全かつ安定した重心で気楽に持ち運ぶことができます。自分は iLuggage という製品を使っていましたが、このシリーズの最新モデルはタイヤ付のものもあり、女性でも持ち運びに苦労しません。
 欠点としては、電源がないところでは起動できない、海外出張に持っていけない(国内は問題なし)、純デスクトップ機と比べるとコストパフォーマンスが落ちる、パーツ交換ができないので定期的な買い替えが必要、21インチ機ではVRAM512MBしか選択肢がないことが挙げられます。VRAMの問題は人によっては致命的です。
 ちなみに前々々々くらいのモデルを、3年くらいあちこちに引っ張り回して使っていましたが、近くに座ったイケメンの長身の学生さんが足を組みながらパカッと開いた最新型ノートにGPU性能で大敗したときに買い替えを決意しました。

Alienware X51


 常識を変える完全武装の超小型マシン(原文ママ)です。ミニタワーの純デスクトップ機です。8万円代というコストパフォーマンスと、高いCPU/GPU性能を誇り、ほとんどのゲームを最高品質に近い設定で遊ぶことができます。重量も5kg台とポータビリティ性は高く、試していませんが海外出張もこなせるでしょう(国内は問題なし)。
 欠点は出先に電源に加えてモニタも必要なこと、約2kgの巨大ACアダプタ……いわゆる弁当箱のせいで結局総運搬重量は8kg近くなること、WindowsOSしか使えないこと、パーツ交換の選択肢が少ないこと、みんなでゲーム作りに集まったのにバトルフィールド3大会になってしまうことなどが挙げられます。
 個人的にはACアダプタの重量や、モニタのセットアップの手間が購入前の想定を大きく超えており、出先でiMacを取り出して電源を繋げればセットアップが終わっていた頃に比べるとかなりモタモタするようになりました。仕事で、学校に行って授業をするという個人的に珍しい経験をしたことがあったのですが、これを持っていって授業をして帰りにシャットダウンを始めたら大量の Windows アップデートの導入が始まってしまい、電源を引っこ抜くわけにも行かず、謝罪を繰り返しながらまったく無関係の次の授業も教室の隅に縮こまっていたことは痛い思い出です。しかし、ゲーミングPCとしても満足度が高く、8万円の元は十分取りました。
 運搬には iLugger を流用していましたが、リュックが一番良さそうです。リュックにマシン、キーボード、マウス、ケーブルを詰めて、空いた手でモニタを持っていくのが一番楽でした。

Alienware M17


 「覇者のパワーで快進撃」するらしい17インチの大型ノートです。並のデスクトップ機を寄せ付けないCPU/GPU性能を誇り、VRAMも2GB積むことができます。またiMacやX51と異なり、バッテリーを搭載しているため電源がないところでも使うことができ、たいへん重いですが膝の上でも使えました。モニタ搭載のiMacと性能のX51の良いところ取りにバッテリーと海外出張適応性を加えたような存在ですが、お値段もiMacとX51を足したくらいあります。
 X51にもあるのですが、LANパーティやゲーム大会で自分が所属するチームのチームカラーに発光色を変更する機能があり、全身を真っ赤のカープカラーに染め上げて使うのが楽しいです。
 欠点は、高いこと、この後に及んでACアダプタがついてること、WindowsOSしか使えないこと、性能に過度な期待は禁物といった点が挙げられます。お値段以外は満足できると思います。というより、満足しようと思ったらやっぱりお値段なんですね……ただ、ノートの性能寿命を考えると私物で購入するにはちょっと高いですよね……

Mac Pro


 性能とデザインが一新されましたね。
 横に倒せばそのまま転がして運べそうです。そもそもサイズ自体が非常に小さいそうなので、リュックで運べそうですね。
 Alienware X51 も小型で便利でしたが、パーツ交換の選択肢の幅はありませんでした。このマシンはどれくらいあるのでしょうか。それ次第ではお値段に見合う買い物になりそうなんですが……

まとめ

 宝くじ当てたい……

Game Community Summit 2013 でマキネーションの紹介をしました

 Game Community Summit 2013 の「海外ゲーム技術勉強会」コミュニティ枠で、先日日本版が出版されました「ゲームメカニクス」で扱われているツール Machination の紹介をさせていただきました。

 すみません、上の画像は、Slideshareの埋め込みではありません! Slideshareへのリンクはこちらです。

 また、上記スライドの「DEMO」の段階で用いたマキネーションのファイルは次のリンクからダウンロード可能です。マキネーションツールの File > Open からロードすることができます!

ゲームメカニクス  おもしろくするためのゲームデザイン (ゲームデベロッパー)

ゲームメカニクス おもしろくするためのゲームデザイン (ゲームデベロッパー)

ゲーム開発英語クラス101<プリプロダクション編>に行ってきました

 架け橋ゲームズさん主催のイベント「ゲーム開発英語クラス101<プリプロダクション編>」に行ってきました。

 場所は錦糸町の貸し会議室で、3時間くらい。ゲームデザイナーとして世界中の大中さまざまな規模のスタジオで働いてきた経験のあるザックさんという方が中心的な講師を務めて、IT翻訳やゲームローカリゼーションで長い経験を持つCEDECIGDAでお馴染みの矢澤さんがサポートにつくという形で行われました。

 クラスが始まって、よい意味で裏切られたのが、なんと全編が英語で進行したことです。といっても、僕レベル(高卒・英語赤点orz)でそこそこ聴き取れましたので、英語のベースが出来上がっている方ならまったく問題がないと思います。たとえば大学出た直後くらいの人で7〜8割分かったと言ってました。ザックさんの英語は明瞭で聴き取りやすく、ゆっくりと喋ってくれて、ひょっとしたら単語も選んでくれたのかもしれません。GDCの講演の聴き取りに比べれば全然楽でした。僕の英語力では、GDCの講演は3時間も聞けば頭痛が起きるのですが、昨日は頭痛くなりませんでしたから、これが何よりの証拠です!

 また、サポートの方が時に日本語の解説を付け加えたり、ホワイトボードにキーとなる単語や文章を書き出してくれたり、質問や聴き取れなかったところを通訳してくれましたから、ここまでやってもらえれば、全編英語でも実質的な問題は少ないのかなと思います。
 ハードな英語クラスではなく、中学の英語授業にネイティブのゲストが来たけど、優しい英語の先生が生徒をサポートしてくれるので、安心して授業の内容に取り組める……みたいな雰囲気といえば伝わるでしょうか。

 質疑応答は都度可能な雰囲気になっていて、そこも欧米の授業っぽい雰囲気なのかなと感じました。周りの方は英語でガンガン質問していましたが、僕の英語力では無理!なので、サポートの方に通訳をしてもらいつつ、僕も疑問に感じたところはどんどん質問させて貰いました。参加者同士のやりとりもガンガンあって、すごく良かったです。

 クラスの中身はプリプロダクション編ということで、バーティカルスライスやプリビズといった開発フェーズに関わる話だけでなく、文化の違いにも及び、欧米と日本で異なるディベロッパーとパブリッシャーの関係性や、コミュニケーションのあり方にも言及されました。次回以降は分かりませんが、僕は「ゲームの一般論の勉強」「英語の勉強」「実務の勉強」の3要素を軸に組み立てられているように感じられました。

  • テーマ(今回はプリプロダクション)に関する一般論としての講義がある。
    • ここはゲーム開発のセミナーといえる。
  • その中からキーとなる単語、イディオム、表現が都度ピックアップされていく。
    • ここは英語的なセミナーといえる。
    • カタカナ発音だと通じない単語がピックアップされ、発音練習までありましたw
    • 日本では○○の意味だが、海外では○○の意味、という単語。ほとんど同じ意味で使われる2つの用語のうち片方はネガティブな意味を持っている等の知識も持ち帰ることができました。
  • 文化・体制の違いによって起こる問題の具体例や、改善のための議論。
    • ここは実務的なセミナーといえる。


 第2回も本当に楽しみです。
 ちなみにクラス後のアフターパーティは、近所のHUBに開店と同時に乗り込んで、好きに飲み食いしながら話をするスタイルで、会計も各自なのでいつ帰るのも自由。スタートとエンドを合わせるタイプの懇親会とはちょっと違っていて、アメリカの人って飲んでてもパッと帰ったりしますけど、あんな気楽な感じです。日本で例えるなら立ち飲み屋の飲みの雰囲気。
 ハッピーアワーだったこともあって僕はキリンフリー2本で480円でした。用事があって2時間半くらいでおいとましたのですが、なんとそのあと3時間やってたらしいです。セミナー3時間でアフターパーティー5時間! でも参加者の参加動機考えると、ゲームの話できて、海外実務の話できて、英語勉強の話できて雑談できるわけでしょ。クラスで分からなかったところの質問とか議論の続きもできるわけですし。そりゃ話題尽きないわ……

「ゲームメカニクス」予約開始

 「ゲームメカニクス」が予約開始になりました。

ゲームメカニクス  おもしろくするためのゲームデザイン (ゲームデベロッパー)

ゲームメカニクス おもしろくするためのゲームデザイン (ゲームデベロッパー)

 海外におけるゲーム研究やゲームデザイン研究は、多くの議論、論文、書籍を経てある程度体系化されつつあります。それは、数多くの名作の解析や、新しく作るゲームのデザインの足がかりに用いられています。しかし、ゲームには「作って動かしてみないと分からない」ところも多く、本書でも「紙と鉛筆によるペーパープロトタイピング」「Unityなどを用いたソフトウェアプロトタイプ」など、今日有効とされるプロトタイプ手法を紹介しています。一方で、どんな速度で開発を行ってもソフトウェアのプロトタイピングのコストは決して小さいものではありません。
 著者の一人である ヨリス・ドーマン氏は、ソフトウェアプロトタイピングにコストを割き始める前の段階で、ゲームメカニクスをモデル化し、視覚化して検証するために、「マキネーション」と名付けた新しい視覚化手法を提唱しています。さらに、それを実際に動的に動作させるツールも開発しました。
 デジタルツールを用いることで、ソフトウェアプロトタイプが出来あがらないとゲームデザイナーが検証しにくかった駆け引きや数値調整に関わる要素を、「動くダイアグラム」を用いて高速に検証することができるようになっています。その要素の変更やゲーム構成の組み替えも容易で、AIプレイで瞬時に10,000回プレイさせて統計データを取り、ゲームデザインの偏りや、仕様変更の影響効果を測定することも可能です。
 本書は、前半部で海外で蓄積したゲーム研究の議論を簡単に振り返り、後半に向かってマキネーションを活用し、前半部の知識を土台にしてゲームをデザインしたり、既存のゲームを実際に解析することを行っています。
 また著者達は、マキネーションで要素間の影響を可視化できることを利用し、ゲームメカニクスの「デザインパターン」集を作りました。ゲーム開発の現場で「この要素をあれでこれしよう」と各人が好きな言葉で話していた仕組みに、定義と名前をつけてくれました。

 端的に言えば、「既存のゲームメカニクスをモデル化したり、ゲーム開発前に自分のデザインするゲームをモデル化することで、良質な知識を身につけたり、チームレベルの開発人員を巻き込まないと検証できないことを事前に検証し試行錯誤することが可能だ。しかしこれまで、自習方法を含めよい手法がなかった。本書の著者が開発した専用ツールを用いれば、それが可能になる。使い方だけでなく、これまでのゲーム研究の知見もまとめられている」となります。

 個人的には、日本のプロの企画は本書に書いてあることは体験的に熟知していると信じたい。ただ、体系化済の知識を知ること、それを構文化し、動かせるようにしたツールの存在は新しい発見だと思うし、それがその暗黙知を整理して共通言語化してくれると思います。また、学生の企画さんはもし学校でWordやExcelの使い方を習って、仕様書を書いてどうプログラマやアーティストに仕事を振るのかという勉強をさせられてるのだとしたら、ぜひこの手の本を(ルール・オブ・プレイなどと一緒に)手にとって欲しいです。

 まだオンラインドキュメントの翻訳ができていませんが(少し遅れるかもしれません)、本のほうは最終段階に入っています。

 マキネーションは素晴らしい提案だと思います。本書の日本語版によりプログラマがゲームデザイナーの首をねじり上げながら「今言うな!」「先に言っとけ!」と叫ぶ情景が少しでも減ることを願います。