2015年10月21日水曜日

ハロウィンに間に合いたいHSPゲ製の経過報告

先月始めたころは、1ヶ月あるから何とかなるでしょうと思ってたけど
ハロウィンまであと10日を切ってしまいました。
ここ10日間くらいは、ブログを書く余裕もない感じでした。

そもそも、まだキャラの素材がぜんぜん足りてなかったり、マップも調整必須な状況です。
でも、21:30を過ぎるとプログラミングの速度がものすごく低下することが最近わかってきたので、
その時間を有効利用してブログを書こうと思います。₍₍ (ง ˘ω˘ )ว ⁾⁾
#明日のこの時間はFFの新作アプリが出るからそっちをやりたい。。。

進捗報告


製作途中ですが、動画をとったので宜しければご覧ください。
テキストで説明するよりも、どんな感じに作っているかがわかりやすいと思います。
音楽と効果音は「フリー音楽素材/魔王魂」様の素材を利用させていただいています。
いつも思いますが、音楽をいれるとゲームの雰囲気が格段にあがります。


動画のとおりですが、次のような実装をしました。

・PC(プレイアブルキャラクター)のほかのNPCを配置して勝手に移動するようにした。
・HSP3Dish 対応をした。
・マップを4つ作った。
・マップに配置したポータルで他のマップへ移動できるようにした。
・花火のエフェクトを追加した。

NPCを移動させるのは、スプライトを表示する機能を前回の段階で実装していたので簡単にできました。
移動とはいっても、ランダムな方向に毎回1歩進むだけです。
PCと同じように移動できるかどうかの衝突判定をしています。

HSP3Dish 対応


HSP3Dish 対応は、なんで最初からやらなかったのヽ(`Д´#)ノ ムキー!!という感じになりました。
HSP3Dish でリリースしたいという人は、最初から #include "hsp3dish.as" をいれて開発するといいかもしれません。

主に困ったのは画像の扱いです。
HSP3Dish でない場合は、アルファチャンネル付きの画像を描画するときに、アルファチャンネル用の画像をRGBの画像の隣に配置して gmode 7 で転送します。
これが、HSP3Dish では便利になって、 png のアルファチャンネル付きの画像をそのままバッファ読みこんで使えるようになりました。
便利なのですが、最初に HSP3Dish ではないやり方を使っていたため、画像転送のロジックやら、画像自体もアルファチャンネル付きに加工する手間がかかりました。

画像関係でもうひとつ、原因がはっきりわかりませんが、 picload ではうまくアルファチャンネル付きの画像が扱えず celload を使うことになりました。
picload と違い、ウィンドウバッファのサイズを変更せずに読み込むことができません。
picload を使っていたときは、細かな画像をぺたぺたとウィンドウバッファにはっていたのですが、それができないので、あらかじめバッファに対応する1枚の画像として用意することにしました。
スクリーン(#0)以外のウィンドウバッファの編集が制限されていることと関係しているのかもしれません。

もうひとつは、 mref 66 により VRAM のピクセルデータを見ることができなくなったことです。
前回書いたように、当たり判定は白黒の画像の画素値で判定しています。
pget で配列にコピーしようと思いましたが、毎回マップ読み込みで行うのも時間がかかるし、実際に試してみたら HSP3Dish には対応していないようでした。
そのため、画像をバイナリファイルに一度変換して、それを bload で配列に読み込んで使うようにしました。

HSP3Dish は制限はあるもののスマホやウェブブラウザでもソフトを実行できるようになることが魅力的だと思います。
あと、音量調整の mmvol という便利な関数もあります。

マップの実装


マップの絵を描くのはすごく時間がかかりました。
うまいとは決して言えないのですが、そこは百も承知です。
ただ、下手なりに丁寧に書こうと頑張りました。
1日1マップが限度でした。プログラミングとはまた違う疲れがでてきます。

ポータル移動は、ポータルをスプライトで実装して、zキーを押したときに、ポータルが近くにあればそのポータルに対応したワープ処理をするようにしました。
動画ではわかりにくいのですが、最初は使えないポータルが、緑の服を着たNPCにzキーで触れるとポータルが有効になるようにしています。

花火の実装


これは、エンディングで使おうと思っている花火です。
小さな星がつくことでかなり花火らしくなりました。

全体的に薄暗くして夜っぽい感じにするには、 gmode と grect を使います。
この命令で半透明の矩形を描画して簡単に薄暗くすることができました。
 参考:画面を暗くしたい - HSPTV!掲示板

gmode 3, , , 100
color 0, 0, 64
grect x, y, 0, width, height

これだけで、少し青っぽいうすぐらい感じになります。

今後の予定


キャラがまだお団子キャノンの主人公しかいない状態なので、キャラを増やそうと思います。
それと、マップも壁にめりこんだり、重なり方が不自然なところがあるので当たり判定などを調整します。
それと、できたらミニゲームをさらに追加したいと思っています(これ自体ミニゲームですが…)
ハロウィンの日まで間に合うか微妙ですが頑張ります(`・ω・´)ゞ

0 件のコメント:

コメントを投稿