Petitcom in 3DS

ランバートでシェーディングしたキューブ1個で4FPS程度か。ワイヤーフレームなら20から30FPS程度は出るが、ダブルバッファリングなんぞは無理なので、容赦なくちらつく。ワイヤーフレームは線引き関数で一発だが、ポリゴン面のラスタライズは自前でチマチマやるしか。

petitrenderer.jpg

“あわよくば”、これでdemoでも作ってみるかなと、ここ数日書いてみて、プチコンでリアルタイムレンダリングさせてみたが、重すぎる。当初の目標ではper pixelシェーディングで色々やってみたかったが、これ以上重くなるとリアルタイムとは呼べなくなりそうだ。
DSiよりもパワーのある3DSだとより高速になっているのかと思ったが、そうでもなかったようで。多分同じ速さで動作しているのかね。リミッタ外せないのかな。

ハードウェアの支援など何一つ無い、低速なグラフィックへの読み書きなので、oldschoolな2Dのdemoも結構厳しいのではないだろうか。スプライトもサターン並みに変形出来れば、利用出来たのだろうけれど、このソフトはそういうコンセプトではない。

重い以外にも相当制約が厳しい。
数は固定小数点のみで、精度も余裕が無くカリングがうまくいかないケースがあるし、内積などで最大最小値を超えるとオーバーフローで止まる。
グラフィックは色が256色しか扱えないので、使う色を限定してさらに間引かないと多色を扱うことすら困難。
試しに深度マップ用意しようと愚直に256*192で配列を取ったら配列の限界数を超えるし、メモリも不足する。深度マップに関しては256色ながらも下画面のバッファを活用すれば裏技的に実現できそうだが、色の読み出しが大変重そうである。Zソートしか現実的ではないかな。

さらにBASICがクセモノというか、私はベーマガ世代でもなんでもないが、昔の人はよくこんな言語使って組んでたなと関心するほどに扱いにくい。非効率的すぎる言語だ。
スコープという概念というかローカル変数なんぞ無く、漢らしく全部がグローバル変数。サブルーチン先で値(特にFOR文のカウンタ)を上書きしてぶっ壊してえらいこっちゃ。
サブルーチンに渡せる引数も無いので、仕方がなく引数用の汎用的な変数を用意してそこに値をぶち込むのだが(これも変に値を上書きして壊さないように注意しながら)、行列1個で16回のコピーが発生するのがなかなか馬鹿にならないコストだと思うし、コピーする処理を毎回書くのが面倒である。

アドレスも扱えないし、個人的にはアセンブラの方がまだマシかね。

まあ、こんな馬鹿みたいなことをやろうとしなければ、良い言語だとは思わないけれど、良いソフトだと思う。タッチパネルの仕様の所為か、結構な頻度で押した場所と違う場所が押されてしまい、変な文字が入力されて嫌なことになるのが気になるけれど。

(追記)mkIIが出たので、QRコード公開してます

Eschalon Book 2 part.2

SpellのCreate FoodとDraw Waterで自給自足が可能に…
万能過ぎて折角のサバイバル要素を殺している気もするが、自転車操業に歯止めがかかりそうだ。
釣りとか、敵対していない野生動物がいて狩りをできるようにするとか、草とかキノコとかを刈れるようにするとかの方向で解決して欲しかったかな。それで焚き火をおこして肉を焼いたり、パイを作ったりして食べるんだ。Arx Fatalisですが。

宿屋に泊まることでも飢えを凌げるが、泊まると一端空腹と渇きを全快にした後に寝て、起きたらいずれもちょっと減ってるという。朝食は出してくれないのね。

Quick Travelで長距離の移動を済ませると、靴装備が痛む。ちゃんと脱いで素足というかブーツで移動しましょう。

両手に持ったり身につけたりしている装備の重量次第(Strength依存)で、魔法詠唱が出来ないのをすっかり忘れてた。素早い身振りによって魔法が発動するのね…
防具の着脱と、武器の装備(外すのは0ターン)で、ターンが経過するように変更されているのと組み合わさるとなかなかきつい。軽装メイジの意義がちゃんとできているのだが。

book_2-Port_Kuudad_Gate.jpg

Port Kuudadという壁に囲まれた街に入るのが一つの関門になっているのだろうか。前作でもそういう壁に囲まれた立ち入りに条件が必要な街というのがあったが、あれよりもさらに入る条件が厳しくなっている。
金を払って真面目に入るという選択は、商人プレイで荒稼ぎでもしていない限り、相当厳しい金額に設定されている。ゲート側のOfficeのようなところに進入してレバーを入れるという手は、衛兵にみつかると敵対するし、見張っている衛兵との距離も近いので、例えInvisibility Potionがあったとしても音や気配で気がつかれてしまうので、かいくぐるには相当なSkillが必要だろう。
となると、どこか別の入り口を探すことになるが、これまた前作のザルのような抜け道と比べると結構面倒なことになっている感じで。

中に入ってさえしまえば、各種Trainerがいるので一気にキャラクターを強化することが出来るので一息つけるだろうか。今回は10までSkillを訓練することができるようなので、訓練可能なSkillに関してはさらに適当でもなんとかなりそう。その分、訓練費が大量に必要にはなってくるが。