C++でのゲーム開発勉強(準備編)

c++

開発環境

OSはwindows11。IDEはVisual Studio 2022です。

参考書

ゲームプログラミングC++ 単行本(ソフトカバー) – 2018/12/5 Sanjay Madhav (著), 今給黎 隆 (監修), 吉川 邦夫 (翻訳)

ゲームプログラミングC++ | 翔泳社
誰も教えてくれなかった、 ゲーム開発の基本を徹底的に学ぼう! ・ゲームとはどんなプログラムなのか? ・「あの機能」はどうやって実装されているのか? 3Dグラフィックスからサウンド、AIまで。 ゲームプログラマーになりたい人のみならず、 すべてのゲーム開発者が知っておきたい「基本」が詰まった、 ゲーム開発の教科書! C+...

ただ、こちらの本 github見てぐぐって頑張れ!みたいな感じで むずかしいのと、5000円くらいするので、一緒にプログラムを見て勉強しようという記事。いや自分の勉強のため。

Visual Studioの導入とSDLのダウンロード

下のリンクから Visual Studio 2022 のコミュニティをダウンロードします。

Visual Studio Tools のダウンロード - Windows、Mac、Linux 用の無料インストール
Visual Studio IDE または VS Code を無料でダウンロードします。 Windows、Mac で Visual Studio Professional または Enterprise エディションをお試しください。

ダウンロードできたら、インストールexeを起動して、はい・続行をすすめるとこうなります。

この画面の左下にもある、c++によるデスクトップ開発をチェックしてインストールすれば大丈夫です。あとからインストールできるので他の気になった開発環境を今、入れる必要はないです。

インストールできたら、起動していただいて、新しいプロジェクトの作成から(N)を選択します。

そしたら空のプロジェクトを選択して、プロジェクトを立ち上げます。プラットフォームはx64で行います。

SDLのダウンロード

SDLをダウンロードします。ゲームのための基礎的なライブラリでウインドウやオーディオ、入力処理などの機能をサポートしてくれます。(C言語で書かれて軽量)

https://www.libsdl.org/download-2.0.php

Development LibrariesのSDL2-devel-2.0.18-VC.zipをダウンロードして解凍します。ファイルの場所は自由でいいですが、パスが必要なので覚えましょう。この記事では Cドライブの直下とします。なお私のgithub上ではプロジェクトディレクトリ一つ戻りのExternalディレクトリにあります。

Visual Studioに戻って、ソリューション名のプロジェクト名を右クリックします。

追加 -> 新しい項目からc++の新しいファイルをつくります。

もう一度、 ソリューション名のプロジェクト名を右クリックします。

プロパティ-> C/C++ -> 全般 -> 追加のインクルードディレクトリ -> 編集から インクルードディレクトリ を変更していきます。パスしだいで変わります。SDL2がインクルードできるようになります。

C:\SDL2-2.0.18\include

私のgithub上

..\..\external\SDL2-2.0.18\include

同じように プロパティ-> リンカー->全般->追加のライブラリディレクトリ->編集にも追加します。

C:\SDL2-2.0.18\lib\$(PlatformTarget)

私のgithub上

..\..\external\SDL2-2.0.18\lib\$(PlatformTarget)

同じように プロパティ-> リンカー->入力->追加の依存ファイル->編集にも追加します。

SDL2.lib
SDL2main.lib

同じように プロパティ-> ビルドイベント->ビルド後のイベント->コマンドライン->編集に追加。

xcopy "C:\SDL2-2.0.18\lib\$(PlatformTarget)\*.dll" "$(OutDir)" /i/s/y

私のgithub上

xcopy "..\..\external\SDL2-2.0.18\lib\$(PlatformTarget)\*.dll" "$(OutDir)" /i/s/y

同じように プロパティ-> リンカー->システム からサブシステムをコンソールに設定。

これにより、SDL.dllをビルド時に開発ディレクトリにコピーできます。

※$(PlatformTarget)の後ろに\が必要ない環境の方とかあるかもしれません。

Helloウィンドウ作成

はじめに作ったcppファイルを(ソース1.cpp)Hello.cppに名前変更した上で次のように変更します。

#include "SDL.h"

int main(int argc, char** argv) {
	// 初期化
	if (SDL_Init(SDL_INIT_VIDEO) != NULL) {
		// error
		SDL_Quit();
		return 1;
	}

	// Windowを生成する
	SDL_Window* window = SDL_CreateWindow(
		"Hello world",
		SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED,
		640, 480, 0
	);

	if (window == NULL) {
		// error
		SDL_Quit();
		return 1;
	}

	// 3秒待つ
	SDL_Delay(3000);

	// 後処理
	SDL_DestroyWindow(window);
	SDL_Quit();

	return 0;
}

ローカルデバッカーをクリック、もしくはデバック->デバックの開始をするとウィンドウが3秒現れてとじるはずです。

NEXT

コメント

タイトルとURLをコピーしました