2011年02月16日

週間わたしの坊主ちゃん41



ガラリとゲームエンジンが2.04〜2.06に変わったので、
開発秘話というか、今回の仕様変更箇所についてまとめてみようと思います。
技術的な事なので、ゲームそのものの話は一切ありません。


Windows7でメインメモリがどんどん増えていくというのはメモリリークだったようです。
苺坊主ではXPで開発を行っていたので、この現象を把握していませんでした。
最近ようやくWindows7のPCを導入したので、今後はWindows7ベースでの開発が出来そうです。
代わりにWindows7では落ちないのに、XPでは落ちる…という現象も起こったりしました。
しばらくは2つのOSでテストを行わないといけないので、プログラマには厳しい状況が続きそうです。
(98→XPのように一斉にWindows7が普及すれば良いのですが)


2.05から大きく変わった点は一部の画像キャッシュをメインメモリに残さずVRAMにのみ残すようにしています。
メインメモリ→VRAMの転送が実は非常に遅いので、メインメモリの使用を止めています。
(メインメモリはHDDに比べれば十分に早いのですが、CPUやVRAMに比べるとまだまだ遅いのです)
戦闘終了のリザルト画面が重い現象は、このメインメモリの遅さに原因があったようです。
この場面は2.04でスクリプトは改善されたので(描画方法を別のものに差し替えた)解決済みです。
メインメモリに置いておく利点としては、F5で画面の大きさを変えても画像が消えない点でした。
2.04以前ではステータス画面でF5を押しても文字が消えませんが、2.05以降では文字が消えます。
VRAMにしか画像データがないので、何処かに消えてしまうわけです…
こういう不利な点もありますが、メインメモリを使用しないことで2.05以降では画像表示が高速化されています。
(文字が消えても、画面を変えれば復活するので実用上無問題でしょう)


2.05ではメインメモリの制限を間違えて絞りすぎた状態でコンパイルしていたようです。
2.06ではメインメモリの使用量をConfig.exeで変更できるようにしてあります。
今時のPCならメインメモリは1〜2GB程度積んでいると思うので、メモリの使用量は「大」をお勧めします。
「中」以下に絞るとメインメモリの使用量は減りますが、頻繁にファイルの読み込みが発生するのでゲームが重くなります。
メインメモリをけちるメリットはないと思うので、512MBなど相当にメモリ搭載量が少ないPC以外では「大」にしておきましょう。メモリはアプリケーションの作業スペースです。
せっかく搭載したメモリを使用しないのは広大なスペースを無為に放置しているようなものでもったいないものです。


2.05まではVRAMの制御をプログラムでのみ行っていました。
簡単に説明すると、
 VRAMがどんどん増える→足りなくなる→解放する→以後繰り返し
という非常に単純ですが、VRAMが大量にある状況では効率の良い方法でした。
最近のグラフィックボードですと、ローエンド製品(3000円台の最安値)でも512MB〜1GBのVRAMを積んでいるので
この方法でも特に問題はありませんでした。
問題が出てくるのは256MB程度しか積んでいないものや、オンボードのものです。
苺坊主の作品は動作環境に書いてあるように
 オンボードでの動作は基本的に非サポートです
低スペックのPCで動くようなものよりは並のPCで快適に動く、を目指して制作しています。
近年のネットブックPC(Atom搭載機)に合わせて作成となると、蒼神縁起のようなグラフィックは難しくなります。
オンボードは足切りして、ローエンド以上のグラフィックボードを前提の設計になっています。
苺坊主内で主に動作確認しているグラフィックボードはRadeon4350やGeForce7300LEといった最低ランクのものです。
これらのグラフィクボードは劣悪な性能なので、ゲーマーからは見向きもされないモデル
なのですがオンボードとは雲泥の性能差があるようです。
カタログ上のスペックは近年のオンボードは良いのですが、
VRAMがメインメモリと共有型の為に致命的に遅いのが原因?とも考えています。
ともかくオンボードではカクカクのものもローエンドグラフィックボードでは快適、というのがこちらのテスト結果です。
オンボードグラフィックを騙し騙し使っている方は世界が変わるのでグラフィックボードの購入を激しくお勧めします。

2.06からはVRAMの制御の一部をスクリプトで出来るようになりました。
消したくなった場面で不要な画像をVRAM上から削除できるのです。
これのおかげで、当面使わないのにVRAM上に残り続けていた画像などが一掃できるようになりました。
不要な画像の削除はスクリプトで大半は出来ているので、Config.exeのVRAMの設定は「最大」をお勧めします。
無尽蔵にVRAMを消費するわけではないので512MB以上搭載しているグラフィックボードなら「最大」が良いでしょう。
VRAMを絞ってもメインメモリ同様にメリットはないと思います。
万一VRAMを使い切っても一気に解放するので、それが原因で落ちるなどということはありません。
(同時に複数のゲームを起動…などはさすがにこちらも想定していません)
VRAMが256MBなどのグラフィックボードの場合は一度に多数の大きな画像を読み込んだ際に
一部の画像が消えてしまう不具合が起こる可能性があります。
こういう場合は「大」や「小」を試してみてください。
2.06ではグラフィックそのものを大きく変更してVRAMに優しい仕様に変更してあります。
(パッチの量が大きいのはその為の新仕様画像を多数含んでいるため)
2.04以前ではVRAMに優しくない画像が多かったので2.06ではエコ化しています。
昔のファミコンのゲームが一枚の画像に色々なものを詰め込むような感じで2.06ではエコな画像になっています。


