ゲーム開発」カテゴリーアーカイブ

UE4でMMDモデル・アニメーションを使用する方法

※この記事は2019年5月時点での情報です。

個人でゲームを作成するにあたって、MMDのモデルやアニメーションを使いたい、という需要があろうかと思います。
Unityでゲームを作成する場合、MMDからUnityへの実装のための情報はかなり充実しているように思います。
(元々UnityPackageとして配信されているものも結構あります)

ただ、UE4で使いたい場合への情報はやや少ないようでした。
私自身がそれでかなり苦労したので、UE4でMMDモデル・アニメーションを使えるようにしたまでの備忘録です。

▼この記事の対象者
・UE4でMMDモデル・MMDアニメーションを使いたい
・MMDBridgeでIK、物理、表情モーフをベイクする方法がうまく行かなかった

▼この記事での環境
・Windows10
・Blender2.79b
・Unreal Engine 4.21.2

■目次
UE4で動かしたいMMDモデルを用意
▽BlenderにMMD用アドオンを入れる
▽BlenderでMMDモデルをインポートする
▽MMDのアニメーションファイルを読み込む
▽FBXファイルとしてエクスポートする
▽UE4にFBXファイルをインポートする

ではまいりましょう。

▽UE4で動かしたいMMDモデルを用意

私の場合以下からモデルを探しました。

ちょむメモ(仮)
fbxモデル無料配布中なアニメ系女の子キャラクターまとめ

VPVP wiki
モデルデータ/個人デザインキャラクタ

ニコニ立体
MMDデータ配布中の作品一覧

今回は「中野シスターズ」の「 鷺宮なか 」ちゃんを使用させていただきます。
公式Twitter

!!!注意!!!
モデル・アニメーションごとにどのような使用を許可しているかは各々異なります。
大抵の場合モデルデータと一緒にReadmeなどが添付されており、そこにライセンスについての詳細が書かれている場合が多いのできちんと確認しましょう。

▽BlenderにMMD用アドオンを入れる

Blenderは標準ではPMD/PMX(MMDモデルのファイル形式)のインポートに対応していないため、アドオンを別途入れる必要があります。

※導入方法については以下を参照させていただきました。
Blenderの易しい使い方 – 【Blender】MMDのPMD・PMX・VMDファイルを読み込み、出力する方法

1.こちらから「mmd_tools」をダウンロードします。
上記の[Clone or download]ボタンを押下するとポップアップがでるので、引き続き[Download ZIP]ボタンを押下すると任意の場所にダウンロードできます。

2.上記でダウンロードした「blender_mmd_tools-master.zip」を解凍します。

3.解凍した中に「mmd_tools」というフォルダがあります。
こちらを、Blenderをインストールしたフォルダ>各バージョン番号のフォルダ内> 「scripts」フォルダ>「addons」フォルダ とたどり、その中にコピーします。

4.Blenderを起動し、[ファイル]>[ユーザー設定]>[アドオン]タブ を開き、検索ボックスに「mmd_tools」と入力します。

5.すると「Object:mmd_tools」という項目が出てくるので、チェックボックスにチェックを付けます。

6.[ユーザー設定の保存]ボタンを押して、ウィンドウを閉じます。

▽BlenderでMMDモデルをインポートする

1.前述のアドオンがきちんと導入できていれば、
[ファイル]>[インポート]の中に「MikuMikuDance Model(.pmd .pmx)」という項目があるはずなのでこちらを選択します。

2.インポートするモデルのファイルを選択します。
読み込む際のインポートオプションを設定できますが、今回は割愛します。
希望通りのインポートができなかった場合はアドオンの公式ページを参照してください。

3.インポートが完了するとMMDのモデルが表示されますがグレー一色になっていますね…。

Blenderをある程度ご存知の方はご存知でしょうが、初めてBlenderを触る方のために、簡単にMMDに近い表示になるための設定を書いておきます。

・下のシェーディングボタンが標準では「ソリッド」になっているので「マテリアル」に変更する。

暗っ!怖っ!というわけでライティングも変更します。

・プロパティウィンドウ(標準では右下)の[ワールド]タブ(球のアイコン)にして、「環境照明」にチェックを入れる。

よし。これでモデルがある程度確認できるようになりました。

4.揺れもの(髪やアクセサリ)がついているモデルの場合、物理計算をさせる必要があります。これを反映させるため、以下を行ってください。

・キャラクターを右クリックして選択状態にします。
※Blenderの場合、対象の選択は一般的な「クリック」ではなく「右クリック」で行います。

すると、3Dビュー(キャラが映っているウィンドウ)右の[ツールシェルフ]の中、[mmd_tool]タブの「rigidbody:」に「Build」ボタンが現れるので、これを押しておきます。

▽MMDのアニメーションファイルを読み込む。

1.[ツールシェルフ]>[mmd_tool]タブの[Import Motion]ボタンを押します。

