初めまして、『METAL GEAR RISING REVENGEANCE』でプログラムを担当した野田です。
 
プログラマの仕事とは、ディレクター中心に、ゲームデザイナーが考案した内容に基づき、アーティストが素材を作りだし、その素材をこれまたゲームデザイナーが考案した内容に概ね沿って組み立てていくといったものになります。
 

プログラマのお仕事
組み立てる工程や作業がちょっと高度に見えて、かっこいい!と思う方もいるかもしれませんが、実際はそれほど高度な作業ばかりではないんですよコレが・・・。
もちろん、中には高度な作業もありますが、プログラマ全員が高度な作業ばかりを行っているわけではありません。
私、高度な作業とか苦手ですし、無理ですし・・・そういった作業は全部他のプログラマに投げちゃいます^^ノシ
 
寡黙にキーボードを打ち続ける姿をイメージされる方も多いかと思いますが、そんなこともないですね!
むしろ、そういうスタイルではまったくといっていいほど仕事にならないです・・・。
 
高度な作業もそれほどやってない、かといってキーボードをそれほど打ち続けるわけでもない・・・じゃあ何やってんだよ!って思っちゃいますよねー。
冒頭でも述べましたが、確かに、実装はプログラマが行います。アーティストが用意した素材を企画内容を基に実装していくわけです。
ただ、準拠ではなく、あくまでも概ね沿った形の実装なんですよね。
だって、企画内容そのままより、実装する人間が面白いと思う形に組み替えた方がより面白くなるんですから。(あ、誤解して欲しくないのは、企画内容そのものをボイコットするってことじゃないですよ?その企画内容を基に、作り替えるってことです。)
 
当然、組み替え、作り替えるわけですから、ゲームデザイナーやアーティストとの議論は尽きませんね。
会社の上下関係はある中でプログラマは果敢にも先輩ゲームデザイナーや先輩アーティストに立ち向かうわけです!
返り討ちにあって落ち武者状態で席に戻るプログラマも居ますけどネ・・・。
 
このゲームの起点でもあり終点でもある「自由切断」に関わったプログラマももちろん果敢に挑んだわけですよ。
そんなプログラマにコメントもらいましたので、ちょっと紹介してみましょう!
 
まずは一人目、斬奪プログラマこと、我妻君です。
 
 
 

< 斬奪プログラマ:我妻の場合 >


 
斬奪プログラマ
ディレクターの記事でも触れられていますが、この操作に求められたオーダーは以下のようなものでした。
 
1.単純にレスポンス重視でカタナをブンブン振り回し敵をバラバラにできる
 

※本映像は開発用のテストバージョンを使用して撮影されており、製品版とは一部異なる場合があります。

 
2.慎重に位置や角度を調整して斬りたい箇所を狙って斬れる
 

※本映像は開発用のテストバージョンを使用して撮影されており、製品版とは一部異なる場合があります。

 
3.敵の弱点を狙って斬れば切断面から倒した敵のエネルギーを奪う“斬奪”をすることができる。
 

※本映像は開発用のテストバージョンを使用して撮影されており、製品版とは一部異なる場合があります。

 
オーダー実現のため、ディレクターやゲームデザイナー、チーム員の議論と文句に揉まれながら様々な操作が試行錯誤されました。
 
右スティック、左スティックの役割をプレイヤーの移動、カメラの移動、自由斬撃操作にどのようにアサインするか。
斬撃はプレイヤーのモーションに沿って行われるべきか、それともカメラ方向に対して行われるべきか。
斬撃モード開始時のカメラ方向は現時点のカメラ方向を引き継ぐか、プレイヤーの正面に向けるか、攻撃対象に向けるべきか。
切断処理の負荷と連携するため、連続で繰り出せる斬撃の間隔をどのように規定するか。
等々です。
 
製品版では次のような操作に落ち着きました。
 
右スティックで斬撃モードの円盤を回転させて切断の角度を調整しつつ、左スティックでプレイヤーの向きと仰角を操作することで自由に斬りたい箇所への斬撃を行います。
 
