風薙鳥 ゲーム制作日誌

おかしな現象に悩むも、VC++2012に移行で解決

Visual C++ / DXライブラリでローグライク(ダンジョンRPG)を制作中です。

この頃乗り気になってきたローグライク制作ですが、ここに来て行き詰りました。
解決できない不具合が出て、正常動作しなくなってしまったのです。

どうも、いくつかの特定の変数を操作した際、他の変数の値も連動して変更されてしまうようです。
変数を宣言する順番を並び替えると、今度は並び替えた変数が連動の対象になります。
これでは、変数の制御がままなりません。
並び替えや変数名の変更では対応できないので、再発させない対応策が思いつきません。

自分のミスや知識不足を十二分に疑いましたが、進展はありません。
これまでVisual C++2008を使っていましたが、ダメ元で、Visual C++2012をダウンロード/インストールして、同じソースコードを実行してみました。
すると、嘘のように何事もなく動作しました。
あきらめムードになりつつあっただけに、少々唖然としました。

これは、VC++2008の問題だったのでしょうか?
Windows7とVC++2008の相性か、それとも64bitとの相性?
VC++2008がダウンロードできなくなったのは、その辺の理由もあったのでしょうか?

原因は不明ですが、対応できたので良しとして、ローグライクの制作環境をVC++2012に移行することにしました。
ソースコードを1行もいじることなく移行できたのは少々驚きました。

今までは、重いと聞いたから、という理由でVC++2010を避け、古いOSでゲームが動かないかも、という理由でVC++2012を避けてきました。
ところが、VC++2012でコンパイルしたローグライクもWindowsXPで動き、エディタも少し重くなった程度なので、懸念はなくなりました。
その上、VC++2008に比べてエディタの使い勝手が向上しています。
これで制作がよりスムーズにいくといいですね。