弾幕STG制作その2

アバター
みょん
記事: 16
登録日時: 12年前
住所: 京都
連絡を取る:

弾幕STG制作その2

投稿記事 by みょん » 11年前

[youtube][/youtube]

STG制作その2です。
設定とか世界観をひたすら考えたり絵を描いたりしてたために進捗あまりないです。
- メニュー画面を作った(それに合わせてシーンごとのループの制御)
- 地図を出した
- 得点ボードみたいなのをつけた
- 会話でControlスキップできるようにした
- **ひたすらリファクタリングした**

リファクタリングがんばったおかげでAPIは結構いい感じになって満足していますが、プロジェクト全体でコードがすでに1700行ちょっとあるので正直つらいですね。コードが長いと変更箇所が分散してやりにくいのでもう少し上手く圧縮したい…。

あと、今はスクリプトを直接本体のプログラムに埋め込んでいるので敵のパラメータを変更する度に再コンパイルが必要なのがかなり面倒です。けれどスクリプト側でコンパイルエラーが出る機構はぜひとも欲しいので実行時にevalするのは避けたい…ぐぬぬ…ってなってます。
(スクリプトの部分だけ本体から独立させて別々にコンパイルとかできればいいんですがどうしたらいいのか…本体をライブラリ化するべきなのか…やっぱり普通はスクリプトはスクリプトで別の言語と処理系を使うのが普通なんでしょうか?)

少しずつですがSTGのコアの部分は出来てきたので、そろそろ本格的にゲームとして遊べるものを作っていこうかと思います。
1面として遊べるくらいの長さになったらまたその3を書きたい。
(使ってるライブラリが3Dとサウンドに対応したら3D背景とかSEとかBGMについても考えないといけないなぁ…)

アバター
Dixq (管理人)
管理人
記事: 1662
登録日時: 15年前

Re: 弾幕STG制作その2

投稿記事 by Dixq (管理人) » 11年前

1700行だなんて、龍神録は4万位ありますよ・・・。(敵のスクリプト別で
敵の出て来方とか弾の打たれ方とかは全部csvで書きましたが、本来ボスの弾幕とかもluaで書いた方がいいんでしょうね~。
個人的には一緒にコーディングしちゃってもいいと思ってますが・・。

アバター
SAI
記事: 115
登録日時: 14年前

Re: 弾幕STG制作その2

投稿記事 by SAI » 11年前

自分が今までヒーヒー言いながらやってたことがリファクタリングだと知った今日このごろ。
コードが長いと大変ですよね。あの処理はどこに記述したっけ? となってその部分を探すのに時間がかかったりして困ります。

さて、動画の方ですが、
まず最初の敵の魔法陣のせいで、ちょっと弾が見辛いです。離れて避けるぶんには構いませんが、近づこうとすると見にくくてたまらないと思います。

それから、26秒の時点で左下からレーザーが飛んできていますが、あれは何なのでしょうか? バグ?

それと、18秒前後で顕著ですが、自機の弾の当たり判定がおかしいように見えます。敵は1体なのに、左1つと右2つの弾が消えていたり、左1つと右から2つ目が消えていたり。

弾や敵が消えるエフェクトが綺麗ですね。

スクリプトとかライブラリは・・・わかりません orz
私の場合全部コードに記述してしまっているので、スクリプトを使ったりライブラリを作ったりしてないですね・・・。

アバター
みょん
記事: 16
登録日時: 12年前
住所: 京都
連絡を取る:

Re: 弾幕STG制作その2

投稿記事 by みょん » 11年前

>Dixqさん
よ、よんまん…そこまで行ったら迂闊に新機能を追加するのも大変そうです。
luaとかもよく聞きますね。新しい言語を今から覚えたり本体で使うためのインターフェイスを用意したりするコストが見合わない気がするので今回その案はないかなと思ってるんですが、実際そういう選択肢もあるってことはたぶん大事なことですね。

>SAIさん
設計がアレだとどこに書いたかワカランってことが私もよくあります。
魔法陣については、これは素材を使ったその場しのぎのもので、あとで自作のもうちょっとちゃんとしたやつに差し替えるつもりです…。
レーザーは一回左下に飛んでいったものが減速しすぎてUターンしていたようです。直しました。
弾の当たり判定はちょっと色々適当すぎたので直してきます…(こういうアルゴリズムとか考えるのすごくつらいし苦手なのでどうしても適当になってしまうよくない癖が)

コメント頂いてありがとうございます。エフェクトは大体素材なんでアレですけど、できる限り自作してなんとかしたいなぁと思ってます。優先度があんまり高くないのでいつになることやら…。
ちなみにエフェクトを初めとするアニメーション素材はぴぽや倉庫さんのを使わせてもらってます。良質ともに素晴らしいです。

アバター
御津凪
管理人
記事: 200
登録日時: 15年前

Re: 弾幕STG制作その2

投稿記事 by 御津凪 » 11年前

私のところも4万行超えてるけど、12個程度のライブラリを使ってこれだからかなり大きいのかな・・・

スクリプトはさっくり実装させるならLuaやSquirrelあたりを使うと良いかも。(東方心綺楼ではSquirrelを使ってるらしい)
あまりスクリプトの構文を新しく覚えたくないと思うならC言語とほぼ同じ構文のAngelScriptという手もありますね。

でも日本語での情報がいちばん多いのはLuaですかね。

アバター
みょん
記事: 16
登録日時: 12年前
住所: 京都
連絡を取る:

Re: 弾幕STG制作その2

投稿記事 by みょん » 11年前

>御津凪さん
そういえば、私も表面的には10程度のライブラリに依存してますね…(依存ライブラリがまた複数のライブラリに依存するので全部合わせると100は超えます)。なので一から作るよりは遥かに楽をしてると思います。
Squirrelって言語があるんですね、知りませんでした。(あと私はあんまりC言語の構文が得意でないです…すいません)

(というか一応私はPythonが使えたはずなので、本体がCやC++でできているならPythonを使ってると思います)