ゲームプログラミングにおけるモジュール分割

プログラミングを行う上で、処理をある単位で分割してプログラムを組むということが行われます。これはよく「モジュール分割」と呼ばれます。ゲームプログラミングにおいても、このモジュール分割はしばしば行われます。では、ゲームプログラミングする上でどのような内容のモジュールが作られることがあるのかご紹介します。

コアシステムモジュール

コアシステムモジュールは、プラットフォームAPIを直接使うような"システム"に近い位置に居るモジュールです。主に以下のようなモジュールがあります。

  • ファイルI/O
  • リソース管理
  • グラフィクス
  • サウンド

この「コアシステム」系のモジュールは、ライブラリやミドルウェアなどによって提供されることが多いです。それぞれの具体的な仕様については、設計毎に異なりますし、「どういう仕様であるべきだ」という話(例:「サウンド管理はリソースレベルで管理すべきか?」など)はについてはここでは触れません。

ゲームモジュール

対してこちらは、ゲームシステムやゲームロジックに近い位置にあるモジュールです。ゲームシステム上で必要になる仕組みや、ゲーム仕様を実現する処理単位などがこれにあたります。例として、以下のようなものが挙げられます。

  • タスクシステム
  • ゲームモード/シーン管理
  • マップ/イベント管理
  • スプライト
  • キャラクター管理

これら以外にも、ゲームジャンルによっては様々なモジュールが必要になってきます。

【注意】ここでは「コアシステムモジュール」「ゲームモジュール」という呼び方をしていますが、これはあくまで私個人が定義した名称であって、すでに誰かが似た概念を提唱していた場合、それと異なる名称である可能性があります

0 件のコメント:

コメントを投稿