Appendix

広告

Entries

軽量化について考える2

だいたい1年くらい前、VXで作ってた頃にスプライトでいろいろと実験してたことがあります。
「箱庭の勇者たち」はキャラクターが何十人も駆けまわるため、軽量化は必須でした。なのでスプライトをどういうふうに扱うと軽いのか試していたのです。

さて、下の画像を見てください。
sprite1.jpg
この画像はこの記事書くために撮ったので、VXAceです。

ピクチャの表示を使って、二つのラインを表示しています。
ちょっとスクリプトいじって、上のラインは angle (回転角度)を 0 に、下のラインは angle を 360 にしています。

見ての通り、下のラインはちょっとずれてますね。
つまり、angle の 0 と 360 はイコールではないのです。

・・・だからなんだ?って感じですが、ここでの問題はズレて表示されることではありません。
ズレているということは、回転描写を行なって表示しているということです。

回転の処理が重いということは、たいていの人ならわかると思います。
つまり、0 の代わりに 360 を入れると、処理がとても重くなってしまうのです。

で、
ツクールのスクリプトにはそうなっている部分が1箇所あったりします。
sprite3.jpg
Sprite_Baseクラスの198行目。
アニメーションを左右反転させて表示するときの計算式が、(360 - data)になっています。つまり、回転角度を0に設定すると、360が代入されちゃうわけです。

そしてそのアニメーションの左右反転がどういう時に行われるかというと、二刀流で左手武器を使った時になります。

正直、私はこの仕様を知るまで、左手武器が重いなんてちっとも思いませんでした。ですが知ってからFPSを見ると、確かに二刀流だと少しフレームが落ちます。

結局何が言いたいかというと、前回の「軽量化について考える1」の続きです。
こんな重い処理ですら平然と見過されてる(もしくは二刀流が重いとわかっても仕方ないと割り切れる)のに、ダメージ計算がちょっと早くなっても仕方ないんです。
計量化は気にし過ぎたらダメです。
フレーム数が落ちないなら問題なし、ちょっと落ちても仕方ないで済ませちゃうくらいが丁度いいんです。

ただ「箱庭の勇者たち」では、キャラクターの向きでアニメーションを反転させています。つまり、約半数が反転させてます。
もし、この仕様に気づかなかったら、ものすごく重いゲームになっていたことでしょう。気づけて本当に良かったです。


ちなみに前回スクリーンショットで載せた特徴のキャッシュ化ですが、もし作ったという方がいたとしたら、使うのは自己責任でお願いします。
素材として誰かに配布しようと思っていたとしたら、やめることをおすすめします。
なぜなら、あのスクリプトには(私が確認した限り)一つ小さな欠陥があるからです。
「箱庭の勇者たち」では、競合しているスクリプトを削除している上に、欠陥の原因となる機能も使っていないので問題ありません。
ほとんどのゲームも原因となる機能を使っていないと思うので、まず問題無いと思いますが、ないとは言い切れません。
どうなるか確認もしてないので、答えは書きません。↑に書いた通り、スクリプトは作った人が責任持ちましょう。

さて、次くらいには「箱庭の勇者たち」の公式ホームページ上げれたらいいなあ・・・

スポンサーサイト
この記事にトラックバックする(FC2ブログユーザー)
http://woodpenguin.blog.fc2.com/tb.php/11-7c1bb912

トラックバック

コメント

[C6]

こちらでははじめまして。

木製ペンギンさんの箱庭の勇者たちはプレイしてプレイヤーとして、そして1ツクラーとしてかなり衝撃を受けました。

完成版はどんな風にパワーアップしているのかを考えると、完成するのが待ち遠しくなりますね。


スクリプトも公開されているようで、もし私も使いたくなったら使ってもいいですか?

それでは、紅白2お疲れ様でした。
紅白3が開催されれば、またその時に木製ペンギン様のゲームがプレイできることを楽しみにしています。
  • 2013-01-05 21:47
  • 月あかり
  • URL
  • 編集

[C7] Re: タイトルなし

> 月あかりさん
いらっしゃいませ~
紅白2お疲れ様でした。
箱庭の勇者たちをプレイしてくださってありがとうございます。そう言っていただけると嬉しいです。

完成版はどうなるんでしょうかねえ・・・w
思いついたもの全て詰め込むのは無理だし、体験版と大差ない訳にはいかないし、調整しなおさないといけないことも多いし、ゲームバランスも崩さないように気をつけないといけないし・・・
うーむ、プレッシャーです(=o=;

公開したスクリプトはどんどん使っちゃってください。
なにか不具合あったり、使いにくいところがあったら言っていただけると助かります。

月あかりさんのシンフォニアは私もプレイ中です。
ちょっと道に迷っているので、もうちょい試してもわからなかったら、質問に行こうと思います(/ω\)
  • 2013-01-06 10:50
  • 木星ペンギン
  • URL
  • 編集

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

Appendix

プロフィール

木星ペンギン

Author:木星ペンギン
ほぼツクールのことばかり書いてます。
名前は↑から取りました。
木製ですが木星です。
トカゲは関係ありません。

ゲーム

  • 箱庭の勇者たち(体験版)
  • アクイ ト アイ
  • ぼくらの大革命!
  • 勇者がやらねば俺がやる!
  • 3Turn Battle!
  • 3TurnBattle!2nd 体験版

メールフォーム

wood_penguin@yahoo.co.jp

名前:
メール:
件名:
本文: