C言語 入門 STGの作り方

初日 STGの考え方

初心者向けSTG作成入門

HOME/STGの作り方 目次/初日 STGの考え方/

広告

↓2016年02月29日発売↓

12歳からはじめる ゼロからのC言語 ゲームプログラミング教室

新品価格
¥2,462から
(2016/5/10 22:16時点)

もっと!C、C++言語本

目次へ戻る

STGの考え方

STGを作ろうとして詰まるところはおそらくこんなトコロではないでしょうか。

1・動きがしょぼい

2・自機ショットがギャラクシアン

3・敵の数がすごい事になってきた

4・敵の弾の数がすごい事になってきた

5・プログラムがすごい事になってきた

などなど。

今回使用しているDXライブラリ、またはグラフィック機能が充実している高級言語などを使用すれば動きのあるプログラムも意外に簡単に作る事ができます。

なんとなくプレイヤーを配置、敵を配置、動かしてみて、弾とばしてみて・・・。

「なんだ、STGなんて簡単に作れるじゃん!」

なんて思っていたら世の中そんなに甘くなく、あれよあれよと悲しい結果に。

弾幕系のような弾1000発軽く超えるような表示を全て個別に行う方はそうそういないと思いますが、ある程度リサイクルも頭に入れてプログラムを組んだのになにやら上手くいかない。

そんなSTG作りのギモンを解決していきたいと思います。

「動き」を数学の関数で表現

まず動きのしょぼさですが、x座標、y座標の縦横移動のみではどうしても動きの限界があります。

これを簡単な数学関数を使う事によって滑らかな曲線なども表現していきます。

↓y = a / x↓

画像(s_1_1)

↓y = ax^2↓

画像(s_1_2)

↓sin↓

画像(s_1_3)

「動き」の登録制

STGに登場する敵、弾などを全て個別に作るとなると膨大なプログラムの量になります。

なのでこれらを「動き方」、「敵の入れ物」、「弾の入れ物」などに分けます。

そしてそれぞれの「入れ物」に「動き」を登録して使い終わったら解放する事によって一定量で回せるようにします。

例えば一日1000人来店するレストランに必要な皿の枚数は1000枚ではないですよね。

同時に来店できる最大人数プラスちょっとあれば洗いながら回せますよね。

そんな感じです。

↓自機ショットの使用フラグ↓

画像(s_1_4)

たとえば自機ショットを打つまでの流れを見てみましょう。

1・ショット発射ボタンを押す

2・現在未使用の「弾の入れ物」を調べて使用中に

3・その時のプレイヤーの「弾の動き方」を登録

4・その「弾の動き方」に応じて発射・計算・表示

5・終わったら再び「弾の入れ物」を未使用に

こんな感じになります。

そしてここに当たり判定などを加えてSTGの骨組みを作っていきます。

では次回は実際にプログラムを組んでいきましょう!

次回

二日目 最低限のプログラム

□ページの先頭へ□

□HOME□

広告

↓2014年06月20日発売↓

14歳からはじめるC言語わくわくゲームプログラミング教室 Visual Studio 2013編

新品価格
¥2,500から
(2016/5/10 22:17時点)

↓2014年10月25日発売↓

超本格! サンプルで覚えるC言語 3Dゲームプログラミング教室

新品価格
¥3,110から
(2016/5/10 22:18時点)

↓2013年07月25日発売↓

小学生からはじめるわくわくプログラミング

新品価格
¥2,052から
(2016/5/10 22:21時点)

↓2016年05月13日発売↓

小学生からはじめるわくわくプログラミング2

新品価格
¥2,052から
(2016/5/10 22:22時点)

もっと!C、C++言語本

□ページの先頭へ□

□HOME□