2.MMDのモーションファイル(vmd)ファイルを任意の場所から選択し、[Import VMD file to MMD Model]ボタンを押下してインポートします。

今回はテスト用に以下からモーションをお借りしました。
hino 様
【MMD-DMC3】galaxias!

3.きちんとインポートできていれば、下の[タイムライン]ウィンドウに黄色い線がポツポツ見えるはずです。
これはそのフレームにキーが打たれていることを示しています。

さて、ここできちんと動くかどうか確認してみましょう。
[タイムライン]ウィンドウの「再生」ボタンをポチります。

ちゃんと動いています!髪の動きもバッチリです。

▽FBXファイルとしてエクスポートする

1.[ファイル]>[エクスポート]>[FBX(.fbx)]を選択します。

2.保存場所とファイル名指定になりますが、ここでオプションを設定します。
「バージョン:」の下の各タブごとに設定を行う必要があります。
設定内容に関しては以下のスクリーンショットを参照してください。

「メイン」タブ
「ジオメトリ」タブ
「アーマチュア」タブ

※「アニメーション」タブは特に設定を変更していません(全部チェック入った状態)。
設定ができたら任意の名前で[FBXをエクスポート]ボタンを押して保存します。

▽UE4にFBXファイルをインポートする

1.UE4を起動し、上記で作成したFBXファイルを、インポートしたいフォルダにドラッグ&ドロップ(もしくはコンテエンツブラウザの[インポート]ボタンからFBXファイルを選択)します。

2.「FBXインポートオプション」ウィンドウが開かれます。
下記のスクリーンショットを参考に設定してください。

特に注意すべきは以下の点です。

・[Import Morph Target]にチェックを入れてください。
これにチェックを入れないと、表情変化が反映されません。

・[Animation – Import Animation]にチェックを入れてください。
これにチェックを入れないと、アニメーションシーケンスが作成されません。
また、[Animation Length]は「Animated Time」にしておきましょう。

設定が終わったら[全てインポート]ボタンを押してインポート開始です。
(モーションが長いとそれに伴ってインポート時間も長くなります。)

3.インポートが完了すると以下のような状態になっているはずです。

さっそくアニメーションシーケンスを確認してみましょう!

(゚∀゚)キタコレ!!

アニメーション・表情・髪の動き、全部きちんと移行することができました!

さあこれであとはゲームに使用OKで、ゲーム中に使いたいモデルとモーションを探しまくるだけだ!(これがまぁまた大変なわけですが…)

それでは充実したゲーム作成ライフを!

カードアクションRPG進捗(2019年2月)

2月の頭からUnrealEngine4の学習がてら自作のゲームを作成しています。
初心に帰って、プランナーデビューして初めてメイン部分のゲームデザインを担当したゲームを自分ひとりで作ってみようかと…。
「カードアクションRPG」という、以後誰もやっていない超ニッチジャンルのゲームです。

カードアクションRPG(2月進捗)

ひとまず
・スタンドのようにすぐ出てきて攻撃してすぐ消える武器型
・カードを投げて召喚して徘徊、プレイヤーのHPを回復する自律型
・カメラ演出付きで召喚し、強力な攻撃を放つ召喚型
という基本3タイプが何となくそれっぽく動くところまではできました。
また、バージョン管理までは不要かなと思いましたが、Githubをいじったらよくわかっていないながらもなんとかできたのも収穫。

引き続き1ヶ月おきくらいに進捗を備忘録的に書いていきたい次第。

[UE4]極み本 Appendixの目次

湊和久氏著『Unreal Engine4で極めるゲーム開発』の購入者特典のダウンロードデータ「Appendix」の目次です。

■各Appendixの内容
・AppendixA:Movement Component でアクタを動かす
・AppendixB:Construction Script
・AppendixC:カメラを作り込む
・AppendixD:ゲームのUI を構築する
・AppendixE:パッケージを作成する

▼AppendixA:Movement Component でアクタを動かす
A.1 Rotating Movement で歯車を回す
A.1.1 歯車のブループリントを組み上げる
A.1.2 Rotating Movement の追加
A.1.3 回転の調整機能を追加する
A.2 Projectile Movement で火の玉を飛ばす
A.2.1 パーティクルシステムをマイグレーション(移行)する
A.2.2 火の玉のブループリントの準備
A.2.3 Projectile Movementコンポーネントの追加
A.2.4 重力に引かれて
A.2.5 バウンス設定を行う
A.2.6 プロジェクタイルの調整機能を追加する
A.2.7 Lifespan の設定
A.3 移動処理の補足
A.3.1 手裏剣のダメージ処理をセットアップする
A.3.2 進行方向を変数化する
A.3.3 Sweepフラグ
A.3.4 ヒットイベントを使って手裏剣を反射させる
A.3.5 スピードの調整機能を作る
A.3.6 TickイベントとDelta Seconds
A.3.7 Lifespan の設定
A.4 スポーナーを作る
A.4.1 スポーンのスクリプトの復習
A.4.2 スポーンノードでパラメータを編集する
A.4.3 専用スポーナーのブループリントを作る
A.4.4 専用スポーナーにパラメータを追加する
A.4.5 専用スポーナーを使いやすくする

