龍神録2の作り方を解説するサイト「龍神録2プログラミングの館」を開設しました。現在17章まで出来たので公開します。悩んだ結果、龍神録2と似た公開用の別のゲームをもう一つ作って公開することにしました。http://dixq.net/rp2/このサイトではC++によるオブジェクト指向で中規模以上の設計実装をする方法を紹介していきます。デザインパターンや先人のTips等を組み込み適切な設計を目指しています。序盤ではシーン管理や異なる画面間でのデータの受け渡し、ゲームの骨格の作り方などを紹介しており、ここでの質問で過去によくあったことを解決できる手伝いになるのではないかと思います。公開しているコードに突っ込み等あれば是非お願いいたします。竜神録2も解説サイト作られたんですね!!お疲れ様です。ゲームプログラミングの館と竜神録プログラムの館ではとてもお世話になりました。見てきたのですがサイトが完成するのが楽しみです。竜神録の館よりも本格的?そうで時間ができたら読むのを楽しみにしています。2年前にこよんさんご指摘ありがとうございます。著作権表記はずっと古い物をコピペして再利用しており、実際にクリックして確かめていなかったので気づきませんでした。適切な手法より簡単な手法を最大限選出して作っていった結果とんでもないコードになってしまって・・。一度開設したら、閉館しようにも閉館しては困るとの声で閉館できず困っていました。龍神録2プログラミングの館では、しっかり適切な方法で設計できるように心がけています。その分C++の知識やオブジェクト指向設計の知識がいるので難しい内容にはなりますが、今後は新しい方を見て頂きたいです。龍神録2プログラミングの館が完成したら、旧館の方は徐々にフェードアウトするようにしていきます。「龍神録2プログラミングの館」開設おめでとうございます!2が公開されてから、フルボイスとはいかないまでも「SE程度にボイスが入るSTGを作りたい」と思い、過去の館で勉強していました。今後も勉強してSTGを一本完成させるつもりでいますが、そもそもC言語にも触れたことがない者です。初心のわたしが本格的なゲームを作るための基本的な知識を得るのにはとてもよかったのです。竜神録2プログラミングの館はヘッダファイルの量が多かったので初心の頃に見たらやる気がそがれそうです(笑)>だんきゅんさんC言語は入門サイトが多いため最初からわざわざ書籍を買う必要はないと思います。C言語だけでもゲームは作れますし、まずは↓サイトでC言語の基礎を覚えてからhttp://9cguide.appspot.com/新・ゲームプログラミングの館で勉強すれば簡単なゲームは作れるようになります。http://dixq.net/g/シューィングを作るならそのあとで竜神録プログラミングの館や竜神録2プログラミングの館を見るというのがおすすめです。下のようにコードとして貼り付けた時に表示される[すべて選択]ボタンをクロームでクリックするとなぜかページの一番上に飛ばされてしまいます。他のブラウザではちゃんと選択されるのですが...クロームの設定の問題だったりするのでしょうか?修正できるようなら修正していただけるとありがたいです。下のようにコードとして貼り付けた時に表示される[すべて選択]ボタンをクロームでクリックするとなぜかページの一番上に飛ばされてしまいます。ビット)でも再現します。http://dixq.net/forum/viewtopic.php:1:1と出ました。viewtopic.php?f=3&t=19493:499と出ました。この不都合は報告済みです。正常に選択されました。公開しているコードに突っ込み等あれば是非お願いいたします。「龍神録2プログラミングの館」の公開コードの命名規則について素人目で申し訳ないのですが、質問です。下記等のように、公開されているコードの変数名が、アンダースコアから始まっていることについての疑問です。_map;自分の認識として、アンダースコアから始まる変数名は、C++において推奨されない認識ですが、こういった命名規則になっている経緯などありますでしょうか。予約名コードの規格への準拠と移植性を最大限に保つため、自分のプログラムでこのような名前を定義することは避けてください。連のアンダースコア文字と先頭のアンダースコア文字は言語やスコープに関係なく常に避けるのがよいでしょう。2年前だんきゅんさんありがとうございます。そもそもC言語にふれたことがないとなるといきなり龍神録2プログラミングの館の内容は難しいと思います。クラスのことやC++の一般的な知識はある前提で解説しています。DXライブラリの知識はゲームプログラミングの館の内容が一通り理解できるレベルも前提にしています。龍神録2プログラミングの館の位置付けは「中級者以上の人が本格的で適切な大きなコードの設計をする方法を学ぶ」としています。言語を触ったことも無いレベルであれば、まずは言語の勉強をし、ゲームプログラミングの館を見ながら少しずつ小さいゲームでもいいので自分で作ってみる所から始めてみて下さい。C言語の学習をする時にお勧めの本はこちらです。C++を初めて勉強するならこの辺がとっつきやすく読みやすいでしょう。参考書というものは人によって読みやすいと感じる感じ方が違うので、大きな書店に行って端から読んでみるのが良いです。自分にあった参考書を探してみて下さい。C言語、C++の入門書は山ほどあります。2年前にこよんさん適切さを削らずに分かりやすさに特化出来ればいいんでしょうけど、私にはその技量がありません・・。今回は思い切って中級者以上をターゲットに絞ることで住み分けをしようと思っています。先頭のアンダースコア文字は言語やスコープに関係なく常に避けるのがよいでしょうという表現は個人的には言い過ぎというか間違いかと思います。言語が違えば文化も違うし、仕様も異なります。JAVAでは先頭にアンダースコアにする記法がかなり一般的だと思います。・アンダースコアが2連続であるので、1つのアンダースコアの次が小文字であれば予約語ではありません。C++の予約語の表現に近いから似ている物は全て避けなさい、しかも言語が何の言語であったとしても、という表現は乱暴過ぎだと思います。言え、C++ではメンバ変数にアンダースコアを付けることが一般的ではないこと承知しています。私はJAVAを書いている時間の方が圧倒的に長いのでJAVAの慣習に慣れてしまい、私がかきやすいのでこの表記を使っています。言語仕様上間違いではないので、JAVAの慣習をそのまま流用していますが、気持ち悪ければアンダースコアをmに書き換えてもらっても構いません。確かにネット上にも勉強できるサイトがありますので、覚えていきたいと思います。>Dixq(管理人)様ご返信ありがとうございます!>まずは言語の勉強をし、ゲームプログラミングの館を見ながら少しずつ小さいゲームでもいいので自分で作ってみる所から始めてみて下さい。「いきなり大作を作ろうとすると挫折しやすい」と説よく聞きますので、ゲームプログラミングの館の内容に沿って勉強して、「まずは1面を完成させる」を目標にしたいと思います。書籍の紹介もありがとうございました。大型電気店ではなく大型書店へ行って、基礎の基礎が学べるものを探してみようと思います。言え、C++ではメンバ変数にアンダースコアを付けることが一般的ではないこと承知しています。私はJAVAを書いている時間の方が圧倒的に長いのでJAVAの慣習に慣れてしまい、私がかきやすいのでこの表記を使っています。言語仕様上間違いではないので、JAVAの慣習をそのまま流用していますが、気持ち悪ければアンダースコアをmに書き換えてもらっても構いません。ご回答ありがとうございます。経緯について、承知いたしました。命名規則自体には違和感はないのですが、C++でこの規則を使用している点が気になって質問しました。連のアンダースコア文字と先頭のアンダースコア文字は”言語やスコープに関係なく”常に避けるのがよいでしょう。他の言語では、気にする話ではないです。いう表現は個人的には言い過ぎというか間違いかと思います。言語が違えば文化も違うし、仕様も異なります。C++以外の話になっていたので、捕捉でした。2年前だいきゅんさん最初のうちは左手には教科書、目の前にはPCとコンパイラを用意し、教科書に書いてあるコードをコンパイラに自分で手打ちし、あれこれ変更して実行結果がどう変わるのか確認しながら学ぶことをお勧めします。ある程度慣れて来たらコンパイラなく、ただ通勤中に読むだけでも身に着くと思います。inemaruさん既述されている背景に移植があることは把握しています。他の言語で書かれた物をC++に移植する作業は巷にいくつか変換ツールはあるもののメンバ変数を揃える位で簡単化できるような物でもないと思いますし、AndroidStudio3.0でJAVAからKotlinへIDEが全力でコード変換をサポートしてくれるような仕組みが無い限り乱暴な決まりを守ってまで得る恩恵は少ないと考えます。最近のコンパイラはコマンド一つでメンバ変数の名前が変えられるので気になれば変換すればいいと思いますが、そもそも予約語を犯していないので気にする必要が無いという考えです。(管理人)さま管理人さんの考えとしては、(C++で一般的でないものの)規約違反をしているわけでないし、MSDNの命名規則を使用しても得られる恩恵は少ない気になるならリファクタできるということと把握しました。お手数おかけしました。2年前すみません、スペルミスです!直しますね。ミクプラは自由にリンクできます。