VRAMとメインメモリの説明はこれくらいで最後に「低画質モード」です。
これは本当に苦肉の策なので、基本的には使用しないでください。
内容は一言で言うと、
 VRAMの中身のビットマップ画像をJPG化する
といった代物です。正確にはJPGではないのですが不可逆圧縮で思いっきりVRAMをケチることができます。
その代償としては…
 不可逆圧縮なので画像の劣化が著しい。(PNGと低画質JPGを比べてみてください)
 VRAM内で圧縮作業を行うので、変換に時間がかかる。結果、ゲームが固まるような重さになる。
「低画質モード」は画質も悪く、重くなるという非常にマゾいモードです。
その代わり、オンボードグラフィックのPCでも動く可能性があります。
どのみち重すぎてゲームにならないとこちらのテスト結果では出ておりますが、
VRAMはほとんど消費しないので、画像が消えるなどの現象はまず発生しません。
いずれにしてもオンボードグラフィックを苺坊主では非サポートなので、
「低画質モード」もほぼ非サポートです。
その辺を踏まえてご利用ください。
画質が悪いが動作が軽いモードではないので、十分に注意して使ってください。


2.06では大きくエンジンが更新され、内部は別ゲームのようになっているので
どのように変わったかをまとめてみました。
VRAMを制御するスクリプトなど書いたこともなかった羊坊主がお送りしました。


posted by strawberrybose at 23:00| Comment(9) | 週間わたしの坊主ちゃん | このブログの読者になる | 更新情報をチェックする

2011年01月14日

週間わたしの坊主ちゃん40

はじめまして、
残暑ではエフェクトを担当させてもらった蛙ぼうずです。
某はじめてのだんまゲフンゲフン…を見たことプレイしたことがある方は
初めてではないですけど?

完成寄せ書きに書きそびれてしまい、
遅れではありますが挨拶させてもらいます。

ニコニコ動画にてエフェクト動画集シリーズを作ってくれた方がでてきてくれて
感激の極みでありますとともに、なにげに繋げの演出なども自分で作っているようで
よろしければこちらでドレぃゲフンゲフン…エフェクトをしていただければとおも…
いやいや、まぁなんというか、こう、そういった物件があるとしみじみと
後学や戒めになりほんのりほくほくだったりします。

今後もまた機会などあれば適当に画像とかあげれればなーとおもっております、あのよろし。
kaeruboze001l.png
posted by strawberrybose at 19:23| Comment(20) | 週間わたしの坊主ちゃん | このブログの読者になる | 更新情報をチェックする

2011年01月07日

週間わたしの坊主ちゃん39


明けましておめでとうございます。
うさぎ坊主に代わりまして、
この度は猿坊主が書き込みをさせて頂きますね。
パッチ更新のお知らせや、イベント参加の報告と共に、
残暑で語られなかった裏話でも、お話し致します。


まずは、残暑をご購入の皆様。
本日新たに、トップページにて最新パッチ(ver2.03)を公開させて頂きました。
現在報告されておりますバグを、大幅に修正致しましたので、
是非ともパッチのダウンロードと、verのアップデートをお願い申しあげます。
快適なプレイを提供できたら幸いです。


1月10日(月)、宮城県仙台市夢メッセ・東方杜郷想にて、
はちみつくまさん様のスペースに委託させて頂きました。
こちらでも残暑やサントラ等を頒布致しますので
お近くにお住まいの方は、是非とも東方杜郷想まで遊びにお越し下さい。




さて、重要な報告も済んだところで
先にお話致しました、残暑の裏話をお話し致します。
ちょっとした小話ですが、巷で謎となっている要素ですので
皆様の脳内補完、謎の解決にお一つどうぞ。
尚、残暑向けの内容ですので、
無印をプレイ中、または残暑を未プレイで、
ネタバレを回避したい方は、
以下をご覧にならず、お戻り頂く事を推奨します。
ストーリー進行に関わるものではありませんので、
残暑をプレイ中の方は、御覧になっても問題はございません。
































皆様、残暑にて参戦致しましたリトスを使用して、
何かを不思議に思った事はありませんでしたか?
そうです、アレです。
小柄で華奢なリトスが、その身に似合わぬパワフルなあの技を使用できたり
どこかで見たような凶悪な霧の技を、何故か使用できるというアレです。
ゲーム制作の都合上、本編では割愛させて頂きましたが、
あの一事におきましても、裏設定というものがあったりします。


今では幻想郷の守護神として祀られているゴルゴーン三姉妹ですが、
今回、博麗の巫女と同行したのはリトス一人のみでした。
次女のヴィオが謎の辻斬りによって倒され、戦線から離脱したため、
守護神として動けるものは、長女のシスと末女のリトス二人でしたが、
ヴィオと湖底神殿、そして家族を不穏な異変から護る為、
一人は残らなくてはならなかったからです。
そんな彼女達が出した結論は、
ゴルゴーン三姉妹最強の末女が、守護神として異変解決に動き出すというものでした。
そしてそのリトスに、シスとヴィオが託したものが、
彼女達が誇る強力無比なスペルカードだったという訳です。


如何でしたでしょうか?
皆様の疑問が少しでも晴れたのなら幸いです(笑)。
それにしても、借りただけでスペルが再現できるだなんて
スペルカードは便利ですね。
ド○えもんの道具や、ジョ○ョのスタンドと同じく、
猿坊主もスペルカードを使ってみたいものです。



posted by strawberrybose at 19:35| Comment(15) | 週間わたしの坊主ちゃん | このブログの読者になる | 更新情報をチェックする