はかせのラボ

私の頭の中を書いていく雑記ブログです

雑記 作品見てもらったまとめ

あいさつ

どうも、はかせです。
今回は業界内では有名な某提督に作品を見てもらい、
アドバイスをもらったのでまとめます。

パスとかは外部ファイルに

これは私が
「定数使うのに#defineとconstだったらどっち使ったほうがいいですかね」
という質問をした時に教えてもらったことです。

要は

#define PATH _T("nanntoka.png")
const int NANTOKA_INT = 10;

こんな感じでやってるとこをcsvなりxmlなりで締め出して
読み込む形がいいとのことです。

この形にすることで値の更新をした時に
逐一コンパイルが走らず、
ゲーム開発のイテレーションが早くなるとのことです。

フレームベースレンダリングではなくタイムベースレンダリング

これは某提督ではないですが、作品について教えてもらったので一緒にまとめます。
現在私の作品はフレームベースで動いており、
リフレッシュレートが60でないときは
リフレッシュレートを60で割った値でVSyncを行っています。

ただこのやり方だと75Hzみたいな60で割り切れない値の時
うまく値が算出されず、挙動がおかしくなってしまいます。

この問題を解決するためにはフレームベースではなくタイムベースで処理を進めるべきだというアドバイスをもらいました。

単位時間で処理することで環境のリフレッシュレートに依存せず安定した挙動ができるようになります。
リフレッシュレートに関しては過去にそれとなくまとめたものがあります
hakase0274.hatenablog.com
hakase0274.hatenablog.com

今後はSleepを用いたタイムベースの処理に切り替えていこうと思います。

あとがき

今回は作品を見てもらいアドバイスをもらった話です。

今回のアドバイスはゲーム開発の実践編の定石的なものだと思います。
それを知ることができた、その壁にぶつかったのはようやっと初心者の中の初心者を脱せたという風にとらえられるかなと思っておきます。
(まぁ私が無知すぎたんですけどねw)

今後も色々難しいことから簡単なとこまで、いろんなとこにぶつかりながら
学習を進めていきたいと思います。

それでは今回はこの辺でノシ