▼AppendixB:Construction Script
B.1 Construction Script で形状を調整する
B.1.1 Construction Scriptとは
B.1.2 初めての(?)Construction Script
B.1.3 歯車のConstruction Scriptを仕上げる
B.2 床材を自動的に敷き詰める
B.2.1 コンストラクション用のアクタを作る
B.2.2 コンポーネントを使って床を手動で敷き詰める
B.2.3 コンポーネントを使って床を自動で敷き詰める
B.2.4 床の敷き詰めを幅に対応させる
B.2.5 床材を稀に反転させる
B.2.6 床材の自動配置を仕上げる
B.3 プロシージャルな屏風を作る
B.3.1 屏風を並べる
B.3.2 パネルに角度をつける
B.3.3 パネルの角度を変更可能にする
B.3.4 角度に合わせて屏風の幅を広げる
B.3.5 もっと屏風らしく
B.3.6 奥行きから角度を計算する
B.3.7 編集機能を追加する
B.3.8 マテリアルを仕上げる
B.4 ステージ1に組み込む
B.4.1 グレーボックスを追加する
B.4.2 メッシングを行う

▼AppendixC:カメラを作り込む
C.1 UE4カメラワークショップ
C.1.1 ビューターゲット
C.1.2 入力される映像を求めて
C.1.3 ビューターゲットの変更とブレンド
C.1.4 実際の動作から学び取る
C.2 独自のPlayer Camera Manager による三人称視点
C.2.1 標準のカメラ処理をオーバーライドする
C.2.2 初めての(?)オーバーライド
C.2.3 ビューターゲットからカメラ(視点)の位置や向きを求める
C.2.4 カメラ距離とFOVをパラメータ化する
C.3 カメラとコントロールを作り込む
C.3.1 カメラをヨー周回させる
C.3.2 カメラをピッチ周回させる
C.3.3 カメラの回転に“再び”角度制限を加える
C.3.4 カメラの向きで移動するように“再び”改良する
C.4 ゲームのための作り込み
C.4.1 カメラの周回に簡単な補間を持たせる
C.4.2 カメラの「焦点距離変更」「FOV 変更」にも補間を持たせる
C.4.3 ステージクリアを演出する
C.4.4 ニンジャに巻物を掴ませる

▼AppendixD:ゲームのUI を構築する
D.1 UIとワークフロー
D.1.1 UI のワークフロー
D.1.2 UE4におけるUIワークフロー
D.2 タイトル画面をデザインする
D.2.1 ウィジェットブループリントの作成とテクスチャの準備
D.2.2 ウィジェットブループリントエディタ
D.2.3 タイトルの背景を配置する
D.2.4 背景の手前にイメージを重ねる
D.2.5 タイトルロゴを重ねる
D.2.6 タイトルロゴをフレームインさせる
D.3 タイトル画面をゲームに組み込む
D.3.1 アニメーションを呼び出す
D.3.2 レベルブループリントからタイトルHUDを呼び出す
D.4 ウィジェットとのインタラクション
D.4.1 デザイン作業:タイトル画面にボタンを追加する
D.4.2 組み込み作業:ボタンを押したときの反応を組む
D.5 インゲームHUDをデザインする
D.5.1 残機数を表示する
D.5.2 コイン数を表示する
D.6 インゲームHUDをゲームに組み込む
D.6.1 PNGameMode でインゲームHUDを追加
D.6.2 プロパティのバインディング

▼AppendixE:パッケージを作成する
E.1 ゲームを仕上げる
E.1.1 レベル間の遷移
E.1.2 スイッチを踏んだらコインを出現させる
E.1.3 敵AI のデコレーターを確実にする
E.1.4 エラッタ:ふすまが正しく影を落とすようにする
E.1.5 エラッタ: 効果音が確実に聴こえるようにする
E.1.6 スクリプトの警告を取る
E.2 パッケージ化の設定と実行
E.2.1 ゲーム開始時のレベルを指定する
E.2.2 Windowsプラットフォームのビルド設定
E.2.3 はじめてのパッケージング(ビルド)
E.2.4 パッケージ化されたゲームを起動する
E.2.5 Shippingビルドとビルドのイテレーション
E.3 最後に
E.3.1 本書完全読了後の情報源
E.3.2 次は何をすればいい?
E.3.3 困ったら誰に聞けばいい?
E.3.4 まだやることがあるってこと?

本編は目次があるのですが、Appendixには目次がなかったので、「あの内容どこにあったっけかな?」と思うたびにAppendixを開きまくって確認していたのが面倒くさくなったので作ってみました。

