通しテストプレイと、他PCでの動作確認で発生した問題の解決
ゲームライブラリSFMLで、モンスター育成ローグライク(ダンジョンRPG)を制作中です。
通しテストプレイと、見つかった不具合の修正を行っています。
不具合の発見頻度は、もうかなり低くなっています。
---
開発機以外の、他のPCでも動作確認を行ってみました。
すると、開発機では見落としていた重大問題が発覚しました。
動作確認したPCでは、画像が全く表示されない、文字列描画が乱れる、異常終了を起こす、といった有様で、まるでプレイできませんでした。
これは、開発機との性能差が原因でした。
性能が低めのパソコンでも動くように、ソースコードの改修を施しました。
原因のひとつは、起動直後に初期化や読み込み処理を一気に行っていたこと。
性能が低めのパソコンでは、追いつかなかったようです。
徐々に読み込んだり、レンダーテクスチャを動的に(=後から)作成するように書き換えました。
もうひとつは、レンダーテクスチャの多用による、ビデオメモリ不足。
性能が低めのパソコンでは、そういうことも起こり得るようです。
レンダーテクスチャを可能な限り削減して対応しました。
---
SFMLの機能であるレンダーテクスチャは、描画対象にできるテクスチャです。
多数の描画が毎フレーム必要な時、画面の代わりにレンダーテクスチャに描画しておけば、2回目以降はレンダーテクスチャだけを描画すれば済みます。
これで描画負荷を軽減できると思って多用していましたが、思わぬ弊害があったようです。
今後は、レンダーテクスチャに頼りすぎない造りを心がけます。