#4メガコントラスト(その4)(終着駅編)(2006-03/14、アンバレン帯)
(影が出る。色もOK)
えーと、昨日の答えは、コタツねこ。あ、ねこは余計。あ、おこった。
■その話は、あとにするとして、色の続き。うーん結局PSPには「7/8」だね。上の画面のサンプルは、
あんまし良くなかったかもしんないケド。(サンプルなら「ソーシャルキングダム」の方がよかった)
びょーにんなんで許してね。ゴホゴホ。(注:都合が悪いとびょーにん)
ええと、始めにチェックするのは、建物の影。これが標準状態(補正なし)では、ほぼ黒に近い状態なので、
墨で描いた、キツイ線のように見え、影に見えない。上の画面は「7/8」で補正を入れてある奴。
影は真っ黒では影に見えない。陰として認識させる為には、適度な明るさが必要なんである。
(世の中には屈折光、間接光というものが存在する。光源からどっか物にあたって跳ね返り(反射して)届く)
適度な明るさがないと、別の模様になり画面から分離してしまう。PCのエミュで、チェックしてみたらいい。
陰には見えない筈。特に「ソーシャルキングダム」が辛い。
■アニメには「色彩設計」というものがあって、結局「アニメ」が変わっても似たようなもんだ。(注:一般人レベルの見解)
えっと、「肌の色」のような基本的な色は、それで「キャラクターの性格の一部」(注:見た目も立派な性格)まで
決定づけられてしまう為。「色彩設計」の範囲が狭い。ちなみに某国に発注すると、紫色になって、できますたって返って
くる。のは有名。
■人間の目の工学特性(注:この場合は人間工学?画像情報処理?)として赤の感度がとても広い。
人間は色を、RGB=赤、緑、青。の三原色に対応したそれぞれの細胞で感知するが、赤が一番発達している。
もっとも、計器のみでなく、「気分」によって「脳内で色変換」がかかるので、厳密にこの限りではないが、
まあ、誰でも知ってるでしょ?感度は赤>緑>青の順。知らなきゃちとべんきょー不足。知ってても、
べんきょー充足にはならない。不思議。
■特に「肌の色」(赤84%、緑70%、青55%とかその手)は、感度が鋭い所。肌色が悪いと、健康状態まで、
おつぼね様の情報メモに、記録されてしまう恐ろしい色。デビルマンはしっぽまいて逃げる。
(注意せよ:いかに情報収集能力を研鑽しようが、企業秘密なので、インターネットでぐぐっても出てこない)
■今上の画像見たら、全然ダメじゃん。そおいや人間には「記憶色」という問題があって、「物理的に感知した色彩」
よりも、「経験により記憶に蓄積された色」の方が優先するんだよな。すっかり忘れてたが。
■しょーがない実機で見てもらうしかないか。でも、ちと現在対策中。
(11:18)
■おし、VDPの(使ってない、要らない)ルーチン大量発見。これを排除したら、「OutRun」で、
FSKIP2、22050が現実のものに。(注:A20でも少しトロイが、この設定でほぼ遊べる。でも微妙にトロイ)
(13:09、そろそろお昼にするかな)
■やったつ。「スーパーファンタジーゾーン」といたつ。
こちらの「A22」はもう少し速くなってて、FSKIP0、22050って事。エンディングまで、すっかり忘れてたつ。
全体的に(特にボスが)程よくトロくて、ヌルゲーマーには(標準装備の業務用シンクロ連射と併せれば)最適っす。
もうVERUPしなくていいよ。なんてね。エンディングは少し重いす。もちっとしゅぎょーしてもバチ当たらんす。
今日の昼間なのに「A21」は遠い。(多分そんなに変わってないと思うけど、チェックするよりVERUPした方が、
建設的な気がする。)
(2006-03/14、23:08、なんかアメブロ軽くなってる気がする。「スパム」対策。効果上がるといいな。)
■最後のボスの攻略法は内側、内側。呪文のように唱えればなんとかなるつ。ブロック崩しとははね方が違う。
内側、内側。あとは業務用シンクロ連射だのみ。いきろつ。いきてれば、きっとえんでぃんぐがあるさ。
どおでもいいけど、2周目はもういいでつ。
(23:18)
■現在の「A22」ちと「BF03チェック」してみた。
が、とてつもなく悪い。確かに今CPPのクラスライブラリを破壊し再構成中で、多少は落ちるかもしれない。
それに、負荷はほぼ無い筈だが「メガコントラスト」も追加した。(エミュ育ちの人の為のOFFオプションは、
(もうちょっとVDP全体のデバッグが、済むまで実装しないので)ちと待ってくれ。どうしても不満なら「A20」)
他にもフレーム処理(チョビチョビ実行)でパフォーマンスが、落ちる可能性はある。
過去記事「06-02/11 DG #11 UPdate1合成」によると、このVERは音源がバグって不当に高い値が
出てるので、+3の部分は補正して考慮しないとしても、大体。
OFF 84fps(85)
5512 76fps
11025 73fps
22050 70fps
44100 60fps
この頃のVERは、(パフォーマンスチェック値が)大体こんなもんだ。
現在の「A22」は、大体。
OFF 78fps(-6)
5512 73fps(-3)
11025 70~71fps(-2~-3)
22050 65~66fps(-4~-5)
44100 55~56fps(-4~-5)
はっきり言って、あの頃のVERより、現在のVERの方が速い。(ゲームをやってみれば、一目瞭然)
管理人はあの頃のVERは要らない。
でも、何でだろ?不思議だ。あの頃のVERの方が、ゲームは明らかにトロイのに、
パフォーマンスチェック値は高い。
■CPPのクラスライブラリについて。
一体なんで、クラスライブラリを破壊し、しかもどんな再構成をするのか。
意味が、解からないかも知れない。
それは、詰まる所。「C言語」「C++言語」の特性の話になる。
まず、「プログラムの実行速度」を基準に考えた場合。「C言語」という用語はとてつもなく幅が広いので、
一体何を指しているのか判らない。
例えば、
GCC4xx系の「C言語」と、
GCC3xx系の「C言語」。
他にも、マイクロソフトの「C言語」や
ボーランドの「C言語」。
LSICの「C言語」。
コードウォーリアーの「C言語」。
その他WATCOMとか旧PC用とか(知ってはいるが、ワザと書かない、妥当だろ?)
「プログラムの実行速度」を基準に考えた場合。「対処法」が大きく異なる。
□マイクロソフトの「C言語」が一番最適化には強い。だが、かけすぎると不安定になる面もある。
マニアには、詳細までコントロール出来るので、弄りがいもあるが、ライセンスも厳しい。
(MFCは使わなくても良い、使ってもいいが)(PSP用(Rxxxx)は知らない。ないかも)
□ボーランドはかじった程度なので、あまり弄ってないし、VERにより大きく違うらしいが、よく知らない。
(VCLとかは関係ないし、DLLも使いたくないし)(現在は過去版に無料の奴がある。もちろんPCなら十分使える)(PSP用(Rxxxx)は知らない)
□GCC4xx系の「C言語」とGCC3xx系の「C言語」。は最適化の性質が大きく異なる様だ。
(PSP用がある)(linuxはここだお念の為)
□LSICのお験し版は、8086(リアルモード)のアセンブラの勉強になら、お勧め。(注:何をいまさら)
ワンダーウィッチは、ほぼ80186なので、この辺をガシガシ弄りたいのなら、嵌ってみるのもいいかも。
(ゲームボーイZ80やファミコン、スーファミ、メガドラ、PCE、のプログラミングに嵌るのと同様。コップの
中の水だが。最近はAMIGAとかC64(!)とか、レトロPC系も、色々あるよ)
(PSP用(Rxxxx)はないだろ)
□コードウォーリアーの「C言語」。よく知らないが、過去にMIPS版はあったよな。
(注:あったからPS1のゲーム売ってるんでしょ?違うの?)(注:PS2linuxは何処のカテゴリなんだろ?)
ライセンスの問題もあるし、ライブラリの問題もあるが、現在管理人はGCCで「ライブラリ」結局実質使ってないし。
つまり手に入りさえすれば、何とかなる可能性はあるが、与太話だな。(PSP用(Rxxxx)はある)
与太話でよければ、旧WS(ワークステーション、サンとか)のCPUはRxxxxだった。手に入りさえすれば、
PSPで使える可能性はある。(ライセンスとかいろいろあるから、結局駄目だろうケド)
ええと、PSPに関係がない「C言語」がずらずら並んでるのは、移植元の「C言語」がこれらの処理系に、
(知らず知らずのうちに)依存して、コーディングしてあるからだ。
管理人は現在PSP用にGCC4xx系を使っていて、コードもはっきり意識して、GCC4xx系でのみ速い
方法で記述している。「C言語」というのは、なにも知らない人が見れば、「VisualBasic」や「Java系言語」と
何処が違うの?
と思うかも知れないが。はっきりとどんなアセンブラコードに誘導したいか、記述出来る所に差がある。
「C言語」「C++言語」は「プログラムの実行速度」を意識した場合。「アセンブラコード」を意識せざる得ない。
「C言語」は「高級アセンブラ」とも言われるが、「C++言語」だって場合によれば「高級アセンブラ」だ。
「C言語」は「高級言語」==「VisualBasic」==「Java系言語」的側面と、「アセンブラ言語」的側面の両面を
持つ。もちろん、「C++言語」も同様だ。
ちなみに、「Java系言語」。「Java系」「JavaScript系」は、一見、見た目も似てるし、出来る事にも大きな差はないが、
本質的に「C言語」「C++言語」と異なる。「Java系」「JavaScript系」は、コップの中の水。コップの外にこぼれる事はありえない。
つまり、「高級アセンブラ」にはならない。
すべての言語が使える「マニア」でないと、本質的には、意味がわからないだろな。結局。
とにかくこれらは「道具」であるので、「道具」はTPOで「使い分ける」んだし。
「道具」に踊らされちゃ、だめぽ。
「C++言語」のクラスライブラリは安直にパフォーマンスを上げるには、とてもいいアイデアだ。
だが、結局。「もっと細かい事」をしようと思えば、「C言語」に戻らざる得ない。丁度、車で言えば、
「オートマチック車==(C++言語)」と「マニュアル(トランスミッション)車==(C言語)」の関係だな。
「A20」以降は、結局、次の進化すべき道筋として、「もっと細かい事」を考えている。だから、C++の
クラスライブラリの破壊にはいっている。
(次の日、ええと、03/15、03:21)