YAMADA TAISHI’s diary

ゲームについてとか私の日記とか。このブログのあらゆるコードは好きにどうぞ。利用規約があるものは記事内のGitHubのRepositoryのリンクで貼られていると思うので、そちらを参照ください。

ゲーム業界人はプログラム設計しない

こんにちは、やまだたいし( やまだ たいし (@OrotiYamatano) | Twitter )です。
今回はただのポエムです。

目次


ゲーム業界人はプログラム設計しない

概要


「ゲーム業界人はプログラムの設計をしない」と言い切ると、「そんなこと無い」って言ってくる層がいるけど、
システムエンジニアを名乗っていた私からすれば、そのプログラム多くの人に引き継げるほど厳密じゃない(一部を除く)。

「プログラミングをする上で設計すべきだ!」と私がいうと「ソレに越したことはないけど、現場は納期との兼ね合いがある」とかいう人もいる。
じゃあ、なぜシステムエンジニアは納期があるのに設計するのか(一部を除く)。

簡単だ。必要だからだ。

私はゲーム業界でもプログラム設計をすべきだと思う。
もちろん、本職システムエンジニアほど、しっかりしろっていう訳じゃない。
しかし、現在のゲーム業界の状態は設計すべき状況が来ている

昔は設計する必要はなかった


昔のゲーム業界は設計する必要はなかった。
家庭用ゲーム機(いわゆるコンシューマー)の開発やアーケードゲーム機が活発だった時代は必要なかった。

なぜならば、ゲーム業界の各会社が個々で開発し作りきってしまえば、もう直すことが無いからだ。
また、ゲームのプログラムは独創性が必要で、設計ルールを決めてしまうと、ルールを逸脱した仕組みの実装を躊躇わせる。

ハードウェアにも依存し、作ってしまえば、その知識は誰かに伝える必要がなかったということもある。
各ゲーム会社が各ゲームエンジンを持って、各ハードに実装する。

各々の知識がゲームの世界を築いていった。

現代は設計する必要が出てきた


スマートフォンゲームには保守運用がある。(それに最近はコンシューマーゲームもパッチ対応がある)
ゲームを続けてもらうためには定期的に改良を重ねる必要がある。
その場しのぎの実装では後からの修正に手を加える際はまるでジェンガのようにバランスを取る必要がある。

最初に土台がしっかりとしたジェンガなら倒れる可能性も低くなる
昔は各々のゲームエンジンを持っていたが、最近は市販されているゲームエンジンを使うところも増えている。
そうなるとどうなるか、これまでは属人的に作業を割り振っていたものが
同一のゲームエンジンを触ったことがある人ならば誰にでも仕事をしてもらうことが可能になった。

市販のゲームエンジンを使えば最近の流行に合わせて自社のゲームエンジンをアップデートする必要もなくゲームエンジンの会社が対応するのを指をくわえて待ってるだけで対応してくれる。

仕事を流動的に渡せたり、一つのゲームエンジンで色々開発しているとそのコードを使いまわせる
その場しのぎのコードでは使い回しが難しいが設計も含めてキレイなソースコードを作成できた場合、流用ができて次作を作るときに工数削減できる。
つまり、何が言いたいかと言うと「きれいなコードは資産だ」ということ。
(個人的にはプログラムには流行り廃りもあるので減価償却資産だと思う。定期的なリファクタリングで最新に保つ必要がある)

ゲーム業界でもスマートフォンゲームの業界はプログラムの設計がなされている方だ。
なぜかというと、そういった流動的な流れが出来たことと、スマートフォンゲームが出た当初、一部ゲーム業界人は「あんなのゲームじゃない」と切り捨てたからだ。
古い考えを持つ一定の人が取り残され、新しく目を向けた層がスマートフォンでゲームを作った。
そして、スマートフォンゲームが売れると聞いて食いついてきたIT業界人が合わさって出来たのが今のスマートフォンゲーム業界だ。

つまり、IT業界人の設計趣向とスマートフォンゲームが良いと判断したゲーム業界人がいるため、設計についても柔軟に対応しているのだ。
「あんなのゲームじゃない」と切り捨てた人たちが悪いわけじゃない。(ゲームは芸術性を求められるため、こだわりを持つ人が完全に駄目言う訳じゃない)

また、最近はWeb業界に習ってスマートフォンゲーム業界を筆頭にゲームの開発の情報共有が行われ始めている。
ゲーム業界はプログラム著作権が曖昧だった頃からあるからか、独自の技術を隠匿化する傾向にある
しかし、業界全体としてゲーム業界自体を良くしていこうという考え方に変わってきている
それでも頑なに情報共有しないところが多い。単純に情報共有の仕方がわからないのかも知れない。

今後の業界


最近は海外を筆頭に美麗グラフィックのゲーム、広大なマップ、長いシナリオとゲーム自体が大規模化していっている
日本のゲーム業界ではスマートフォンゲームで小銭を稼ぎつつ大規模開発をせずにアイデアで乗り切れないかと四苦八苦しているところも多い様に感じる。
もしくはコンシューマー一つに、すがって死にかけているところもある。

イデアを考えるにしても大規模化は避けられない
だとしたら、流動的に人を使えるようにしたり、コードを使い回せるようにする必要が出てくるのだ。

つまり、私が何が言いたいのかと言うと、
今後を考えるなら!コードを設計しろ!社外へ情報共有をしろ!というとだ。

このままでは海外の情報共有するスピードに日本が追いつかなくなって負ける未来が来てしまう。
もう既に負けていると言う人もいる。

今後、日本のゲーム業界が負けないためにも、設計と情報共有はしていって欲しい。