ソフトを開発しようと思った動機、背景
200X年某月某日、MacユーザのMさん宅にて、とある集まりでのこと……。Bさん:Mac OSのスクリーンセーバ、やっぱかっこいいなぁ。うちのWindowsにもこういうのほしいなぁ……(その“かっこいい”スクリーンセーバとは、Mac OSに標準で付いている「PictureFolder」とかいうもので、絵をズームしつつ次の絵がボヤ〜っと重なりながら切り換え表示するというものでした)。
私:ベクターとかで捜せば、Windows用で似たのあるんじゃないの?
Bさん:いや、それがなかなかないんですよね〜。
私:そうなんだ…… じゃ、自分が作りましょうか?
Bさん:本当ですか!? 是非お願いします!! これは萌え〜♪(謎)
私:(げっ!! 冗談のつもりだったのに…)あっはははは……。まぁ、あんまり期待しないでくださいね。
※以上のやり取りは、一部誇張した表現が含まれていますが概ね事実にもとづいています(笑)
というわけで、引っ込みがつかなくなった私は、技術力のかけらも持ち合わせていないにもかかわらず、このスクリーンセーバを作ることになりました。しかし、できあがったのはオリジナルとは似ても似つかない代物だったのですが……。
開発中に苦労した点
まず、フルカラーの環境でズームやクロスフェードといった画像処理を高速に動作させる必要がありました。しかし、自前でそういったプログラムが組めるほど、私は頭のできがよいわけではないので、普段使用しているフリーの開発用言語である、Hot Soup Processor(以下HSP)のプラグインを捜すことからはじめました。幸いなことに画像処理用のプラグインは、HSPユーザの多数の方々が作ってらっしゃったので、この問題は早々にクリアすることができました。こういったライブラリの類を開発する方々には本当に感謝の気持ちでいっぱいです(使用させて頂いたプラグインの詳細はドキュメントを参照)。
ところが、そのプラグインの使用段階において扱い方がまずかったのか、テストでまれに不正処理(アドレスを不正にアクセスしたとかいうやつ)が発生し、プログラムが強制終了してしまうという事態に悩まされ、一時は原因を特定できず開発を断念しようかと思ったこともありました。
あと、こういった汎用的な画像表示系スクリーンセーバは、どんな画像サイズであってもそれなりに表示できなければならず、しかも、ズームやスクロールを使用した動きを表現していることもあって、そのあたりの調整に少々苦労しました。
ユーザにお勧めする使い方
好きなイラストやCGなどの画像とお気に入りのサウンドをフォルダに入れて、BGVみたいに再生させるのがなかなかよいかと思います(何だかんだ言っても、自分の環境で気に入って使っております♪)。あと、できるだけマシンスペックの高いPCで実行させた方が、ストレスが溜まらなくてお勧めです(笑)
今後のバージョンアップ予定
今のところ、以下のバージョンアップを予定しています。
- グループ設定モードを追加する。つまりフォルダごとにスクリーンの解像度や、エフェクトの速度、表示待ち時間などを設定できるようにする。
- スクリーンセーバ実行時のフォルダ選択を、ランダムだけでなくリスト順にも行なえるようにする。
あと、何か機能要望などがあれば是非お寄せください。私のようなヘタレなプログラマーでも実現可能であれば対応させて頂きます(笑)
(ふぁるこん)