ゲームプログラミングで重要なこと
気になる記事を見つけたのであとでじっくり読みます。
しかし、結構皆さん『ヌルいプログラミング』や『高度なWebアプリを作るのは単純なコンパイラを作るよりずっと難しい』の部分しかリンクしていないような気がしますが、その前に書いてある記事の流れも重要な気がしました。
流し読みをしましたが、自分も現状ではゲームプログラミングに重要な部分はこの部分だと考えました。(この考えは変わるかもしれませんが、現状の考えを書いておきます。こういう情報は残しておくべきだと思いますので)
ゲームで要求される仕様変更を比較的スピーディに反映できる
ゲームを制作する際には、プロデューサー、プログラマ、デザイナー、プランナーと仕様変更を要求してくることが多いです。それがゲームの面白さに繋がったり、人に対してわかりやすくしたりすることのテストが出来るからですね。ちなみに発売スケジュールとかもありますので、変更に時間をかけてもられません。
そのようなものに対応できるようにするプログラマの思考として、下記の記事にも共感しています。
自分はプログラミングの中でゲームはある程度ソースが泥臭くなってしまうのは仕方がないと判断しています。綺麗で美しいコードを書ける可能性を調べないでこんなことを言うのはどうかと思いますが、それはゲームによって使用するクラスの構造が変化しそうな気がするのです。
テトリスのような落ちモノパズルゲームにあったクラス構造、マリオのような2Dアクションゲームにあったクラス構造、ドラクエみたいなRPGにあったクラス構造。〜ツクールを作るためのクラス設計のような感じですかね。各オブジェクトの依存関係を決めてしまう、と。
で、最近話題のC++ですが、ゲーム業界ではC++が長く使われているようですね。(未確認)
それはオブジェクト同士の変な依存関係があるのがC++に似ているので、未だに使われ続けているのかなとも思いました。
何かこのコードは美しい、というゲームのソースコードがありましたらぜひ教えてくださいませ。あまりソースコードを公開しているゲームもないですけどね。