シンプルな 24a2 でゲーム開発の旅を始めましょう

シンプルな 24a2 でゲーム開発の旅を始めましょう

24a2 は、JavaScript プログラマー向けの非常に基本的ですが、完全に機能するゲーム エンジンです。変わったルック アンド フィールを備えていますが、これを使用してゲーム プログラミングの基礎を学ぶことができます。

ゲーム ループ、カラフルなグラフィック、シンプルな入力をサポートする 24a2 には、最小限の労力で小さなゲームを作成するために必要なすべてが備わっています。

24a2 をチェックして、今すぐ完全なゲーム開発への旅を始めましょう。

24a2とは?

24a2は、基本的なゲームの作成に役立つ小さなオープンソース エンジンです。学習は非常に簡単で、ゲームの作成を開始するために必要なのは Web ブラウザーとテキスト エディターだけです。

24a2 の名前は、解像度が 24 x 24 であることから付けられました。128 x 128 の解像度を持つ PICO-8 のような他のミニマルなエンジンと比較しても、これは非常に小さいです。24a2 は円形の「ピクセル」を使用しており、その間に大きなギャップがあるため、非常に特徴的な外観になっています。

プレイヤーが 2 つのグリーン エリアの真ん中にある小道にいる基本的なスキー ゲーム。

24a2 を使用して次の大ヒット ビデオ ゲームを作成することはないでしょうが、それは重要ではありません。24a2 は初心者に最適で、ゲーム開発の背後にある基本的な概念のいくつかを学ぶために使用できます。

また、コア コンセプトのプロトタイピングにも最適です。複雑なゲーム物理やスプライト アニメーションに気を取られていることに気付いた場合は、それらをすべて取り除いて集中するのに役立ちます。

さらに、24a2 ソース コードは単一の TypeScript ファイルです。これをインスピレーションとして使用したり、変更して独自のより高度なゲーム エンジンを作成したりすることもできます。

24a2 の使い方

ゲームの基本的なテンプレートから始めます。

<html>
  <head>
    <script
      src="https://cdn.jsdelivr.net/gh/jamesroutley/24a2/build/engine.js">
    </script>
    <script src="game.js"></script>
  </head>
  <body></body>
</html>

これがコンテンツ配信ネットワーク (cdn.jsdelivr.net) を使用してengine.jsファイルを取得する方法に注意してください。そのため、何かをダウンロードしたりインストールしたりする必要さえありません。

2 番目のスクリプトgame.jsは、独自のゲーム コード用です。すべてが適切に機能することを確認するために、絶対に最小限の作業コードから始めます。

new Game({}).run();

この小さなプログラムは、Web ブラウザーにデフォルトの 24a2 グリッドを表示します。

24a2 のプレイフィールドを構成する明るい灰色の円のデフォルトの 24x24 グリッド。

次に、エンジンのコアを形成する 24a2 のコールバック関数に慣れてください。これらの概念はゲーム エンジン間で適用できるため、それらがどのように機能するかを学ぶことは、24a2 を使用する以上のメリットがあります。

configオブジェクトを介して定義して Game() コンストラクターに渡すことができるいくつかの重要な関数があります。

let config = {
  create: create,
  update: update,
  onKeyPress: onKeyPress,
  onDotClicked: onDotClicked
};

let game = new Game(config);
game.run();

24a2 は、起動時に config.create で指定した関数を呼び出します。これを使用して、ゲーム独自の構成を初期化したり、データ構造をセットアップしたりできます。

function create(game) {}

更新機能は、ゲームの期間中、定期的に実行されます。これはメインのゲーム ループで、他のエンジンでは通常、ゲームの状態を更新して画面を再描画するための個別のステップで構成されます。24a2 では、この関数で両方の操作を処理します。

function update(game) {}

最後に、入力をキャプチャするには、矢印キーの押下、マウス クリック、またはその両方を処理する必要があります。24a2 は、プレーヤーが矢印キーを押したときに onKeyPress 関数に方向を渡します。マウスを使用してドットをクリックすると、x 座標と y 座標が onDotClicked に渡されます。

function onKeyPress(direction) {}
function onDotClicked(x, y) {}

24a2 で作成できるゲームの種類は?

24a2 サイトには、チュートリアルを含む 3 つのサンプル ゲームが含まれています。それが紹介する他のものは、単純なスネーク ゲームとスキー チャレンジです。

GitHub リポジトリには、スペース インベーダー、Tic-Tac-Toe、最小限のペイント プログラムなど、他のいくつかのゲームへのリンクが含まれています。You Killed a Bear はより高度で、Maze Craze は標準グリッドの上に追加のグラフィックを重ねる方法の良いデモンストレーションです。

24MadRush はテトリスの「クローン」であり、カラー パレットを最大限に活用しています。また、その機能を実証する革新的な再生可能なチュートリアルから始まります。

24MadRush は、下 4 行に混合色のドットのパッチがあるブロック落下ゲームです。

24a2 ゲームの技術仕様

24a2 は、設計上、非常に制限されています。しかし、これは創造性のための絶好の機会を提供します。よりクリエイティブになるための重要なヒントの 1 つは、制約を受け入れることです。

解像度が限られていることに加えて、24a2 では次の制限があります。

  • 虹色に黒とグレーを加えた 9 色のカラー パレット。
  • 非常に基本的な入力: 矢印キーを押し、ドット グリッドをマウスでクリックします。
  • 無音: 音楽や効果音は一切サポートされていません。

ただし、これらの制限を超えてゲームを拡張するために、補助的な JavaScript コードをいつでも作成できます。また、エンジンはオープンソースであるため、必要に応じて自由に開発できます。

24a2 でより大きなものへと自分を駆り立てます

24a2 でテストしてみてください。古典的なゲームを再現したり、独自のゲームを発明したりできます。ボード ゲームのようなターン制のゲームは、このエンジンでうまく機能します。

24a2 がゲーム開発への情熱に火をつけた場合、旅を続けるチャンスはたくさんあります。PICO-8、Godot、Unity、および GameMaker はすべて人気のある選択肢です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です