UE4.7の頃に書かれた本ではありますが、今持ってなお、UE4を初めて触る方々にとっては良書であることに変わりはないので、これから本書を読まれる方々のお役に立てれば幸いです。

しかし…ブログの更新が2年ぶりだとは…サボり過ぎにも程があるな…。

桝田省治さんによる戦闘計算式初級講座

以前から、「プログラマやグラフィッカーのノウハウに比べ、ゲームデザイナー/プランナーのノウハウは、圧倒的に流れている情報が少ない」と感じています。原因としては、すでにリリース済みのタイトルであっても、その内部仕様の権利は発売元や開発元(つまり会社)に依存するので、容易に公開することができない、という部分があります(守秘義務ってやつですね)。

たまにあったとしても、大元のコンセプトデザインの話であったり、観念的な話であったりして、現場で即役に立つローレベル・超具体的ノウハウというのは極めて限られているのが実情です。

とは言え、「無い無い」と嘆いていても仕方がないので、自分で書いていく事にしました。
正直「俺なんかが…」という部分もあり、先ほどの守秘義務に抵触しないように何か書く、というのは意外と難しく、ちょっと途方に暮れそうになったのですが、ふと思い出しました。

もう2年半も前のことになりますが、「俺の屍を越えてゆけ」等で著名な桝田省治さんが、Twitterで「戦闘計算式初級講座」を呟いていたことがあったのです。

大変参考になったTogetter
http://togetter.com/li/15113

これを読むだけでも十分ためになるんですが、個人的に読み返しやすいようにまとめ直してみました。
「最初から他人の褌かよ!」という感じですが、まあ…試運転ということで…。


▼計算式の組み方

・適切なバランス取り
  ゲーム内の戦闘におけるプレイヤーの緊張感の維持
    いくつかのミスや不運が重なれば「死ぬ」というリスクを感じること
     ・何発殴れば敵を倒せるか
     ・敵に何発殴られればやられるか
  ※ボス戦では当然変わる
  ※マップの広さや体力の回復手段によっても変わる
  ※想定するターゲットによっても変わる

・ごくオーソドックスなRPGの標準的なバランスをイメージ
  ・4対4あたりの集団戦が普通
  ・雑魚戦なら2発か3発殴れば敵を倒せる
  ・1戦闘で平均2発殴られ、それを回復せず放置すれば5戦闘(10発)で死ぬ。
   =1発殴られると最大体力の1/10が削られる。
     N発で死ぬなら、1発あたり1/Nのダメージを受ける。

・話をわかりやすくするために
battle_table.png
 とする。

・攻撃力100 - A × 守備力100。
  A = N発で死ぬ補正値 = 1 - (1/N)

    Nの値の例
      味方→雑魚敵:2.5(2発か3発で敵は死ぬ)
      雑魚敵→味方:10(1戦闘2発くらっても5戦闘保つ)
      味方→ボス: 20(回復魔法を使うボスなら16など)
      強力なボス→味方: 3

・「攻撃力<A×守備力」のとき、「攻撃力-A×守備力」ではダメージが出ない。
 そういうときのためによくやるのは、
  (攻撃力-A×守備力)+p
  pの値は、
   ・DQなら0~4あたり
   ・いわゆる桝田ゲーなら攻撃力/64~攻撃力/32とか

・パラメータの最大値は999、レベル50、全パラメータが600でラスボスに勝てる。
 ゲームスタート時は全部100。
  ※目安を立てるため単純にしている。

・1レベルでパラメータ10上昇?
  →攻撃力や守備力はその半分程度が武器防具に依存する
    →1レベルあたり5前後が妥当。
 なので、例:20レベルなら体力は300、攻撃力も300(腕力200+剣100)

・20レベルの主人公がそれなりの緊張感を維持しつつ戦う適正な敵は、体力、攻撃力、守備力がすべて300。
  ※こういう管理にしておけば、常に体力、攻撃力、守備力が同じ数値になり、
   先の「攻撃力-A×守備力」が、そのまま使用できる。

これで各レベルの主人公の強さ、各レベルの敵の標準的な強さ、各レベルの主人公の標準的な装備の値が大まかに決まった。
これらはここで固定してしまう。どうせ強さは相対で決まる。
何かを最初に固定して基準にしないと先に進まない。

・仲間キャラや敵の個性づけ
  ・魔法使いなら体力が主人公の2割引
  ・戦士なら攻撃力は1割増
    →「攻撃力100-A×守備力100」に放り込んでシミュレート。
      →イメージに合う数値Bを見つけら、「B:100」の比でもって、
       各レベルの魔法使いや戦士のパラメータを割り出す
        →そこから武器防具の数値を決める。

・敵のパラメータ
  ・妙に硬い奴
  ・体力は少ないが攻撃力が高いヤツ
    →「攻撃力100-A×守備力100」に適当な数値を放り込んで、イメージに合う数値を見つける。
    →その比を汎用化して各レベルの曲者を同じ手順で作る。


