忍者ブログ
コンピューターとかゲームの最新ニュースはまとめるのが面倒なので Twitter を追ってください。もしくは1日分のツイートをまとめて簡素な HTML にするスクリプトください。

[短期連載] Unite に参加して思う、ゲーム開発の敷居が低下したことの功罪 (第一回)

たまには頭を使ってあげないと、脳みそが腐っちゃうので真面目な記事を。


Unite 2016 Tokyo で「なぜか年代が上の方とウマが合う」という経験をしたのですが、それの理由が何なのかわからず悶々としていたのですが、自分の中でおぼろげながら理由がつかめてきたので、ゲームサイトの真面目記事みたいなことをやってみようと思います。

注意

別に Unity をディスりたいわけでも、Unity で開発している人をディスりたいわけでもないです。
そこらへんをご理解ください。


ゲームの開発が簡単になった・・・のではない

昔は良かった

僕が中学生くらいまでは簡単な仕組みでコンピューターが動いており、パソコンさえあれば
N88-BASIC という非常に単純なプログラミング言語で BASIC マガジンに書かれたコードを打ち込むだけでゲームが作れた (当然改造もできた) ので、
当時はゲーム制作の敷居ってすごく簡単だったと思うのです。
当時 お仕事でゲームプログラマやってた人は、開発環境が整っていないし、バージョン管理ツールもないし、アセンブラでプログラムを組まないといけないし、etc, etc... と困難も多かったはずですが、
単純でメモリの少ないマシン上で動かすプログラムなので、システム全体を把握しやすかったし、プロジェクトの規模も小さいので、気合と根性があればどうにかなったのです。

コンピューターの進歩が開発の敷居を上げた

それが、PlayStation あたりで 3D グラフィックスが導入され、演算性能も描画性能もメモリ容量も ものすごい速度で向上していった結果…

  • プロジェクトの規模が大きくなる=プログラムを開発する人数が増える
    • ゲームの挙動を一人では把握できなくなる
  • メモリが増えるのでプログラムは複雑になっていく
  • 複雑なことをするので。ツールなどを充実させる必要も生まれる。デザイナとの連携も大変になっていく
  • 開発期間が増えていき、カタチにするまでの時間とコストが増えてしまう

などの理由でどんどんゲーム開発の敷居が上がっていったのです。
アセンブラから C/C++ に移行したり、デバッグツールが充実したり、バージョン管理ツールでソースを管理できるようになったりと便利にもなったのですが、便利になっただけで難易度は下がらなかったと個人的には思います。


C 言語の導入については物凄い革新で、戻れない、戻りたくないですが…


超高層になったゲーム開発の敷居を、”プラットホームの制約” で下げた Flash。

そういう経緯で急激に難易度が上がったゲーム開発の敷居を、コンピューターの進歩を ”便利さ” に割り当てて低くしたのが Flash であり、Unity という認識です。


一時期 Flash のゲームが流行したのは、"ActionScript で出来ることが限られているので把握できるサイズのゲームが作れた” ことが大きいと思います。いろいろと問題もあったのですが、非プログラマでも扱えるレベルのスクリプト言語を採用したのが正解だったのでしょう。
PS3/Xbox360 世代に ScaleForm による UI 実装が流行ったのが、Flash の方向性の 筋の良さ を証明しているかと。


最終的には収束してしまったり、Apple や Google に排斥されていく運命になった Flash ですが、僕はゲーム業界に一石を投じた凄いシステムだと思っています。
Web 上のプラットホームだったのが問題だったのでしょう。


RPG ツクールも、最新バージョンまでは ”プラットホームの制約” で開発の敷居を下げていた実例だと思います。
何気に凄いシステムだと思います。もっとリスペクトされてよい。


超高層になったゲーム開発の敷居を、C# の導入と統合型ゲームエンジンの提供で下げた Unity。

一方、統合型ゲームエンジンを用意することでゲームの作り方をある程度定型化することで開発の難易度を下げたのが Unity だと考えています。
C# で開発する仕組みであった XNA や Playstation Mobile との大きな差異は、C# はあくまで機能拡張/記述性の向上のためのスクリプト言語であると位置づけた点でしょうか?


Flash とは異なり、開発対象とするゲームを問わないという方針から、ハイエンドな3Dグラフィックのゲームも開発できるのですが、こちらも Unity という Framework (枠組み) があるから C/C++ ベースのゲームエンジンで開発するよりもずっと楽なのだと思います。
でかいプロジェクトを Unity で開発したことがないので実際は知りませんが。


UnrealEngine も同様に製作フローを定型化する統合型ゲームエンジンですが、開発対象をある程度ハイエンドに絞っているのと、ソースの改変自由という ”枠組みから外れる道” が最初から用意されていることで、Unity とは全く異なった方向に進化していると思えます。

最新の RPG ツクール MV はこっちの方向に舵を切ってる感があります。

今日のまとめ

  • 単純なことしかできない時代のゲーム開発はある意味簡単だった。
  • 複雑なことができるようになってゲーム開発は難しくなった。
  • Unity は難しくなったゲーム開発の敷居を下げる仕組みといえる。
    • ただし、元に戻ったわけではない。


PR