🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

3回答

6487閲覧

c++環境におけるゲーム開発の勉強方法を教えてほしいです

fk_beginner

総合スコア16

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2021/03/27 15:03

https://atcoder.jp/contests/apg4b
上記のサイトでC++の基本的な書き方を勉強したところまではよかったのですが、いざアプリを作ろうとするとウィンドウを表示するプログラム__(Visual Studio C++のウィンドウアプリケーションのデフォルト)__すら解読不能です

これらを学習できたり足掛かりになるサイトや書籍などを教えていただければ幸いです

それともまずはコンソールアプリやDXライブラリを利用したゲームを作ってみるべきでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

以下は個人的な考えなので話半分に聞いてほしいです.

ゲーム開発の目的がゲームの販売だとかハイクオリティなゲームの作成であればC++はあまり向かないと思います.もちろん,大人数でゴリゴリ開発できたり,凄く優秀な人なら別ですが...

私はゲームが作りたくてUnityに入門したのですが,ちょっと難しくてやめました.そして根本となる3DCGだとか,ゲーム特有のアルゴリズムサウンド処理を学んでゲームを作成しようとしました.これが地獄の始まりだったんですけどね.


C++でゲームが作りたい場合の候補として

  • DXライブラリ
  • SDL2
  • UnrealEngine4

が有名どころとして挙げられると思います.これらを使うと他のライブラリをあんまり使うことなくゲーム開発ができます.どれも歴史があるので情報は公式サイトやネット上にたくさんあります.UnrealEngineは個人の方がハイクオリティなゲームを作っているyoutubeがあったはずです.
そして,どれもAndroidゲームの開発も可能だったように記憶しています.

SDL2はここを参考にしていました.DXライブラリは日本語の情報が多いので,ググればいっぱいあります.
UnrealEngineはあんまり触ったことないのでわかりません.


で次ですが,グラフィクスAPIをゴリゴリ使って開発することもできます.OpenGLとかVulkanとかDirectほにゃらら とかです.
これだけでは,絵の表示だけですので,サウンド(PortAudio OpenAl(古い) FMODなどなど)やゲーム開発のアルゴリズムも学習する必要があります.

これは,なかなかにハードなのですが,一度ハマると面白くて,朝から晩までパソコンの前にいました.

OpenGlは情報がたくさんあるので,困る事は少ないかと思います.私が見ていたサイトは
和歌山大学床井研究室
同じく床井研究室
opengl-tutorial

あたりです.
書籍で言うと「ゲーム3D数学」と「ゲームプログラミングC++」も良いと感じました.

Directほにゃららは使ったことがないので,パス.

VulkanはVulkanTutorialが一番わかりやすいと思います.
ただし,HelloWorld(HelloTriangle)で1000行はあるので,途中で挫折しかねません.このチュートリアルが終わるころには,3Dモデルを読み込んで描写できるようにはなるのですが,キャラクターの動きだとか,水しぶきとか炎,動画の再生,GUI,物理エンジンとかのゲームに必要なものは自分で開発するかライブラリを利用する必要があります.


もっと低レベルになって,自分で描写エンジンをつくってOS依存のサウンドAPIでゲーム開発もできます.ただ,ここまでくるとゲーム開発というより...って感じです.


・C++でゲーム開発->能力の底上げ,ゲームの仕組みがわかる.

いざアプリを作ろうとするとウィンドウを表示するプログラム(Visual Studio C++のウィンドウアプリケーションのデフォルト)すら解読不能です

私もWindowsApiだとかUWPだとかに挑戦しましたけど,挫折しました.
でも,難しいことは簡単にできるようにしてくれてる人がいるもので,GLFWなら

GLFWwindow* window; glfwInit(); window = glfwCreateWindow(1000, 800, "HelloWorld", nullptr, nullptr);

みたいな感じで簡単かつ直感的にウィンドウを表示できます.

私も綺麗なコードは書けませんし,C++規格書もちょっとしか読んだことありませんが,時間をかければ(汚くとも)動くコード(保守性,拡張性はくそくらえ)は誰でも書けるようになると思います.

もし,C++の基本的なことがわからないのであれば,書籍や動画で体系的に学ぶのが良いかと思います.英語ができるのであればyoutubeでC++と検索すれば出てきますし,書籍であれば,ロベールのC++入門講座とか江添亮のC++入門とかがわかりやすくていいなと感じました(あくまで個人の感想です).あとは,cpprefjp
です.ここはちょっとした時間に眺めているだけで勉強になります.

・Unityとか->ストアに並べられるクオリティにまで個人でも持っていくことができる.またワンクリックするだけでweb上だったりで動かせる.かつ,情報量も多い.日本語のyoutubeも結構ある.

私も精通しているわけではない素人ですので,鵜呑みにせず,あくまで参考までに...????

投稿2021/03/28 00:03

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

まずは Unity + C# でやってみるのがいいと思います。ゲーム制作に関しては書籍や情報がとにかく多いです。初心者向けもいっぱいあります。初心者であればとにかく情報量が多いものから手を付けるのがいいです。

ゲームを色々作ってくうちにこれだとダメだとかあれをエンジンに頼らず自力で作ってみたいとか思い始めたら、ステップアップの時期です。C++はその時から始めても遅くないかと。

投稿2021/03/27 15:52

AbeTakashi

総合スコア4848

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fk_beginner

2021/03/28 00:14

unity+C#から始めようと思います!
guest

0

Microsoft は C++ でのグラフィックユーザーインターフェースを持ったアプリケーション開発環境の提供をあきらめたようです。現在提供されているものは真面目に C++ を使って貰おうという意思が見えません。
C++ はもっぱら コンソールアプリケーションと dll の開発用として残しているみたいです。
グラフィカルなゲーム開発をしたいならC#か、(私は使ったことありませんが)Pythonで開発すべきと思います。

投稿2021/03/27 15:43

編集2021/03/27 16:11
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問