私がRPGを作った時も、色々と分析や試行錯誤の結果、同じような式と手法になりました。

ゲーム・開発・UXD 情報交換会行ってきました。

10/21(日) 、「ゲーム・開発・UXD情報交換会」に行ってきました。
http://kokucheese.com/event/index/55576/

NAVERまとめ
http://matome.naver.jp/odai/2135083108152832201?utm_medium=twitter&utm_source=twitterfeed

ゲーム開発者・ソフトウェア開発エンジニア・UX(ユーザーエクスペリエンス)研究者が集って情報交換しようという会。
15分単位の短めの発表・ダイアログ(4~5人グループでの対話)・ビアバッシュという構成。

冒頭「ブログに書くまでが勉強会」というお話があり、「自分なりに解釈してアウトプットして、他人と共有可能な状態にしないと勉強会を受けた意義が薄くなる」という意味だと解釈しました。
私は勉強会ちょいちょい出る方ですが、確かにまとめるのは面倒がってあまりできてませんでした。
今回はきちんとまとめようと思います。

会の趣旨や参加コミュニティの紹介は上記リンクに詳しいので割愛。
各発表を見ての個人的にポイントだと思った部分と所感(青文字)をつらつらと。

■コミュニティ・団体紹介
▼hcdvalue
http://www.slideshare.net/hcdvalue/hcdvalue-14642843
・学術研究が現場に活かせていない

  強く同意。今回のような会がもっと開かれると良いのでしょうね。

・HCD=人間中心デザイン(Human Centered Design) 。

・UXD= User eXprerience Dsign だが、これだと「ユーザー体験をデザインする」という感じがする。
 「Design for UX」という表現の方が良いのでは?

  ゲームデザインにおいても、「ユーザーの感情を誘導する・操作する」
  という主張をたまに見るけど、健全でない感じがします。
  強制的ではなく、自然に感情が動くようなデザインを心がけたいところ。

・デザインする際には、ヒト(&UX)・UI・モノやサービスを取り巻くContext(どういう環境で使うか)も大事。

  確かにターゲットが「どういうユーザーか?(年齢・性別・嗜好)」が意識されることが多いけど、
  とりまく環境(プレイ時間・ユーザーの立場・生活スタイル)などの考慮は見落とされがち。
  考慮ポイントをあらかじめポイントとしてまとめておくのも良さそう。

▼DevLOVE
https://speakerdeck.com/u/papanda/p/devlove-in-a-nutshell
・自分の仕事を憎むには人生はあまりにも短い
・自分たちのことは自分たちでやるしかない
・一生涯ソフトウェア開発 たかだか300人月

  状況を変えるためには動くしか無い。
  自ら帆を張った方々の行動力は素晴らしいと思います。

▼IGDA日本

