TANK ~戦車戦~ 操作 基本はボタンをクリック ゲーム中: WASDキー 移動 クリック 砲弾発射 1~3キー 砲弾種類切り替え たまにすごい重くなります。仕様なので数秒待ってください。 下はかなりの長文なので読まないでもらっても構いません。審査員の方にはぜひ読んでもらいたいです。後半はアピールポイントです。 はい。ということで、遂にこの時がやってまいりました。立夏祭に際して、事前準備が必要だと分かりつつも、8/10日なら良いだろうと考えていたのですが、私自身が読み間違えていたことを7/30日の夜に気が付いてしまいました。残り猶予72時間もない状態で、新しく作ったところで出場条件に嘘をつく形となってしまうので、これまで作ってきて途中で計算式が面倒くさくて放置した戦車ゲーを開発することにしました。8/1中に完成するかわからなくて大焦りして、普段は朝9時に起きるところを朝6時から二日ぶっ通しで朝から夜まで好きなゲームもせずに作業を続けました。 決勝戦行けたらいいな()と思いつつ、こだわった部分を紹介します。 あ、scratchやりすぎて真っ白な画面見たときに勝手に焦点よりちょっと離れたところにブロックが生成されるようになっちゃった...(ガチ) ここからアピールポイント: ・跳弾 wiiのタンクというゲームを知っていますか?それに似たような感じなのですが、少しwt味を出しました。弾薬種類の選び方とかマジで似てますよね。 それはさておき、跳弾について。 跳弾プログラムなら、跳ね返るブロックを使えばうまく行くのですが、あくまで端に来た時だけ。普通の壁にぶつかっても何も起きません。そのまま直進してすり抜けます。そこで、独自の方法で壁のおおよその角度を算出したうえで、入射角と調整して反射角を計算する方法で端じゃない好きな色の好きな角度の好きな形の壁でほぼ正確に跳弾させることに成功しました。画期的でしょ?まぁ、数度のずれがあるので、真下に向かって撃って跳弾させると、-178~178°が出ることによって、「真下や、真下のわずかに右に撃ったのに左に跳ね返った!」とかがあり得ます。細かくしようとすると重くなるので、ただでさえ重いゲームなのにそれはまずいのと、どうやったら細かくできるのかすぐには思いつかなかったので多少の誤差は見逃すことにしました。 測定方法としては、壁に測定器具を垂直に付け、回転させます。あなたの右側に壁があるとします。そこに手の先を垂直に付けてみてください。壁の方を向いて、手を上下に揺らしてみると、ちょうど手が90°(壁と垂直)になったときだけ壁につきますね。 壁についた時、壁と離れた時はどちらも90°なので、 ((壁についた時+壁と離れた時)÷2)+90=壁の角度の式にあてはめると、 ((90+90)/2)+90=180°となり、180°(垂直)の壁だと分かります。これは180°の壁にかかわらず、30°でも270°でも可能ですし、測定器が壁にめり込んでいても可能です。 実際の式では誤差を修正するために、 ((壁についた時+2.5+壁と離れた時+2.5)÷2)+90 としています。 追記:まぁ、この後誤差を修正するまでもなく根本的な原因を消し去ったんですけどね。 ・一見申し訳程度に見えて...? 「PBどこやね~ん!!」 >戦車のハッチから顔をのぞかせていますよ。 この一見申し訳程度のPBに俺は一国あたり20分近くかけている。絵柄や比率に特別本当の国旗通りにしようと凝っているわけではない。むしろ適当。作業が遅いだけではというのは決して間違いではないが、それがすべてではない。むしろもっと大きい理由がある。 普通の平面PBを描くと、まるでハッチに寝そべっているようでおかしい気がした。そこで、斜め上から見た視点で考えた。線の曲げ方や上から見た視点ならではの比率について。 申し訳程度のPBだということに変わりはないが、決して申し訳程度で済ましていいものではないと思う。そこまで難しくはないけど、普通のPBを追加するよりはよっぽど難しい。 他にもこだわりポイントはたくさんあるのですが既に長文なのと書くのが面倒くさいので諦めます。 それでは、楽しんでいってください! 4353ブロックだってwwファーww ブロック数は作中一位確定ですか? は..?ゲーム投稿してるやつ俺しかいなくて(泣く) これイラコンだったの????????そうじゃないの????(焦)
バグなどあれば報告してください。 バグの原因を調べられる人はぜひご協力ください!報酬とかは特に出せませんがマジで助かります!! バグ修正しました!#1 原因など: 修正できましあたたあああああああ!!!! まず、10式の追加によりコスチューム番号が狂ったこと、 次に、何らかの影響で「最大防御」の値の設定が数フレーム遅れて、耐久値描画がクローンする前に最大防御の値を反映できていなかったことです。「最大防御」はスプライトのみの変数で、スプライトのみの変数はクローンした際も親から子へ、もしくはクローンからそのクローンへ継承します。なので、親が「最大防御」を設定すれば、クローンしたときに子が同じ最大防御の値を持っています。最大防御を設定する前にクローンしてしまえば、初期値の「」(空白)になります。そうすると描画プログラムが不味いことになります。100/(最大防御/現在の防御値)回繰り返すという設定なので、耐久値700の戦車なら、100/(0/700)=(100/0)=0では割れない(NaN=Not a Numberか無限判定)となり、scratch上では0で割ると無限判定になります。無限回繰り返すというのは、「再描画をしない」定義とものすごい相性が悪いです。再描画しない定義に、ずっとブロックを入れると分かるのですが、めちゃくちゃ重くなります。FPSが1か0になるくらいです。それが原因でした。あとデバッグ中に座標を振り出しに戻すコードをつけていたのですが、それの外し忘れもありました。コメント欄につけようと思っていたのですが、なぜか問題が発生したのでここに書きました。 1.1.1 アップデートノート 「1.1.0 (一〇式戦車追加アプデ)」において、追加プログラムの汎用性が低すぎて苦労したため、遂にアップデートに踏み切りました。 anderball_氏からの素材提供や、燃え尽きの終焉でやっと作る気が起きました。 今までは<(コスチューム番号)=(n)なら>のようなプログラムを使っていたため、一つ戦車を追加すればコスチューム番号がずれて崩壊してしまいます。 ※当時9/1の公開まで残り十数時間だった。 間に合わせるためにプログラムを簡素化してしまったため、汎用性が低くなってしまった。 1.2.0 アップデートノート T-90を追加。1.1.1で修正したと思っていた汎用性の低い箇所を一つ修正しきれておらず、結果的に数日にわたってメンテナンスが行われた。詳しいことはコメント欄へ。 2.0.0 アップデートノート マップ変更機能を搭載しようと思っていたものの、立夏際の締切期限の関係で遅れるとまずいと思い(3分の1くらいが遅れて出していたが、そんなの知る由もないため、)マップ変更は付けずに公開していたが、今回のアップデートで追加。今までのステージの名称を資材置き場とし、新たに「平原」「市街地戦」「砂漠の廃工場」を追加。砂漠の廃工場には、工場の建物と建物をつなぐ渡り廊下をつけた。戦車はそこの下(2D上では奥)を通ることができる。 2.0.1 アップデートノート ゲームオーバー/ゲームクリア、もしくはポーズ画面から、戦車やマップを変えることができるが、そこの機能を使用する際、一部CPU戦がテストプレイになるバグ、市街地戦でスポーン地点が埋まるバグを修正。 2.0.2 アップデートノート クレジットの再生リストのリンクに誤りがあったため修正。(元のyoutube垢が消されたため再作成) 2.0.3 アップデートノート 移動を矢印キーからWASDキーに変更し、砲弾切り替えをしやすくした。