kotaro / 俺時空 2024/01/24 17:02

SlashRush #2 / まずやるべきこと

プログラムを書く前に

僕はいまDXライブラリに慣れていく段階にいる。
ではある程度慣れたあと、何から始めよう。
いきなり見切り発車でプログラムを書き始めても、全体の見通しが立っていなければ効率がいい方法とは言えません。
ということで整理していきます。前回も整理してなかった?

決めておくべきもの

適当にプログラムを書き始めて完成まで持っていくのは至難の業。
例えるならば、下書きをせずいきなり絵を描き始めたり、起承転結や全体の構成を考えないままいきなり小説を書き始めるようなものです。
プログラミングも同様に、下書きのようなものがあります。
下書きと言っても、ある程度大まかに「このゲームには何が必要か」「どんな機能が必要か」などを決めていくものです。
「攻撃の挙動」とか「敵の配置」などの細かい部分は省略して考えます。
今回はそれを考えていこうというお話。

  • ゲームの仕様
    仕様と言ってもプレイヤーの挙動や使用するボタンなどではなく、ゲーム全体を通したものを考えます。
    タイトル画面→プレイ画面→クリア画面orゲームオーバー画面
    のように、シーンの遷移やその順番などを整理していきます。
    最初にゲームの流れを決めてしまおうというわけですね。
    ここが決まると、どの場面で何が必要かを考えやすくなります。
  • 必要な要素
    ここでいう必要な要素とは、「その場面で必ず必要になるもの」のこと。
    ゲームが始まった場面では、必ず「ステージ」と「プレイヤー」が必要になります。
    いらないゲームもあるかもしれないけど。
    とにかく、「これがなきゃゲームが成り立たない」というものを挙げていきます。
  • 場面と要素の関係性
    これは少し難しいのですが、上で考えた要素が「どこで必要になるか」を考えます。
    例えばプレイヤーの場合、ステージが開始した場面では必ず必要ですが、タイトル画面やステージ選択画面では必要ありません。
    いや必要なゲームもあるけど。
    とにかく、「どこでこれが必要になるのか」という、要素と場面の「関係性」を整理していきます。

このあたりのことを決めることが出来れば、既にゲームの枠組みはできたと言っていいでしょう。
ここからそれぞれの要素を細かく掘り下げていったり、途中で必要なものが増えたりしたら適宜対応していく形になります。

もっとわかりやすく

ゲームに必要なものはだいたいわかりました。
しかし、小規模な物であればあまり問題はないのですが、規模が大きくなってくると複雑な関係性を構築していたりして非常にわかりづらくなります。
ということで、もっと整理していきましょう。
僕のように完全に一人で作っている場合、ちゃんと全体の流れが頭に入っているのならばわざわざここまで整理しなくとも大丈夫だったりしますが。
でも僕は頭がそんなに良くないので整理していきます。というか忘れる。

もっとわかりやすくとは言いましたが、具体的にどうするか。
今回は視覚的にわかりやすく整理する方法をとります。
それぞれの要素や関係性を図にしてみましょう。


ということで作りました。手書きでゴメンネ。
この図ではシーンの流れとプレイ中に必要な要素をまとめています。
現状、構造自体はシンプルな物ですね。
ステージ選択画面で選んだステージをプレイできる。プレイ結果によってリザルト画面へ。そしてまたステージ選択に戻るの繰り返し。
プレイ中では、プレイヤーと敵が存在します。プレイヤーと敵はお互いにダメージを与えあう存在です。
そして敵には「ザコ」と「ボス」が存在します。さらにザコとボスの中で種類がある、という感じですね。
プレイヤーと敵にはそれぞれパラメータや行動が設定されていて、それに基づいた動作を行います。移動だったり弾を飛ばしてきたりなどですね。
端の方にある「シーン」は、こういうシーンがあるよという情報を持っています。特に何かとつながりがあるわけではないんですね。

とりあえず最低限ではありますが、これでゲームの流れと要素を把握しやすくなりました。
何にでも言えることだと思いますが、やっぱり整理整頓は大事です。
僕が分かんなくなるから。

で、どうするの

ここまで整理してきましたが、忘れてはいけないのは整理することが目的ではないということ。ここで終わってはいけません。
ある程度全体の見通しを立てたということで、プログラミングではどんなメリットがあるか。
一番は、「最初に手を付けるべき場所」が考えやすくなることだと思います。
言い換えると「一番重要な部分」を考えやすくなる。
今回の場合、最初に手を付けるべきは「シーン」だと思います。
そもそも「シーン」が存在していなけば、プレイはおろかタイトル画面すら存在することが出来ません。
ということで、まずは必要なシーンを作り、それから各シーンに必要な要素を作っていく、という形でプログラミングは進んでいきます。
最初にやるべきことが分かるだけでも、プログラミングの効率が上がりますし、なにより気持ち的にもとても楽です。
みんなも整理整頓、しよう!

おわり

ということで、DXライブラリをある程度扱えるようになったらこんな感じで進めていきたいと思います。
いやーとっても気が楽。やることわかってるとすごい気が楽。
とまあ、進捗報告というよりは備忘録みたいになってしまいましたがまあいいでしょう。
実際全体の見通しを先に立てておく、というのはだいたいのものに言える大事なことですし。
次回からはちゃんとした「進捗」の報告が出来るよう努めてまいります。

それじゃ、またね。

最新の記事

記事のタグから探す

月別アーカイブ

限定特典から探す

記事を検索