・南米にもIGDAの支部がいくつかできた。最近勢いがある
・アフリカにも1つ支部ができた

  この前のGCSで新清士さんが東南アジアのゲーム市場の盛り上がりについて公演されていましたが
  (https://sites.google.com/site/gamecomsummit/session#session03_2001
  南米、アフリカも盛り上がってきている様子。
  今まで東アジア・北米・欧州が話題の中心になってきましたが、今後は中東なども含め、
  全世界の動向にも注目ですね。

■発表
▼hcdvalue発表
▽「ヒューマンインタフェースな学会に参加してみた」(ちゃちゃきさん @chachaki)
http://www.slideshare.net/hcdvalue/ss-14820829

・UXには4つの期間がある(利用前/利用中/利用後/利用時間全体)

  「プレイしていない時間も、そのゲームの事を考えているようなら、それは良いゲーム」
  と言われたりしますね。
  どうやって攻略しようかな…どんなキャラにしようかな…名前は…カスタマイズは…
  などと考える余地があるゲームは、継続率が高くて長くプレイしてもらえる可能性が高い、
  というのは経験則として知っていたけど、それが明文化された感じ。
  後できちんと追ってみたいです。

▽「APCHI2012にて、アイデアを伝える」(白澤さん @shirasy)
http://www.slideshare.net/shirasy/20121021hcdvalueshirasy

・APCHI = Asia Pacific Conference on Computer Human Interaction

・ゲームをあつかったセッションも

・ペーパーホワイトボードワイヤフレーミング
  ・ノートに書いて説明すると、口頭よりも共有効率高い。

    とても当たり前の事だけど、当たり前のことをきっちりやるというのは意外と難しい。

▼IGDA日本発表
▽「ゲーム業界から見たUX」(小野憲史さん @kono3478)
http://www.slideshare.net/kono3478/ux-14827357
・ゲーム業界不変の法則:
  1.ゲームは技術進化に裏打ちされた遊び
  2.技術の進化で領域が拡大する
  3.領域の拡大でクリエイターが広がる

・ゲーム業界は「KGN=こんなのゲームじゃない」の繰り返しの歴史だった

  現在「ソーシャルゲームはゲームか?」が盛り上がっていますが、
  極端な形(かつてはサン牧のような育成、今ではカードソーシャル)だけに囚われた議論は
  不毛だなあと思っていました。
  確かにファミコンが出た時も、アーケード界隈からは「しょぼい子供のオモチャ」
  と言われていたということですし、
  どんなモノも、出始めは多くの問題を抱えてるもんだと思います。

  新しい芽を潰すのではなく、「どうやったらもっと良く・面白く・健全に収益を上げられるようになるのか」
  を考えた方が建設的だよね。

・ゲーム業界にとって、UXとはファン=楽しさ として認識されていた。

・ソーシャルゲームがもたらしたゲームの広がり
  ・ユーザーの拡大(無料ゲーム)
  ・ファンの変化(課題解決→社会承認)
  ・ゲームの変容(企画重視→運用重視)

  ゲームの変容については、私個人も「職人芸的作品の販売業」から「サービス業」に
  急速にシフトしていると感じていて、サービス寄りになりすぎなんじゃないか?と思っています。

  KPIによるユーザー動向分析に合わせて改善するのもいいけど、
  「俺はコレが面白いと思う!ついて来いよ!」的な熱さを失ってきているんじゃないかと。
  まあそのカウンターとしての現状なんでしょうけど。

  今後は、この両極のバランスをどうとっていくのか、が重要なポイントになるのだろうと思っています。

▽「ゲーム業界から見たアジャイル開発」(長久勝さん @mnagaku)
http://www.slideshare.net/mnagaku/ss-14819297

・ゲーム開発でアジャイルを選んだ場合の注意点
  ・「変化を抱擁する」→ただの朝令暮改 になる危険性
  ・アジャイルは本来、「強すぎる管理を緩めて、自主的な規律で代替しよう」というものだが、
   ゲーム業界の場合「弱すぎる管理の引き締め」に使おうとしていて、本来の文脈外

  「安易にアジャイルを取り入れてもうまくいかない可能性が高いよ」ということなんですが、
  そもそも新しい手法に対しての拒否感というのはまだまだ強い気がします。

  アジャイルが銀の弾丸ではないということは早くから指摘されていることで、
  重要なのは手法ではなく、「現状がダメなんだったらなんとかしなくちゃいけない」
  という原則を忘れないことなのではないかと。

▼DevLOVE発表
▽「学び方を学ぶことを学ぶ」(伊藤宏幸さん @hageyahhoo)
http://www.slideshare.net/ssuser968fab/ss-14807961

・学び方にもパターンがある→「学習パターン」
 例)どっぷりつかる→プロトタイピング→「まねぶ」

・「コツ(how)」と「こだわり(what/why)」の違いを意識することが重要

  スライドにはありませんが、「守破離」のお話もありました。
  (守破離とは:http://www9.ocn.ne.jp/~kihunkan/syu_ha_ri.htm

  何にせよ先人が「こういういい方法があるぜよ」という事はまずちゃんと真似してみること、
  それによって自分に合わないところが出るだろうから、
  そのカスタマイズを次の段階として行う。
  先ほどのアジャイルの導入にもつながるところがありますね。

▽「Lean!!Lean!!Lean!! – 開発現場から愛をこめて -」(及部敬雄さん @TAKAKING22)
http://www.slideshare.net/TakaoOyobe/20121021-leanleanleandev-love
・リーンスタートアップの「MVP」= MinimumVariableProduct(実用最小限の製品)だが、
 小さすぎて価値のないものでは意味が無い。

・ドラクエで学ぶ「リーンスタートアップ」
  ・価値:平和
  ・ユーザー:人類全員
  ・何をすれば良いか判らないので手頃なスライムを倒す→最小の価値
  ・ユーザー中心:村人に話をして次を計測する
  ・学ぶ:毒消し草
  これを回していくのがリーンスタートアップ

  リーンスタートアップは気になってますがまだちゃんと追えてないです…。
  今回の発表でさらに興味が増したので後でちゃんと追いたいなと。

  発表の手法として、ドラクエのように皆の共通体験に根ざした例を用いる、というのはGoodですね。

▽「『Experience Visionのはじめかた』に見るDevLOVE勉強会のススメ」(滝川さん @takigawa401)
http://www.slideshare.net/takigawa401/experience-vision-devlove

・ユーザーの要求に対して直接的な解決を与えるのではなく、ユーザーの本質的要求に響く提案型
 例)「朝起きられない→目覚まし」ではなく
   「朝起きられない→可愛い子のモーニングコール」の方がイイよね!

  ちょっと上記の例についてはピンときませんでした。
  私の中の直接的解決と提案型解決というと、ゲームで例えるとこんな感じ。

   問題:「敵が固すぎて勝てねえ。クソゲー。」というプレイヤーからの不満
    直接的解決:敵の防御パラメータを下げる
    提案型解決:
     1.実は進行度に対して、敵の強さが上がる率と、プレイヤーの成長速度のバランスが悪かった。
        →味方のパラメータが上がりやすいように調整
     2.実は弱点をつけばすぐ倒せるのに気づかれてなかった
        →弱点であるポイントをプレイヤーに気づかせる仕組みを入れる
   つまりは
    ・直接的解決…「不満だと言われた事に関する場当たり的対応」(マイナス→ゼロにする)
   であるのに対し、
    ・提案型解決…「不満の発生原因を分析し、根本的に解決する、あるいは付加価値を与える」
            (マイナス→プラスにする)
   という考え方なのではないかと思ってました。

  Experience Visionは初耳だったので誤解があるのかも。また気になるものが増えたw

