Project Anthem(TCストライカーズ)

ぷろじぇくとあんせむ公式サイトであり雑記ブログ。当サイトはリンクフリーです。

最近クラシックを聞いています。勧められたというのもありますが、いろんなジャンルを聞き続けて飽きていたのが大きいです。誤解を恐れずに言えばどれも同じ曲に聞こえるからです。歳をとったせいですかね・・・。うちの上司とかアイドルの顔が見分けられないと言っていますが同じことのような。



それはさておきクラシックは素晴らしいです。理屈はよくわかりませんが心に響きます。音圧が低い分ダイナミクス幅が大きく抑揚のある音楽です。なんというか、音楽ってすばらしいんだと改めて思いました。





この動画は6時間もあります。有名曲はほとんど入っているおりときたま知っている曲が出てきて親しみやすいです。東方ファンならご存知の”亡き王女のパヴァーヌ”から始まるようにセットしてあります。是非楽しんで下さい。




こっちはゲームで使われてそうなかっこいい、速い曲です。機械入力らしくちょっと音が硬いですが、充分楽しめます。数世紀前からこんな曲が存在していたということに驚きました。私達が作るゲーム音楽は結局歴史を繰り返しているだけなのかもしれません。だとしたら古の作曲家たちに思いを馳せるのもよいでしょう。


クラシックは著作権も切れているため実質フリーです。このような感動的な音楽を無料で享受できるということに感謝せずにはいられません。

ふりーむSTG部門のエントリー作品をまとめました。画像クリックでふりーむの紹介ページに飛びます。※公開日順 ※12/27時点


REDNEG 3STARS(レッドネグスリースターズ)
REDNEG 3STARS(レッドネグスリースターズ) ゲーム画面1



さいどあいす 2  
さいどあいす 2 ゲーム画面1




North
North ゲーム画面1



カラノハコ 
カラノハコ ゲーム画面1



SCORPIO 
SCORPIO ゲーム画面1


機械戦争  
機械戦争 ゲーム画面1



蒼神詠月録〜Legend of Autumnal Tints  
蒼神詠月録〜Legend of Autumnal Tints ゲーム画面1



Integrate 第一実験場 
Integrate 第一実験場 ゲーム画面1



ナイトメアトリップ 
ナイトメアトリップ ゲーム画面1



ヤシーユのいきぬきシューティング 
ヤシーユのいきぬきシューティング ゲーム画面1



弾幕ファンタジックドリーマー〜An Ephemeral Diary 
弾幕ファンタジックドリーマー〜An Ephemeral Diary ゲーム画面1



YELL 
YELL ゲーム画面1


Let's go!
Let's go! ゲーム画面1



幻想創四季華
幻想創四季華 ゲーム画面1



North2
North2 ゲーム画面1




 まとめ動画の作成は未定です。プレイ動画が上がっている作品は随時リンクを追加していきます。ではみなさまよいフリゲライフを(^^)
餅男ランニング! ゲーム画面3


 TCストライカーズ2をバージョン1.42へアップデートしました。

 ダウンロードはここから

今回は

1.スコアアイテム取得時に獲得スコア表示
2.ボス戦前後でオートショットが途切れないように修正
3.ライトモードの調整
4.ローディング画像追加
5.リファクタリング


を行いました。必要のあるものだけ解説します。


スコアアイテム取得時に獲得スコア表示


キャプチャ


 実は本作ではスコアアイテムの獲得スコアが一定ではありません(ミスですけどね)。自機がアイテムに近づくとアイテムを吸引するのですが、その際に吸引した距離に応じてスコアが変動します。長い距離引っ張ったほうがスコアは上がります。


経緯↓
  1. 当初は吸引がなく一律400点。
  2. ver1.1で吸引を実装する。
  3. 吸引中(アイテム獲得前)も1フレームに付き400点入っていた(今回まで気づいていませんでした)。
  4. ver1.42から獲得スコアを表示する。
  5. 獲得スコアが変動しおかしいことに気づく

