X



一人で完成まで頑張るの寂しいからかまって [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
垢版 |
2017/03/08(水) 22:06:31.71ID:OX0NO28I
・ウディタ製
・RPG
・ぼくがたのしいとおもったしすてむ
・ぼくがたのしいとおもったばらんす
・基本システム流用できるところは流用して楽していく
・エタらないように頑張る
0202某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/07/31(火) 15:10:49.13ID:ALTBK6ZT
恒星系の海賊の生成と描画が出来た
AIはまだ空っぽで動かない

デバッグ用に、敵を画面の中心にサイズ固定で描画して
方向転換が正しく出来てるか、テスト表示できる様にした
画面のUIに余裕が有れば、これを使って
サイト付近の敵を小さ目にHUDに描画するのも
格好良いかも
0203某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/01(水) 13:11:12.62ID:6o/It6yB
海賊のAIを取り敢えず2つ分だけ考えた
実装したら説明する
0204某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/01(水) 15:51:38.24ID:6o/It6yB
海賊の直進移動を作った
向いている方向へ動く

恒星系の敵の進行方向は円柱で表す
円柱の穴を常にZ座標に向けていて
自機か敵がロールすると円柱がネジ状に回転する
敵がピッチで機首を上げ下げすると
円柱の周囲に放射状に開く

ピッチとロールの角度だけで向きを管理してる訳で
ポリゴン3Dゲーとしてはデタラメだけど
スプライト2.5Dゲーとして割り切る
0205某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/01(水) 16:48:44.08ID:6o/It6yB
x,y の速度は、ロールとピッチの角度をそれぞれ
サイン波状の三角波に変換して
掛け合わせで合成して求める
z の速度は、ピッチだけで決まる

「ロールの三角波」
r = (ロール角度 + 90) % 360
r < 180 なら r = (90 - r)
r >= 180 なら r = (r - 270)

「ピッチの三角波」
p = (ピッチ角度 + 90) % 360
p < 180 なら p = (p - 90)
p >= 180 なら p = (270 - p)

「x の速度」
vx = (r * p / 90) * 速度 / 90
0206某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/02(木) 15:52:56.47ID:dKsRE4SW
恒星系の海賊 B の AI を作った
旋回して自機の後方につける→追い抜く
を繰り返す

自機の前方にいる時は
ピッチを ±30 に向けて
z 軸のマイナス側(後方)へ向かう

自機の後方にいる時は
ロールで天頂を自機に向け
ピッチを 160±10 に向けて
自機の方へ斜めに向かう
0207某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/02(木) 16:06:49.65ID:dKsRE4SW
デバッグ用のレーダー表示も作った

描画x = 敵のx * 表示範囲 / 敵の最大x
描画y = -敵のz * 表示範囲 / 敵の最大z
拡大率 = 4%くらい

で描画するだけ
0208某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/03(金) 06:15:51.11ID:A7wg0YLG
通路と虚空の自弾の当たり判定で
連射しないと当たらないバグを多分w修正できた
微妙かも試練

敵のz座標が先頭と末尾の弾の範囲外だったら
二分探索せずに終了する所で
弾のz方向の幅を計算に入れて無かった
0210某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/03(金) 13:39:30.27ID:A7wg0YLG
恒星系の海賊 C の AI を作った
自機の方へ旋回して急接近→突っ切ったら反転
の一撃離脱戦法を繰り返す

生成時の初期化でフェーズ = 0

フェーズ 0 の時は
ロールで天頂を自機に向け
ピッチを自機の方へ ±30 に向けて
最大加速
自機に近づいたらフェーズ = 1

フェーズ 1 の時は
そのまま直進
自機から離れたらフェーズ = 2

フェーズ 2 の時は
ピッチを自機の方へ ±30 に向けつつ
減速
速度が 0 になったらフェーズ = 0
0211某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/03(金) 14:20:10.11ID:A7wg0YLG
マウスでエイムするわけじゃ無く
カーソル・キーで移動もエイムもするゲームなので
当たり判定は基本ガバ

パッドFPSでも自動エイム必須だし、問題無い
SpaceSSSで自動エイムすると、移動がおかしくなる

スプライトゲー作った事無い奴に限って
ポリゴンゲーの常識色眼鏡でベラベラ語る
0212某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/05(日) 16:47:19.82ID:KAGvq58o
恒星系の海賊グループのエンカウント処理を作った

1. マップの初期化で地形毎に
 グループ単位の比率を設定して置く
2. グループの比率に応じて
 ランダムにグループを選ぶ
3. グループによって敵の種類毎の比率を設定する
4. 敵の比率に応じて、ランダムに敵を出現させる
5. 敵の出現数分 4. を繰り返す
0213某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/05(日) 16:59:41.21ID:KAGvq58o
比率に応じてランダムに選択する処理

比率A = 20
比率B = 30
比率C = 50
比率D = 60

比率の合計 = 比率A + 比率B + 比率C + 比率D
n = 乱数(1〜10000)
n %= 比率の合計
(n < 比率A) なら
 敵Aを生成
違うなら
 n -= 比率A
 (n < 比率B) なら
  敵Bを生成
 違うなら
  n -= 比率B
  (n < 比率C) なら
   敵Cを生成
  違うなら
   n -= 比率C
   (n < 比率D) なら
    敵Dを生成
0214某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/07(火) 18:18:20.62ID:/HAEG7Tu
恒星系の海賊 A の AI 作った

フェーズ が 0 の時
自機と直角に向いて、前方を旋回
一定時間後、フェーズ = 1

フェーズ が 1 の時
自機の後方へ移動
後方に離れたら、フェーズ = 2

フェーズ が 2 の時
自機と直角に向いて、後方を旋回
一定時間後、フェーズ = 3

フェーズ が 3 の時
自機の前方へ移動
前方に離れたら、フェーズ = 0

以上を繰り返す
0215某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/08(水) 16:53:17.09ID:uqGPAsL6
海賊の残り3種類をレンダリングして
スプライト・シートに列べた
これで種類毎に違う画像で描画される
0216某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/08(水) 22:54:11.98ID:uqGPAsL6
PCのミサイルの画像作った

本体 + スモークで 4 枚使うとすると
PCが 4 発 x 4 枚 = 16 枚
敵が 4 機 x 4 枚 = 16 枚
足して 32 枚のスプライトの座標を
回転させる事になるので、一寸重いかも試練
0217某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/09(木) 13:51:54.20ID:9HFL9hwa
恒星系の自ミサイルの初期化とイテレータ作った
取り敢えず休憩
0218某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/09(木) 17:23:15.95ID:9HFL9hwa
自ミサイルの発射処理を書いた

敵の中から描画座標がレティクルの範囲内で
自機に一番近いものを探してロックオンして
ミサイルのデータを設定する

移動と描画はまだ出来て無いので
ロックオンや発射とかの効果音だけ
0219某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/09(木) 19:11:32.02ID:9HFL9hwa
後でリファクタリングしなくて良い様に
考えて作ってるので、亀の様に遅い
ツクールで順番並べ替えたりするのキツいんでな
何言ってるか分からんだろうけど
0220某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/10(金) 19:13:18.22ID:RGx3TtY1
自ミサイルの移動処理を作った

ミサイルの座標だけ回転させて
移動ベクトルの方は回転せずに
毎フレーム計算する事で、処理を軽くした

ミサイルのスモークの座標も回転させないで
数珠つなぎに座標をコピペして行くだけにしたけど
そもそも宇宙空間でスモーク出すのはおかしいので
恒星系のサブ・ゲームの時だけカットするかも

設定フラグでスモークをOn/Off出来る様にしとく
0221某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/10(金) 20:19:52.59ID:RGx3TtY1
自ミサイルの描画作った

ロックオンして無い状態で発射すると
ショボい効果音で真っ直ぐ飛んで行く

ロックした敵へのホーミングが
まだ少しバグってる
0222某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/13(月) 16:33:54.70ID:j7PELdzO
自ミサイルの当たり判定作った

ホーミングのバグは
敵とミサイルの距離を計算する所が
敵と原点(自機)の距離になってた

逃げる敵機をミサイルが追い掛けてって
ドーンするのが楽しい
0223某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/13(月) 17:33:35.00ID:j7PELdzO
ロックオン可能範囲に敵の見た目の幅を加味した

ミサイルはフレアを使わない限り
ロックしたら、ほぼ確実に当たるので
ガバにしないで厳密に範囲チェックする様にした
0224某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/13(月) 22:51:27.06ID:j7PELdzO
自ビームの当たり判定作った

通路のビームの判定をコピペして
座標のスケールを調整しただけ

代入の右辺値は変数名が表示され無いで
変数番号だけなので
コピペだからと気を抜いてると
書き換えミスでバグが入り込む
0226某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/14(火) 02:29:44.38ID:sJqOQ1P7
グレネードの画像のチョイスをしたり
細かいネタ出し等をした

ミサイルを実装し終わってから
グレネードを作るか
同時並行でやるかで迷う
0227某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/14(火) 14:13:53.64ID:sJqOQ1P7
自弾のボムの画像作った
敵にダメージを与えるだけで無く
敵弾も吹き飛ばす

グレネードと言う設定だったけど
白兵戦の手榴弾のと被るし
スペックがそのまんまなので
ボムに変更した(分かり易い
0228某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/14(火) 16:29:08.53ID:sJqOQ1P7
ボムの初期化とイテレータ書いた

弾が爆風に隠れ無い様に
爆風と弾のピクチャ配列を
連番で無く別けて確保した

内部的に連射できる様に作るけど
実際は単発か、爆風が出てる間に
もう一発撃てる様に2発に設定する
0229某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/14(火) 19:14:56.33ID:sJqOQ1P7
ボムの発射と移動処理を作った

サブ・アイテム・キーを押して発射
放すと爆発する
但し発射直後の数フレームは爆発しない

まだ描画は出来て無いけど
効果音を聴く限りは、きちんと動いてるっぽい
0231某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/17(金) 13:44:52.97ID:4h+wzOfF
>>199
すっちむでVXのセールしてたので買って置いた
立ち上げて直ぐそっ閉じしたし、多分一度も使わない
素材の利用規約に従っただけ

ツクールは知り合いに
「1000枚のスプライトはこう使う」
って手本を観せるためだけにやってるので
これ1本作ったら終わりにする
0232某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/17(金) 15:43:39.48ID:4h+wzOfF
ボムの当たり判定を作った

賞金首とか依頼で稼いで
ボムとかミサイルいっぱい買えば
ボス戦とか強目の敵に仏波できる様にして
3Dシューティング苦手な人にも
救済措置を用意する
0233某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/17(金) 23:52:07.51ID:4h+wzOfF
配列に相当するものの中の構造体の様なものに
アクセスする時は、メンバーへのポインタを
列べたものを経由する

で、イテレータをインクリメントする時は
このポインタの列びのそれぞれに
構造体のサイズを加えるのだけど
列びの数だけループを回すと
めっちゃ重くなってしまう

なので変数番号の範囲を指定して
一括でサイズを加えると軽くなる
その代わり一括指定の範囲に
マジックナンバーを埋め込む事になって仕舞う
スクリプトのあちこちに散らばると
メンバーを追加/削除する時に
面倒な事になるしバグも発生しやすい

で、結局イテレータを進める時は
汎用のものでは無く、構造体毎の専用の
イベント(サブ・ルーチン)を呼ぶ様に
暫く前に変更したのだけど

今日は変更し忘れてる部分をチェックして修整した
最初からその様にして置けば良かったが
ツクールは初めてなので勝手が分からなかった
0235某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/18(土) 14:17:39.33ID:JegxHeyY
武器の切り替えキーを押した時に
所持しているアイテムの中から
自動で次を選んで装備する様にした

武器のアイテム分類を
メイン・ウェポンは武器
サブ・アイテムは楯
として扱う様に設定した
0236某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/18(土) 14:21:02.56ID:JegxHeyY
>>235
今までは装備とかしないで
アイテム番号の数値だけで取り扱っていた
0237某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/18(土) 16:12:07.88ID:JegxHeyY
衝角を実装した
装備して置くと、敵と衝突した時に
ダメージを与えられる

ゆっくり衝突すると
連続でダメージが入ってしまうので
敵を斜めに弾き飛ばす様にした
0238某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/18(土) 21:19:25.54ID:JegxHeyY
恒星系の敵のダメージ表示/爆発を作った
取り敢えず恒星系の通常戦闘は、これで暫く良し
0240某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/19(日) 16:22:36.47ID:MORom9/m
通路のミサイルの処理を作った
発射/移動/描画/衝突、全部おk
コピペ→チャンポンだし頑張れば直ぐ終わるな
0241名前は開発中のものです。
垢版 |
2018/08/19(日) 20:28:46.29ID:MORom9/m
通路のボムの処理を作った
今日の目標まであと一息
0242名前は開発中のものです。
垢版 |
2018/08/19(日) 20:33:07.20ID:ReAdtpZA
みんな、しょっぱなからデカい規模のゲーム選びすぎだよ
だから続かない。

RPGなんて典型。
すげ替えて完成させるわけじゃ無し、
素人なんかにゃ根気が続かないよ。
0244某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/19(日) 21:26:46.17ID:MORom9/m
通路の衝角の処理を作った
恒星間通路での自機の攻撃は取り敢えず良し
明日は休みにする
0245某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/19(日) 21:30:00.31ID:MORom9/m
おうっ何かかまってくれてたのかw
むしろ根気しか取り柄が無いし
0246某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/19(日) 22:16:08.60ID:MORom9/m
板違いになるがボドゲ制作いいぞ
ルール妄想して、フリー素材でカード作って
サイコロ用意すれば、対戦でもソロでもおk
ゲムマに出展すれば予算も回収できるし
0247某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/21(火) 23:53:57.02ID:jEBG4uOO
地表面のミサイルの処理を作った
生成から当たり判定までは直ぐ出来たけど
描画か座標計算が上手く行か無くて
一日中ウンウン唸ってた
今日はもう眠いので続きは明日にする
0248某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/22(水) 00:25:35.86ID:O6Q+6qaj
寝る前にデバッグの手を思い付いたので
やったら直ったワ
ミサイルは出来上がり
0249某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/22(水) 00:43:03.31ID:O6Q+6qaj
ミサイルのZ速度が速すぎてX,Yが当たる前に
遥か彼方に逝っちゃってるだけだった
遠近感が崩壊してた
0250某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/22(水) 22:47:23.65ID:O6Q+6qaj
効果音の再生ルーチン作った

SEを割り振ったりする時に
SE再生がソースの彼方此方に分散してると
面倒なので、一ヶ所にまとめた

引数でSE番号を指定して分岐する訳だけど
テーブル・ジャンプ出来る様な
switchとか関数のポインタ呼び出しに
相当する制御文が無いので
if文を大量に並べる事になる

一応、番号の範囲でザックリ分割してから
それぞれのサブ・ルーチンを呼んで
ifのチェック回数を減らす様にはしてる
変数でイベント番号を指定して呼び出せると
良いんだがな…
0252某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/23(木) 01:22:41.74ID:tNk7Mitg
>>251
まともな言語なら普通に出来るけど
ツクールなんでプログラミング
出来ない子向けの仕様になってる
仕様がない
0254某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/24(金) 18:19:10.47ID:fKFQDvWb
地表面のボムの処理を作った

一部のSEが急に鳴らなくなって
おや?って思ったけど
SE関係の変数を後ろの方に確保したのに
スタックの先頭アドレスをずらし忘れたバグだった
0255某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/24(金) 20:10:13.57ID:fKFQDvWb
地表面の衝角の処理も作った
ガンッて体当たり攻撃する

後背からドッグファイトして来る敵は
すれ違いざまにビームを撃つタイプなので
追い越させない限りは、当たら無い様にした

これで地表面はおk
0256某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/25(土) 18:31:17.74ID:apOmPphv
虚数空間の自ミサイルの処理を作った

ミサイルの座標を弄って無いのに
勝手に書き換わってて
メモリ絡みの不味いバグかなーと思ってたけど
ミサイルの各処理を呼ぶハブ・イベントで
別のサブ・ゲームのイベントを呼んでただけだった

コピペする時に変更するのを忘れてた
0259某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/25(土) 21:13:19.85ID:apOmPphv
虚空のボムも作った
横方向に画面いっぱいの当たり判定にした
元ネタ探しのオマージュゲーになってる
0260某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/25(土) 21:16:37.66ID:apOmPphv
>>258
いや普通の
良く分からん添加物いっぱいのより
砂糖入りの飲んで筋トレで燃焼させる方が
体に悪く無いかと思って
0261某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/25(土) 23:04:15.15ID:apOmPphv
虚空の敵の攻撃パターンを2種類ネタ出しした
全体で一度に一種類の攻撃をして来る

恒星系と地表面の海賊は
PCと大体同じ攻撃/防御をする
0262某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/27(月) 00:07:39.23ID:7fHupAdC
BGMをシーン毎に割り振った
朝から15時間くらいずっとやってた

手順は
・BGMファイルを一番上の階層のフォルダに全部入れる
・戦闘/移動/惑星/イベント等のフォルダを作って
 そこへBGMを大雑把に放り込む
・ピンポイントで使えそうな曲が有れば
 直接下層へ入れる
・更に下の階層のフォルダに細分化する
・余ったら上の階層へ戻して再分配する

絵や音の割り振りや動画の編集なんかの作業は
一番目くらいに楽しいので監督が独占する
0265某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/27(月) 14:07:39.61ID:7fHupAdC
>>264
自分からしたらゲーム「やる方」のモチベが
続か無くて困ってる
すぐゲームを作ってしまう
0266名前は開発中のものです。
垢版 |
2018/08/27(月) 15:17:16.68ID:/sjOiSn8
惰性で続けちゃう時が往々にしてありますし、それなりに進めようと思ったら結構時間かかっちゃうしそれぐらいがきっと丁度いいんですよ
見習いたい
0267名前は開発中のものです。
垢版 |
2018/08/27(月) 16:40:57.94ID:k7ZFUmlR
SE(効果音)に関しては自分の場合、SEの自作スキルがないから、外部リソースに頼らざるを得ないんだが、
外部の膨大な母集団の中を探し回ってローカルディスクに確保した候補の中から選ぼうとする時、なかなかイメージ通りの音が見つからなくて決められず、
また外部リソースの膨大母集団の中を探しに奔走する段階に戻ったり、その繰り返しでなかなか進捗が上がらない。
あと重ねて再生すると聞こえなくなったり、インパクトが消えるものもあるから、ボリュームの調整も面倒だな。
そんなこんなで、SE決めはどちらかというと憂鬱な作業で決して楽しくはないなw
決められない自分にも問題があるんだが
0269某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/27(月) 19:36:35.33ID:7fHupAdC
>>267
自分のイメージにピッタリ合った素材を求めると
結局自分で作るしかなくなるので
逆に既製の素材からイメージを作って膨らます
くらいのスタンスの方がいいかも
0270某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/28(火) 14:49:14.24ID:gb9Fw1Ya
虚空の自機の衝角を作った
後ろから追い越して行く敵にも当たるけど
ダメージを与える全方位バリア的なもの
と言う事にして置く
0271某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/28(火) 20:11:21.89ID:gb9Fw1Ya
ビル街の車の衝突判定を作った

流石に主人公が街中でビームドンパチ
する訳には行かないので
黒塗りの高級車を相手に
自動運転切って派手にぶつけ合う
0272某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/29(水) 22:50:38.97ID:fS9P/k8W
今日は車の衝突の火花を作ろうとしたけど
座標か何かがおかしくて描画が上手く行か無い

衝突にバグが有ったので、それは修正できたけど
時間切れなので、続きは明後日&明日はお休み
0273某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/31(金) 01:38:01.86ID:KnATV+OW
>>272
サブルーチンの引数を入れる変数の中身を
ローカル変数に退避しないまま
別のサブルーチンを呼んで
上書きされて仕舞っていたのと
衝突方向のオフセットが左右逆なのが
原因だったので、それぞれ修正した

自機の攻撃は取り敢えずここ迄して
他の作業に移る
0274某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/31(金) 17:10:42.61ID:KnATV+OW
恒星系と地表面の海賊の攻撃の
動作と描画の仕様を大体固めた

恒星系ではメイン/サブ武器を
比率に応じて使い分ける

地表面では前方から来る敵は
全てミサイルで攻撃して来て
後方に付ける敵はメイン武器を使って来る
0275某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/08/31(金) 20:05:21.00ID:KnATV+OW
海賊の武器の画像作った
ボム以外は自機と同じ武器を使うけど
画像は使い回し出来ないので作業した
0276某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/09/02(日) 00:16:02.38ID:i2SMMNC0
海賊の攻撃のサブ・ルーチン群の枠を確保した

昨日は家族サービスでツクール用PC取られてたので
あんまし進捗せんかった
0277某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/09/03(月) 02:19:55.81ID:OMruBQS8
恒星系の海賊のビームの初期化と
イテレータの処理を書いた
0278某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/09/04(火) 23:48:57.55ID:a5g9zlPd
恒星系の海賊のビーム作った

座標の回転だけでかなり重いので
速度ベクトルはデータに持たせ無いで
回転を省いた

d = max(x, y, z)
フレーム数 = d / 最大速度

発射時にx,y,zの内一番自機から遠い距離を
最大速度で割って、衝突予想フレーム数を
求めて、敵弾のデータに保持する

フレーム数 -= 1
xの速度 = -(xの距離 / フレーム数)
yの速度 = -(yの距離 / フレーム数)
zの速度 = -(zの距離 / フレーム数)
x座標 += xの速度
y座標 += yの速度
z座標 += zの速度

1フレーム毎に、衝突予想フレーム数の
カウントを減らしながら
距離をフレーム数で割って速度を求めて
敵弾を移動させる

今時のゲームの物理演算と比べると
色々出鱈目だが、スクリプトの実行速度との
トレードオフでこの辺りが落とし所となった
0279名前は開発中のものです。
垢版 |
2018/09/05(水) 00:27:52.51ID:Bu1V3by6
いつも見てます
「フレーム」「x,y,z」「ビーム」などかっこいい言葉が頻繁に出てくるので好きです
これからも頑張ってください
0280某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/09/05(水) 03:40:37.45ID:x1z3RxCE
>>279
ありがとう!
用語はスーファミとかメガドラなんかの
スプライト全盛期のを意識してます
0281某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/09/05(水) 20:22:02.36ID:x1z3RxCE
海賊のビームの当たり判定と
自機のダメージ・エフェクトを作った

衝突予想フレーム数が 1 より大きければ
まだ当たっていないと判断出来るので
それを真っ先にチェックして弾いてから
座標のチェックをする

ダメージ・エフェクトは画面サイズの
ベタ塗り画像を背景と敵の間に
差し挟んで表現する
色は黒→白→黄色の順にアニメさせる
0282某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/09/06(木) 00:17:09.10ID:vvLX/rVe
海賊のレーザーを作った

下向きで3段階の角度を付けたレーザーの画像を
拡大率100%固定で敵の見た目の座標から発射する
画面の下半分はコクピットなので
これで大体それっぽく見えると言う寸法
0283某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/09/08(土) 09:03:25.40ID:3+1zpgJN
レーザーの当たり判定を作った

自機を上下に動かしてる間だけ
カウンタを増加させて
それ以外なら0でリセットする
判定の所でカウンタが一定値未満なら
その時点で敵が撃っているレーザーが全て当たる

レーザーはエイム→射撃→即着弾な
当て易い武器と言う設定
0284名前は開発中のものです。
垢版 |
2018/09/08(土) 16:47:40.75ID:wWjAIewH
脱出ゲームのシナリオを書いた
0285某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/09/08(土) 18:22:55.66ID:3+1zpgJN
海賊のビームの当たり判定を
レーザーを参考に調整した

一定の範囲のフレーム数の間
ピッチを上げ下げし続けると
敵の攻撃を避けられる様になる

具体的にはインメルマン・ターンで
敵弾を回避したり
バレル・ロールで回避と同時に攻撃も出来る
ただしフレーム数の範囲内と限定しているので
同じ動きを続けていると効果が無くなる

偏差撃ちさせれば済む話だけど
過去から現在〜未来まで座標回転させると
処理が重くなるので、この様に実装した
AIを賢くするとその分
処理コストが上がるので
代替的な処理で近似する必要が有る
0287某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/09/08(土) 20:19:29.60ID:3+1zpgJN
海賊が後ろを向いてる時は
攻撃して来ない様にした

z座標が0以上(画面奥)で
ピッチが90〜270度の時と
z座標が0未満(画面より手前)で
ピッチが90度以下か270度以上の時は
武器を発射しない
発射できる角度は狭める方向で調整しても良いかも
0288某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/09/09(日) 01:39:25.17ID:c3LvgQTF
自機のダメージ・エフェクトが発生している最中に
追加でダメージが発生した時
エフェクト・アニメの1コマ目が
連続で描画されてしまうので調整した

エフェクト発生時に既に発生中だったら
そのままにして置いて効果音だけ処理する様にした
0289某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/09/10(月) 03:00:04.22ID:2HLZakh/
海賊のプラズマを作った

ビームと大体同じ処理で
発射していない時はチャージ中になる様にした
0290某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/09/10(月) 16:48:10.90ID:2HLZakh/
プラズマは3つの状態を遷移する
0: 未初期化、初期化したら1にする
1: チャージ中、発射したら2にする
2: 攻撃中、当たるか消えたら0にする
0291某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/09/10(月) 18:42:21.35ID:2HLZakh/
自機と海賊が使う主要な武器のフルネーム
・重陽子ビーム
・ハドロン・レーザー
・プラズマ・キャノン
・VTブラスター(ボム)

ハドロン・レーザーはPDSによって
強い相互作用が平行分岐した場を光子が通過する際
高エネルギー状態になる現象を応用したレーザー兵器

VTブラスターはバイドロイド・テクノロジーを利用した兵器
軍が極秘に発掘したものを主人公たちが強奪し
SSSに装備したと言う設定
0292某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/09/10(月) 21:59:47.28ID:2HLZakh/
>>290
修正
他の武器作り始めたら気付いた

プラズマは4つの状態を遷移する
-1: 未装備、何もしない
0: 未初期化、武器がプラズマでなければ-1にする
  初期化したら1にする
1: チャージ中、発射したら2にする
2: 攻撃中、当たるか消えたら0にする

初期状態は0
0293某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/09/11(火) 00:19:31.04ID:0XkFbUjd
海賊のミサイルを作った
飛んでる間は警報がビビビビ鳴る様にした
これで恒星系の戦闘は一先ず終わり
0294某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/09/11(火) 06:48:37.48ID:0XkFbUjd
>>292
プラズマの「-1: 未装備」の状態は
初期化ルーチンで遷移させとけば
良い様に見える

でも、データの初期化は
敵の装備の初期化→プラズマの装備確定
の順番に依存しているけど
初期化ルーチンを呼ぶ順番の方は
画面奥からスプライトを割り当てるのと
同じ順番で呼ばないといけない

なのでスプライトの割り当て順に初期化した後
サブ・ゲームが始まってから
データの残りの初期化をすると言う
一寸ややこしい構造になってる

オブジェクト指向言語なら、ファクトリ・メソッド
か何かに隠蔽しとけば良いのか知らんけど
ツクール2003はアセンブラライクなのと
サブルーチンが番号で管理されてて
並べ替えが困難で、後から色々追加すると
管理が破綻するので仕様がない
0295某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/09/12(水) 04:46:38.36ID:0FK+2X9s
虚空の敵弾の画像作った
・氷のスプレー
・極太レーザーの雨
・全包囲スパーク
名前の設定は無いので適当
人類側の付けた通称は後で決める

通路の敵弾はネタを練ってる最中なので
こっちを先に実装する
0296名前は開発中のものです。
垢版 |
2018/09/15(土) 05:08:59.66ID:fDyU1PTM
虚空の敵弾のイベントの領域を確保した
見込み違いで足り無くなって、連番に出来なくなって来たけど
ビル街は弾を撃た無いし、FPSは他のサブ・ゲームとは別枠で
扱いたいので良しとする

DTMやりたい病が再発して三日ほど作業中断してたけど
自分を説得して抑え込んだので、続きをする
0297某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/09/16(日) 05:36:21.77ID:uHo/f9mV
虚空の全包囲弾の初期化、リセット
イテレータ、発射まで作った
代表の敵をランダムに選んで
それを中心に発射する

配列の中に生きている敵が
何体いるか分からない状況で
その中からランダムに1体
選択したい時の処理

1) 代表の敵 = エラー値/デフォルト値
2) n = 0
3) 敵配列のループ開始
4) 敵が生きていたら
5)  n++
6)  (乱数 % n) が 0 なら
7)   代表の敵 = 敵ループの現在値
8) ループ末尾