・スケッチング
  ・コーディングを始める前に、同様の機能を人力でシミュレートし、素早く評価する。

  たまに結構ガッツリコーディングして組み込んでから「やっぱダメだったね」となっちゃって、
  それを「ゲームはトライ&エラーが当たり前だ!」として正当化してしまうことがままありますが、
  できるだけ無駄なトライ&エラーは減らしたいものであります。

  人力(ボードゲーム風に紙とコマで試す)や、簡単なシミュレート(Excelの関数とかマクロとか)で
  さっとシミュレートして手早く評価するのは有効だと思います。
  …が、「作るの面倒~」とか「実装まで時間がない~」とかで見切り発車することも多いんですが…。

  ↓ともつながる話ですね。
  『失敗してもいい方法でとにかく試そう!マイクロビジョン西田竜太氏が提案する
  “デジカメプロトタイピング”【CEDEC 2012】』
  http://www.famitsu.com/news/201208/23020022.html

・「サポーターの1人が、誰かの手をつないでスタジアムに来てくれれば、観客は倍になる。
 両手をつないでくれれば3倍になる。
 俺達は誰かを誘いたくなるサッカーを見せなければいけない。」大熊清 前FC東京監督

  いい言葉。サポーター(ファン)が増えるようなコンテンツを作って行きたいものですね。
  金払いのいい一見さんとかばかり大事にするのでなく…。

■ダイアログ
 ・いい企画のためのコツ・こだわり
 ・いい開発のためのコツ・こだわり
について、4~5人のグループでそれぞれ10分で話し合いました。
色々な話が聞けて面白かったですが、やっぱり10分は短いですね。
これ中心の会とかあってもいいんじゃないかと思いました。
1つのテーマ30分くらいで話して、またメンツをシャッフルするとか。

■ビアバッシュ
いわゆる飲み会ですが、発表の会場そのままでやったので、移動の手間が無いのはいいですね!
また立食なので、話すメンツが固定化されにくいのも良かった。
飲食OKで電源まで取れるステキ会場を提供していただいたオラクルさんには大感謝!です。

■全体を通して
今回は第0回だったそうで、お試し開催ということなんですかね?
ゲーム業界は少し前まで非常に閉鎖的で、横のつながりが薄いものでした。
業界内部での交流もまだまだだと思いますが、業界内部だけでなく、
学術方面や隣接業種との関わりも大事だと思います。

ソーシャルの盛り上がりによってWEB業界はかなりオーバーラップしてきてますしね。
学術方面の知見を現場にフィードバックする流れは全然足りてない感じですし。

そういった意味で今回の会は非常に意義深いものだと思います。
ビアバッシュまで含めて1000円という超リーズナブル価格もありがたかった!
ぜひ次回も&定期的に開催していただけると嬉しいです~

GamePM勉強会 第7回

去る3/20(土)、GamePM(ゲームプロジェクトマネジメント)勉強会に参加してきましたー!

祝1周年!えーと、私は第5回から参加しているから(忘年会も入れて)4回目ですね。

当日の内容に関してはminamoさんのレポートに詳しいので割愛。
以下ちくちくと感想など。


▼40分発表

「3DCG映像製作の現場の声とマネージメントの声」
by 森田佑貴さん

「日々の作業確認ができていれば、マネジメントの大半はできていると言える」という言葉に納得。ものすごく初歩的なことだけど、出来ていない現場は多いのではないだろうか。ボトルネックになっている部分の洗い出しや、問題点を早めに見つけて大事になる前に処理できればそれだけで立派なマネジメント。

3DCGにおいて「セットアップ」の重要性のお話。要はモデリング後のボーンの仕込みやウェイトの調整のことだけど、会社(や場合によってはチーム)によって定義が異なるし、専門性も高いので下手に外部に任せると大変な事になるよ。ということだと理解したのだけど、確かにセットアップの重要性はわかりにくい。現場に入りたての頃とかほんとに良く分からなかったなあ。場所によって作業分担や呼び方までバラバラなこともあるし。

あと印象深かったのはモデリング工数のお話。長髪やヒラヒラした服は大変だから可能な限り避けよう、ってお話はよく出るところだけど、キャラクターデザインの段階で、その辺のジレンマを解消したデザインにするってのは、覚えておきたいポイント。
確かに某超有名RPGのヒロインは、袖がヒラヒラした着物っぽい服なのに、袖を胴部分と分けてしまうという思い切ったデザインでありましたね。あれは機能美であったと。

