RPGツクールと数学のブログ

RPGツクールと数学についてのブログです。

C++用 ゲーム制作テンプレート

GameTemplatePlus

Windows用ゲームを作るための開発キットを作りました。Visual Studio C++ でDXライブラリを用いて2Dゲームを作るためのテンプレート(フレームワーク?)です。

ダウンロードはこちらから ⇒ gtp.zip - Google ドライブ

なんでPlusなのかというと、実は数年前に同様のテンプレートを作っており、今回のはそれを一新してそれっぽく仕上げたものだからです。

ライブラリのこころ

こういうこと考えることありませんか:

・大学でC言語を習ったけど使い道がない
・プログラミングによるゲーム作成に挑戦したい 

 プログラミングを授業として習うとき、例えば工学系はC言語を当たり前のように習います。もちろんC言語が使われている現場はまだまだあるのですが、そもそも古い言語であって今は新しい言語が多く使われていることもあり、正直なところ初めに選択するのはどうなんだろう……というような言語に思われます。せっかく習っても、就職後に使い道がないという方多数に思います。

一方で、ゲーム作りといえばプログラミングという風潮は根強いです。こちらも現在はツールの充実もあってプログラミングの知識なしでもスゴイゲームが十分作れる時代にありますが、ゲームを作るならやっぱりプログラミングかな?という感じですよね。*1

そんなあなたにマッチングです。C言語に少し触れたことのある人が、プログラミングで、ゲームを作ってみるためのテンプレートがコレというわけです。割と簡単にゲームを作れるようにしたつもりがあり、インストールはちょっとめんどくさいけど、導入してしまえば楽々ゲームが作れるようになると思いますほんとたぶん。

制作の雰囲気

f:id:fermiumbay13:20171229130016p:plain

背景画像の上でキャラクターの画像が回るだけのプログラムです。でも、何もない状態でこれを実装しようと思うと、中々骨の折れる作業となります。

このテンプレートではなんと、こんなもんで作ってしまうことが出来ます:

#include "MainScene.h"

static Graphic* chara;
static Graphic* back;

MainScene::MainScene() {
    chara = Graphic::create("baysuke.png", get_window_center(), true);
    back = Graphic::create("forest.png");
}

MainScene::~MainScene() {
    Graphic::clear(chara);
    Graphic::clear(back);
}

void MainScene::update() {
    BaseScene::update();
    chara->angle += 0.01;
}

void MainScene::draw() {
    BaseScene::draw();
    back->draw();
    chara->draw();
}

こんなもんとか言いながら、行数が多い気がするのはご愛敬です^^; 実際は黒字の部分は予め提供しており、赤字の部分を新規追加しています。それぞれこんな意味です:

f:id:fermiumbay13:20171229231638p:plain

画像を格納する変数を宣言しておいて、その変数に画像を取り込み、回転させて表示させる、というのを記述しています。これなら割とシンプルじゃーないでしょうか。そうでもないかなぁ?

使い方

まずテンプレートをダウンロードしていただいて、展開してください。

gtp.zip - Google ドライブ(記事冒頭にあるものと同じです)

中に色々入っているので、説明書の GameTemplatePlus.html を参照していただき、必要なソフトをインストールします。後はノリで作成できるでしょう。サンプルゲームも同梱しています。

サンプルゲームの動画です。こんな感じのが、手軽に(?)作れるのが売りですよ!(実際手軽じゃないのもご愛敬です)

*1:ここではプログラム言語のことを言ってます。言語なしのツールを使っていても、その構想自体はプログラミングだと思います。