右スティックを外側から真ん中へ弾く(スティックから指を離す)ことで円盤に沿った斬撃を、右スティックを一定量直線移動させる事で入力に沿った斬撃を、□、△ボタンで横方向、縦方向への斬撃を繰り出します。
 
斬撃モード開始時に斬りたい箇所を狙って斬ることのレスポンスを重視して、最初の一太刀目は必ず円盤に沿った斬撃が発生するようになっています。
 
また、斬撃モード中は左スティックを押し込みながら動かすことでカメラを固定してプレイヤー移動が可能です。
 

※本映像は開発用のテストバージョンを使用して撮影されており、製品版とは一部異なる場合があります。

 
連続で斬撃する場合の直線による入力はスティックの中心を通らなくても成立し、狙っている箇所からやや上下左右に対して斬撃を行うことができます。
 
斬撃モード開始時のカメラ方向などは特に開発後期まで物議をかもしたため、意見の別れた操作案に対して、最終的にどうまとめるか非常に苦労しました。


 
 
どうです?文面などからも察することができますよね、彼が幾度となく返り討ちにあってきた事が!!(゜□゜
でも実際そうなんです、彼が書いてある事は紛れもなく真実で、こういった繰り返しによって当初の案よりもより面白い物が出来上がっていくんですね。
無数の傷を負った彼には申し訳ないですが、彼の勇気と努力によって非常に完成度の高い斬撃モードになったのはプレイしてもらえれば解ると思います。
 
二人目はシステムプログラマでもある、大寺さんです。
大寺さんも「自由切断」に関わったプログラマですが、我妻君とはちょっと関わり方が違います。
我妻君が表方であり、大寺さんが裏方といった感じです。
もしかしたら、ユーザーの皆さんが想像するプログラマ像は大寺さんの方かもしれませんね。
 
 
 

< 自由切断プログラマ:大寺の場合 >


 
自由切断プログラマ
 『METAL GEAR RISING REVENGEANCE』にはプラチナゲームズの内製エンジンが使用されています。
当初、このエンジンには「自由切断」が実装されておらず、ここに「自由切断」を実装しなければなりませんでした。
これに関しては『METAL GEAR SOLID RISING』で公開されていた映像や、いただいたデータの作成フローの資料などを参考にさせていただき、内製エンジンに合わせる形で実装しました。
 
「自由切断」実装自体はそれほど難しいモノでないだろうと考えており、実際オブジェクトが斬れるようになるまでだいたい3カ月ぐらいで実装できました。
 
ただ「自由切断」という処理もただ実装するだけではゲームにならないと思います。
たとえば「自由切断」自体はその他の処理に比べて圧倒的に高負荷なモノです。
これをゲームとして成立させるために処理を数フレームかけるようにしてあり、その長さも雷電の刀を振る速度などから、プレイヤーが操作していて心地よく、また処理ができるだけ分散するように調整してあります。
 
他にも様々な工夫を施しており、その甲斐もあって今までのアクションゲームではあまりない「キレる」という体験ができるゲームになったのではないかと思います。
 

※本映像は開発用のテストバージョンを使用して撮影されており、製品版とは一部異なる場合があります。

 


 
 
もう、コメントの書き方からいかにもプログラマ!!っていうような?ストイックな感じしますよねー。
そんなストイックに見える大寺さんもディレクター達に果敢に何度も挑んでるんですよ。何度も何度も「そんなに斬れない!」とか「そんな切断できない!」とか「斬りすぎ!!」とか至る所で吠えてましたもんー。
 
コメント頂いたお二人、ありがとうございました、そしてお疲れ様でした!
 
他のプログラマも似たようなもんです、多かれ少なかれ、戦闘、、、じゃなくて議論は発生します。
「えーーー!」とか「そんなの無理!!!」とかといった叫び声は幾度となく聞こえてましたもの・・・(-▽-
 
ちょっと長くなっちゃいましたが、
幾人もの屍の上(誰も死んでないですけど)に完成した『METAL GEAR RISING REVENGEANCE』、是非楽しんで下さい!