ということで、エラーを活かして獲得スコアが一律ではないようになってます。特殊な動きをすることで10000点近いスコアを出すことができます。超暇な方はやってみてください。



ライトモードの調整

 ディフィカルティ構造体を実装したことでライトモードの弾数等を視覚化できました。それを踏まえて見直すとレベルカーブがよろしくないことが分かりました。ちょうどいい感じで初心者⇒ライトモード⇒オリジナルモードと進めるよう調整しました。今までライトモードをプレイしてくれた方ごめんなさいm(_ _)m



リファクタリング

 大幅に改善しました。このゲームは第13回ふりーむコンテストのために急いで作ったものでして、コード的におかしい部分もありますがなんとか期限に間に合わせました。しかし、そういうコードって人に見られたくないですよね。ゲーム自体もいつ不具合が起きるか不安で仕方なかったのです。これではユーザーさんも気持ちよくプレイしていただけないので、改めてプログラミングを体系的に学習しリファクタリングしました。その御蔭で、コードもわかりやすくなり私自身、どこで何をしているのか明確に答えられるようになりました。
 こうなると心からこのゲームを勧められるようになりますし、エラー報告を頂いても容易に修正できることでしょう。



 これでTC02の開発は一旦終わりにして新作の開発に臨めそうです。

 スターシーケンスというのは私がそう言っているだけです。何かと言うと、ボスや大型機を破壊した際に周囲に円形にアイテムを放出するシステムのことです。

 ボスを破壊した際のアクションが寂しかったので賑やかにするために作成しました。


 
 引数で半径と個数を設定します。きちんと1周するように作ったはずなのですが、個数を増やしすぎるとつながらない部分が出てきますね。ちょうど視力検査のCみたいです。もし、☆ではなく弾ならばこれも弾幕になりますね。

 丁寧に作っておくと色々なことに応用できます。上述のように弾にすればそれだけで1つパターンを作ることができますし、弾セットにすればより面白いものになりそうです。


 他ゲームに見るスターシーケンス

 Eden’sEdge


 
 RedNeg3Stars
  
 
RedNegの方は星の位置が若干ランダムになってるんですね。これもかっこいいですね。


とりあえず


ちょっと古いですが、面白い記事をみつけました。

 

【東方】弾幕スクリプトってこんなシンプルに書けるもんなのか…



 コメントでも書かれていますが、さっぱりわからん・・・。

 東方はC++で書かれているということですが、弾幕用になんか言語っぽいものをお作りになったのでしょうか。

 これをそのまま利用するのは難しすぎます(ノд<。)しかし、引数で難易度毎に弾幕を調節する手法はできそうですね。今回私はディフィカルティ構造体という難易度別に値が変化する構造体を作り、それを引数にとるよう弾幕パターンを書きました。


・ディフィカルティ構造体

 struct D
    {     
int n

       public D(int light,int original)
        {
                 n = (G.D == 0) ? original:light;
        }
    }

//難易度を設定すると難易度に対応した値を代入する。初期化時に引数で各値を設定。D.nの形式で使用。



・攻撃パターンメソッド

 void Around(D d)
        {
            for (int i = 0; i < d.n; i++)
                if (c % 60 == 15 * i) Add(new SetAround(bsP, Sc.lr));
        }

//D構造体のメンバーnを利用する



・スレッド処理

OnUpdated(){
Around(new D(3, 5));  //ライトでは3、オリジナルでは5が代入される
}




すいませんorzコーディングの解説はなれておらず自分でも見にくいと思っています・・・今後改善します。

ともかく、zunさんほど美しくはありませんが、難易度別の調整が随分簡潔になりました。私のゲームは難易度2段階ですが、4段階で作る場合はより恩恵があると思います。

そもそも、みなさんがどうやって書いているのか知りません。もし、機会があればそういうトークもできるといいですね。龍神録にのってるのかな・・・

↑このページのトップヘ