まとめの「プロジェクトマネージメントとは、止めない、目を背けない、逃げないことに尽きる」という言葉は心に沁みました…。

「Scrum 始めました」
by 田中 宏幸さん

第6回でminamoさんが発表したScrumをいち早く導入し、しかも自社向けにカスタムした結果を報告するという、実に参考になる導入事例でありました。ダメだった部分、というのはなかなか外に出て来にくいものなので、そのあたりの赤裸々な部分まできっちり押さえていた部分は大変ありがたい。

一番大変だったのがScrumを導入するための「説得」だった、というお話には涙を禁じ得ません…。現状の開発環境に不満はいだいているものの、いざ新しい体制を導入しようとすると反発が出たりすることはよくあるもので、このハードルを越えただけでも素晴らしい。こういった事例が増えるほど、より頑なな組織への導入の障壁も下がろうというものなので、どんどん広まっていって欲しいものですね。

「毎朝のスクラムミーティングだけでも効果が高いのでオススメ!」というのは心強い報告。朝礼というのは得てして形骸化しやすいのですが、「立って」「15分で」というルールを徹底することがポイントなのでしょう。redmine等のチケット駆動型開発とも相性が良かったものと思われます。

スプリントレビュー(成果物の確認会)で、狭い部屋に大勢を詰め込んだら酸欠になった、という下りは生々しくて大変面白かったですw。しかしそこで「失敗だったね…」と諦めるのではなく、きちんとカスタマイズして改善に結びつけているところはお見事。

今回の田中さんの事例は、ある程度勝手知ったるメンバーであった、ということなので、あまり馴染みのないチームではどうなるのか…といった事例が知りたくなりました。


ライトニングトークス

ライトニングトークスとは、5分で強制打ち切りとなる発表。

「認定スクラムマスターについて」
by 今給黎隆さん

何につけても資格というものはあるもので。上記のスクラムにも「認定スクラムマスター」というものがあるそうです。今給黎さんも取られたとのこと。しかし2日で20万(旅費・宿泊費等を除く)は厳しいな~…。
現場レベルでしっかり継承されていくと良いと思います!w

「5分でわかるARG」
by 松尾直貴

不肖私の発表でした。いやー、前回40分の発表やったから5分くらい大丈夫だろ!とか思ったら、コッチの方が辛かった気がする罠w。やっぱ20数ページの内容を5分でやるのは無理だった orz。というか体感時間3分くらいで、どこで息継ぎしたらいいのかわからないくらいのハイペースになってしましました。ちゃんとリハーサルやっとけよ俺…。という学びを得ました(`・ω・´)キリッ。前向きな俺カコイイ! …orz。

…ふぅ。当日使用した資料貼っときますね。(多少表示が崩れています)

で、一番言いたかった「俺もイベント企画してるからヨロシクね!」という部分がタイムアップになってしまい残念賞~であったとさ。せっかくだから俺はコッチのブログで宣伝するぜ!

シモキタ@クエスト

「参加したい!」という方はこちらのブログをチェックしていてください~。

「自分もイベント作りやってみてぇ!」って方は大歓迎です。横っちょのメールフォームでもTiwtterのリプライやダイレクトメッセージでもかまいませんのでご連絡ください!

「Vimエディタを使おう」
by thincaさん

エディタはソフト開発者にとっては商売道具の一つなわけで、愛用のエディタたるや、長年使いなじんだ万年筆にも匹敵するこだわりが生まれるわけです。ということで、thincaさんの愛あふれるVimエディタのご紹介。プログラマさんにとっては使いごなし甲斐のありそうなエディタだなと感じました。

私も今のところ秀丸エディタを愛用しておりますが、まだそんなに「秀丸LOVE!」て感じではないので、機会があったらVimエディタも試してみようと思います。


ワークショップ「ふりかえり2009年度 ~帰ってきたタイムライン~」

ワークショップでは、模造紙に2009年度を4半期に分けてラインを引き、ポジティブなことは赤い付箋に、ネガティブなことは青い付箋に書いて貼りつけていくという「タイムライン」という方法で振り返りました。その後1年のアップダウンを線グラフにして描き、漢字一文字で表わしてみました。さらに2010年度の意気込みをまた漢字一文字で表現。個々人の個性の出た、直感的な図が出来上がりました。


懇親会

やはり勉強会に参加するような方は危機意識が強いですね。プロジェクトの体制やマネジメントには皆さん苦慮されている模様。今回の勉強会で蒔かれた種が、それぞれのチームで良い結果を生みますように。

しかし毎度思うのはグラフィッカーさんが少ない印象。人数比としては多い職種だし、決してマネジメントと無縁だとは思えないので、今後参加者が増えると良いなと思います。