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

森理 麟(moririring)のプログラマブログ

ゲームプログラマ森理 麟がのプログラムの話題を中心に書くブログです。

ノーコーディングなプログラミングツールがコードを書けるプログラマを亡き者にする時代はもう来ていた

Unreal Engineのブループリントの衝撃

https://answers.unrealengine.com/storage/attachments/125-arraybp.jpg
UnrealEngine初心者向けハンズオン勉強会で、Unreal Engineのブループリントに衝撃を受けた。ブループリントはビジュアルスクリプトでゲームを作っていく仕組みで、これを使えばノーコーディングでもゲームを作ることが出来る。僕は実際さわってみてあと20年以内にプログラマという職種はなくなるのは多分本当だと思った。

KANSAI CEDEC 2015

先週2月7日、KANSAI CEDEC 2015に行ってロブ・グレイさんによる「新世代のゲーム制作環境アンリアル・エンジン4~The Power of Blueprint~」というセッションを受けた。内容はデザイナがノーコーディングでどこまでゲームを作れるかというもので、実際1時間でコードを1行も組むことなく、アクションゲームのモックを完成させた。


モックといっても、グラフィック込みで非常に完成度が高い。実際、商品化されているゲームだってこれ以下のクオリティのものはあるんじゃないかなというレベル。プログラマの手がなくてもゲームが作れる時代が来ていたんだなーと本当に衝撃を受けた。しかし、この衝撃はこれで終わりではなかった。

UnrealEngine初心者向けハンズオン勉強会

さて、今週、UnrealEngine初心者向けハンズオン勉強会をやった。内容はブループリントによるゲーム制作。講師は@aizen76 さん。Unreal Engineの第一人者で、僕と一緒にUnity5の本Unreal Engineの内容を書いている人!もう一度言う。「Unity」の本に「Unreal Engineの内容」を書いている人。今回はその繋がりで講師をお願いをした。


最初にUneal Engineの概要説明と実際に作られた作品のムービを見た。クオリティはもうびっくりするぐらい高い。これリアルタイム。←多分嘘だと思う。そういうレベル。


その後「50分でわかるブループリントについて」というセッション。

ブループリント

先週ブループリントでデザイナが1時間でゲームを作るのを見た。その時ブループリントはノンプログラマでも扱えるように、機能性より利便性を取るものだと思っていた。しかし、実際は全く違った。ブループリントはテキストでもある。ブループリントをコピーしてメモ帳にペーストとすると文字列になる。そういうことか!と思った。


ビジュアルスクリプトはテキストスクリプトよりも強烈で、ビジュアルスクリプトでしかできないこともあると説明された。例えばキャラへのブレークポイントも簡単に貼れるとか。確かにカーブの動きを脳内でテキスト化するのはプログラマでも簡単ではない。明らかにトーンカーブを使ったグラフィックをマウスでドラッグした方が簡単だ。


実際@aizen76さんもバリバリプログラム書ける人なので、ブループリントを使いつつ、足りない部分はプログラムで補うつもりだったらしい。けれど、実際使ってみると結局最後までプログラムが必要にならずゲームを作れてしまったそうだ。デザイナのためのツールどころかプログラマすらコーディングをしないのだ。衝撃×衝撃。


その後ブループリントを使って実際にハンズオンで2Dゲームを作った。UnrealEngineは本当にゲームを作るために作られたエンジンでよくポイントを抑えていると思った。実際ブループリントをさわってみるとトラブルもありつつ確かにノーコーディングでキャラクタを動かすことが出来た。あっという間の4時間だった。

懇親会

懇親会でもブループリントの話は大いに盛り上がった。まだまだ発展中の技術ではあって気にあるところはちょいちょいある。でも、まだまだ進化も出来るよねという話にもなった。特にビジュアルでノードをつなぎ合わせるところは、かなり決まった処理なので、もっと自動化出来るのではないかという話は僕も凄く思った。


あと、ブループリントでオブジェクト指向も実装出来るけれど、あまり使われていないという話を聞いた。これはノンプラグラマが慣れてないだけでいずれ整ってくるという話も出たけれど、僕は最近読んだ清水亮さんのブログで語られていた内容こそが解決方法だと思った。


つまりブループリントを最適に扱える概念はオブジェクト指向ではなくて、全く新しいビジュアルスクリプト用のほにゃらら指向だと思う。プログラマ以外でも扱えるその概念が具体化すれば、いよいよノーコディングでも効率的なプログラムを組むことが出来るようになると思った。

まとめ

Unreal Engineは出来が良いために、出来上がるもののクオリティが抜群に高い。クオリティはどうやって作ったかは問題にならない。コーディングしたければすれば良いし、したくなければしなければ良いのだ。コードが書けるということはもはやメリットではない。プログラマがコードを書ける価値はきっともうすぐ暴落する。


これはゲームプログラムに限らず、全てのプログラムも同じことかと思った。プログラムを組んで「何が」作れるかがもっとも大事で、どうやって作るかは問題ではない。今後、そういう風にツールは進化していくだろうと思った。あー、恐ろしい時代はもう来ていた。僕、コード書くの大好きなんだけどね。