生きてる敵が4体なら
1/1, 1/2, 1/3, 1/4
の確率で代表の敵を上書きして行くので
結果として、満遍なく 1/4 の確率で選ばれる
算数の問題
0298某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/09/17(月) 09:46:40.53ID:/sEsFby3
虚空の全包囲弾の動きと描画作った
ランダムに選ばれた敵から放射状に
スパークが画面外へ飛んで行った後
自機を取り囲む様にスパークの輪が縮んで
一点で消滅する

初期化でsin/cosを使って同心円状に
折り返し地点の座標を入れとく
弾の動きは4つの状態で管理する
未使用、拡散、待機、収束

「未使用」:
弾が発射されたら敵の座標を
中心点に入れて、拡散に移行
「拡散」:
x = 返し地点のx * 現在の半径 / 最大半径 + 中心点のx
y = 返し地点のy * 現在の半径 / 最大半径 + 中心点のy
現在の半径を最大半径まで変化させながら描画
最大になったら、待機に移行
「待機」:
設定されたフレーム数の間、待ち続ける
待ち終わったら、自機の座標を中心点に入れて
収束に移行
「収束」:
現在の半径を 0 まで変化させながら
拡散と同様に描画
半径が 0 になったら、未使用に移行

現在の半径を、拡散する時は素早く
収束する時はゆっくり目に動かす
0299某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/09/17(月) 10:02:03.47ID:/sEsFby3
現在の半径と最大半径は割り合いで
実際の半径は、折り返し地点の座標で決まるので
最大半径を 128、半径の変化速度を 2 や 4 とかの
2 の n 乗にして置くと「半分の半分」とか
「倍の倍」等に出来てバランス調整がやり易くなる
0300某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/09/18(火) 04:45:12.52ID:WPULE/f8
虚空の全包囲弾の当たり判定作った

早めに避ければ当たっても大した事無いけど
ボーっとしてたり混戦中で、全弾命中
とかしてしまうと大ダメージな攻撃
0301某犬犬 ◆HzfAAjcl8nz1
垢版 |
2018/09/19(水) 00:41:28.09ID:lYSOWyMT
虚空のレーザーの雨の全処理を作った

画面上の全ての敵から上方に弾を打ち上げた後
極太レーザーになって雨の様に降って来る
打ち上げ時のx座標にレーザーが降るので
事前に避け始める事が出来る

状態遷移などは全包囲弾と大体同じ
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況