Code of Poem
Unknown programmer's programming note.

はじめに

このサイトはC++とゲームプログラミングを学べるサイトを目指しています。

対象とする人

ファイルの操作や文章の入力をこなせてコマンドラインで作業ができる程度のPCスキルがある人を想定しています。一応、少しでもプログラミングをしたことがある人を想定しています。もしかしたらまったく経験のない人でも読めるかもしれません。

開発環境について

開発環境はLinuxです。WindowsやmacOSについて触れることもありますが、確認する環境がないのであまり詳しいことは書けません。最初のうちはWindowやmacOSユーザーで本当のプログラミング入門者の方にとっては、たぶんほとんど役に立たないことしか書けないでしょう。ですが、途中からはできるだけプラットフォーム(OS)に依存しないようなものにしていきたいと思っています。

なぜLinux

なぜLinuxでゲームプログラミングなのかと言われると、大した理由もなく、単に自分が使っているのがLinuxだからというだけです。正直なところLinuxは特別ゲームプログラミングに適した環境でもないと思います。しかし、プログラミング全般に関して言うならLinuxは最高の環境ではないかと思います。ゲームのためにWindowsを購入するかするか、悩ましいところではあります。

なぜゲームエンジンを使わないのか

現在、個人でゲーム開発始めるならUnityやUnreal Engineなどのゲームエンジンを使うのが主流になっているような気がします。本屋にいってもそういう本がたくさん並んでます。一昔前はC++とDirectXというのばかりでもうその手のことは語り尽くされた気もします。なぜ今さらC++で一から作り始めないといけないのか疑問に思われるかもしれません。一度Unityを触ったことがあるのですがあまりに高機能すぎてしっくり来ませんでした。スマホゲームを公開したいとかいう目的ならUnityを使うのがベストな気がします。

C++で既成ゲームエンジンを使わずにゲームプログラミングをする一番の理由は、興味の対象が3Dグラフィックス、リアルタイムレンダリングにあるからです。Unityを使ったらレンダリングのコードを書けないというわけではないでしょうが、一から作るのが一番に思えます。そういう理由で昔ながらのC++とOpenGLという使い古されたテーマで学習を進めていきたいと思います。

内容の精度について

できるだけ正確になるようにあまり心がけていません。自分自信の学習も兼ねて文章を書いているため、不正確な内容が含まれることになるかと思います。「これどういうこと?」と思われるようなところがあったとしたら、こちらの方に間違いがあるか、理解が不十分なために曖昧な記述をしてしまった可能性が高いです。なのであまり気にしないで下さい。もし指摘してもらえれば訂正するように努力します。