TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
リアルタイムストラテジーの話
おまえら土日でゲーム作れませんでした☆遅刻専用スレ
JAVAアプリでゲーム
シム人みたいな生活シミュゲームが作りたい
無敵な奥さんアイデア募集(ウディタ)
('A`)がゲームを作るスレ
MMORPGをつくるお!
ギリシャ神話や日本の歴史的文学作品をゲームにする
鉄道経営系ゲーム製作スレッド Ver.9
素人の俺にHSPで経営シミュを作らせるスレ

一人で完成まで頑張るの寂しいからかまって


1 :2017/03/08 〜 最終レス :2020/01/17
・ウディタ製
・RPG
・ぼくがたのしいとおもったしすてむ
・ぼくがたのしいとおもったばらんす
・基本システム流用できるところは流用して楽していく
・エタらないように頑張る

2 :
進捗

ストーリー
一応メモ張にテキスト7割くらい書いてある
イベント作成はまだ

システム
脳内()ではできてる
ランダムエンチャント3枠がつく装備8つで耐性パズルする感じ

http://imgur.com/a/rgb9n.png
こんな感じ

バランス
ノータッチ

3 :
http://i.imgur.com/nICnBST.png

画像ミス

4 :
メニュー画面だけ見せられても

5 :
エタるテンプレ通りワラタ

6 :
シナリオがほぼ出来てるならまだ期待できそう
こまめに進捗晒してくれたら見るよ

7 :
>>1は友達いないニート?

8 :
>>4
5日前時点では、ランダムエンチャントのコモン導入して3枠つけれるように改造しただけだからエンチャント3つつけた装備作れるよくらいのSSしかないんだ
こんなSS欲しいっていうのがあったら言ってくれれば善処はする

>>5
今までの創作でエタったものもあれば完結させたものもあるからエタらないとは断言できないけど完結させるように努力はする
最悪エタる時もエター宣言はする

>>6
どうもっす。
シナリオの中身自体はできてる。面白いシナリオかどうかは自分で書いたもんだからわかないけど

>>7
フリーター
友達は少ない
ネトゲ転々としてるから寂しくないって自分に言い聞かせてる

9 :
進捗報告

この5日間は装備関連あれこれいじってた
具体的には装備から状態異常発生させることでHPを自動回復する装備とか
ウディタデフォルトだと武器に状態耐性つけられないからつけれるようにしたり

あと武器の名前が割と難産
短剣、斧、槍、杖
身体、手、頭、足、腰、首、指
の11種類の性能毎にってなると全然名前出てこない
称号とつなげる以上文字数多くすると見づらくなるから材質名でごまかすのも難しい

10 :
流石に削ろうよ…

11 :
>>6
煽られたら出てくるので大体お察しでしょ

12 :
ニート?って聞かれてフリーターと答えるとかwwwyw
どっちも同じだよ、そこで見栄はってどうすんだwwwww

13 :
フリーターは人によりたまにでも働いてるから違う

14 :
進捗報告

スキル回りをあれこれいじってた
デフォだと攻撃力か精神力依存の攻撃しかなかったから敏捷依存のスキルを作れるように設定したりとか
全体回復を含む攻撃スキルの作成が難航している段階


RPGの序盤のスキルなかったり少なかったりする段階が好きじゃないんだけどそういうゲーム多いのはなんでだろう
序盤から色々なスキルが使えることでつまらなくなるとかあるのかね?

15 :
いきなりできることが多かったら混乱するから段階を踏んで開放しようという至極当たり前の理屈

16 :
>>13
そんなレスを人は「詭弁」と言う

17 :
詭弁てことは無かろ
本当にフリーターなら、少なくともニートとは天地の差

本当にフリーターなら、な

18 :
一般的には定職に就いてない人って認識ですが

19 :
ニートと派遣で毎日出勤してる人間が一緒なわけないだろ

20 :
なんで急に派遣の話が出てきたんだ…

21 :
バイトは本業の足引っ張らないラクなヤツじゃないと

他人様との距離感取れないヤツ・自分の身の丈がわかってないヤツ
図々しいやつが居ると極端にC/P悪化して製作に使う体力が減るので
そういうのはすぐさま辞めるべき

22 :
>>15
なるほど、elonaが面白いのに初見だとゴミ箱ダンクされやすいのと同じ理屈でいいのかな

進捗報告
装備とランダムエンチャントをそれぞれ作成
内部数値はまだ

内部数値設定しようとしても全然参考になる数値とかないけどRPG作る人みんな1から考えてバランスとってるのかな。

改造しようにもどこ改造すればいいかわからないという現象が割と起きるから全部のコモンイベントにデバッグ文つけてみたらちょっとわかりやすくなった

23 :
https://goo.gl/NrL6ir
これは、普通にショックでしょ。。
本当なの?

24 :
もう秋田っぽい

25 :
まぁ妄想膨らませて終わりだろうな
制作すらしてないっていうね

26 :
こんなスレばっかりだな

27 :
どうも、生きてます

進捗報告
いわゆるフリゲでよくあるTP(戦闘中に溜まる奥義ゲージ的なもの)のシステムが使ってるウディタの基本システムについてなくて四苦八苦
内部数値は動くようになったけど、ゲージをプレイヤーに見える状態にするのが難しい

味方のステータスの設定と、最初のダンジョンの敵、と最序盤の装備のステータスを設定はできた

28 :
>>14
制作者と違ってプレイヤーは事前知識ないから…
一気に解放してても使ってくれないぞ…

29 :
暇だしなんか手伝いたいんだが

30 :
スレの繁盛具合と企画者の技量って不思議と反比例するよね

31 :
>>28
確かに開幕の時点でできること多すぎると慣れるのキツイと感じることもあるから
確かに最初から大量に複雑なスキル持たせるのは問題っぽい気はしてきた

>>29
気持ちはすっごいありがたいけど、他人を指揮しながら進めるスキルに全く自信がないし
エタらない保証もできないので作成そのものを手伝ってもらうのは難しい
時々スレ見に来てかまってくれればとてもありがたし

>>30
ここは普通に企画者の技量もなくて過疎ってるスレじゃないかな?


TP的なものいじってる感じ描画とか座標取得とかそういう内容を勉強しなければならなさそう。

いわゆる雑魚戦をどうするか。
ゲームとしてはいわゆるMMOで狩りしてたら稀にポロっと神品が落ちて脳汁が出るみたいなゲームにしたいと妄想してるけど
その雑魚戦をどうやってやってもらうかが難しい。
大量の回避不能の雑魚戦を強要されるのは間違いなく苦痛だろうし

32 :
ちなみにどこで公開する想定で作ってるんや

33 :
1.ネトゲを参考にしたシステムにすると、大抵は頓挫する
2.既存のアイディアを真似ただけでは、そのゲームは凡作止まり
3.小まめにレスを返すときは、作業が進んでいないとき

34 :
>>32
公開場所はまだ考えてないかな
完成も見えてないのに公開考えても仕方ないみたいなところあると思って
個人的に満足いく出来になったら少しでも多く目につくところで世に出したいという気持ちはあるけど

35 :
      ☆ チン     マチクタビレタ〜
                        マチクタビレタ〜
       ☆ チン  〃  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        ヽ ___\(\・∀・) < 画像での進捗報告まだ〜?
            \_/⊂ ⊂_ )   \_____________
          / ̄ ̄ ̄ ̄ ̄ ̄ /|
       | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
       |.  愛媛みかん .|/

36 :
いつものように妄想垂れ流して終わりだなこりゃ

37 :
>>35
いじってる部分はシステムやらデータベースやらコモンイベント集だからメニュー画面くらいしか晒すものないけど

最近描画やら座標取得の勉強がてらメニュー画面のレイアウト変更に挑戦してる途中。
今こんな感じで、プレイヤーのコマンド受け取りが元のままでちゃんと動かないから今後そこをいじって、
あとは右側に他のキャラ隠れてるから装備とかでちゃんと全員動かせるようにしないとって感じ
http://i.imgur.com/2ZKNXPc.png

やってみてわかったのはレイアウトいじっただけだと一味違う感は出ないんだな。
薄い青色のウィンドウが悪いのかな。

38 :
そろそろ1週間経つが、画面を公開して反応が無い気分はどうだ?え?

39 :
>>1なら専用idつけろよな

40 :
最初からエタらない云々言ってる奴は完成まで続けることが出来ない。
これってトリビアになりませんか?

41 :
進捗報告
フリゲによくあるTPのシステムが概ね望みどおりに動くようになった
あとメニュー画面を動くようにした
枠とかのデザイン変更は棚上げ、遊ぶのには支障ないので遊べるようにすることを優先

一週間くらい別のネトゲが忙しいので今週は作りません

>>39
専用IDってなんだ
専用ID 2ちゃんねる でググって上から三つくらいページ開いたけどそれらしきもの見つからなかったんだが

42 :
>>41
>専用IDってなんだ
おい、まさか、ウソだろ?

43 :
専用IDの調査変換能力もないんじゃゲームづくりなんて無理

44 :
半年ROMれ

45 :
>>41
続けるならトリップつけてってことかと
ていうかトリップのこと専用IDなんて言い方するの初めて聞いた

46 :
はい作成放棄宣言来ましたー

47 :
1ヶ月やって公開した画像がたったの2枚、しかもメニューのみとかwwyw

48 :
そしてネトゲが「忙しい」とかwwwww
遊びでやってる訳じゃ無いんですね、わかりますwwwww

49 :
・PCが壊れた
・HDDが逝った
よりかはまぁ正直なんじゃないか

50 :
まあ外野から言ってもしょうがないよな
名前欄に「#適当な文字列」を打ち込むと固有のトリップが出るからそれで識別させてくれ
一週間は経ったんだし制作復帰してここ見ているはずだよな?

51 :
ご無沙汰しておりました
おかげさまで、少しずつ完成に近づいています!

変更点
宝箱の見た目変更
敵行動パターン実装(洞窟ボスと山のザコ)
山のザコが強くなった(前回強くしたつもりで強くなってなかった)

課題
宝箱の色が洞窟地面と同化してる
山のザコが強すぎる(主人公たちが弱すぎる?)

52 :
おー頑張れ

53 :
トリップのことを専用IDということがあるということを知らなかった
IDっていうとID:YyjBlbkd←これをどうにかできるものなのかっていう先入観があって全然わからなかったわ
無知で申し訳ない

進捗報告
とりあえず敵データを作成中
実際にどの程度雑魚戦をやるゲームバランスでどの程度主人公パーティが強くなるかで敵の強さ自体をいじる必要性は出てくるだろうけど


メニュー画面やら装備画面いじってたら全然思い通りに動いてくれなくて収拾がつかなくなったのでいったん元に戻して様子見

54 :
実際「専用ID」ってどこの方言なんだろうね。
(俺も聞いたことない)

敵データとかアイテムデータとかのデータ数を増やしすぎると
内部計算式(攻撃の命中%とかダメージの大きさとか)をいじったときの手戻りが大きくなるから
最低限でいいんでないかなーと思ったりする。

ウディタのことはなんも知らないので見当違いだったらすまん

55 :
ウディタには基本システムって言ってダメージ計算式やらなんやらは一通り同梱されてて
最初にその基本システムの気に食わない部分をいじってから一応ステータスとかに取り掛かってはいる
終盤のステータスがどうなってるかわからないから前半部分の敵しか作ってないけど

進捗報告
序盤の敵は一通りステータス設定してちゃんと倒せるかどうか確認した
概ね主人公側のステータスともバランスが取れてるはず
イベントテキストちまちま書いてます

56 :
そして彼らは星になった

57 :
おわり

58 :
簡単にお金が稼げる方法興味ある人だけ見てください。

グーグル検索⇒『来島のモノノリウエ』

2JLLQXOEFE

59 :
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆

60 :
このスレを俺の日記帳として再利用したいんだがおk?

61 :
おkやで

62 :
じゃぁ自己紹介から
http://lnl.osdn.jp/pukiwiki/index.php?works
二十一世紀に入ってからの活動はこれ

http://lnl.osdn.jp/pukiwiki/index.php?%A5%E9%A5%D3%A5%EC%A5%B8RPG%C0%A9%BA%EE%C6%FC%BB%EF
↑が、このスレの本題
Steam版RPGツクール2003使用で
ジャンルは3DシューティングRPG

トリップ付けんの初めてだけど2chでも必要なんかな?

63 :
せっかくなんで寝るまで作業する

64 :
眠い寝る

65 :
食ったしやるかな

66 :
取り敢えず適当に描画していた虚数空間の敵の座標を真面目に計算させた
虚数空間のサブゲームはこんな感じ
https://www.youtube.com/watch?v=JLrkddYZUBM

まずタイル状の地面のY座標の求め方
地面のY座標 = (自機のY座標 + 画面のY半径) / 4 + 画面中央のY + 地面の画像サイズの半分
こうすると自機が下降すると地面スレスレを飛んで空が開ける
逆に上昇すると地面が広がって俯瞰視点になる

で、敵を描画するY座標の計算式
敵の描画Y座標 = (敵のY座標 - 自機のY座標) / 敵のZ座標 + 地面のY座標 - 地面のサイズの半分
「(敵のY座標 - 自機のY座標)」で自機視点からの相対座標にして
「/ 敵のZ座標」で一点透視図法にする
これに先程の「+ 地面のY座標」を加えて地面の動きと連動させる
「- 地面のサイズの半分」地面のY座標の中心は要らないので引いとく
(ツクール200Xではピクチャの描画座標は画像の中心の位置を指定する為)

解説いらない子はスルーして

67 :
虚空の敵Aはこれで一旦いいとして
敵Bの編隊出現イベント作った
虚空の敵は皆、編隊を組んで襲って来る

敵Aは自機の後ろから追い抜いて前方へ直進する
敵Bは前方から螺旋状に公転しながら手前に向かって来る

68 :
敵Bを取り敢えず直進させた
編隊の間隔を敵Aより広めに取ってみた
休憩したら螺旋運動させる

69 :
タイトル言って無かったな「スペースSSS」
SSSSって略すとアニメ版グリッドマンと、かぶるんで困ったな

70 :
敵Bを公転させた
敵データに重心のX,Yと角度を追加して、敵Aの移動処理をコピペ
X,Y座標でなくて重心のCX,CYを敵AのX,Yと同じ様に動かした後
X = cos(角度) * 半径 + CX
Y = sin(角度) * 半径 + CY
で間接的にX,Y座標を求める厨一レベル

71 :
敵Cの編隊処理だけ出来た
もう眠いので描画は明日

72 :
HP見てきた!L&Lいいね!好みのゲームだし休みになったらやってみようかな。
Advancedとか「マークした」とか、言葉の端々からD&D感を醸し出してるw

RPGMakerって使ったことないけど、スペースハリアーみたいなの作れるのですね。
びっくりだ応援する!

73 :
>>72
早速スレタイ回収したw
L&Lは完成してるのでプレイするよろし
隙を見てAL&Lの方も進捗出したい

RPGMaker2003(Steam版RPGツクール2003)で作ってるけど
完成したらUE4に移植してVRで3D酔いしてもらうぞ!覚悟するべし

74 :
では今日もやるかな

75 :
敵C出来た

地上を滑走して接近 → ジャンプ → 上空を滑空して後退 → 降下 → …

を繰り返す
編隊データに接近/後退の目標座標を交互に入れて置いて
敵座標が目標座標を越えたら、編隊データへのインデックスをインクリメントする

X += (目標X - X) / 16
Y += (目標Y - Y) / 8
Z += (目標Z - 始点Z) / 移動フレーム数

で移動する
移動フレーム数は、始点から目標地点までの移動にかかるフレーム数
接近時の目標Yに地面の高さ、後退時に空の高さを入れて置く事で
接近 → 後退の切り替え直後に、ジャンプした様な動きになる

76 :
https://www.youtube.com/watch?v=wWvzTxt9ddU&list=PLA7OQaUQq9PqfTQaaNG3mHbo1F3hChKA0
プレイリストでサブゲーム6種の紹介
進捗動画で大体どんなゲームか判るだろうと…w

77 :
https://www.youtube.com/playlist?list=PLA7OQaUQq9PqfTQaaNG3mHbo1F3hChKA0
微妙に失敗。こうかな?

78 :
敵D出来た
UFOみたく画面上をランダムにジグザグ移動する
編隊の目標座標をランダムに設定して
敵Dが目標の近くに着いたら、編隊の番号を+1するだけ

目標Z = 乱数(1.0〜5.0)
目標X = 乱数(-160〜160) * Z
目標Y = 乱数(-120〜120) * Z

目標座標の初期値はZを先にランダムに決めて
X,Yに画面の幅と高さの乱数を入れてから、Zを掛けると
Z(奥行き)がいくつでも、X,Yが視界の範囲内に収まる

X += (目標X - X) / 8
Y += (目標Y - Y) / 8
Z += (目標Z - Z) / 8

この式で動かすと、縦シューのヘリコプターっぽい動きになる

79 :
目標Y = 乱数(-120〜0) * Z

目標Yは地面にめり込んでたら、サイコロを上記で振り直す
あと座標は全て100の下駄を履かせて、固定小数点にしてる

80 :
https://www.youtube.com/watch?v=WIowA3WDbUg
地表面の敵のネタ出ししてる
ABIIとは違う要素も入れたい

81 :
ネタ出しで見るゲしてたら
敵のアイデアは出て来なかったけど、代わりに
地形の岩山をロックオンして撃つと、鉱物資源を回収できる
ってのが降りて来た
資源でミサイルとか燃料とか生産できる自給自足

82 :
起きたし食ったしネットしたし、今日もやっていくかな

83 :
地表面の敵の横一列(アブレスト)編隊の遭遇処理を実装した
画面上の見た目の中心座標をランダムに決めて
そこが中心になる様に横一列にポンポン配置して行く
Z座標を決めたら見た目のX,Yに掛け算して実際のX,Yに変換する

SX, SY : スクリーン上の見た目の座標
Z = MaxZ
X = SX * Z
Y = SY * Z

84 :
敵の座標を初期化して取り敢えず画面に出す所まで出来た
まだ1機しか表示できないバグが取れて無いけど
風邪ひいて辛いので今日はここまでにしとく

85 :
朝飯前にやるかな

86 :
敵編隊が1機しか現れないバグ一瞬で直った
「一晩寝ると直るバグ」ってやつだな

87 :
地表面の敵のライフ・サイクルを実装した

編隊生成
 ↓
一定時間ホバリング
 ↓
移動
 ↓
画面外に出たら削除

88 :
飯食って休憩

89 :
地表面の敵を取り敢えず適当に描画してたのを修整
画面の回転に合わせて描画座標も回転させた

それと編隊の内1機だけ誘爆する敵を混ぜた
撃墜すると画面上の敵が全滅する様に後で実装する

90 :
V字編隊作った

  3
 2 4
1   5

こう言う感じで
1) 3の座標と機体間隔(dx, dy)をランダムに決める
2) 3とdx, dyから1の座標(x, y)を求める
3) 1〜5までループ
4) x, yに敵を配置
5) x += dx
6) 3までは y -= dy
7) 4以降は y += dy
8) ループ終端

91 :
菱形編隊できた

 1   5
3 4 7 8
 2   6

敵を4機毎のグループで生成する
1) 1〜8までループ
2) 中心の座標(x, y)と機体間隔(dx, dy)をランダムに決める
3) カウンタが編隊数になったらループ終了
4) 座標x, y - dyに配置(1, 5)
5) カウンタが編隊数になったらループ終了
6) 座標x, y + dyに配置(2, 6)
7) カウンタが編隊数になったらループ終了
8) 座標x - dx, yに配置(3, 7)
9) カウンタが編隊数になったらループ終了
10) 座標x + dx, yに配置(4, 8)
11) ループ終端

92 :
>>90,91
上の2つのレスは、編隊の機数がいくつでも(1〜N)対応できる

93 :
>>90-91
テスト

94 :
L&Lやってみた。
Rogueのランダムダンジョンに、NeverWinterNightsの操作を加えたような感じですね。

自分も似たようなゲームを作ろうと思ったことだけあります。
(メインキャラ1人+サポート5人で、メインを操作しつつサポートに指示を出す感じ)
メインで作ってるWIZ風RPGと丸被りなので、着手までは至りませんでしたがw

>>90
V字の先端を、1番機にしたほうがいいんじゃね?

95 :
http://lnl.osdn.jp/images/Space-SSS/SS/sss-2018-06-10-002.png
V字編隊の出現直後のSS

>>94
> L&Lやってみた。
ありがとう

> Rogueのランダムダンジョンに、NeverWinterNightsの操作を加えたような感じですね。
NeverWinterNightsはやった事あるけど
実を言うとL&Lは初代トルネコの大冒険の発売より前から
作ってたのでそう言ったRPGのパクリでも無いんだけどね
ネタが降りて来てから完成まで20年かかったと言う
よくエタらなかったもんだ

> メインで作ってるWIZ風RPGと丸被りなので、着手までは至りませんでしたがw
制作がんばれー

> V字の先端を、1番機にしたほうがいいんじゃね?
フレーバー要素としてはそれも良いかも試練けど
見た目上滅多にスプライト重なら無いし意味ないかなと
1番機を誘爆にすると真ん中だけ狙ってれば良い事になるし

月曜日は病院行くので、今日は飯食ったら作業する

96 :
ランダム編隊できた
乱数振って配置するだけ

97 :
地表面の海賊のテクスチャのコントラストを全部上げた
元の色やたら暗い

98 :
海賊四種の回転画像を生成した
Blender上で、回転した時に、はみ出ないギリギリのサイズに調整した後
GIMP用の自作スクリプトで自動回転させた

99 :
海賊のスプライトを回転描画できる様にした

360度 / 5度 = 72枚

で72パターンに回転させた画像を列べたピクチャを用意して置いて
スプライト・シートの番号を指定するだけ

100 :
自機の後方から襲って来る海賊のx, y方向の移動を作った
ケツに食らい付いて来るので振り払う

vx += sgn(自機x - 敵x) * v
敵x += vx

x方向は等加速度運動で、常に自機の方向へ加速し続ける
(最大速度で制限する)

vy += (自機y - 敵y) / n
敵y += vy

y方向は前レスのヘリ移動

101 :
vxは常に自機の方向へ加速するので
自機の後ろへ突っ込む → 通り過ぎて減速 → 反対から再び突っ込む
を繰り返す

102 :
>100
vy += (自機y - 敵y) / n
じゃなくて↓だった
vy = (自機y - 敵y) / n

103 :
>>101
自機の後ろに食らいつくっつーか
自機を中心に振り子運動してんじゃねーか!!
(とりあえずツッコミ)

104 :
>>103
最大速度で制限する、のとy方向の機動、画面の動きと
プレイヤーが振りほどこうとする動作が絡み合うので
単純な振り子じゃ無くて、複雑なケツの取り合いが楽しめるぞ!!
(ツッコミ上等)

105 :
惑星の画像とかモデルとかのフリー素材
片っ端からダウンして加工してるけど
テクスチャ貼って無いのとか
Blenderで読み込めないのが有って
没にするのが勿体ない

太陽系含めて恒星系4つ分くらいの世界観なので
もっと物量的にジャンジャン必要

106 :
土星に輪っかがついて無いとか
何がしたいの?って思いました

107 :
取り敢えず4機分のピクチャを用意してたけど
その内の一つが後方から迫る敵になったので
後ろをこちらに向けた画像に差し替えて置いた

大気圏内の海賊は翼が有って平べったいモデルを
優先的に割り振った

108 :
なんや

109 :
後方から来る海賊Cの速度の処理が出来た

敵vz = (自機z - 敵z) / 4
敵z += vz

で低速だと自機の直ぐ後ろに付き
高速だと少し離れる感じになる

zが100未満の場合、仮のz = 100
見た目のx = x / 仮のz

zが100以下で自機より手前にいる場合
見た目のx, yが極端に大きくなり過ぎるので
この敵だけ、zを100で計算する様にした

110 :
海賊Cに背後を取られたら、下記の手順で倒せる

最高速度に上げて、海賊に速度制限を発生させる
 ↓
最低速度に下げる
 ↓
海賊Cが前方に出る
 ↓
今度は自機が背後を取って攻撃する

処理の手順
・海賊Cの出現時に速度制限フラグをOFFにする
・自機が最高速度になったらフラグをONにする
・海賊Cの移動処理でフラグがONなら
最低速度を制限して、それより下がら無い様にする

111 :
>>109
zが100未満でも、敵のピクチャの拡大率は
普通に計算するので、距離感はつかめる

112 :
ビル街の敵の車両をレンダリングした
1両目は出来たけど、2両目はテクスチャが貼られて無くてダメ
3両目はパーツがバラバラで、グループ化しても
何故かパーツ単位でしか回転出来なくてダメ
移動はグループ単位で出来るのにわけ分からん

車系のモデルはやたらハイポリで
レンダリングするだけで30分以上かかったりする

あとBlenderはほんとクソ
作った奴は神UIだと思ったシリーズ

113 :
星間通路の敵の影を敵の種類毎に変える様にした

114 :
地表面の自機の影を描画できる様にした

x = 自機のx
y = 画面の下端に固定

影の座標を入れて透視変換して描画する
メッシュのフラグをOnにすると影がメッシュになる

115 :
敵の影も実装した

116 :
ビル街の車のベースになるイベント組んだ
この上に個別のアクションを乗せる

ここ迄は単純作業なのでモチベ関係なく出来る
これに一寸足すだけで形になって行くので
気楽に手を付けて、そのままやって行ける
(モチベ管理)

117 :
取り敢えず、車を生成して動かして
画面に何か描画する所まで出来た
動作が確認出来たので、ここから修整を加えて行く
風呂入ったし飯でも食う

118 :
車を道路に沿って移動させて、正しく描画する所まで出来た
調整に手間取った

ラスター番号 = 道路のheight / 車のz
x = ラスターのx[ラスター番号] + (車のx / 車のz)
y = ラスターのy[ラスター番号] + (車のy / 車のz)

道路のheightをzで割って、道路のラスター番号に変換して
ラスター・スクロールするのに使ってるx, y座標を得て
そこからの相対座標を車の座標とすると
車の内部座標を直進させるだけで
道路のカーブに沿って移動させる事が出来る

119 :
おい!おまいら!俺を放ったらかしか?
スレタイをもう一度よく思い出して欲しい
寂しくて氏んじゃうだろ!

120 :
だって忙しいんだもん(俺が)w

>>80の動画、海の部分はモコモコしてないほうがいいんじゃないか?

121 :
>>120
忙しいのか、それはすまんかった

地形に応じて微妙に高低差が有っても良いかも試練な
海・川を少し低くして、森・岩は高めにするとか
処理が重く無い様なら組み込んでみるとするか

122 :
車の画像に抜き色のノイズが出ていたので取り除いた
カクつきが生じていたので
フレーム・スキップのwait配分を調整した

123 :
https://www.youtube.com/watch?v=cuSppnWkgHs

ビル街のサブ・ゲームはこんな感じ
この動画ではもっさりしてるけど
今は最適化してあるので倍速くらいでヌルヌル動く

124 :
車の出現間隔を設定できる様にした

車間距離 = 道路の長さ / 車の数
minZ = min(車のz)
maxZ = max(車のz)

1. 「道路の長さ」(車が動く範囲)を
出現させたい「車の数」で割って「車間距離」とする
2. 車の最前「minZ」と最後尾「maxZ」をカウントして置く
3. 「minZ」と「maxZ」が両方とも「車間距離」以上の距離に
なっていたら、車を出現させる

道路の範囲から車のz座標が、はみ出たら
反対端に移動する(先端 <-> 末端)

125 :
敵の車B作った
一定フレーム毎に、直進するのと
自機に向かってx軸移動するのを繰り返す

f = (アニメ用フレーム + 車のインデックス * 3) % 24
f < 12 なら直進、それ以外ならx軸移動
車のインデックスは最大で8

アニメさせる時に使うフレーム・カウンタに
車のインデックスを加えて、固有のタイミングを作る
車のデータにフレーム・カウンタ入れても良いけど
なるべくデータを少なくしたいので計算で求める事にした

126 :
敵の車C作った
珍走団よろしく蛇行運転する

速度vx += 符号sign(-座標x) * 加速度avx
座標x += 速度vx

重心に向かって加速するsinカーブだな

127 :
各サブ・ゲーム用のダメージと爆風の画像を作った

海賊    :恒星系、地表面:オレンジ
軍隊    :白兵戦    : 〃
バイドロイド:恒星間通路  :グリーン
電磁甲殻体 :虚数空間   :ブルー

こんな感じで色分けした

128 :
通路の敵のダメージ表示/爆発を作った

アニメ・カウンタ = フレーム・カウンタ / フレーム長
フレーム・カウンタ += 1

アニメ・カウンタ <= アニメ最大数
ならアニメ・カウンタ番目のアニメを描画
アニメ・カウンタ > アニメ最大数
ならオブジェクトを削除

アニメ・カウンタで、アニメが何コマ目か計算
フレーム・カウンタで、アニメ開始時からのフレームを数える
フレーム長で、アニメの1コマの長さを指定
アニメ最大数で、アニメの終了を判定

先に自弾x敵の当たり判定を作らないと
きちんと動くか確かめられ無い

129 :
ダメージ表示は、生成時に
毎回アニメ・カウンタを0で初期化すると
連続的に攻撃を与えた時に
1コマ目だけが連続で描画され続けてしまうので
初期化しない方が良い(多分)

爆発の方は、同じ敵に対してあまり連続で発生しないし
1コマ目からアニメが始まら無いとおかしいので
逆に初期化が要る(きっとそう)

早く試したい

130 :
>>129
違うな
生成直後に、アニメ・カウンタが
アニメ最大数になったら、いきなり終わってしまう

これとは別にグローバルな方の
アニメ・カウンタが有るので
それと足し合わせれば、必ずアニメしてくれるな
実際に試さずにレスすると、仕様もない

131 :
>>130
足したら二倍速再生されてまう
グローバルなカウンタを初期値として入れれば良いかな
机上の空論もういいや止めとこう

132 :
自レーザーx敵の当たり判定を作った
撃った瞬間、自機の正面付近にいる敵にダメージ
レーザーのグレードによって、判定サイズが変わる

>>129
ダメージの描画は↓の様に使い分ける事で実装した
・アニメの終了判定に、フレーム・カウンタ
・アニメが何コマ目かには、グローバルなアニメ・カウンタ

133 :
「自ビーム x 敵」の当たり判定を作った
ビームは生成順に配列に入れる事で
遠いものから近いものまで、距離順に列ぶので
z座標の二分探索で当たり判定を高速化できる

1) 敵の配列でループ
2) 敵がビームの先端と末端の外側なら 6) へ行く
3) 敵に一番近いビームを二分探索で探す
4) 敵とビームの座標で当たり判定
5) 当たっていたら敵にダメージを与える
6) 配列を次の敵に進めて 2) へ行く

134 :
ビームだのレーザーだの言っても知らんわだろうから解説

https://www.youtube.com/watch?v=kc4qrNfTe1A

メイン武装にはビーム、レーザー、プラズマの三種類が有り
それぞれ三段階のグレードに分かれる
ビーム :標準武装。タップ撃ちすると遠方へ届く。偏差撃ちが必要
レーザー:エイムさえ合えば撃った瞬間に当たる。DPSがビームの1/2
プラズマ:チャージ武器。溜めてから撃つとダメージ大。連射するとダメージ小

135 :
ビームの処理を微妙に最適化後コピペして
「自プラズマ x 敵」の当たり判定を作った

ビーム大量に撃てても仕様がないので
減らして、タップ撃ち要素を増した

136 :
動画見た。
ツクールでよくここまで動かすなw

ちょっと狭苦しい感が気になる。
コンパネが場所を取ってるからなのか
ビームがでかすぎるからなのか

137 :
https://www.youtube.com/watch?v=ICbmdUzIwq4
これも相当狭苦しいから大丈夫w
ビーム小さくするとチマチマ感出ちゃうしな
お洒落な360度ディスプレイじゃなくて
Xウィング的ヴィンテージ・コンパネにした

138 :
Steam版RPGツクール2003用 3DシューティングRPG
「スペースSSS」
https://www.youtube.com/playlist?list=PLA7OQaUQq9PqfTQaaNG3mHbo1F3hChKA0
もっかい動画リスト貼っとくワ

ブログはこっち
http://lnl.osdn.jp/pukiwiki/index.php?blog

139 :
スターラスターって初めて見たけど、ものすごくスタートレック(レトロゲーのほう)だなw
(さすがにやったことは無いけど)

上げてくれた動画を見て、未来のコクピットって、ガラス越しに外を見る(下方が死角になる)んじゃなくて、
ヘッドマウントディスプレイ越しに360度見える(自分の体すら死角にならない)のが、正しい将来像なんじゃないかと妄想した。
(コンパネもといインパネは当然HUD。まぁ、どっかに既出な妄想なんだろうけど)

140 :
>>139
昔のマイコンでBASICと言えば、みんな大好きスタートレック

全方位モニタとか網膜投影HUDは
エルガイム、Zガンダム、マシーネンクリーガー辺りから始まって
縦横シューティングとかで、一時全盛期が有ったし
その妄想はだいたい合ってる

今は一部の同人で、三人称視点+青白いHUDが流行ってたりするけど
SSSSは時代に逆行するレトロ雰囲気
パネルの計器は全部ゲームと連動させる予定

141 :
ワープの星の光跡を毎フレーム全て描画していたのを
差分だけにした
特に目に見えて高速化はされ無かった

デバッグするサブ・ゲームを
ゲーム開始時にメニューで選択できる様にした

ゲーム中にテンキーの「/ キー」で
メイン・メニューを出せる様にした
「Shift + Z + X」の同時押しで同様の機能だけど
上手く認識してくれない
Nキーロールオーバーで無い、安いキーボードだからだろうか?

142 :
度々変更になるけど現時点でのキー割り当て

←→↑↓    :移動
X       :メイン射撃
Z       :サブ・アイテム
Shift + X + ←→:メイン切り替え
Shift + Z + ←→:サブ切り替え
Shift + ↑↓  :加速/減速
Shift + ←→  :メニュー
Shift + X + Z :メニュー(キーボードによっては不可)
「/」     :メニュー
「-」「+」   :加速/減速

ツクールでは色々制限が多いのでこれが限界

143 :
サブ・ゲーム選択メニューに、デフォルトの項目を追加した
2003だと選択肢が4つ(キャンセル入れると5つ)しかないので
階層メニューになって面倒なので、空いてる所に入れた

144 :
キー入力周りをリファクタリングした
Shiftとかの組み合わせでキーのフラグを立てる階層と
立っているフラグを見て各処理を呼ぶ階層の二段構えにした

145 :
>>140
マイコンとBASICが並んでると、昔懐かしベーマガを思い出すなw

>SSSSは時代に逆行するレトロ雰囲気
なるほど理解した!いいね!

146 :
>>145
ベーマガに投稿したかったけど
当時は作り散らかすだけで
一本も完成させられなかった思い出

レトロでも何でもオッサンは
生まれ育った場所に戻って来てしまう
という動物の本能(シャケとかと一緒

147 :
自機の光跡の画像作った
ノズルの光ってる部分をコピペで抽出しただけ

148 :
自機の光跡の描画できた
リング・バッファで自機の過去の座標を記録して置いて
透明度の変化でフェード・アウトさせながら
光跡の画像を描画する

ツインビーの分身と同じ
自機が動いている時だけリング・バッファに
自機の座標を追加して行くと
グラディウスのオプションになる

ただそのままだと自機の動きが速くて
画像同士の間が空いてスカスカになるので
補完する必要が有る

1) n を 1 から補完数までループ
2) 光跡のx = 自機のx + (自機のx - 1つ前の自機のx) * n / 補完数
3) 光跡のy = 自機のy + (自機のy - 1つ前の自機のy) * n / 補完数
4) 光跡のx, yをリング・バッファに登録
5) ループ末尾

149 :
>>148
間違った修正

2) 光跡のx = 1つ前の自機のx + (自機のx - 1つ前の自機のx) * n / 補完数
3) 光跡のy = 1つ前の自機のy + (自機のy - 1つ前の自機のy) * n / 補完数

150 :
説明のために省いたり構成を変えると
文章にバグが紛れ込むと言う

151 :
光跡のスクショ
http://lnl.osdn.jp/images/Space-SSS/blog/2018/06/s/sss-2018-06-29-002-cut.png

152 :
光跡の画像を少し厚み出して
リング・バッファのサイズを半分に減らした

153 :
虚数空間の方の自機の光跡も出来た
描画座標の計算が違うだけで、通路と大体一緒

自機の向きに合わせて光跡の角度も変える様にしたけど
見た目ほとんど効果無かった

154 :
取り敢えず、虚数空間の自弾レーザーだけ
当たり判定作った

判定上の敵x = 敵x / 敵z
判定上の敵y = 敵y / 敵z
abs(判定上の敵x - 画面上の自機x) <= 当たりwidth かつ
abs(判定上の敵y - 画面上の自機y) <= 当たりheight なら当たり

敵の判定上の座標と、画面上の描画座標は
視点の移動等によって、同じでは無くなって来る

ダメージと爆発のエフェクトがまだ出来てないので
適当にSEを鳴らしてテストしてる
ツクール200Xにはprintfどころか文字列変数すら無いので
しばしば効果音でデバッグしたりする

155 :
ブレードランナーとかエイリアンズみたいに
「ヒコンッ…ヒコンッ…」って動体探知器で
インターラクティブ・デバッグだな

156 :
ビームの当たり判定も出来た
ほぼ星間通路のやつのコピペ

157 :
プラズマの判定もコピペでやった
判定する敵を換えただけ

158 :
>>154
当り判定を
abs(略)≦width or height / 敵z
にしないと、遠い敵の当り判定でかすぎじゃね?

159 :
>>158
それはSEデバッグの時点でオレもすぐ気づいて
「ダメージ・エフェクトがまだ出来てないので
十分にテスト出来ないから、デバッグと調整は後回しにします」
って言う話と一緒にレスするか迷ったけど
基本的に実際にやり終わった事/出来上がった事しか
レスをしない方針なので、予定の話はしないでいたら
目敏く突っつかれたし、おまいら油断も隙も無いな
後知恵っぽく聞こえちゃうだろw

新人研修で、話の段取りが有るのに
空気読まずに途中で質問したり
伏線を張ってるのに「ここおかしくないですか?」
ってドヤったりして、一人だけ浮き捲った挙句
一週間で肩を叩かれた新人のオレを思い出すし
その時の過ちを今つぐなってる気分だワ

あと実際の座標で当たり判定すると
遠くの敵がスカスカで当てるの難しくなるので
見た目上の大きさでやらないといけなくなりそうだし
どの道テスト出来る段階にならないと
机上の空論なので後回しにする必要が有る

有言実行 = 出来ても無い内からベラベラしゃべる → エターナル
不言実行 = やり終わった事だけを報告する → 完走ランナー
「今日は一つこれを覚えて行って下さいね奥さん」

160 :
サンダーセプター
https://www.youtube.com/watch?v=VoR0f97vWE4

スペースハリアー
https://www.youtube.com/watch?v=JLOf2StF_zY

↑を例に解説すると
どちらも一点透視図法で遠くの物ほど小さく見えるが
サンダーセプターでは、一本道なので画面手前も奥も
キャラクタの動ける座標の範囲は変わらないのに対し
スペースハリアーでは、奥に行くほど
画面の数倍の範囲に広がって行く

なので前者ではzで割る前の実際の座標で
当たり判定できる
後者ではzで割った見た目上の座標で
判定しないと当たり憎い
但し遠くの敵は幅と高さが小さくなるが
自弾の当たり幅はあまり変え無い

自弾◯と近くの敵■の判定ギリギリの位置
◯■

自弾○と遠くの敵「.」の判定ギリギリの位置
○.

161 :
要するにスペハリでは
遠くの物は当たり判定ガバでないと当たらんなる

162 :
>>159
勝ったなガハハ

実際、デバッグ時は当り判定が緩いほうが楽なのは同意w

スペハリ動画見たけど、自機が撃つ弾って画面座標上でまっすぐ直進(ワールド座標上だと斜めに直進)なんなー、だから154の式になるのね

163 :
>>162
面倒草い奴だなw
見た目直進が実際斜めなのはその通り
理解は早い様だな
この手の作った事あんじゃね?

164 :
虚数空間の敵のダメージ/爆発エフェクト作った
恒星間通路のをコピペして
座標計算は虚数の敵のとチャンポンした

165 :
>>163
残念ながら、作ろうと思ったこともないな。
こういうのは、大型筐体のなかで揺すられてナンボだと思ってたので。

166 :
地表面の自弾当たり判定は
ロックオン操作が前提になるので
先にそれをやる

取り敢えず下準備はしたので
飯食ったらコードで埋めてく

167 :
地表面の自弾のロックオン出来た
取り敢えず画面の中心に一番近い敵をロックオンして
そこに向けて弾が飛ぶ様にした

ロック可能範囲とかマーカーの描画は
後でHUDを作る時にまとめてやる

168 :
ロックオンの切り替え出来た
移動キーを左右にコンコン入れると
ロックオンの対象が左右隣りの敵に移って行く

右移動キーが on の場合
1) n = -1
2) minX = 999999
3) 敵の配列でループ
4) x = 現在の配列要素のx
5) (ロック中の敵x < x) かつ (x < minX) なら
  n = 現在の配列の添字
  minX = x
6) ループの末尾
7) (n > -1) なら、その敵をロックオン

ロックオン中の敵よりも右側限定で
一番左側の敵を探して、それを再ロックオンする
これを左移動キーの分も反対向きにやればOK
実際のコードでは、x座標が同じ敵がいた場合は
y座標も同様にチェックする

169 :
地表面のレーザーの当たり判定作った
ダメージ・エフェクトがまだ出来て無いので
きちんと当たってるか確認でき無い

当たり判定とダメージは、両方揃うまで
お互いにテスト出来ない関係
鶏が先か卵が先か

170 :
地表面のダメージ/爆発エフェクト出来た
レーザーの当たり判定も、ちゃんと動いてた

レーザーは撃った瞬間に、問答無用で着弾するので
コリジョンもへったくれも無いけど

171 :
地表面の自弾ビームの当たり判定できた

ロックオンしている敵とだけ判定するので
全敵 X 全ビームの総当たりにならず
計算量が O(N) で処理が軽い

但し、ロック先を切り替えると
直前の敵に向かっていた残りのビームが
全弾外れるけど、仕様と言う事にする

172 :
世界設定で、惑星上や宇宙港ではロックオンが可能
大型艦でもある程度可能なので大艦巨砲主義が成立する
「当たるのであれば、どうと言う事は無い」

173 :
恒星系に大量に漂ってる白い玉が悪さして
コンピュータやネットが制限されるので
旧式の照準装置で船員の技量に頼った戦いになる

174 :
小型艇 < 大型艦 < 巨大要塞 < 小型艇 < ……
の三すくみ

衛星要塞に対抗できる小型戦闘機
そして宇宙モノ…後は分かるな?
おっとこれ以上はディズられてしまうな

175 :
>>171
各ビームに敵のイテレータを持たせて置いて
当たり判定する時に、イテレータの値が違う時だけ
イテレータを更新する事で、処理速度を維持したまま
残弾が当たらないのを回避した

176 :
ビル街の遠景が左右の端までスクロールしたら
クロスフェードして中心にリセットする様にした

遠景のピクチャを同じ画像で2枚用意して置いて
端に来たら、そこで1枚目の動きを止めて
もう1枚の座標を中心に戻し、透明度を100%にする
後は描画する時に、透明度が0%になるまで
毎フレーム減らして行く

177 :
>>176
こうすると遠景の端をループさせた画像を用意しなくても
スクロールのスピード感を保ったまま
自然に無限ループ出来る

遠景のビル街は、写真を加工したもので
ループ画像にするのは面倒なので、この様にした

178 :
地表面の「自プラズマ X 敵」の当たり判定できた
ビームのほぼコピペ

179 :
イテレータの操作を高速化しようとして上手く行かなかった

データA1
データA2
データA3
データB1
データB2
データB3
データC1
データC2
データC3
インデックス1 = データA1のインデックス
インデックス2 = データA2のインデックス
インデックス3 = データA3のインデックス

こう言う感じで、各インデックスから
ポインタみたいに間接的にデータに
アクセスするのだけど
ループでインデックスにセットするのを止めて
if文のネストでインデックスの個数を
二分探索の場合分けして、代入文を個数分並べたら
高速化できるんじゃないかと考えた
所謂「ループ展開」ってやつで
アセンブラだと、これで速くなるんだけど
ツクール2003ではダメっぽい
多分if文の中身が長いと
一行ずつ解釈してendifを探すので時間がかかる
のかも試練

去年の9月末に生まれて初めてRPGツクールを使い出して
「これアセンブラライクだな」と思ったけど
必ずしもそうでも無い様だな

180 :
恒星系の背景の宇宙の素材を探した
加工したので明日以降、描画できる様にする

181 :
恒星系の背景の星々を描画できる様にした
これで宇宙っぽくなった

x,y,z軸の先端の前後左右上下の無限遠に
宇宙の画像を6つ配置して
自機のピッチ/ロールの動きに合わせて
座標を回転させるだけ
画像の回転はロールの時だけで良い
(本当は良くないけど2.5Dゲー的ごまかし)

182 :
今日の作業だが、現時点でやれる事があまり残って無いし
先送りにしていた恒星系の敵を作って仕舞わないと進まない
他のサブゲームでは、敵が正面か一寸斜め向く程度だけど
宇宙空間だと、きちんと計算しないといけん
で、俺の3D技術はバーチャファイター1辺りで
止っているので、真面目に勉強する必要が有る

と言う訳けで、一旦作業を中断して
暫くセガの黒本を読む事にする
ただそれだと読書感想文になって仕舞うので
世界観の背景設定を小出しにして時間を稼ぐ

183 :
取り敢えず「ロボを出す」から「ロボを動かす」
まで読んだ

「PDS--Perfect Defending System」
この宇宙の基本的な4つの力の内、重力を除いて
一時的に平行宇宙に枝分かれさせる事で
範囲内の核エネルギーと放射線/放射性物質を
高次元で折り畳まれた宇宙の何処か遠くへ
送り込む、核兵器に対する完全防御システム

184 :
別にエターなったわけじゃ無いから
勝手に終了宣言とかするんじゃないぞ!
分かったな?

185 :
何の能力もないゴミ共が頑張ってる奴を必死に蹴落そうとする様は見てて滑稽だな。頑張れ

186 :
>>185
お、おう 掩護射撃テンキュー
作業してないと落ち着かないので、戦線復帰を急ぐ
寝る前にもう少し読むワ

187 :
『「ロボファイト」を作り始める』と『Zバッファ精度問題』
を読んで、14章『立体を描く』が終わった
この調子で頑張る

>>183
枝分かれしていても1/4は繋っているので
一定時間経過後、復元力が働いて元の宇宙に戻る
PDS物理学では、エネルギーは発生元の物質や
条件などによって、固有の「色」が有ると考える
核エネルギー等いくつかの色は特定されているが
特定手順は研究開発した科学者によって
ブラック・ボックスにされている

もうner

188 :
「15章ライブラリの作り方」を読んだ

>>187
PDSは、その核エネルギーの色にのみ
効果が発生する
しかし核兵器が無力化される事によって
紛争の火種が世界中にばら撒かれて仕舞う

PDSが働いている領域では
電磁波に指向性を持たせて
他の物質を透過させる事が出来る
この特性と高度なトラッキング技術などを
組み合わせる事で
「無制限の電波帯域」
「莫大な容量の外部記憶」
「量子計算機の小型化」
が可能になる

189 :
「16章XMLモドキを読む」を読んだ

>>188
PDSによる量子計算機は
「タキオン・コンピューティング」と呼ばれ
計算時間が負になり(0には出来無い)
結果を先に得て、後から計算する
「時間の後払い」が出来る
応用として、答が分っている短かい計算を繰り返し
結果が一致しなければ、近い将来計算が
中断される事が確率的に予言できる
これを交通システムに搭載すれば
事故を事前に察知する事が可能と成る
100%当たるのでは無くガイガーカウンタの様に
チリチリとしたノイズ音で聞き取れる

190 :
「17章 遅くないコードを書くために」を読んだ
ここ迄で脱線が終わって、次から本題に戻るそうな

>>189
動物が進化の過程で、自分の周囲の
三次元空間を見る「目」を獲得した様に
人類は起こり得る未来の四次元時空間
を感じ取る能力を得た

地球は、ほぼ全球がPDSネットワークで覆われ
ネットフレアが吹き上げる紺碧の星と化している
但し南極大陸だけは国際条約でPDSの使用が禁止され
各国の核融合発電所の街が点在する

ここ迄は21世紀の設定で、スペースSSSは
その数百年後が舞台となる

191 :
「18章 立体の衝突処理」の前半を読んだ

>>190
スペースSSSに登場する主な組織

国家に代る横軸のソーシャル・ネット構造
・グローバル連合
・シオニス同盟

持つ者と持たざる者を隔てる縦軸の階層構造
・自由貿易組合
・オメガ教団

人類の宇宙進出を担う中立組織
・宇宙港連合
・星間通路管理局
・深銀河開拓公社

人類に敵対する非DNA生命体
・電磁甲殻体
・バイドロイド

宇宙に秩序をもたらす者
・王立銀河宅配協会
・考古学探求者

組織に属さないならず者達
・海賊
・賞金稼ぎ

192 :
「18章 立体の衝突処理」の後半を読んだ
> 衝突処理を「売り物クォリティ」にする作業は
> 君にゆだねられることになる
とか丸投げ落ち。こんな本読まずに
自分のやりたい様にやった方が早い

>>191
「グローバル連合」
「Global Allied Planets : GAP」
「通称:グ連」
・銀河統一政府を樹立しようとする勢力

「シオニス同盟」
「Zionis Rebellion : Zio」
「通称:同盟」
・各惑星は独立すべきとする勢力

・民衆はどちらかの勢力を
自由に支持する権利を
両勢力の軍事力バランスによって
担保されている
・明確な国境が無いので
大規模な戦争が起きない代わりに
経済戦や情報戦で綱引きが行われる
・局地的な小競り合い等の
茶番の上で成り立つ平和な時代と言える
だが今日の飯にありつくのは楽では無い!

193 :
放置しても無反応なので、今日も頑張る
「19章 ロボファイトの設計」を読んだ

194 :
    ∧_∧  ミ _ ドスッ
    (    )┌─┴┴─┐
    /    つ. 終  了 |
   :/o   /´ .└─┬┬─┘
  (_(_) ;;、`;。;`| |

195 :
>>194
めっちゃやる気出て来た
頑張るワ

196 :
おう頑張れよ

197 :
読書だけだとモチベだだ下がりなので
読みながら作業もする事にする

恒星系の海賊の画像を取り敢えず1種類
レンダリングした
動かして問題無ければ4種類に増やす
画像が同じでも地域によって
攻撃パターンが変わる様にする

宇宙では45度ずつだけ回転させても
8 x 8 x 8 = 512パターン
必要になって画像デカ杉なので
筒状に回転させて端折る事にした

正面向きに45度ずつ回転で8パターン
更に真後ろまで45度ずつ振り向いて
8 x 5 = 40パターン
で何とか表現する

198 :
恒星系の海賊の共通コードを書いて準備した

自機と敵のローリングで、きちんと向きが合うか
テスト用の描画を先に作った方が良さそうだな

199 :
顔グラの利用規約を読み直したら
ツクールVXのユーザ登録が必須だったので
セールの時に買って置く事にする

UE4のVRに移植する時には使えないので
代わりのを探して置く必要が有る

200 :
一晩中、素材探し直ししたけど
ツクール以外で使えて、顔グラの質と量が
揃ってる素材サイトは、あんまり無いな

顔グラの仕様自体がツクール向けとしても
ツクール以外でも需要は有るだろうに

201 :
YADOTさんのサイトの自作エンカウント処理を読んだ
後でマップの処理を作る時に対応できる様に
考慮して海賊の生成処理を書く

202 :
恒星系の海賊の生成と描画が出来た
AIはまだ空っぽで動かない

デバッグ用に、敵を画面の中心にサイズ固定で描画して
方向転換が正しく出来てるか、テスト表示できる様にした
画面のUIに余裕が有れば、これを使って
サイト付近の敵を小さ目にHUDに描画するのも
格好良いかも

203 :
海賊のAIを取り敢えず2つ分だけ考えた
実装したら説明する

204 :
海賊の直進移動を作った
向いている方向へ動く

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

ピッチとロールの角度だけで向きを管理してる訳で
ポリゴン3Dゲーとしてはデタラメだけど
スプライト2.5Dゲーとして割り切る

205 :
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

206 :
恒星系の海賊 B の AI を作った
旋回して自機の後方につける→追い抜く
を繰り返す

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

自機の後方にいる時は
ロールで天頂を自機に向け
ピッチを 160±10 に向けて
自機の方へ斜めに向かう

207 :
デバッグ用のレーダー表示も作った

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

で描画するだけ

208 :
通路と虚空の自弾の当たり判定で
連射しないと当たらないバグを多分w修正できた
微妙かも試練

敵のz座標が先頭と末尾の弾の範囲外だったら
二分探索せずに終了する所で
弾のz方向の幅を計算に入れて無かった

209 :
Wikipediaで空戦機動関連の資料読み漁った

210 :
恒星系の海賊 C の AI を作った
自機の方へ旋回して急接近→突っ切ったら反転
の一撃離脱戦法を繰り返す

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

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

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

フェーズ 2 の時は
ピッチを自機の方へ ±30 に向けつつ
減速
速度が 0 になったらフェーズ = 0

211 :
マウスでエイムするわけじゃ無く
カーソル・キーで移動もエイムもするゲームなので
当たり判定は基本ガバ

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

スプライトゲー作った事無い奴に限って
ポリゴンゲーの常識色眼鏡でベラベラ語る

212 :
恒星系の海賊グループのエンカウント処理を作った

1. マップの初期化で地形毎に
 グループ単位の比率を設定して置く
2. グループの比率に応じて
 ランダムにグループを選ぶ
3. グループによって敵の種類毎の比率を設定する
4. 敵の比率に応じて、ランダムに敵を出現させる
5. 敵の出現数分 4. を繰り返す

213 :
比率に応じてランダムに選択する処理

比率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を生成

214 :
恒星系の海賊 A の AI 作った

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

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

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

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

以上を繰り返す

215 :
海賊の残り3種類をレンダリングして
スプライト・シートに列べた
これで種類毎に違う画像で描画される

216 :
PCのミサイルの画像作った

本体 + スモークで 4 枚使うとすると
PCが 4 発 x 4 枚 = 16 枚
敵が 4 機 x 4 枚 = 16 枚
足して 32 枚のスプライトの座標を
回転させる事になるので、一寸重いかも試練

217 :
恒星系の自ミサイルの初期化とイテレータ作った
取り敢えず休憩

218 :
自ミサイルの発射処理を書いた

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

移動と描画はまだ出来て無いので
ロックオンや発射とかの効果音だけ

219 :
後でリファクタリングしなくて良い様に
考えて作ってるので、亀の様に遅い
ツクールで順番並べ替えたりするのキツいんでな
何言ってるか分からんだろうけど

220 :
自ミサイルの移動処理を作った

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

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

設定フラグでスモークをOn/Off出来る様にしとく

221 :
自ミサイルの描画作った

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

ロックした敵へのホーミングが
まだ少しバグってる

222 :
自ミサイルの当たり判定作った

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

逃げる敵機をミサイルが追い掛けてって
ドーンするのが楽しい

223 :
ロックオン可能範囲に敵の見た目の幅を加味した

ミサイルはフレアを使わない限り
ロックしたら、ほぼ確実に当たるので
ガバにしないで厳密に範囲チェックする様にした

224 :
自ビームの当たり判定作った

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

代入の右辺値は変数名が表示され無いで
変数番号だけなので
コピペだからと気を抜いてると
書き換えミスでバグが入り込む

225 :
レーザーとプラズマの当たり判定も作った

226 :
グレネードの画像のチョイスをしたり
細かいネタ出し等をした

ミサイルを実装し終わってから
グレネードを作るか
同時並行でやるかで迷う

227 :
自弾のボムの画像作った
敵にダメージを与えるだけで無く
敵弾も吹き飛ばす

グレネードと言う設定だったけど
白兵戦の手榴弾のと被るし
スペックがそのまんまなので
ボムに変更した(分かり易い

228 :
ボムの初期化とイテレータ書いた

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

内部的に連射できる様に作るけど
実際は単発か、爆風が出てる間に
もう一発撃てる様に2発に設定する

229 :
ボムの発射と移動処理を作った

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

まだ描画は出来て無いけど
効果音を聴く限りは、きちんと動いてるっぽい

230 :
ボムの描画も出来た
派手に花火が上がる

231 :
>>199
すっちむでVXのセールしてたので買って置いた
立ち上げて直ぐそっ閉じしたし、多分一度も使わない
素材の利用規約に従っただけ

ツクールは知り合いに
「1000枚のスプライトはこう使う」
って手本を観せるためだけにやってるので
これ1本作ったら終わりにする

232 :
ボムの当たり判定を作った

賞金首とか依頼で稼いで
ボムとかミサイルいっぱい買えば
ボス戦とか強目の敵に仏波できる様にして
3Dシューティング苦手な人にも
救済措置を用意する

233 :
配列に相当するものの中の構造体の様なものに
アクセスする時は、メンバーへのポインタを
列べたものを経由する

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

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

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

今日は変更し忘れてる部分をチェックして修整した
最初からその様にして置けば良かったが
ツクールは初めてなので勝手が分からなかった

234 :
>>233
説明がくどいなスR

235 :
武器の切り替えキーを押した時に
所持しているアイテムの中から
自動で次を選んで装備する様にした

武器のアイテム分類を
メイン・ウェポンは武器
サブ・アイテムは楯
として扱う様に設定した

236 :
>>235
今までは装備とかしないで
アイテム番号の数値だけで取り扱っていた

237 :
衝角を実装した
装備して置くと、敵と衝突した時に
ダメージを与えられる

ゆっくり衝突すると
連続でダメージが入ってしまうので
敵を斜めに弾き飛ばす様にした

238 :
恒星系の敵のダメージ表示/爆発を作った
取り敢えず恒星系の通常戦闘は、これで暫く良し

239 :
>>238
GTDチェックしたら、まだ敵の攻撃がごっそり残ってたワ

240 :
通路のミサイルの処理を作った
発射/移動/描画/衝突、全部おk
コピペ→チャンポンだし頑張れば直ぐ終わるな

241 :
通路のボムの処理を作った
今日の目標まであと一息

242 :
みんな、しょっぱなからデカい規模のゲーム選びすぎだよ
だから続かない。

RPGなんて典型。
すげ替えて完成させるわけじゃ無し、
素人なんかにゃ根気が続かないよ。

243 :
某犬犬さんは続いてるんだが

244 :
通路の衝角の処理を作った
恒星間通路での自機の攻撃は取り敢えず良し
明日は休みにする

245 :
おうっ何かかまってくれてたのかw
むしろ根気しか取り柄が無いし

246 :
板違いになるがボドゲ制作いいぞ
ルール妄想して、フリー素材でカード作って
サイコロ用意すれば、対戦でもソロでもおk
ゲムマに出展すれば予算も回収できるし

247 :
地表面のミサイルの処理を作った
生成から当たり判定までは直ぐ出来たけど
描画か座標計算が上手く行か無くて
一日中ウンウン唸ってた
今日はもう眠いので続きは明日にする

248 :
寝る前にデバッグの手を思い付いたので
やったら直ったワ
ミサイルは出来上がり

249 :
ミサイルのZ速度が速すぎてX,Yが当たる前に
遥か彼方に逝っちゃってるだけだった
遠近感が崩壊してた

250 :
効果音の再生ルーチン作った

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

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

一応、番号の範囲でザックリ分割してから
それぞれのサブ・ルーチンを呼んで
ifのチェック回数を減らす様にはしてる
変数でイベント番号を指定して呼び出せると
良いんだがな…

251 :
c#ならdictionaryに番号と関数を対にして直呼び出すっていけそうだけど……

252 :
>>251
まともな言語なら普通に出来るけど
ツクールなんでプログラミング
出来ない子向けの仕様になってる
仕様がない

253 :
月木はお休み頂いてネタ出しとかする

254 :
地表面のボムの処理を作った

一部のSEが急に鳴らなくなって
おや?って思ったけど
SE関係の変数を後ろの方に確保したのに
スタックの先頭アドレスをずらし忘れたバグだった

255 :
地表面の衝角の処理も作った
ガンッて体当たり攻撃する

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

これで地表面はおk

256 :
虚数空間の自ミサイルの処理を作った

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

コピペする時に変更するのを忘れてた

257 :
コーラ買いに散歩しつつネタ出し

258 :
ゼロコーラ?

259 :
虚空のボムも作った
横方向に画面いっぱいの当たり判定にした
元ネタ探しのオマージュゲーになってる

260 :
>>258
いや普通の
良く分からん添加物いっぱいのより
砂糖入りの飲んで筋トレで燃焼させる方が
体に悪く無いかと思って

261 :
虚空の敵の攻撃パターンを2種類ネタ出しした
全体で一度に一種類の攻撃をして来る

恒星系と地表面の海賊は
PCと大体同じ攻撃/防御をする

262 :
BGMをシーン毎に割り振った
朝から15時間くらいずっとやってた

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

絵や音の割り振りや動画の編集なんかの作業は
一番目くらいに楽しいので監督が独占する

263 :
全部で108曲繰り返し聴きながらやった
もう当分いいや

264 :
なんでそんなにモチベが続くんですか
ワイはすぐゲームをしてしまう

265 :
>>264
自分からしたらゲーム「やる方」のモチベが
続か無くて困ってる
すぐゲームを作ってしまう

266 :
惰性で続けちゃう時が往々にしてありますし、それなりに進めようと思ったら結構時間かかっちゃうしそれぐらいがきっと丁度いいんですよ
見習いたい

267 :
SE(効果音)に関しては自分の場合、SEの自作スキルがないから、外部リソースに頼らざるを得ないんだが、
外部の膨大な母集団の中を探し回ってローカルディスクに確保した候補の中から選ぼうとする時、なかなかイメージ通りの音が見つからなくて決められず、
また外部リソースの膨大母集団の中を探しに奔走する段階に戻ったり、その繰り返しでなかなか進捗が上がらない。
あと重ねて再生すると聞こえなくなったり、インパクトが消えるものもあるから、ボリュームの調整も面倒だな。
そんなこんなで、SE決めはどちらかというと憂鬱な作業で決して楽しくはないなw
決められない自分にも問題があるんだが

268 :
>>266
うまく行ってる間は無理に変えない様にするかな

269 :
>>267
自分のイメージにピッタリ合った素材を求めると
結局自分で作るしかなくなるので
逆に既製の素材からイメージを作って膨らます
くらいのスタンスの方がいいかも

270 :
虚空の自機の衝角を作った
後ろから追い越して行く敵にも当たるけど
ダメージを与える全方位バリア的なもの
と言う事にして置く

271 :
ビル街の車の衝突判定を作った

流石に主人公が街中でビームドンパチ
する訳には行かないので
黒塗りの高級車を相手に
自動運転切って派手にぶつけ合う

272 :
今日は車の衝突の火花を作ろうとしたけど
座標か何かがおかしくて描画が上手く行か無い

衝突にバグが有ったので、それは修正できたけど
時間切れなので、続きは明後日&明日はお休み

273 :
>>272
サブルーチンの引数を入れる変数の中身を
ローカル変数に退避しないまま
別のサブルーチンを呼んで
上書きされて仕舞っていたのと
衝突方向のオフセットが左右逆なのが
原因だったので、それぞれ修正した

自機の攻撃は取り敢えずここ迄して
他の作業に移る

274 :
恒星系と地表面の海賊の攻撃の
動作と描画の仕様を大体固めた

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

地表面では前方から来る敵は
全てミサイルで攻撃して来て
後方に付ける敵はメイン武器を使って来る

275 :
海賊の武器の画像作った
ボム以外は自機と同じ武器を使うけど
画像は使い回し出来ないので作業した

276 :
海賊の攻撃のサブ・ルーチン群の枠を確保した

昨日は家族サービスでツクール用PC取られてたので
あんまし進捗せんかった

277 :
恒星系の海賊のビームの初期化と
イテレータの処理を書いた

278 :
恒星系の海賊のビーム作った

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

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

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

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

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

今時のゲームの物理演算と比べると
色々出鱈目だが、スクリプトの実行速度との
トレードオフでこの辺りが落とし所となった

279 :
いつも見てます
「フレーム」「x,y,z」「ビーム」などかっこいい言葉が頻繁に出てくるので好きです
これからも頑張ってください

280 :
>>279
ありがとう!
用語はスーファミとかメガドラなんかの
スプライト全盛期のを意識してます

281 :
海賊のビームの当たり判定と
自機のダメージ・エフェクトを作った

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

ダメージ・エフェクトは画面サイズの
ベタ塗り画像を背景と敵の間に
差し挟んで表現する
色は黒→白→黄色の順にアニメさせる

282 :
海賊のレーザーを作った

下向きで3段階の角度を付けたレーザーの画像を
拡大率100%固定で敵の見た目の座標から発射する
画面の下半分はコクピットなので
これで大体それっぽく見えると言う寸法

283 :
レーザーの当たり判定を作った

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

レーザーはエイム→射撃→即着弾な
当て易い武器と言う設定

284 :
脱出ゲームのシナリオを書いた

285 :
海賊のビームの当たり判定を
レーザーを参考に調整した

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

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

偏差撃ちさせれば済む話だけど
過去から現在〜未来まで座標回転させると
処理が重くなるので、この様に実装した
AIを賢くするとその分
処理コストが上がるので
代替的な処理で近似する必要が有る

286 :
>>284
1氏じゃ無いだろうし…だれ?

287 :
海賊が後ろを向いてる時は
攻撃して来ない様にした

z座標が0以上(画面奥)で
ピッチが90〜270度の時と
z座標が0未満(画面より手前)で
ピッチが90度以下か270度以上の時は
武器を発射しない
発射できる角度は狭める方向で調整しても良いかも

288 :
自機のダメージ・エフェクトが発生している最中に
追加でダメージが発生した時
エフェクト・アニメの1コマ目が
連続で描画されてしまうので調整した

エフェクト発生時に既に発生中だったら
そのままにして置いて効果音だけ処理する様にした

289 :
海賊のプラズマを作った

ビームと大体同じ処理で
発射していない時はチャージ中になる様にした

290 :
プラズマは3つの状態を遷移する
0: 未初期化、初期化したら1にする
1: チャージ中、発射したら2にする
2: 攻撃中、当たるか消えたら0にする

291 :
自機と海賊が使う主要な武器のフルネーム
・重陽子ビーム
・ハドロン・レーザー
・プラズマ・キャノン
・VTブラスター(ボム)

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

VTブラスターはバイドロイド・テクノロジーを利用した兵器
軍が極秘に発掘したものを主人公たちが強奪し
SSSに装備したと言う設定

292 :
>>290
修正
他の武器作り始めたら気付いた

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

初期状態は0

293 :
海賊のミサイルを作った
飛んでる間は警報がビビビビ鳴る様にした
これで恒星系の戦闘は一先ず終わり

294 :
>>292
プラズマの「-1: 未装備」の状態は
初期化ルーチンで遷移させとけば
良い様に見える

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

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

オブジェクト指向言語なら、ファクトリ・メソッド
か何かに隠蔽しとけば良いのか知らんけど
ツクール2003はアセンブラライクなのと
サブルーチンが番号で管理されてて
並べ替えが困難で、後から色々追加すると
管理が破綻するので仕様がない

295 :
虚空の敵弾の画像作った
・氷のスプレー
・極太レーザーの雨
・全包囲スパーク
名前の設定は無いので適当
人類側の付けた通称は後で決める

通路の敵弾はネタを練ってる最中なので
こっちを先に実装する

296 :
虚空の敵弾のイベントの領域を確保した
見込み違いで足り無くなって、連番に出来なくなって来たけど
ビル街は弾を撃た無いし、FPSは他のサブ・ゲームとは別枠で
扱いたいので良しとする

DTMやりたい病が再発して三日ほど作業中断してたけど
自分を説得して抑え込んだので、続きをする

297 :
虚空の全包囲弾の初期化、リセット
イテレータ、発射まで作った
代表の敵をランダムに選んで
それを中心に発射する

配列の中に生きている敵が
何体いるか分からない状況で
その中からランダムに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 の確率で選ばれる
算数の問題

298 :
虚空の全包囲弾の動きと描画作った
ランダムに選ばれた敵から放射状に
スパークが画面外へ飛んで行った後
自機を取り囲む様にスパークの輪が縮んで
一点で消滅する

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

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

現在の半径を、拡散する時は素早く
収束する時はゆっくり目に動かす

299 :
現在の半径と最大半径は割り合いで
実際の半径は、折り返し地点の座標で決まるので
最大半径を 128、半径の変化速度を 2 や 4 とかの
2 の n 乗にして置くと「半分の半分」とか
「倍の倍」等に出来てバランス調整がやり易くなる

300 :
虚空の全包囲弾の当たり判定作った

早めに避ければ当たっても大した事無いけど
ボーっとしてたり混戦中で、全弾命中
とかしてしまうと大ダメージな攻撃

301 :
虚空のレーザーの雨の全処理を作った

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

状態遷移などは全包囲弾と大体同じ

302 :
虚空の敵の氷放射の処理を作った
移動がまだバグってる

303 :
虚空の氷放射できた
敵の内の一体から氷の火炎放射みたいなのが出て
自機を追い掛け回す

目標のx[0] = 敵のx
目標のx[n] = (目標のx[n - 1] + 目標のx[n + 1]) / 2
目標のx[max] = 自機のx

目標の座標を配列で持って置いて
先頭に敵、末尾に自機の座標を入れる
その中間は前後隣の座標の中間点にする

現在のx[n] += (目標のx[n] - 現在のx[n]) / 16

目標の座標が決まったら
現在の座標をそこへ向けて移動させる
目標の座標の変化が1フレームずつ
ジワジワ伝搬して行き
更に現在の座標も遅れて追尾する
これで触手の様にウネりを持った動きになる

ネットが利用出来なかった頃は
人が作ったゲームを観察して自分で考えて
技を盗むのが当たり前だったけど
今時はゲーム制作技術を共有した方が
皆で幸せになれるじゃろう

304 :
皆で作るってのはそう言うものじゃないかなーと思う

305 :
レゲー見ながらブレストして
敵の攻撃をいくつか思いついた

306 :
通路の敵弾の画像全部できた

http://lnl.osdn.jp/images/Space-SSS/blog/2018/09/s/tube-vroid-cross-laser-A-003.png
この300x300ドットの画像をスプライト・シートで
縦に300分割すると、横長の直線が300本できて
シート番号を1〜300で指定すると
太さ1ドット長さが1〜300ドットの
自由に伸び縮み出来る直線になる
同じ画像を横に分割すると、縦長になる

http://lnl.osdn.jp/images/Space-SSS/blog/2018/09/s/saramanda-laser.jpg
画像のパターンを1/3ずつずらしたものを
3本束ねると「沙羅曼蛇レーザー」になる

知り合いのツクラーさんのアイデアを
拝借してアレンジしました
ありがとうございます

307 :
通路の敵弾の十字レーザーの
当たり判定以外できた

リングが飛んで来て、手前まで来たら
上下左右に沙羅曼蛇レーザーを発射する
4つの状態を遷移する

「未使用」:
ランダムにリングを発射したら「接近」へ

「接近」:
リングが自機に近づいて来る
自機のz座標に並んだら「発射」へ

「発射」:
リングからレーザーを伸ばして行く
レーザーの長さを伸ばす
最大長まで伸びたら「名残り」へ

「名残り」:
リングを消して、レーザーを画面外まで飛ばす
レーザーの半径を拡大する
終わったら「未使用」へ戻る

スプライトのシート番号にレーザーの長さを入れる
スプライトの座標にレーザーの半径を足し引きする

308 :
十字レーザーの当たり判定できた
十字の中央部分(リングの中)は判定が無い安地にした

309 :
恒星系のアンチPDS(星屑)の
流れるスピード感を保ったまま
自機の移動速度を落とした

A-PDSの移動範囲を半分にして
拡大率の変化速度を倍にし
自機の速度も半分にした
海賊の移動範囲などはそのままで
速度は自機に合わせて調整した

310 :
通路の敵弾の小型ボム作った
3つの状態を遷移する↓

「未使用」:
発射条件が揃ったら初期化して「接近」へ

「接近」:
自機の方へ向けて移動
爆発アニメの 1 コマ目を弾として描画
z座標が自機と重なったら「爆発」へ

「爆発」:
爆発アニメを描画
アニメが終わったら「未使用」へ

爆発アニメの描画手順↓

コマ数 += 1
((コマ数 / 最大コマ数) >= ループ最大数) ならアニメ終了
((コマ数 % 最大コマ数) + 1) のコマを描画

6 コマのアニメ・パターンを 2 回再生
(延べ 12 コマ)させる場合の初期値↓

コマ数 = 0
最大コマ数 = 6
ループ最大数 = 2

311 :
通路の敵弾のスウィング・チャクラム
の当たり判定以外を作った
3つの状態を遷移する↓

「未使用」:
発射条件が揃ったら初期化して「遠巻き」へ

「遠巻き」:
通路の近い方の四隅へ向けてジワジワ移動
z座標が自機と重なったら
自機の方向へ初速度を設定して「急スウィング」へ

「急スウィング」:
z座標はそのまま固定
自機の方向へ速度を微修正しながら
高速移動する事で、緩い弧を描きながら
スウィングする様に、ぶつかって行く
緩い誘導弾ぽい感じ

「未使用」以外の時に4パターンの
円月輪のアニメをループ描画する

312 :
続いてるのか。
すごいじゃん。

313 :
>>312
続けてないと氏んでしまう習性なんでな

314 :
スウィング・チャクラムの当たり判定まで全部できた
速度/加速度のパラメータのバランス調整もした
取り敢えず通路の戦闘も終わり

シューティング・アルゴリズム・マニアックス
を引っ張り出して来てパラパラめくってるけど
今はもうウェブで代用できるからこう言う本は
あんまり見かけなくなって寂しい

315 :
続いて地表面(アフターバーナーII)の海賊の攻撃
ビームの連射画像を作った

キャラの色分け
敵はRGB
海賊    :レッド
バイドロイド:グリーン
エコー   :ブルー

自機:グリーン(バイドロイドの技術を利用しているので)

自弾はCMY
レーザー:シアン
プラズマ:マゼンダ
ビーム :イエロー

316 :
地表面の海賊のレーザーとプラズマの画像を作った

メイン武器は後方から来る敵がすれ違い様に発射する
3種ともダメージ量が違うだけで、発射した瞬間に当たる

攻撃の演出
ビーム :常に連射し続ける
レーザー:範囲内に来たら発射
プラズマ:チャージ・アニメしつつ、範囲内に来たら発射

317 :
地表面の海賊のビームを作った

敵の生成と同時に発射処理をして
敵が画面内にいる間その位置に描画して
射撃音を鳴らすだけ

当たり判定は、自機と敵の描画座標を比べる
敵の描画座標は描画処理の中で更新されるので
処理の順番的に 1 フレーム前の座標になるけど
敵は相対速度的にゆっくり近寄って来るので
実用上問題になら無いと判断した

318 :
地表面の海賊のレーザーを作った
メイン武器3種は、自機の後方から
迫って来る敵だけが使う

見た目の座標が自機に近づいたら発射し
更に自機と重なったらダメージが発生する
範囲外なら、画像の描画と効果音を止める

x座標が発射範囲の右外側だったら
発射方向のデータを左向きにして
左外側だったら右向きにする
こうする事で、右から来た敵は
左方向にレーザーを撃って
左から来たら逆向きに撃ちながら
すれ違う様になる

319 :
>>318
要するに、丁度真ん中に居ると
高速でプルプル震えて仕舞うのを
防止するアレと処理的には同じ
演出上、すれ違い様に向きを変えない方が
格好良い気がした

320 :
地表面の海賊のプラズマを作った
4つの状態を遷移する

「未使用」
敵の生成直後に呼び出される
初期化したら「非表示」へ

「非表示」
敵が画面内かつ自機より後方なら
チャージ音を鳴らして「チャージ中」へ

「チャージ中」
チャージ・アニメを描画
敵が画面外か自機の前方へ出たら「非表示」へ
自機の真後ろに来たら
発射音を鳴らして「発射中」へ

「発射中」
画像を縮小しながら画面下方に移動する
弾の回転アニメを描画
一定フレーム後「チャージ中」へ

当たり判定:
「発射中」の時だけ当たり判定をする
チャージ率分のダメージを発生させて
チャージ率を5%にリセットする
こうすると一発目が大ダメージで
その後、逃げ切るまで5%ずつ
連続ダメージが入る

321 :
今日は地表面の海賊のミサイルを作ってたけど
バグが取れないので続きは、また明日にする

322 :
地表面の海賊のミサイルが出来た

敵の出現後、ホバリングから移動に移る時に
ミサイルを一斉発射する
乱数で微妙にタイミングをずらしたりもする
他は自機のミサイルと大体同じ処理

これで自機とザコ敵の攻撃は大体できた
次は防御と HUD 関係をやる

323 :
切りの良い所まで終わったので
今日はネタ帳にザッと目を通して総ざらいした

ネタ帳を読む事で、別のネタがやって来る
そうやって普段、深層意識の考えていた事が
表層意識に浮かんで来るので回収する

ゲームを作ってるのは神様なので
某犬犬は只の語り部として
言われた通りに作業しているだけに過ぎ無いw

324 :
衛星要塞の素材にNASAの画像を使ってたけど
良く見たら著作権のマーク有るし
他の天体の画像と違って
これはフリー素材じゃなさそう

代わりの3Dモデル探したので
そっちを採用する事にする
UE4版でも使えるし

325 :
自機のダメージ4種と爆発アニメの画像を作った
絵描け無いので、素材のサイズ調整したり
色変えたり切った貼ったしてるだけ

326 :
自機のダメージ・エフェクト出来た
ダメージの種類でスプライト番号を変えて
自機の座標にアニメを描画するだけ

恒星系のサブ・ゲーム以外では
殆ど同じデータと処理だったので共通化した
恒星系の背景フラッシュも共通化して
他のエフェクト処理で使い回す様にした

普通のプログラミング言語では
もの凄く当たり前の事だけど
ツクールではグローバル変数しか無いので
一寸ややこしい

327 :
http://lnl.osdn.jp/pukiwiki/index.php?blog
最新版がブラウザ上でプレイ出来る様になったワ
「ブラウザでテスト・プレイする」をクリックするだけ
操作方法が特殊なので説明読んでからプレイすべし

328 :
あげとくか

329 :
tipsあげながらとはなかなか見上げたやつだ
がんばれよ

330 :
>>329
がんばりまーす☆

331 :
自機の爆発エフェクト出来た
HPが0になったら描画し始めて
終わったらゲームオーバーの処理をする

配列でスプライトのデータを用意して置いて
一定フレーム置きに爆発アニメを開始させる
爆発がボコボコ発生する感じ
爆発を開始したら自機移動のキー入力を止めて
その他の敵や弾の移動や描画処理は続ける

332 :
>>331
爆発は自機の描画座標を中心に
ランダムな位置へ散らして生成する

333 :
共同ツール 1
https://seleck.cc/685
https://seleck.cc/621

https://trello.com/
ボードのメニュー → Power-Upsから拡張可能 Slack DropBoxなど
Trello Chrome拡張機能 elegant
ttp://www.kikakulabo.com/service-eft/
trelloのオープンソースあり

共同ツール 2
https://www.google.com/intl/ja_jp/sheets/about/

共同ツール 3
https://slack.com/intl/ja-jp
https://www.dropbox.com/ja/
https://www.google.com/intl/ja_ALL/drive/
https://getpocket.com/a/queue/
https://gsuite.google.co.jp/intl/ja/products/calendar/
https://bitbucket.org/
https://ja.atlassian.com/software/sourcetree
https://ja.atlassian.com/software/jira/pricing?tab=self-hosted 千円
https://www.sketchapp.com/
ttp://photoshopvip.net/103903
ttps://goodpatch.com/blog/sketch-plugins/
trelloと他のサービスの連携 IFTTT
https://ferret-plus.com/7940
https://chrome.google.com/webstore/search/trello?_category=extensions

334 :
自機のダメージとバリアの基本部分を作った

下の4つのバリアで順番にダメージを吸収する
・PDSシフター:一定時間無敵、アイテムを消費する
・フォース・フィールド:メインのバリア、自動で張り直す
・プラズマ・シールド:状態異常無しでステータスと同じ処理、手動で張り直す
・ステータス:一定ダメージ分ずつ状態異常が発生、修理すると直る
吸収し切れ無かったら爆発してゲーム・オーバー

335 :
自機の爆発開始→キー入力停止→爆発終了→ゲームオーバー
の流れを実装した
画面のフェードイン/アウトの処理も作って
自機が爆発しながら画面暗転する様にした

336 :
フェードイン/アウトは
白/黒の画像を画面の手前に置いて
透明度を100%→0%に少しずつ変化させるだけ

337 :
透明度 = 100 - (100 * カウンタの現在値 / カウンタの最大値)

透明度はこの式で求めて
カウンタの現在値を最大値まで上げて行く

338 :
なんか乗っ取る奴の方が長続きするな
頑張ってくれ

339 :
>>338
おうよ

340 :
恒星系以外で自機が爆発したら
数フレーム後に自機と光跡のスプライトを消す様にした

341 :
>>340
流石に分かるだろうけど、唐突に消えるんじゃ無くて
爆発がボコボコして見えない内に消えるやつな

342 :
今日は細かい調整だけで終わった

海賊は武器の種類が多くて
恒星系と地表面で武器データを共有してて
同じビームでも X1 X2 X4 の倍率の違いが有る
で、地表面の方の武器データに
倍率を入れて無かったので入れた

海賊以外の敵は武器の種類と処理が一致するので
定数に敵のレベルを掛けるだけでダメージが決まる

イテレータの最適化を一部やってみたけど
背景は普通に配列を舐めてるだけなので
効果はあんまし無かった
単純労働かつミスすると動かなくなるので、疲れた
今日はここ迄にして置こう

343 :
>>342
修正漏れが出るとチェックするのが激しく面倒

344 :
今日は昨日の続きで
自機のビームとレーザーと
敵のイテレータの最適化をやった

こんなに手間掛かってたら
そもそものイテレータの意味が無い
ケチケチしないで最初から
専用のイベント枠を確保して置けば良かった

345 :
自機の武器のイテレータ最適化ぜんぶ終わった
残りの分、もう数日掛かりそう

346 :
作業終わんね
つらい

347 :
最適化終わった

イテレータが早くなったのと
元から Wait0.0(VSync待ち)を
多目に入れてた分も削って、大分軽くなった
FPSがゲームとしてギリギリ成立してる

手間を掛けた分のリターンは有った

348 :
敵のダメージとバリアを作った
今はHPとそれへのダメージだけで処理しているけど
後でバリアも追加できる様に組んで有る

349 :
自機のステータスを作った

バリアが剥がれた状態でダメージを受けると
次々にステータスのフラグが立って行く
レーダーとか攻撃力などが出来たら
それへの効果を実装する

効果音とか変数の中身を見る限りは
多分きちんと動いてるっぽい

350 :
>>334
バリアの各処理は
・ダメージを引数で貰う
・バリアの分を差し引いた残りのダメージを返す
となっているので、フィルタの様に順番に呼んで行ける

ステータス(プラズマ・シールド(フォース・フィールド(
  PDSシフター(ダメージ))));

351 :
敵のステータスを作った

変数をフラグとして使うと
メモリを無駄に食うし
イテレータ関係で重くなるので
ビット・フラグを使う事にしたけど
生憎ツクールにはビット演算が無い

桁 => n
0 => 1
1 => 2
2 => 4
3 => 8

二分探索で、指定されたビットの桁数から
2のx乗の数nに変換して
bits / n % 2
で、フラグ・ビットが立ってる時は
bits -= n
で、フラグをOffにして
立って無い時は
bits += n
で、フラグをOnにする事で
フラグの反転が出来る

でも、一寸これでも重そうなので
ミサイルが当たった時だけとかなら良いけど
毎フレーム、チェックするなら
数フレームに1回とかに間引く必要が有るかも

352 :
ミサイルにステータス異常の効果を持たせて
PCに当たったら特定の効果が発生する様にした
敵の方が出来たら一段落つくので
ブラウザ版の更新をする予定

出来てもいない内から予定の話をしたとたん
義務感が発生して萎えるし
下手したらエタりかねないので
フリーウェアとかオープンソースで
「予定」は禁句

353 :
地表面の自機への敵ミサイルの
ステータス異常も作った
ほぼコピペ

ミサイルを撃ってくる海賊は
恒星系と地表面だけにしか
出て来ないのでこれで終わりで
次は自機の側のミサイルをやる
こちらは4つのサブ・ゲームの分
作る必要が有る

354 :
恒星系の海賊への自ミサイルの
ステータス異常も作った
残りはコピペで出来そう

355 :
自ミサイルの敵へのステータス異常
全部できた
ブラウザ版の更新もした
http://lnl.osdn.jp/pukiwiki/index.php?blog

356 :
昨日は20時間かけてカード70枚に
キャラ設定と全体のプロットを書き出した
TS物と宗教の色が濃く出たので
背景に下げて間接照明を当てる感じにする

357 :
>>356
やっぱ全部ボツだな
やり直し

358 :
コクピットのレーダーの画像を作った

コクピットのど真ん中をくり貫いて
裏に青色▽のレーダーを敷いた

自機から上中下の高さで表示が変わる
ターゲットのドットも作った
敵が赤で、それ以外が白い点
ミサイルはx印にした

359 :
いくつの星系が有って
自機や武器、移動、サブゲームが
何処でアンロックされて
大ボス、ラスボスのサブゲームの種類
までは決めて有るけど
シナリオは来年の夏くらいから作り始める
来年末のニコフェスに間に合うかは微妙

360 :
恒星系の海賊をレーダーに表示できる様にした

ドットのX = レーダーの幅 * 敵のX / 最大のX
ドットのY = -(レーダーの幅 * 敵のZ / 最大のZ)
※画面奥がZ軸のプラス

自機の上から見下ろしでドットのXY座標を求めて
そこにドットを描画する
レーダーの部分をくり貫いたコクピットを
更に手前に描画して
レーダーの範囲外のドットを隠す

敵のY座標によってドットの大きさを変える
・自機と同じ位のYなら普通
・下方なら小さく
・上方なら大きく

361 :
自弾と敵弾のミサイルも
レーダーに表示できる様にした

高度の表示変化無しで
他の処理は敵と同じ

色覚特性に配慮して
緑と赤で色分けしない様にした
水色とピンクとかの組み合わせはNG

362 :
敵をホログラフィに表示できる様にした

最後にロックオンした敵の画像を
表示倍率固定でレーダーの下に表示する
半透明のライトグリーンの光の画像で
サンドイッチして、それっぽくした

363 :
ホログラフィの透明度を
1フレーム毎に5%上下させて
フリッカーを表現した

364 :
主人公PTのプロフィールと役割などを割り当てた

A9(Anglers9)各担当メンバー
転生DNA実験体v.0.9.1&#12316;9
A-1:ウィルザード級クラッカー、情報戦担当
A-2:元SSSの操縦士、ライバル、A9を抜けている
A-3:S-IIIの艦長、主人公の嫁、地獄耳
A-4:ガンナー、S-IIIの弾幕担当
A-5:メカニック、修理と装備担当、怪力の持ち主
A-6:シェフ/医者、針・灸・マッサージ・グルメ担当
A-7:マネージャー、交渉担当、A9のVR動画編集長、TS能力持ち
A-8:科学技術者、アイテムの合成担当
A-9:スナイパー、SSSの操縦士、元白兵戦担当だった、主人公

オーバーレア:オペレータ、UI・チュートリアル担当、A-2補欠
博士:SSSのメイン・プロセッサ、戦略担当

v.0.9.10:オメガ教団先導者
v.0.9.11:SSS#1のメカニック
v.0.9.12:SSS#1の艦長
v.0.9.13:SSS#1の砲撃手

365 :
イイネ!「ウィルザード級」は初耳だけど好きだわそういうの

366 :
二日間ひたすらWikipediaで資料読んだ
疲れたので作業に戻る

367 :
>>365
http://jongrogue.osdn.jp/x/
まだ全然手付けてないけどこれから来てる

368 :
>>367
あえて耳慣れない言葉にしてると思ってた
(厨・・・いや、独自設定を開チンしている所をくすぐっちまったかな・・・)

369 :
>>368
まぁ厨二全開くらいでないとゲームなんか作ってられないからなw

370 :
メイン武器の切り替えで
アイコンをアニメする様にした

武器を切り替えると
アイコンが横から出て来て
カチャッと止まる

371 :
メイン武器の残弾数の表示を作った
0&#12316;10までの11枚のスプライト・シートを
切り替えて描画する
次は武器の種類毎の味付けをする
http://lnl.osdn.jp/images/Space-SSS/SS/sss-2018-11-07-001.png

372 :
>>371
>0から10までの11枚のスプライト・シートを

373 :
2chになっても、まだShift-JISなのか

374 :
残弾ゲージの変化を実装した
只のフレーバー要素で武器毎に
味付けを変えた

「ビームの残弾ゲージ」
射撃中なら
 ピクチャ番号 -= 2
 ピクチャ番号 = (ピクチャ番号 + 11) % 11
 ピクチャ番号 += 1
※ピクチャ番号1はゲージ0、番号11はゲージ10

ビームのゲージは1射撃で1メモリ減って
0未満になったらフル・ゲージに戻るのを
繰り返す

「レーザーの残弾ゲージ」
射撃中なら
 ピクチャ番号 -= 1
 (ピクチャ番号 <= 0) なら ピクチャ番号 = 2
射撃して無いなら
 ピクチャ番号 += 1
 (ピクチャ番号 > 11) なら ピクチャ番号 = 11

レーザーは射撃中はゲージが減って行って
無くなったら1と0で点滅する
射撃を中断するとゲージが増える

「プラズマの残弾ゲージ」
ピクチャ番号 = チャージ率 / 10 + 1

プラズマはチャージ率が0から100まで変化するので
ピクチャ番号1から11に変換するだけ

375 :
サブ・アイテムのアイコン表示/切り替えと
残弾ゲージを実装した
メイン武器と違ってフレーバー要素で無く
残弾数をきっちり表示する

残弾数によって
1001発以上なら、青色でフル・ゲージ
101発以上なら、100発毎に青色ゲージ1本
11発以上なら、10発毎に緑色ゲージ1本
1発以上なら、1発毎に赤色ゲージ1本
0発なら、ゲージ無し

実際はアイテムは99個までしか持て無いので
緑色か赤色のゲージしか使わない

376 :
円形メーターの画像を作った
燃料とフォース・フィールドの
それぞれの残量表示に使う

リング状にくり抜いたレイヤーの下に
メーターの色の四角を描いて
そのレイヤーだけ自作スクリプトで
一定角度ずつ回転させると
円弧のメーターのスプライト・シートが出来上がる

http://lnl.osdn.jp/images/Space-SSS/blog/2018/11/s/hud-circular-001.png

377 :
各サブ・ゲームの中ボスのBGMを割り当てた
曲数は足りてそう

378 :
>>376
http://lnl.osdn.jp/images/Space-SSS/blog/2018/11/s/hud-circular-002.png
上に乗ってるリングのレイヤーを隠すと
こんな感じ

「こんなんせんでも円弧を回転させればいいじゃんw」
ってなるかも試練けど、ドット画だから
それだと輪郭も一緒に回ってる風になるので
こうしてみた
カッチリと無機質な見た目になった

379 :
円形メーターの処理を実装した

円形メーターは「回復」「ダメージ」「表示」の
3つのゲージのレイヤーが重なって出来ていて
それぞれ「現在値」に向かって常に変動する

「ダメージ時」:
 現在値 = 100 * フィールド値 / フィールド最大値
 回復 = 現在値
 ダメージはそのまま
 表示 = 現在値

フォース・フィールドにダメージを受けたら
ダメージの分が赤く描画されて
ダメージが現在値まで追い掛ける

「回復時」:
 現在値 = 100 * フィールド値 / フィールド最大値
 回復 = 現在値
 ダメージはそのまま
 表示はそのまま

フォース・フィールドが回復したら
回復した分が水色で描画されて
ダメージと表示が現在値まで追い掛ける

380 :
HUDのステータス表示を作った

自機のシルエットをパーツ単位に切り分けて
水色に塗り潰す
下のレイヤーに赤いダメージのシルエットを
敷いて置く

ダメージを受けたら
対応する部位のパーツを非表示にして
下のダメージのレイヤーを剥き出しにする

381 :
HUDのシールド表示を作った

描画はステータス表示と似てるけど
パーツ単位で無くて、ゲージ状
自機のシルエットの形をしたコップに
水を注いでる様な見た目

382 :
HUDのPDSシフターの表示を作った
デジタル数字でカウント・ダウンして
バリアの上に描画する

下の白/水色/赤/黒と重なっても
識別出来る配色に手間掛かって
濃い黄色になった

383 :
HUDのスピード・メーターを作った

N = メーターMax * 自機の速度 / 自機の最高速 + 1

N番のスプライト・シートを描画する
特にどうと言うものでも無い

384 :
HUDの増加タンクの表示を作った
フォース・フィールドとシールドが最大7個
燃料が最大14個まで表示できる

燃料ゲージが0になった時
タンクの残りが有ったら1つ減らして
燃料ゲージを満タンにする方式だと
ゲージとタンクの両方を見ないと
残りが把握できない

なので、燃料の合計をゲージで表示して
ゲージが減るのにつれて
タンクの表示も減らして行く方式にした

385 :
サブ・ゲームの開始時に
HUDが順番に点灯して起動する様に作ってある

フレーム++
表示フレーム = フレーム / ウェイト
表示数 = 現在値
(表示数 > 表示フレーム) なら 表示数 = 表示フレーム

タンクの場合は、これで通常の描画も
起動時の描画も同じ処理で出来る

386 :
HUDのロックオン・マーカーを実装した
ロックオンし直す度に
中心から外へ開くアニメを描画する

これで恒星系のHUDが大体でき上がった
同時に星間通路、地表面、虚数空間のHUDも
画面下方にずらして描画するだけで出来た
今の所、恒星系以外では
敵は自機の正面にいるので
レーダーとホログラフィは
表示し無い事にした

387 :
ビル街の自車のHPゲージを作った
円形メーターは元々50%に縮小していたので
100%に拡大描画して流用した

388 :
ビル街の目標車両のマーカーの画像を作った
四角い枠に「Target」って書いてあって
そこから直線が伸びてる絵

直線の先端が画像の中心に来る様にして
他は余白にする事で、画像の大きさが変更になっても
描画位置を再調整しなくて済む
ツクールでは画像の中心が描画の基準点になっている

389 :
ビルの街にガォー!

390 :
>>389
いくらおっさんでもそんな古いの知らねーよ
三国志とかサリーちゃんなら解るけど

391 :
古いんか!

392 :
カッチンカチャリコズンバラリン
カッチンカチャリコズンバラリン
意欲が消えたらまっくらやみだ〜

393 :
ビル街のターゲット表示できた

自車より画面奥にいる時は
敵車の座標に描画して
画面手前の描画範囲外にいる時は
Y座標は画面一番下で
X座標は道路の幅全体で
どの辺りにいるかで決める

画面奥から一番下まで
カーブに沿ってパースが付いてて
そこから下はパース無しの直線
になってるのをイメージする
まぁ実際に自分で作って見ないと
何言ってるか解らんだろうけど

394 :
>>393
こんな形したもの見た事無いので例え憎いが
鉛筆の削った部分がパースの効いた道路で
左右に曲がる

そこから下の握る部分が
パース無しで真っ直ぐ続いてる感じか

敵がその範囲内だけに存在するイメージ

395 :
ビル街のスピード・メーターを作った
√ルート字のゲージとデジタル数字を表示する

ゲージは赤色の上に緑色のを重ねて
緑色は巡航速度までに制限して
赤色はブースターの最大速度まで表示する様にする
こうするとブーストした時に
ゲージの緑の部分の先にレッドゾーンが
連なる感じで描画される

一枚のピクチャでやると、レベル・デザインの段階で
巡航速度とレッドゾーンのバランスを調整する度に
画像を描き直す必要が出て仕舞うので
そうなら無い様にこうした
巡航速度の定数を書き換えるだけで良い

396 :
これでHUDも終わったので、次はアイテムをやる
思い付く端から適当に作って用意して置いて
アンロックとバランスの調整は
シナリオとレベル・デザインまで先送りする

397 :
http://lnl.osdn.jp/pukiwiki/index.php?blog

作業の切れ間になったので
細かいバグを修正して
ブラウザ版をアップデートした

URLを変えないとキャッシュか何かの更新が
遅い様なので変更した

398 :
対ミサイル用のフレアとデコイの画像を作った
ついでにビル街のスピード・メーターの
√の角を面取りして丸くした

399 :
恒星系のフレアを実装した
自機の後方から迫るミサイルを
吸い寄せて無効にする

フレアを発射した直後に
Z座標がマイナスのミサイル全てにフラグを立てて
ミサイルの移動処理でそのフラグが立ってたら
フレアの座標に近づいて、ぶつかったら消滅する

一定フレーム置きに1発しか連射でき無いので
タイミング良くミサイルを
まとめて巻き込む必要が有る

防具のスペック一覧
VTブラスター:前方、全体、2連射
フレア   :後方、全体、単発
デコイ   :全方位、単体、単発

400 :
地表面のフレアを実装した
発射すると後方に食い付いてる敵に
ダメージを与える
フレアの本来の使い方とは違う設定

海賊以外のサブ・ゲームでは
敵がミサイルを撃たないので
発射できない様にした

401 :
恒星系のデコイを実装した
全方位から来るミサイルに
向かって行って、体当たりで破壊する

発射ボタンを押したら
ミサイルのx,y,z座標の合計が
一番小さい物をロックオンして
それへ向かって移動する

ミサイルが発射されて無ければ
デコイを発射せずにエラー音を鳴らす

402 :
ミサイル等の残弾数が1より
減らないバグを直した

装備中のアイテムは減らしても0になら無いので
アイテムの装備中と所持中の合計数が1だったら
装備を外してから所持数を1減らす

403 :
>>401
>ミサイルのx,y,z座標の合計

x,y,z座標の絶対値を足した合わせた合計な

404 :
メイン武器は「武器」サブ・アイテムは「楯」
としてアイテム・データを設定してあって
切り替える度に自機のキャラに装備してるので
メニューから装備する事でも
使用するアイテムを切り替えられる

405 :
地表面のデコイを実装した
恒星系と地表面以外では、発射できない様にもした

406 :
キャラ設定のカードを幾つか追加した

利用規約でツクール専用になってるキャラ素材を
UE4で使える様に自由なやつに移行できないか
検討してる

407 :
一年以上やってるのか
すごいな

408 :
野暮用で二三日空けてたけど今日からまたやるワ

409 :
VTブラスターで敵弾を消せる様にした
但し虚数空間の敵弾に対しては効果無し

410 :
アイテムの番号を大体割り振った
頻繁に使う消費アイテムは
なるべく一覧の上の方に来る様にした

411 :
アイテムのPDSシフターを実装した

アイテムを使うとツクールのシステムが
フラグを立てるので
それをトリガーにしたイベント内で
PDSシフターのタイマーをセットする

但しフラグ有りのアイテムだと装備できないし
楯にするとメニューから使用できないので
コントローラと消費アイテムに分けた

「コントローラ」
・楯として装備できる
・戦闘中Zキーで消費アイテムを使用できる

「消費アイテム」
・装備できない(しない)
・メニューから使用できる

消費アイテムは合成したり店で買ったり出来るけど
コントローラをアンロックして所持していないと
使用できない様にする

412 :
フォース・フィールドとプラズマ・シールドの
アイテムを実装した

コントローラの名称をトリガーに変更した

トリガーと消費アイテムを隣にすると
トリガーを装備する度にアイテムの並びが
変わって仕舞うので、トリガーを
アイテムの並びの後ろの方に移動した

413 :
ステータス修理アイテムを実装した
使うと一定時間後ステータス異常が
ランダムで3種類回復する

デザイン的に、このアイテムは
戦闘が終わってから使うもので
戦闘中に使ってる時点でゲームオーバーは間近

414 :
ここも生き残っている数少ないスレだ。
頑張って下さい

415 :
>>414
来年の今頃は、先に動画でニコフェスのエントリー終わって
その隙にデバッグと調整してるかな
頑張ります

416 :
フォース・フィールドの回復と
エナジーの消費の処理を作った

一定フレーム置きに
フィールドが最大値より少なければ
エナジーを減らして、フィールドを増やす

エナジーの消費処理は、引数として
加速や回復などの消費の種類と
調整割合を渡すとエナジーを減らして
HUDの設定をし
エナジーが足りたかどうかを戻り値として返す

417 :
恒星系の武器発射と移動時の
エナジー消費の処理を作った

エナジーが足り無い時は
発射と移動を制限する

418 :
ビル街と白兵戦以外の武器発射と移動時の
エナジー消費の処理を作った

419 :
燃料の補給アイテムを実装した
使うと燃料タンク1つ分回復する

効率良くギリギリまで粘ってから回復するか
安全を重視して早めに使ってしまうか
トレードオフになっている

これでエナジーとバリア関係のアイテムは出来た

420 :
バフの設計だけやった
これだけ有れば足りそう
デバフはステータスで扱う

・命中値
 敵への当たり判定のサイズ
・回避値
 自機の当たり判定のサイズ
・攻撃力
 敵へのダメージ
・防御力
 自機へのダメージ
・運動性
 旋回の加速度と最高速度
・機動性
 前後移動の加速度と最高速度
・燃費
 エナジーの消費率
・バリア回復速度
 バリアの回復間隔
・ドクロの旗印
 援軍要請

421 :
バフの基本システムが出来た
実際の効果はまだ

バフ・アイテムを使ったら
強化率 = 150% とかして、タイマーに効果時間を入れる
で、毎フレーム、タイマーをカウント・ダウンして
0 になったら 強化率 = 100% で元に戻す

消耗品で無くて装備の場合は
タイマーに 9999 を入れると、効果が無限に続く

422 :
自機の座標と速度のベクトルをリファクタリングしてる
変数の割り当てケチって、汚いデータ構造になってる
最初からきちんとして置けば良かった

暫くかかりそうだけど、やっとか無いと
速度関係のバフが実装できないのでやる

423 :
ベクトルのリファクタリングの
恒星系の分は終わった

424 :
ベクトルのリファクタリングの通路の分終わった

425 :
ベクトルのリファクタリングの地表面の分終わった
めんどい

426 :
あけおめ、ことよろ
ベクトルのリファクタリングの虚数空間の分終わった
モチベだだ下がりだけど、あともうちょい

427 :
去年はゲ制以外に何やったか思い出せん

428 :
ベクトルのリファクタリングのビル街の分終わった
後は白兵戦だけ

429 :
ベクトルのリファクタリング全部終わった
ようやっとアイテム作成に戻れる

430 :
命中力と攻撃力のバフの効果を実装した

N = N * レート / 100

当たり判定の範囲やダメージの値(N)にレートを掛けるだけ

431 :
恒星系で自機に敵弾が当たった時
回避率に応じて避けられる様にした

回避率 = ピッチ速度 * (マニューバ率 / 100) * (Z速度 / 最大Z速度)

Z速度を上げながらピッチを上下すると、回避率が上がる

ピッチ速度 < 50 なら、マニューバ率 = 100%
ピッチ速度 >= 50 なら、マニューバ率 -= (100 - (ロール速度 / 2))

ピッチを連続で上下し続けていると、効果が減衰する
左右にロールすると、その減衰を遅らせる事が出来る

確率で回避できるのはシューティングとしてどうなんだ
と言われるかも試練けど、一応RPGだし
ワンパターンなCPUが相手だと、すぐに攻略されて
特定のマニューバで簡単に回避できてしまうので
対策としてこうなった

432 :
「性別コード」

TSモノのゲ制のキャラ設定をする上で
性別を表すコードが必要になったので作ってみた。
性別だけを表しているので人外、シチュ、フェチ等の属性は
別途付記する必要が有ります。
同人誌や動画などのタグとして使えるかも知れません。

性別を下記の身体・心情・指向の三つの組で表します。

身体:生まれつきの体の性
心情:自分の気持ちの上での性
指向:好きになる対象の性

更に各組は下記の成人・未成人の片方または両方で一組になります。

成人
A:無性
F:女性
M:男性
B:両性
N:中性
X:非公開

未成人
a:無性
f:女子
m:男子
b:両性
n:中性
x:非公開

433 :
>>432
例えばこんな感じです。

MMF:一般の成人男性
FFM:一般の成人女性
MMf:ロリ専門男性
MMFf:年齢気にし無い男性
MMM:攻め
MNM:受け
FFXx:腐女子(MMM x MNM 好き)
Fff:百合
Mff:男の娘
mnf:女装子
BfMm:フタ
fmMm:ボーイッシュ
FFm:オネショのお姉さん
mmF:オネショのショタ
mmf:出会う前のショタ
mmAf:お姉さんにトラウマにされたショタ
mmAa:お姉さんもパパも友達も皆嫌いだ!なショタ
Mfn:アストルフォ、ブリジット
mnn:秀吉
MnFf:ハヤテ、白鳥隆士
FNM:オスカル
MBm:バンコラン
BnM:マライヒ
mmm:ナルキッソス
mNmAm:アッシュ・リンクス
mmf/fmf:早乙女乱馬

434 :
>>433
FmFm の場合 Fm/F/m なのか F/m/Fm か曖昧になるので
前者なら FmFAm 後者なら FAmFm と表記します。

大人と子供の組は右側を優先に組になる(右結合)ので
右から読んだ方が判り易いです。

MnFf なら右端の Ff を組みとして残りは
M, n の二文字だけなので、M / n / Ff になります。
Mn / F / f にしたければ MnFaf と表記します。

既存のキャラを分析・分類すると面白いかも。

435 :
>>434
普通の性別・血液型・星座より
キャラのパーソナリティが掴みやすいと思われます。

436 :
「君の名は。」等のTSもので男女の心が入れ替わった場合は
mmf, ffm から fmf, mfm にTSし
そのままお互いを好きになった場合は
fmm, mff に変化します
異性を好きな気持ちが残って居るなら
fmb, mfb と言う事になります
しかし、好きなのは相手の体で無く心の場合は
fmf, mfm となります

437 :
スレチになって来たので他所でやります

438 :
回避力と防御力のバフの効果を実装した

恒星系の回避は確率で決まるので
回避力を掛けるだけだけど
恒星系以外では見た目が当たったら当たりなので
防御力でダメージを減らした後に
さらに回避力でも減らす様にした

後でこの辺の仕様は変更するかも

439 :
恒星系以外の回避力のバフの効果を変更した

乱数 % 回避力 >= 100 ならダメージ無し

回避力が 100% 以下なら必ずダメージ有り
回避力が 150% なら 3 回に 1 回ダメージ無し
回避力が 200% なら 2 回に 1 回ダメージ無し

各サブ・ゲームの武器毎の当たり判定から呼ばれる
共通のダメージ処理に仕込んだので
一か所書き換えるだけで済んだ
普通の言語では当たり前の事だけど
ツクールでは色々面倒だったりする

440 :
運動性と機動性のバフの効果を変更した

運動性のバフは旋回速度の上限と加速度を150%に上げて
機動性はZ速度の上限を150%に上げる

効果時間が切れたら100%に戻す

441 :
運動性と機動性のバフの効果を
恒星系以外にも対応させた
効果発動時と時間切れの時のSEも設定した

442 :
燃費向上と回復向上のバフの効果を実装した
燃費と回復はシーソーになっていて
一方を上げれば他方が下がる

メニューを閉じた後に呼ばれるイベントで
バフ・アイテムを装備しているか
チェックして、フラグを立てる
フラグが立つと自動で呼ばれるイベントで
バフの処理を行う
こうするとバフ・アイテムを
装備している時だけ、バフが掛かる

443 :
これで強化系アイテムは片付いた

444 :
急加速するブースターを実装した
アイテムを使ったら最高速度を二倍にして急加速する

「フェーズ 0」
最高速度を通常にする
ブースターを使ったら、タイマーを設定して、フェーズ 1 にする

「フェーズ 1」
最高速度を二倍にする
倍速で加速し続ける
減速キーが入力されたら、フェーズ 2 にする

「フェーズ 2」
最高速度を二倍にする
タイマーが切れたら、フェーズ 0 にする

恒星系で敵を振り切って逃走判定に持ち込んだり
ビル街でターゲットの車両に追い付きたい時などに使う
まだサブ・ゲームよっては背景の移動に不具合が出る

445 :
アイテムのアクセル・スロットルを実装した
装備した状態でサブ・アイテム・キーを
押すと加速、放すとゆっくり減速する
スターラスターの様な操作になる

キー入力イベントで装備しているかチェックして
・サブ・アイテム・キーがOnなら
 加速キーをOn、減速キーをOff
・サブ・アイテム・キーがOffなら
 3フレームに1回だけ ((frame % 3) == 0)
  加速キーをOff、減速キーをOn
・サブ・アイテム・キーをOff

446 :
燃料タンクのアイテムを実装した

メニューの処理が済む度に
燃料タンク、シールド・バッテリー、
フォース・フィールド・バッテリー
のアイテム数を数えて
HP、シールド、フィールド
の最大値を設定する

燃料タンクが手に入るミッションを
クリア後に何度でも受けられる様に
燃料タンクを一つひとつ別アイテムにして
既に手に入れたフラグも兼ねる様にした
手に入るのは1種類に付き1個だけ
今の所最大14個用意してる

燃料タンク 1
燃料タンク 2
……
燃料タンク 13
燃料タンク 14

447 :
これでアイテムは大体片付いた
合成素材とクエスト用アイテムは
後で必要になってから作る

448 :
HUDのアイテム・アイコンの画像を作った
描画も出来る様に調整した

アクセル・スロットルの残弾数は
自機の速度%を表示する様にした

449 :
ビル街の速度のバランス調整をした

船の装備のアクセル・スロットルは
ビル街では使わないので無効にした

ターゲットの車両のAIも実装した
道路の自機が居るのと反対の車線へ
移動して逃げようとする様にした

450 :
http://lnl.osdn.jp/pukiwiki/index.php?blog
ここまでのスナップ・ショットをうpった
キャッシュが更新されたらウェブ・ブラウザで
最新版をテスト・プレイ出来るよろ

451 :
age

452 :
FPS(白兵戦)の壁の隙間を無くした

・壁の画像からアルファ値を抜いて
輪郭をくっきりさせた(幅のテーブルも調整)

・スプライト・シート番号を
0から指定していたのを1から始まる様に修正

・壁の回転画像がパースの関係で
中央からズレていたので修正

以上の調整で、画面の端でZ座標が
マイナスになって見切れる場合を除いて
隙間が空く事が、ほぼ無くなった

453 :
音楽鳴ら無いと寂しいので
仮のBGMを再生する様にした

BGMファイル全部インポートすると
バックアップ時に無駄に容量増えるので後回し

フィールドや戦闘の曲は
それが最初にアンロックされる恒星系と
最後の恒星系に印象的な曲が来る様にした
ボスはボスっぽい曲

454 :
壁の角度を少し滑らかに繋がる様にした

画面上のX, Yの比率から角度を求める為の
テーブルの値を隣同士の中間値にした
角度の判定を緩めに設定した事になる

455 :
>>454
これ atan だろってなって
tan テーブル作ってそこから二分探索で
角度を求める様にして見たけど
実際のドット数からテーブル作った方が
微妙に合ってる感じになった
ドット画だからなw

456 :
ツクール2003では拡大率を縦横別々に
指定できないので、この辺が描画精度の
限界だろうと言うお気持ちになっている

MVだとスクリプト使えば行ける様だけど

457 :
燃料が無くなったら
残弾ゲージも0になる様にした

武器発射時のHP消費チェックで
フラグを立てて、HUD描画時に
チェックして強制的に0で描画する

458 :
FPSの壁の押し出し処理を作った
ツクールの2Dマップを壁の生成だけで無く
当たり判定にも使っている

・(PCのX速度 > PCのY速度)の時は
 Y方向の判定を先にやってからX方向の判定をする
・逆の時は
 X方向の判定を先にやってからY方向の判定をする

こうすると上に進んでいて左肩が壁に掠った時に
右に避けつつそのまま上に進める様になる

459 :
「Y方向の判定」
・PCを正方形と考えて4つの角がそれぞれ
壁にめり込んでいるか調べる
角を点と考えて、マップ上のその座標の地形を
調べて判定する

・上方向の2つの角の両方がめり込んでいるなら
 上カウント = 2
・片方だけなら
 上カウント = 1
・どちらもめり込んで無ければ
 上カウント = 0
・下方向の2つの角も同様に数える

・(上カウント > 下カウント)なら
 PCを下方向に押し出す
・(下カウント > 上カウント)なら
 PCを上方向に押し出す
・それ以外ならそのまま

460 :
こうすると左に移動して壁に当たった時に
左上だけ当たっている時は
(上カウントが1、下カウントが0なので)
下に避けてから左へ移動し
左下も当たってる時は右に押し出されつつ
(上カウントが1、下カウントが1なので)
少し斜め向きなら微妙に上下に
移動し続ける様になる

また、部屋のL字の角に斜めにぶつかった時に
Y方向の判定で上下とも壁なので押し出し出来ず
X方向の判定も同様に出来無いので
そのまますり抜けて部屋の外に出て仕舞うので
フラグで無くてカウントにしている

この場合
Y方向は上カウントが2、下カウントが1なので
下に押し出され、その後
X方向は左カウントが2、右カウントが0になるので
右にも押し出されて、部屋の角で止まる

461 :
車輪の再発明なのでなんか不具合はあるかも試練

462 :
「上方向の判定」

・上カウントが1、下カウントが0の時は
上だけめり込んでるので、下へ押し出し

・上カウントが1、下カウントが1の時は
上下にめり込んでるので、押し出しは無し
(横へは押し出される)

・上カウントが1、下カウントが2の時は
L字なので、下の押し出しは無し(上は有る)


・上カウントが2、下カウントが0の時は
上だけめり込んでるので、下へ押し出し

・上カウントが2、下カウントが1の時は
L字にめり込んでるので、下へ押し出し

・上カウントが2、下カウントが2の時は
完全に壁の中なので、身動きが取れない
(特別な処理が必要)

下・左・右方向の判定も同様

463 :
>>462
つまり
(上カウント > 下カウント)ならPCを下方向に押し出す
と言う事

464 :
FPSのサイコガンの画像を2種作った

ノーマル・ショットはライフルの薬莢の3Dモデルを
後ろ向きにしてFF:Uの魔銃っぽくでっち上げた

バースト・ショットはノーマルの上に
ミニガンを乗っけた

465 :
>>464
カメラの位置を一寸動かしてはレンダリング
の繰り返しなので、リアルタイムでプレビューしたい

466 :
FPSでのPCの武器

パルス・ショット:ダメージx1、三点バースト、マガジン無限
バースト・ボルト:ダメージx2、フルバースト
グレネード   :範囲ダメージx16、手榴弾、スモーク効果
ビーム・クリス :ダメージx4、近接ナイフ

武器名とダメージは未確定

467 :
パルス・ショットとバースト・ボルトの
アニメ・パターンを作った

サイコガンがクルッと回転し
上部がパカッと開いてバースト・ボルトが出て来る

468 :
グレネードのアニメ・パターンも作った
拳銃のモデルを投射方向に斜めに向けて
サイコガンの上面へと、くっ付けた

469 :
http://lnl.osdn.jp/images/Space-SSS/blog/2019/02/l/psycho-gun-002.png
白兵戦(FPS)のサイコガン
上からパルス・ショット、バースト・ボルト、グレネード
武器を切り替える度に、右から左へアニメする

470 :
サイコガンの名前は「MPG - マルチフェーズ・ガン」
辺りが良きかな

471 :
>>470
マルチガンでいいや

472 :
ビーム・クリスのアニメ・パターンを作った
志村けんのアイーンの構えから
右上前方に薙ぎ払う

取り敢えずマルチガンの画像は出来た

473 :
マルチガンの描画を実装した
武器を切り替えるとアニメする

・現在のコマ数 = 最大コマ数
 ……
・現在のコマ数 -= 1
・(現在のコマ数 == 0) なら……

武器を切り替えた時に、現在のコマ数を設定して
フレーム毎にカウント・ダウンすると
武器によって最大コマ数が違っても
アニメを終了して攻撃可能になった事が
0と比較するだけで判別できる

474 :
>>473
コマ数をカウント・ダウンするのに合わせて
画像のアニメ・パターンも右から左に並べている
ツクールではスプライト・シートの番号を
左から右にカウント・アップする為

475 :
ビーム・クリスの攻撃アニメを実装した

攻撃キーを入力すると専用のアニメを描画する
アニメ・パターンは、マルチガンの画像に
武器切り替えアニメと一緒に入れて有る

476 :
メニューの後処理で
装備中の武器のIDを更新する様にした

これでキー操作だけで無く
メニューからもメイン武装やサブ・アイテムを
切り替えられる様になった

477 :
ビル街の未使用のキーにブースターを割り当てた
Shift + Z or X で発動

478 :
地表面で敵を再ロックオンした時
マーカーがアニメしていなかったのを修正

ロック/再ロック時に
アニメのコマをリセットさせた

479 :
ビーム・クリスのビーム刃の描画を作った
攻撃モーションに合わせてアニメする

480 :
ビーム刃を反転させたコマも用意して
スパークが飛び散る様にした
透明度も周期的に上げ下げして明滅させた

481 :
マルチガンの弾の画像を作った
幾何学模様っぽいデザイン

パルス・ショットはオレンジの▽
バースト・ボルトは青い◇が4つ
グレネードはワイヤーフレームの玉の中に
赤いクリスタルが入ってる

482 :
マルチガンの弾の描画の一部が出来た

パルス・ショットは三点バーストなので
連射回数をカウントして置いて
3以上になったら一度キーを放すまで
発射しない様にした
バースト・ボルトは制限無し

パルス・ショットがオレンジ色だと
砂漠では見難いので黄緑の▽に変更した

483 :
こんな感じかね?
https://i.imgur.com/xT2Xnl4.jpg
https://i.imgur.com/M4uAtHy.jpg
https://i.imgur.com/xL3yB3N.jpg

484 :
>>483
めっちゃバレたな

485 :
主人公はロン毛の美形マッチョの予定なので整形前だな

「本当にいいんだな?」
「あぁ、思いっきりやってくれ」
  ……術後
「ヒュー。こいつは飛びっきり不細工だ」

486 :
ウッホッ!

487 :
https://www.youtube.com/watch?v=BSdeManFIpU
魔銃はこれな
「おじさんじゃない!お兄さんだ!」

488 :
FPSのPCの横移動とヨー旋回時の
自弾の移動を実装した

・自弾の座標はPCの視線方向に固定している
(ワールド座標系で無くて、スクリーン座標系)
・横移動は自弾のX座標を左右に移動させる
・ヨー旋回時は自弾の透視図法の消失点を
遠景のスクロールと同じ分だけ左右に移動させる

自弾は撃った瞬間に
敵との当たり判定を済ますので
弾道はフレーバー要素に過ぎ無い
こうすると座標と速度ベクトルの回転の
重い処理を省ける訳だ

この辺がポリゴン3Dゲーと違って
スプライト2.5Dゲーの狡い所である

489 :
マルチガンのリロードを実装した

マガジンが空になったら自動的にリロードする
予備のマガジンも空になったら効果音を鳴らす
武器の切り替え処理がリロードを兼ねる

「リロードでの弾数の変化」
・N = 装弾数 - 現在の弾数
・(N > 予備弾数)なら N = 予備弾数
・予備弾数 -= N
・現在の弾数 += N

490 :
パルス・ショットの予備弾数が
99,999だったら予備弾数を
減らさない条件を入れて
無限にリロード出来る様にした

グレネードの装弾数に100とか
適当に大きな数値を設定して
事実上リロード無しにした
一度の突入で数発しか
補充されないので問題無い

491 :
グレネードの変動するパラメータ多過ぎて収拾つかなくなってる
取り敢えず目標地点の描画作って、その辺に着弾すれば良いや
今日はお仕舞い

492 :
グレネードの目標地点の描画が出来た

攻撃ボタンを押している間
視点方向の手前と奥を往復する
攻撃ボタンを放したら
目標地点へ向けてグレネードを発射する

・(フレーム <= 1) なら 符号 = +1
・(フレーム >= 最大) なら 符号 = -1
・フレーム += 符号
・Z = VZ * フレーム

これで目標地点の視点方向のZ座標を往復させる

493 :
レース用の画像素材探しとBGMの割り当てをした
FPSのHUDのデザインもした

494 :
グレネードを投げられる様にした
初速を計算して発射し、放物線を描く

初速 = 平方根((重力加速度 * 距離) / (2 * sin(45) * cos(45))

本当は地面からの武器の高さを考慮する必要が有るけど
複雑な計算の割には大して差が無いし
バランス調整が大変になる
爆発する座標は撃った瞬間に
マップ平面で計算済みなので、これで良い

495 :
平方根のアルゴリズムは↓を参考にした

https://cpplover.blogspot.com/2010/11/blog-post_20.html

引数に0以下を渡すとフリーズするので
適当に1を返す様にした
正確で無くても良いから、そのまま続行して欲しいので

496 :
グレネードの爆発を実装した

キーを押したら、照準を前後に往復させて
放したら、そこを目標地点として
座標を「照準→グレネード→爆炎」の順に
伝えて行って、そこで爆炎をアニメさせる

これで白兵戦でのPCの攻撃は大体終わった
当たり判定は敵が出来てからにする

497 :
>>496
目標地点の座標をリレー形式で
バトンを手渡して行くイメージ

498 :
壁のイテレータとか細かい最適化をした

今はまだ壁の数自体が少ないので
あまり目に見えた効果は無かったけど
ソースの可読性も上がる修整だったので
良しとする

コード読み直して、敵の描画処理の
見当をつけた

499 :
FPSの敵の移動パターン4つネタ出しした

500 :
FPSの敵の画像をレンダリングした
取り敢えず1種類だけ作って動かして見て
問題無ければ残り3種類 + ボスも作る

敵を壁の手前や奥に描画できる様に
敵と壁を1枚の画像にまとめた
ファイル・サイズが大きく成り過ぎたので
縦横半分に縮小した

501 :
>>120
地表面の地面と海/川は、アフターバーナーっぽい
角の面取りを止めて正方形にした
地平線がギャラクシーフォースの様に面一になった

デバッグ用に草原以外のマップも
ランダムに選ばれるフラグを用意した

502 :
FPSの敵戦車を取り敢えず描画できる様にした

初期化時にマップを左上から右下まで
1キャラずつ見て行って
その地形に応じて、壁や敵を生成して行き
管理用の配列にリンクする

管理配列をソートした後
順番に対応するピクチャ番号で描画する
こうすると、奥にいる戦車が手前の壁に
隠れて見える様になる

503 :
1には悪いけど、このスレも半分消化したな
まだまだ続くでー

504 :
敵戦車が1両しか描画できないバグを直した
イテレータで指定するバッチ範囲の修正し忘れだった
度々これをやらかす自動化してくれ

505 :
敵戦車の移動Aを作った
ランダムに方向転換と直進を繰り返す

・角度 = (次の向き - 現在の向き + 360) % 360
・角度 = 角度 / 回転速度 * 回転速度
・(角度 == 0) なら 直進
・(角度 <= 180) なら 現在の向き += 回転速度
・(角度 > 180) なら 現在の向き -= 回転速度

これで左右回りの近い方に
方向転換してから直進する

506 :
敵戦車の種類で、画像と攻撃方法が固定で決まり
それとは独立に、移動パターンを掛け合わせて
バリエーションを増やす

507 :
敵戦車の移動Bを作った
PCの視線に対して直角に左右に逃げる

・(戦車の描画X < 0) なら
 次の向き = 360 - PCの向き - 90
・(戦車の描画X >= 0) なら
 次の向き = 360 - PCの向き + 90

これで後は戦車Aと同じ処理

508 :
敵戦車の移動Cを作った
左手法でマップの壁に沿って移動する

・前方が壁なら右折する
・左に壁が無いなら左折する
・但しランダムに決めた時間内は直進する

近くに壁が無い状態だと
その場でクルクル回って仕舞うので
ランダムに直進する処理を加えた

509 :
敵にもPCと同じ、壁の当たり判定と
押し出し処理を実装した

510 :
PCの出現位置をマップ上で指定できる様にした

マップから壁や敵を生成する時に
特定の地形が有ったら
その座標をPCの座標に入れる

511 :
戦車の画像は、移動方向に合わせて
車体の向きが12枚ある

砲塔は常にPCの方向を向いていて
何時でも攻撃できる様になっている

512 :
敵戦車の移動Dを作った
PCに向かって追い掛けて来る

dx = (自機X - 敵X) / 1マスのサイズ
dy = (自機Y - 敵Y) / 1マスのサイズ
if (dx <= -1) {
 if (dz <= -1) {
  目標の向き = 3
 }
 if (dz == 0) {
  目標の向き = 2
 }
 if (dz >= +1) {
  目標の向き = 1
 }
}
if (dx == 0) {
  目標の向き = 4
  目標の向き /= 45
  目標の向き = 0
}
if (dx >= +1) {
 ……
}
目標の向き *= 45

45度単位で、目標(PC)の方を向いて
その方向に直進する
PCと重なっている時は、向きを変えない

513 :
>>512
※訂正

dz = (自機Z - 敵Z) / 1マスのサイズ

if (dx == 0) {
 if (dz <= -1) {
  目標の向き = 4
 }
 if (dz == 0) {
  目標の向き /= 45
 }
 if (dz >= +1) {
  目標の向き = 0
 }
}

514 :
戦車の攻撃パターンをネタ出しした

・自機狙い
・4Way
・緩いホーミング
・ランダムに揺れる弾幕

515 :
PCが敵戦車に轢かれたらダメージを受ける様にした
ダメージと効果音の処理の一部を実装した

516 :
戦車4種のレンダリングした
Blender が少しずつ解って来た気がするけど
たぶん気のせい

517 :
FPSの戦車4種の画像とマップ上の生成が出来た

518 :
戦車の砲弾の画像を作って、取り敢えず
撃ったその場に描画する所までやった
PCの回転や移動もおk

519 :
戦車の攻撃Aを実装した

・x1 = 攻撃した敵のマップ上のx
・y1 = 攻撃した敵のマップ上のy
・dx = (PCのマップ上のx - x1) / 弾の速度
・dy = (PCのマップ上のy - y1) / 弾の速度
・最大フレーム数 = 最大(絶対値(dx), 絶対値(dy))

弾の発射時に、発射位置(x1, y1)と
PCとの相対座標(dx, dy)と
PCと衝突するまでの最大フレーム数を
求めて置く

・フレーム数 = 0...最大フレーム数
・弾のx = dx * フレーム数 / 最大フレーム数 + x1
・弾のy = dy * フレーム数 / 最大フレーム数 + y1

フレーム数をインクリメントしながら
弾のマップ上の座標を計算して、描画処理に渡す
こうするとsin, cos, tanの重い処理を省ける

弾がPCに当たらなかった場合は
そのままフレーム数を増やして行って
壁にぶつかったら消す
最大フレーム数を越えても問題無い

実際は弾の速度を半分にして
移動と当たり判定を2回分実行する事で
壁のすり抜けを防ぐ

520 :
>>514
・自機狙い
単発で撃って来るだけ。単純に雑魚

・4Way
最初ビビるけど直ぐに避けられる様になる

・ホーミング
めっちゃ当てに来るので壁避け必須。HP少な目

・ランダムに揺れる弾幕
板野サーカスの腕前を要求。単純に強い

521 :
>>515
「敵が前に進んでてその角度の範囲内にPCが……」
とか難しく考え過ぎる子が居るから答え合わせな

・dx = (戦車のx - PCのx) / 当たり半径
・dy = (戦車のy - PCのy) / 当たり半径

でdxとdyが両方とも0だったらひき頃されてる

522 :
>>519
・最大フレーム数 = 最大(絶対値(dx), 絶対値(dy))

こっちのdx, dyは合ってるけど

・弾のx = dx * フレーム数 / 最大フレーム数 + x1

こっちのは、弾の速度で割る前の値な
説明を省くと文章にバグが入り込む何時ものやつ

523 :
敵戦車の4Way攻撃を実装した
PCを中心にした扇状の4方向へ向けて飛ばす

1. PCと敵の相対座標から角度を45度単位で求める
 x > 0 かつ y > 0 の場合
  (x / y) >= 2 なら 0度
  (y / x) >= 2 なら 90度
  それ以外なら 45度 と言う感じ
2. 角度を直角に回転し正規化する
  0度 なら x = 0, y = 1
 45度 なら x = -1, y = 1
 90度 なら x = -1, y = 0
3. 正規化した数値を +1, -1 倍して扇の幅を掛けて
 敵の座標に加えた位置から発射し
 数値を +1, -1, +5, -5 倍して扇の幅を掛けて
 PCの座標に加えた座標に向けて飛ばす

524 :
敵戦車のホーミング攻撃を実装した

移動処理で、目標の座標を
現在のPCの座標で毎フレーム更新するだけ
他は >>519 の自機狙い弾と同じ

自機狙いは残像拳と一緒で
当たる頃には、もうそこに居ない
「馬鹿め!何処を狙っている!わしはここだ」

525 :
Done. で落ちてたのでまとめて進捗する

526 :
敵戦車の弾幕攻撃を実装した
4つの弾が広がってから
PCにぶつかる様に収束する

「発射処理」
・速度 = 壁の幅 * 100 * 乱数(4..12) / 12 / 10
・加速度 = 速度 * -2 / 着弾までの予測フレーム数 - 1

乱数で拡散する速度を決めて
そこからPCの座標に向かって収束する様に加速度を求める

「描画処理」
・速度 += 加速度
・補正座標 += 速度
・現在のX or Z座標 += 補正座標

PCと敵の位置関係で軸に直角になる様に
計算中の描画用XかZ座標に補正座標を加える

・Y >= 0 なら Yの速度--
・Y < 0 なら Yの速度++

Y座標は原点に向けて加速するsinカーブ
要は R-TYPE II の拡散波動砲

527 :
FPSの敵弾xPCの当たり判定を作った

・DX = (PCのX - 弾のX) / (PCの半径 + 弾の半径)
・DZ = (PCのZ - 弾のZ) / (PCの半径 + 弾の半径)

でDXとDZが両方0だったらPCにダメージ

528 :
移動や攻撃などのキーが押されていなかったら
PCのHPを少しずつ回復する様にした

529 :
グレネードの煙幕で敵弾を防げる様にした
当たり判定は敵弾xPC等と大体一緒

530 :
自弾のパルス、バースト、グレネードと敵との当たり判定できた

パルスとバーストはオブジェクトのポインタの配列に
ソートされて入ってるので、手前から判定して行って
最初に射線上(画面中心)に居るものが敵だったら
そいつにダメージを入れる

531 :
戦車のHPが0になったら
その場にグレネードと同じ爆炎を置く様にした

グレネードは着弾予測地点で判定
ダメージは4フレームに別けて与える事で
誘爆する時に時間差が出る様にした

532 :
戦車の爆発がおかしな場所に生成されるバグを直した
相互リンクする部分があやふやなコードだった

ツクールだとコメント入れるだけでも面倒だけど
それでも目印くらい付けとくべきだった

533 :
近接のビーム・クリスと敵の当たり判定できた

使用中のオブジェクトへのポインタの配列から
描画座標と半径が取得できるので、それで判定する
壁の有無に関係なく範囲内の敵全てにダメージを入れる

2コマでモーションして3コマ目で戻るので
ダメージも半分ずつに分けて与える

534 :
四捨五入ルーチン呼んでる所インライン展開したら
めっちゃ速くなったwもう別ゲー

535 :
>>534
恒星系(宇宙)のモッサリ感が払拭された

536 :
FPSの戦車のダメージ・エフェクト作った

虚数空間のデータ構造をそのまま流用して
処理を少し調整しただけ
後で専用のデータが必要になる事が有れば
その時に修整する

537 :
FPSのPCのダメージ・エフェクトを作った

恒星系のを流用して背景がフラッシュする様にした
PCのHPが0になった時の
フェードアウト→ゲームオーバー、の流れも出来た

これでFPSの戦闘周りは大体できた

538 :
ゲームオーバー前のフェードアウト時に
画面を赤くするの忘れてたので実装

フェードアウト処理で
赤画面のピクチャ番号が0だったら普通に描画
番号が入ってたら黒画面の下に
赤画面を透明度50%で描画する

539 :
FPSのブリーフィング画面を作った
マップを3Dでグルグル回転して描画する

http://lnl.osdn.jp/images/Space-SSS/blog/2019/02/l/briefing-001.png

・画面のX = 回転後のX
・画面のY = 回転後のZ / 2

マップ平面上の X,Z を回転させて
画面上の Y を半分に押し潰して描画する
ピクチャ番号は90度毎に回転させて
奥から手前の順に変換する

画像は菱形を描いて
自前スクリプトで回転コピペしたものを
上下に縮小したものを使用する

540 :
>>539
リンクミス
http://lnl.osdn.jp/images/Space-SSS/blog/2019/04/s/briefing-001.png

541 :
10時間かけて作って余韻に浸ってるけど
「だから何?Unityならそんなの10分で作れるよ」
と言う目線が厳しいので後でUE4で作り直します

542 :
三角関数の調整をした

座標に100の下駄を履かせて、固定小数点数にしてるけど
数学関数だけ精度を上げようと、1,000にしたのは間違いだった
オーバーフローしない様に、10で割ってから使ってるから意味無い

543 :
ブリーフィング画面の背景と
読み込み中のメッセージを作った

この演出の為にロード時間が伸びて本末転倒なので
次のエリアに進む時はマップ回転無しにする

544 :
FPSのHUDの内、PCのHPメーターを作った
ビル街からのほぼコピペ

545 :
FPSのHUDの残弾数をレイアウトした

武器毎に箱で囲んで横に4つ並べると
画面の横幅的に厳しいので
1行1武器で4行のリスト表示にした

546 :
HUDの残弾数の画像を作った

デジタル数字を8x16ドットでポチポチ打った
3桁表示に合わせて∞を3キャラの逆組み文字にした

GIMPで粗いドットの袋文字を作る手順
・普通に文字を描く
・下のレイヤーにコピペする
・色を替える
・縦横8方向に1ドットずつずらしてコピペする

547 :
HUDの残弾数の描画を作った

・1の位:シート番号 = 弾数 % 10
・10の位:シート番号 = (弾数 / 10) % 10
・100の位:シート番号 = (弾数 / 100) % 10
・武器が選択中なら シート番号 += 16
・シート番号 += 1

これでスプライト・シートの番号を決める

0123
4567
89//
(X)_

スプライト・シートには
上記の16文字がx2色分入っている
「/」は数字の区切り
「(X)」は3文字で無限

548 :
0割…

549 :
アイテムのグレネードの画像を作った
コアになる液体が透明なカプセルに封じられてる感じ

バースト・ボルトの弾薬とHP回復コンテナの
モデルも選んでダウンロードして置いた

550 :
>>548
どした?

551 :
取り敢えずアイテム画像はでっち上げて
イベントの枠を確保した

552 :
アイテムを描画できる様になった
一枚絵なのでどの方向から見ても同じ画像
スプライト・シートの余ってる所に入れて置いた

553 :
FPSでのアイテム拾いの処理を作った

拾ったら弾数を増やしたりHPを回復したりして
リスポーン時間も設定する

「リスポーン時間 > 0」の間は
リスポーン時間をカウントダウンして
アイテムを非表示にする

マップ・データ上ではアイテムのオブジェクトが
存在したままになる

554 :
破壊すると爆発するコンテナを作った

どの方向から見ても同じ画像で
動かない敵として実装した
取り敢えずパルス・ショットの
3点バースト1連射で倒せるHPに設定した

555 :
アイテムを攻撃すると同じ番号の敵に
ダメージが入って仕舞うバグを直した
敵かどうかのチェックでIDの範囲が間違っていた

敵より手前にアイテムが有ると
敵に攻撃が当たら無いバグも直した
Z座標のチェックからアイテムを対象外にして対処

556 :
FPSの出口を描画できる様にした

出口を壁として描画して置いて
エリアの達成条件を充たしたらフラグを立てて
出口を出口の画像で描画する

557 :
「回転」
X1 = X * cos(角度) - Z * sin(角度)
Z1 = Z * cos(角度) + X * sin(角度)

「一点透視図法」
X2 = X1 / Z1
Y2 = Y / Z1

本当にこれだけで2.5Dゲーは作れる
後は全部これの応用、難しく考えなくていい

558 :
敵を倒したら、敵が全滅したかチェックして
アリア達成フラグを立てる様にした
立ったら出口が現れる
但しコンテナは数に含めない

559 :
>>558
エリアな。よく英語とローマ字打ち間違える

560 :
出口に接触したら
次のエリアにマップが進む様にした
スプライトのロード無しでマップを初期化する

マップ・データを2x2の4区画に区切って
時計回りに1から4のエリアとしている
エリア4をクリアしたら
取り敢えずタイトル画面に戻る
リザルト画面はクエストを実装する時に作る

これでFPSの白兵戦は大体終わった

561 :
FPSのオブジェクトのソートを実装した

表示Z座標でバブル・ソートする
毎フレーム一定数分ずつ分割して処理するので
ジワジワと前後関係が更新されて行く

マップの外壁は常に一番遠いので
処理を省いて高速化した

562 :
「スペースSSS」のテストプレイ版を更新しました。

ウェブ・ブラウザでプレイ出来ます。
今回は FPS が一通り遊べる様になりました。
メニューの1番上の Default を選んで下さい。

http://lnl.osdn.jp/pukiwiki/index.php?blog

563 :
>>562
ゲーム速度を Celeron オンボに合わせてるので
後で設定メニューから高速版も選べる様にします。

564 :
安物のノートPCで制作始めて良かったワ
Core i7に合わせてたらCeleronでゲームになら無かった

565 :
今、込み入った作業やってるから
もう暫く待っててな

566 :
http://lnl.osdn.jp/images/Space-SSS/blog/2019/04/l/F-2003-001.png

七つ目のサブ・ゲーム F-2003 の
プロトタイプを作った

取り敢えず、スーファミの F-ZERO の
ミュートシティっぽく出来た
ギリでゲームが成立する位の処理の重さ
明日辺り、動画をうpる予定

567 :
https://www.youtube.com/watch?v=b4PyktnVbgM

「スペースSSS」RPGツクール2003 進捗動画 #010
サブ・ゲーム「F-2003」のプロトタイプです。
各惑星で開かれる銀河レースで優勝をめざせ!
http://lnl.osdn.jp/pukiwiki/index.php?works

568 :
F-2003のコース外の当たり判定を作った

FPSの判定とほぼ同じで、壁の代わりに
マップ・データ上の海の部分と比較する
ジャンプの着地失敗などで
コースを大幅にはみ出すと
自機が爆発する事になる

569 :
>>568
コース外と衝突すると、速度の符号が反転して
減速され、弾き返される

570 :
コース上にライバル車のライン取り用
イベント・マーカーを打った
これを辿って移動する

571 :
取り敢えず、画面にライバルの車を
描画する所まで出来た
骨組みは出来たので、肉付けして行く

572 :
ライバル車のX,Z座標の移動と回転できた
まだスタートラインに停車していて走れない

573 :
ライバル車がイベント・マーカーを
辿ってコースを周回する様になった

イベントの座標を得るコマンドで
イベント番号を変数で指定出来ないので
マップのローディング時にマップを舐めて
配列に座標を突っ込んで置く様にした

574 :
ライバル車の方向転換と加減速が出来た

次のマーカーの方へ向きを変えながら
アクセルを吹かす
向きを変えたらブレーキを効かせる

575 :
ライバル車の壁と自車との当たり判定を作った
これで車が普通にコースを走る所までは出来た

576 :
路肩と荒地のギミックを実装した

コース上のこれらを踏むと効果が出る
何方もチリチリ音を出しながら減速して行く
速度が遅いと音の鳴る頻度が低くなる

「路肩の減速」
自車の速度 = 自車の速度 * 95 / 100

徐々に減速して停車する
アクセルを吹かしているなら加速が遅くなる

「荒地の減速」
自車の速度 = 自車の速度 * (100 - 2 * アクセル加速度) / 100

アクセル加速度が10なら自車の速度が
80%の80%の80%の……となって減速して行く
アクセルを吹かしているなら一定の速度で減速が止まる

577 :
路肩のギミックを変更した
路肩を踏むとHPにダメージが入り
HPが減ると速度が落ちる様にした

ライバル車やコース外に衝突した時も
HPにダメージが入る様にした

HUDのHPとスピード・メーターも実装した

578 :
ピットインのギミックを実装した

ピット・エリアの上に乗ると
RPGのセーブポイントの様な
エフェクトが出て、HPが回復する
透過率50%のアニメ画像でサンドイッチする

579 :
F-2003の自車の爆発を実装した

ダメージでHPが0になったら
自車の代わりに爆炎を描画して
キー入力や移動などの処理をスキップする

コースアウトしたらHPを0にする

580 :
ゴールのギミックを実装した

コース上に順周りでゴール、ポイントA、B
のイベントの帯を配置して
自車が踏むとイベント処理が呼ばれる
下記の処理で逆走せずにゴールしたか
チェックが出来る

「ポイントA」
・フラグBがoff なら フラグA=on
・フラグBがon & フラグAがon なら フラグB=off

「ポイントB」
・フラグB=on

「ゴール」
・フラグAがoff & フラグBがoff なら スタート
・フラグAがon & フラグBがon なら ゴール
・それ以外ならコースを逆走と判定
・フラグA=off、フラグB=off

581 :
「スペースSSS」RPGツクール2003 進捗動画 #011
サブ・ゲームの白兵戦FPSです。
基本要素は揃ったので、あとはボスとレベル・デザインです。

https://www.youtube.com/watch?v=5VhHuyQ_SMg&list=PLA7OQaUQq9PqfTQaaNG3mHbo1F3hChKA0&index=11

582 :
F-2003のニトロのギミックを実装した

ニトロを使うと一時的に高加速して
最高速度が倍になる
荒地やHPの速度制限も受け無くなる
コースを1周する毎に1つ手に入る

583 :
FPSのブリーフィング画面の
メッセージを分かり易くした
出撃準備が出来たら「Go!」と表示する

敵戦車の攻撃がアイテムに
衝突すると消えるのを修正
地形の定数や判定のリファクタリングで
修整漏れが有った

584 :
F-2003のスリップ地帯のギミックを実装した
氷床の様に滑って
ステアリングを切るとドリフトする

氷床を踏んだら、現在のX,Z速度を
保存して置いて、フラグをonにする
自車の移動処理で、フラグがonなら
現在の速度を保存していた速度で
上書きし続ける
氷床から抜けたら、フラグをoffにする

585 :
F-2003のブースターの描画だけ作った

踏むと前方に高加速する
正面左右 -45 度から +45 度分だけ
スプライト・シートを用意した

スプライト番号の計算式
番号 = ((自車の向き + 40) % 90 / 5 - 18) * -1

586 :
暫く Frostpunk にハマってたけど
落ち着いたので、今日から再開する
取り敢えず進捗

587 :
F-2003のブースターの効果を作った
90度単位で進入時の自車の向きに
200%の速度へと加速する

・ブースターを踏んだ時に
VXかVZへ200%を入れて置く
・自車の移動処理で速度ベクトルを
普通に計算した後、VX,VZが0以外だったら
速度ベクトルに上書きする

これでブースト方向に倍速移動しつつ
自車の方向にも移動する
但し200%は越えない様になる

588 :
F-2003のジャンプ台の描画だけ作った
ブースターとデータを共用して
スプライト番号だけ変える様にした

589 :
F-2003のジャンプ台の効果を作った
踏むと加速しながらジャンプする

ジャンプ中にカーソル上で
低ジャンプ&高加速
カーソル下で
高ジャンプ&低加速

ジャンプ台を踏んだら
・自車のY速度をMax
・ジャンプ中フラグをOn
ジャンプ中は
・Y加速度にカーソル上下の補正
・Y速度 -= Y加速度
・Y座標 += Y速度
Y座標 <= 0 なら
・Y座標 = 0
・ジャンプ中フラグをOff

ジャンプ中はコースのギミック等の
当たり判定をOffにして
着地時にコース外なら
当たり判定の処理で爆発する事になる

590 :
スタート用信号機を作った
赤→黄→緑でカウントダウンする

(赤)( )( )( )( )
 ↓
(黄)(黄)( )( )( )
 ↓
(黄)(黄)(黄)( )( )
 ↓
(黄)(黄)(黄)(黄)( )
 ↓
(緑)(緑)(緑)(緑)(緑)

横長の信号機を順番に
スプライト・アニメさせて
各車スタートしたらフェード・アウトで消す
赤の状態で始めて、117時報のタイミングで
黄から緑に変える

フレーム数とカウント・ダウン数に別けて
フレーム数が1秒進む毎に、カウント数を減らす
カウント数には、カウントが始まる前や
フェード・アウト中/後の状態の意味も持たせた

591 :
ラップ・タイムとニトロ用の画像を作った

タイムは計測中、確定、記録更新の
3色を用意した
ニトロは使用済みの黒塗りと
未使用の緑の2色の「N」にした

592 :
スタート前は自車・他車共に
移動できない様にした

ニトロの残数表示も作った

1. i で0から最大描画数 - 1までループ
2. i < 残数 なら色付きで描画
3. それ以外なら黒塗りで描画
4. ループ終端

593 :
タイムの更新と描画の処理を作った

予め100秒間の平均フレーム数を測って置いて
現在のフレーム数から秒数に変換するのに使う

この値は一度リリースしたら変えない様にする
ゲーム内時間で記録を測ら無いと
不公平になって仕舞うので
環境によって1秒の長さが微妙に変わるけど
気にしないで置く

記録更新したら色を変えて描画する

ゴールを踏んだら
・1つ前のラップ・タイム = ラップ・タイム
・ラップ・タイム = 0
・1つ前のラップ < 今回の最速ラップ なら
  今回の最速ラップ = 1つ前のラップ

フィニッシュしたら
・ラップ = 今回の最速ラップ
・ラップと合計タイムのカウントを止める

594 :
スタート・ダッシュの裏技を仕込んだ

信号機が緑になる1つ前に
タイミング良くアクセル・ボタンを押し続けると
スタート直後に急加速できる

「キー入力処理」
・アクセル・キー == On
 &1f 前のアクセル・キー == Off
 &信号機のカウント == 1
 &信号機のカウント2 == 2 なら
  ダッシュ・フラグ = On
・信号機のカウント2 = 信号機のカウント
・アクセル・キー == Off なら
  ダッシュ・フラグ = Off
・ダッシュ・フラグ == On
  ダッシュ速度 += 加速度
・ダッシュ・フラグ == On
 &信号機のカウント == 0 なら
  ダッシュ・フラグ = Off
  自車の速度 = ダッシュ速度

595 :
これで F-2003 は大体できたから
全サブ・ゲームのシステムの目鼻が付いた
後はマップとボスとシナリオを肉付けして行く

596 :
F-2003のコースの描画を最適化した

全てのタイルの座標を
一つずつ回転するのを止めて
四隅の座標だけ回転して
他は四隅からの相対座標で計算する様にした

大分軽くなったし何故最初からそうしなかった?
になったけど、「早すぎる最適化」を避けて
最後にやるつもりでいたので問題無い

597 :
見てるよ!がんばって

598 :
マップ・ウィンドウの枠だけ作った

メニュー・キーを入力すると
マップの枠が画面外からスライドして来て
メイン・メニューが開く
スライド中はマップ部分に
ブロック・ノイズを描画する

>>597
ツイッターがbot状態になっててキツいが
頑張ってやって行きます
ありがとう

599 :
>>598
(・∀・)b+

600 :
マップ・ウィンドウの描画を作った

背景をマップ・サイズより小さくして
自動的に多重スクロールする様にさせた

デフォルトのメニュー・キーを押しても
メニューを開かない設定にして置いて
マップ上でキーを押したら
コマンドを呼んで、開く様にした

601 :
マップ上に太陽と惑星を配置した

1. 3D描画用の惑星をタイル・サイズに縮小
2. 公転軌道の輪をタイルで描く
3. 軌道の上に惑星を配置
4. 軌道の輪を消す

内惑星より外惑星の方が軌道半径が大きいが
そのままだとマップが大きくスカスカになるので
半径を詰めて、外惑星の角度を離して配置する事で
距離感を出した

602 :
マップのカーソルを作った

画像は適当にでっち上げ
パーティの先頭キャラをカーソルにして
歩行グラとして動作させる

603 :
恒星系の方角マーカーの画像を作って
イベントのテンプレを用意した

604 :
恒星系の方角マーカーを作った

コクピットの外の宇宙に文字を描画して
東西南北上下の方角を示す
これの座標を基準にして
自機がマップ上を移動するのにも使う

605 :
スレチ失礼でちょっと宣伝
7/6土曜日午前9:00からYouTubeライブで
街運営サバイバルRTS「フロストパンク」
の耐久実況やります(開場は8:45頃)

10分休憩数回はさんで16時間前後かけて
エンディングまでノンストップの予定
URLリンクは当日朝に貼ります

606 :
初めてきたんだけどウディタのRPGはもうやってないのかな?
ツクール2003でこんだけ3D組めるんだったらウディタどころかUnityで組んだ方が早いんじゃないか?w

607 :
>>606
このスレは >>60 から乗っ取りしたので俺はイッチーとちゃうで
知り合いに「1000枚のスプライトはこう使う」
と手本を見せるためにやってるだけ
これが完成したら続編を UE4 + VR で作ろうと企んでる

608 :
>>605
フロストパンクの配信、多分ここにリンク出るはず
https://www.youtube.com/user/bowkenken2/videos

609 :
【Frostpunk】十数時間!耐久実況【サバイバルRTS】

午前9:00からYouTubeライブで
街運営サバイバルRTS「フロストパンク」の
耐久実況やります(開場は8:45頃)

10分休憩数回はさんで十数時間かけて
エンディングまでノンストップの予定

https://www.youtube.com/watch?v=gXtVAvNBh0g

610 :
方角マーカーにサブ・マーカーを付け加えた
東西上下のマーカーの周りに
北を示す小さいサブ・マーカーが付いて回る
北南だけは上の方角

・DX = 北のX - マーカーX
・DY = 北のY - マーカーY
・DXの絶対値 >= DYの絶対値 なら
 サブ・マーカーX = 半径 * DXの符号
 サブ・マーカーY = 半径 * DY / DXの絶対値
・DXの絶対値 < DYの絶対値 なら
 サブ・マーカーX = 半径 * DX / DYの絶対値
 サブ・マーカーY = 半径 * DYの符号
・マーカーの座標 + サブ・マーカーの座標に描画

サブ・マーカーの座標からatan2で角度を求めて
sin/cosで回転とかやるとツクール2003では
重いので、この様にした
軌道が同心円で無く正方形になるが
2.5Dゲーでは、そう言うの気にしたらダメ

611 :
マップ上の自機の描画を作った

カーソルの移動や描画にツクールのPCを使って
自機はツクールのイベント(NPC)で表す

カーソルはマップを自由に移動させて
自機は恒星系のサブ・ゲーム中で
前進した方角に応じて移動する

612 :
マップ上の自機の移動を作った
・自機座標のバックアップを取る
・X速度 = 速度 * 東マーカーのZ率 * 自機の速度率
・Z速度 = 速度 * 南マーカーのZ率 * 自機の速度率
・ローカル座標 += X,Z速度
・ローカル座標 >= 閾値 なら
 ローカル座標 -= 閾値
 マップ座標 ±= 1
・マップ座標の地形が通行不可なら
 自機座標をバックアップに戻す
・移動したなら
 自機のイベントをマップ座標に移動

東マーカーがコクピット正面に
近ければ近い程、マップ上を東に進み
後背側に有れば西に進む
南マーカーも同様に南東に進む

上下方向のY移動はマップには影響が無い
空間が無限ループしているイメージ

ローカル座標に速度を溜めて行って
閾値を越えたら、マップ座標を1つ分動かす
以上を毎フレーム繰り返す

613 :
恒星系のサブ・ゲームで太陽を描画させた

・X,Z = 太陽のマップ座標 - 自機のマップ座標
・X,Z -= 自機のローカル座標
・座標1 = Z * 南マーカーの座標 / マップ半径
・座標2 = X * 東マーカーの座標 / マップ半径
・太陽の座標 = 座標1 + 座標2

自機から見たマップ上の太陽の相対座標を
一旦XとZの成分に分けて
南と東マーカーのベクトルに
割合として掛け算して
そのベクトルを合成して
太陽の座標を求める様にした

ワールド座標系の太陽を
自由にローリングした自機のローカル座標系に
座標変換するとか、そのままやると重いので
この様にした

614 :
他の計算法だと、前進とローリングしまくった後で
「さぁ太陽は何処へ置いたらいいでしょう?」
とか言われても正直分からない

615 :
方角マーカーの北だけ赤色にした

文字を認識している余裕が無くても
色で判別できる
簡単な事だけど、UIとして必要な機能だと思う

616 :
恒星系サブ・ゲームの惑星の描画を作った
普通にピッチ・ロールの回転と
Z方向の移動をした後
X,YをZで割り算して描画するだけ

レーダーに惑星も描画する様にした
ドットの色を赤い敵、白い敵以外の他に
水色の惑星を追加した

617 :
マップ上の惑星が有るマスに入ったら
惑星のオブジェクトを生成する様にした

惑星のデータは1つだけ有って
それを使いまわす
マップの地形データを見て
各惑星に切り替える

618 :
恒星系で惑星にぶつかると
宇宙港に入港できる様にした

衝突判定用の半径のrx, ryは固定
rzは自機の速度にした
こうすると自機の速度によるすり抜け防止と
ギリギリまで近づいた時に惑星のスケール感が出せる

港内の処理は後で作る
出港すると南極上空で裏返し
(惑星がコクピット上側)になる様にした

619 :
太陽を惑星としても描画できる様にした

太陽:恒星系の何処に居ても見える
   マップのY座標を無視する
惑星:惑星のマスに入ると現れる
   移動やローリングで全天を動く

太陽のマスに入ると太陽オブジェクトを
非表示にして、惑星オブジェクトに
移動・描画を肩代わりさせる

620 :
自機が太陽にぶつかったら
爆発してゲームオーバーになる様にした
これで恒星系内の移動は出来た

621 :
マップ・メニューのスケルトンを作った
マップを開いている状態で
決定キーを押すと開く

+マップ・メニュー
 +情報
  +調べる
  +ミッション
 +一般メニュー(ツクールのメニュー)
 +アクション
  +自動航行
  +ワープ
 +その他
  +終了

取り敢えず、今はこれだけ

622 :
マップ・メニューを整理した
天体を「調べる」のに、キーを押す回数が多過ぎた

「情報」を取っ払って
「調べる」をトップに持って来て
「ミッション」は「その他」の下に入れた

623 :
RPGツクール2003用3DシューティングRPG
「スペースSSS」がブラウザ上でテスト・プレイ出来る様になりました。

ダウンロードもインストールも要りません。
操作方法を良く読んでからプレイして下さい。
7つのサブ・ゲームから選んでテスト出来ます。

http://lnl.osdn.jp/pukiwiki/index.php?blog

624 :
>>623
夏なんで宣伝
七つ目のサブ・ゲームは夏休み中に
メニューが出来てからテスト公開する

>>60 から乗っ取りな

625 :
age

626 :
センスねーなあ。
そんだけあってもどれも遊ぶ気が湧かんわ
ゲームのシステム自体がしょぼくても、
グラフィックで誤魔化すくらいしろや

システムも気を惹かない、グラフィックも気を惹かない
それで誰が試遊するんじゃ、
テストプレイヤーで雇われてるわけでもないのに。

627 :
あと、どうでもいいけど
お前のブログに貼ってるゲーム紹介の動画な、
どれもBGMがデカいんだよ。
耳がいかれてんのか?

例えば、クリア動画だの、ゲーム実況だのの動画を観ながら
自分の心地よい音量にPCやyoutubeのボリュームレバーをいじって合わせた後に、
そのままお前のゲーム紹介の動画に飛んでみろよ。
音がうるせーだろ?耳が痛くて聴いてられないだろ?
ならその時に自分が音量下げればいいじゃんってな、
いちいちお前の動画を視聴するときだけ音量いじる気にならんわけよ、
みんな。わかるか?
で、BGMが五月蝿いから、誰もお前のゲーム動画をずっと観る気にもならんわけよ。

で、そーいうところにもお前のセンスってのが出てるんだよ。わかるか?
センスの無さが。
動画を観る側、ゲームを遊ぶ側に立ってモノを考える
そんな気遣いもできないところで
如何にお前が人生でモテてることなく生きてきた人間だってことが
わかるわけよ。

628 :
ゲーム作る前に、てめーの汚いブログのフォーマットを
整理しろや、ほんま見辛いわ。

そりゃ人が来ないわけだ。
つか、覗いてもそれじゃ皆すぐ閉じるって。

629 :
早速イキのいいのが来てるし
夏真っ盛りですね

630 :
宇宙港メニューのスケルトンを作った
ここを拠点に、酒場で依頼を受けたり
アイテム買ったり、惑星に降下したり出来る

メニューとか画コンテなんかの
並べ替えしながら考えるやつは
KJ法が使える

631 :
宇宙港メニューに出入り出来る様にした
惑星に衝突したら入って
メニューから「出港」を選ぶと出られる

ループの中に選択肢が有って
選ぶと子メニューを呼んで
キャンセルするか、終了フラグが
立っていたら、ループから抜ける
「出港」を選んだら、終了フラグを立てる

632 :
メニューからマップを開ける様にした

・「恒星系からマップを呼んだ時」
 イベントをパラレルにして
 ツクールのシステムに移動を任せる
・「宇宙港メニューから呼んだ時」
 自前で移動させる

PCの座標を直接指定すると
画面遷移のエフェクトが出て仕舞うので
移動ルートを指定して、1歩ずつ動かす

ツクールは初めてだし
この辺は手探りでやってるので
もう少しリファクタリングが必要っぽい

633 :
マップのOnで、PCとカーソルを表示
マップのOffで、非表示にした

カーソルを表示する為に専用のPCを
使うのを止めて、マップを表示する時だけ
先頭のPCの画像をカーソルに挿げ替える様に
仕様変更

634 :
マップでカーソルを中心にスクロールさせる為に
下記のような仕様にした

表示上のカーソル → 中身はPC
表示上の自機 → 中身はイベントNPC

635 :
ゲーム中のマップと港のマップの処理を統合した
カーソルの移動処理を自前でやって
イベントをパラレルにするのも止めた

636 :
カーソルの斜め移動を実装した

637 :
アイテム・ショップと燃料補給所を作った
宇宙港メニューから装備の売買と
燃料補給&修理が出来る

ツクールのシステムのショップと宿屋を
利用してるけど
補給所は自前で作った方が良いかも

638 :
宇宙港メニューから各サブ・ゲームを
開始できる様にした

目的に応じて、メニュー項目を
戦闘と探索の二つに分けた
同じサブ・ゲームでも
依頼やミッションの時と資源採掘の時で
初期条件を変える

639 :
>>638
ミサイルが必要な依頼を受けた状態で
ミサイルを合成する為の資源を
採掘できないと詰むので、別けた

640 :
Wikiに「テストプレイ」って書いたら
デバカークレクレと勘違いするし
「アルファ版」と書くと「OBあくしろ!(エタれ!)」
とかうるさいので「進捗版」と書き直して置いた

この板が本来何の目的で存在してるか
少しは思いを巡らしてみて欲しいものだな

641 :
お、頑張ってますな。

642 :
>>641
おうよ

643 :
自動航行用のターゲット・マーカーの画像を作った
四角いカーソルと重なっても見分けられる様に
十字マークにして上に「AUTO」の文字を入れた

644 :
メニューからターゲット・マーカーを
マップ上に打てる様にした
トグルでOn/Off出来る

645 :
カーソル下のイベントIDを調べて
ターゲット・マーカーだったらトグルOn/Offして
イベントが無ければ、そこへマーカーを打つ様にした

646 :
マーキングした惑星まで自動航行できる様にした

・目標がY-Z平面に乗る様にローリング
・目標がX-Z平面に乗る様にピッチ上げ下げ
・速度を上げる

カクカクした動きになら無い様に
目標が遠ければ速く動いて、近ければゆっくり
誤差の範囲内なら止める様に調整した

647 :
自動航行で直接速度を操作せずに
キー入力で間接的に扱う様にした
機体を制御するので無く
操縦桿を操作するイメージ
手動操作と処理を共有できる

ロール/ピッチを操作したらブレーキ
しなければアクセルを掛ける様にした
明後日を向いていたら一旦停止させるのと
接近して微調整が増えると微速前進になって
惑星が大きく見える等の効果が有る

648 :
イベント同士は重ねられない様なので
ターゲット・マーカーをイベントでは無く
ピクチャとして扱う様に仕様変更した

マーカーが邪魔で自機が目的のマスに
入れないと言う……

649 :
自動航行で目標のマスに入ると
惑星を正面に生成できる様にしたけど
高速で突っ込むから
微速によるスケール感が出ないので
設定フラグでオミットして置いた

650 :
https://i.imgur.com/jWLClUC.jpg

651 :
恒星系での起動シーケンスの演出を作った

1.真っ暗なコクピットに宇宙だけ見える
2.コクピットの輪郭線が浮かび上がる
3.コクピットがフェードインしながら
4.計器類が点灯して行く

普通の描画処理の中で、黒塗りと輪郭線の
コクピットを透明度を変えながら描画する
輪郭線の画像はGIMPのラプラス・フィルタで生成
計器類の点灯処理は以前作ったもの

652 :
恒星系の星間通路ステーションを作った
入港すると宇宙港のメニューが出る
出撃と探索の選択肢だけ
通路のものに置き換わる

653 :
シナリオ用の背景イラストを見繕った

色々探して結局、前から目を付けていた
素材屋さんから、まとめてダウンロードした
素材サイトは油断してると、閉鎖して
それっきりになったりするので
手に入る内に落として置く様にしている

素材を使うかどうかは、集める時では無く
使う時に決める
ネタとかもそうだけど、創作は大体
取り敢えず必要そうなものを全部盛ってから
余分なものを削ぎ落として行くのが基本

654 :
恒星系のワープを実装した

「危険度の判定」
・dx = 絶対値(目的地X - 自機X)
・dz = 絶対値(目的地Z - 自機Z)
・ワープ・レベル = (dx + dz) / ワープ性能
・ワープ・レベル < 1 なら 安全
・ワープ・レベル < 2 なら 危険
・ワープ・レベル < 3 なら 致命的
・ワープ・レベル >= 3 なら ワープ不能

「ワープ処理」
・距離に応じて危険度を判定して
 メッセージを表示後、ワープするか確認する
・Yes ならワープ・フラグを立てる
・恒星系のメイン・ループでフラグを見て
 ワープのデモを開始する
・ワープ・アウトしたら、自機を目的地へ移動

655 :
見てるから開発中の画像も載せてほしいな

656 :
>>653
プログラム言語なにで作ってるの?

657 :
http://lnl.osdn.jp/images/Space-SSS/blog/2019/08/l/sss-2019-08-03-006.png
>>651
起動シーケンスの演出

http://lnl.osdn.jp/images/Space-SSS/blog/2019/08/l/sss-2019-08-03-001.png
>>604 >>610 >>613
方角マーカーと太陽の描画

658 :
http://lnl.osdn.jp/images/Space-SSS/blog/2019/08/l/sss-2019-08-03-002.png
http://lnl.osdn.jp/images/Space-SSS/blog/2019/08/l/sss-2019-08-03-003.png
>>617-618 >>652
地球と星間通路ステーション

http://lnl.osdn.jp/images/Space-SSS/blog/2019/08/l/sss-2019-08-03-004.png
http://lnl.osdn.jp/images/Space-SSS/blog/2019/08/l/sss-2019-08-03-005.png
>>600 >>643-649 >>611-612 >>633-634
マップは右から迫り出して来る

マップ画像中央の木星の周りの左から
黄色十字の上に赤色AUTOが、自動航行のターゲット
緑の宇宙船が自機で、上に赤逆三角が付いてる
白い枠がカーソル

森と草原のマップチップで
惑星の軌道を描いてるけど
後で消すので気にしない

659 :
>>655
うpローダの類を使いたく無かったので
画像ほとんど上げて来なかったけど
一日の作業が終わる度に
ドーズから Linux に戻る事にしたので解決

9月まではマップ大量生産だけど
そこからボスラッシュなので
観れるSSが撮れるかも

660 :
>>656
スチーム版 RPGツクール2003なので
言語とかスクリプトは無し

日本語表示できないから
どうするか困ってる
ユーザパッチが有るにはあるけど
魔改造すぎて互換性が怪しいし
まさかローマ字って訳にも行かんし

661 :
ワープ中のマップ・メニューに制限を設けた
自動航行とワープはエラー・メッセージを出して
使え無い様にした

自前でカーソル(PC)を動かすと
ワンテンポ遅れて、ツクールのシステム側も
PCを移動させて来るので
十字キーを押してい無い時は
移動中止コマンドを呼んで置く様にした

662 :
ワープ中の敵とのエンカ処理を作った
ワープ・レベルに応じた確率で
虚数空間のサブ・ゲームを始める

ワープ発動で燃料を消費する様にした
燃料が足りなければ、エラーを出して中止する

663 :
星間通路、虚数空間、ビル街、白兵戦の
メニューを作った
シーン遷移によって、システムのメニューを呼ぶ

664 :
F-2003でスタート・ダッシュに
成功したらSEを鳴らす様にした

665 :
F-2003のメニューを作った

・メニューを閉じてレースを続ける
・ランキング(仮のスタブ)
・レースのリトライ
・リタイアして宇宙港に戻る

サブ・ゲームを切り替えた後
元の恒星系に戻って来れる様になった

666 :
サブ・ゲームの切り替え手順

1. メニュー以外のピクチャを削除する
2. シーンを切り替える
3. リセット・フラグを立てる
4. シーンによってメイン処理が切り替わる
5. メイン処理でフラグを見てリセット

シーン遷移は、シーン毎のフラグを用意して
立っているフラグを見て分岐する事で切り替わる

例えば、恒星系でマップを開く場合は
1. 恒星系のシーン・フラグが立っている状態で
2. マップ・フラグとオープン・フラグを立てる
3. マップを開いたら、オープン・フラグを伏せて
 マップ中フラグを立てる
4. キャンセルしたら、マップ中フラグを伏せて
 クローズ・フラグを立てる
5. 閉じたらクローズ・フラグと
 マップ・フラグを伏せる
6. 恒星系のシーンに戻る

667 :
レティクル・パネルをコクピット画像から
切り離して、半透明にした

668 :
FPSのHUDの弾数のマガジン弾数をオミットして
装弾数と残弾合計だけ表示するフラグを用意した

669 :
ステータスの起動シーケンスを作った
ステータスだけ、まだ出来ていなかった

1. n = 0
2. ステータス種類数だけループ
3. n += ステータス種類数 - 2
4. n %= ステータス種類数
5. n < 起動閾値 なら 通常のステータス描画
6. n >= 起動閾値 なら ステータス消灯
7. ループ終端
8. 起動閾値 += 乱数(0...1)

通常のステータス描画と処理を共有している
ステータスが順番では無くて
あちこち無作為に点灯して行く

670 :
http://lnl.osdn.jp/images/Space-SSS/blog/2019/08/l/sss-2019-08-08-002.png
>>668
マガジン弾数のオミット

http://lnl.osdn.jp/images/Space-SSS/blog/2019/08/l/sss-2019-08-08-001.png
>>669
ステータスの起動シーケンス
輪ゲージの中の赤部位が水色に変わって行く

671 :
オレンジっぽい赤と水色の組み合わせだと
見分けにくい人もいるだろうか?

672 :
http://lnl.osdn.jp/images/Space-SSS/blog/2019/08/l/sss-2019-08-09-001.png
マップにエンカウンタのチップを配置した

敵のグループとレベルを1から12に分けた
デバッグ用に判り易く数字が書かれているが
リリース時にはタイルを透明なものに
まるごと挿げ替える

危険地帯のアステロイドの内側からスタートして
装備を揃えたら外側に出て行く導線になっている
惑星の周囲は敵のレベルが下がる
安全な地中海貿易から始めて
危険な大西洋へ大航海に出るイメージ

土星と冥王星だけ他から離れた辺境で
敵も太陽系内では最強になるし
たぶん大ボスもその辺に配置する

673 :
>>671
調べた限り大丈夫そうなので、このまま行きます

674 :
恒星系のエンカ処理を作った
マップのマスを移動する度に判定する

遭遇率、敵の最小・最大数、種類毎の比率、
武器毎の比率、武器のグレード、ミサイルの種類
を設定して判定する
遭遇したら、設定に応じてランダムに敵を生成する

675 :
マップ開閉のノイズを拡大描画するのを止めた
モニタのノイズ画像を拡大するとゴミが出るので
等倍で描画する様に変更した

676 :
戦闘領域の隔離を実装した

敵とエンカしたら、フラグを立てて
マップ移動を一時的に停止する
戦闘している間、その領域がマップ上で
隔離されている様な感覚になる

理由としては
・プレイヤーが戦闘に集中できる
・戦闘中に別の敵とエンカしない
・雑魚敵を泳がせながら、強敵を避けて
 マップ移動するのを防ぐ

677 :
戦闘の警告音などのSEを鳴らす様にした
・敵とエンカした時
・敵を全滅させた時
・敵を振り切って、逃げた時

678 :
恒星間通路のエンカ処理を作った

サブ・ゲーム開始時に判定をして、遭遇したら
少し間を置いてから警告音を鳴らした後
一機ずつランダムなタイミングで生成する

敵を一度にまとめて出さずに
ばらけて出現させる為
エンカ判定は開始前に、敵生成はプレイ中にと
二段階に別けて処理する様にした

679 :
通路のエンカでHPを設定する様にした

サブ・ゲーム開始時に
敵の種類毎の値を設定して置いて
敵生成時にその値で初期化する

680 :
ワープ開始時に敵を削除して
戦闘を終了する様にした

ワープ直後のマスでは
エンカしない様にした

681 :
恒星間通路を一定距離だけ走破したら
逃走成功にした
通路を止めて画面奥に自機を移動させる
攻撃キーとメニュー・キーも無効にする

682 :
通路で戦闘終了するか逃走成功したら
星間通路ステーションに到着する様にした

これで恒星系と通路のサブ・ゲームを
行ったり来たり出来る様になった

683 :
恒星系の港から通路のゲームを呼んで
その終了処理から港を呼んで
更にそこから通路を呼ぶ……
とやると無限に再帰してしまう

なので、通路の終了処理や港の衝突判定では
フラグを立てるだけにして置いて
メイン処理の中でフラグを見て
港のメニューを呼ぶ様に、リファクタリングした

684 :
地表面のエンカ処理を作った
通路と大体同じ手順だけど
敵単体で無く、編隊単位で生成する
>>678-679

685 :
地表面で戦闘終了するか逃走成功したら
宇宙港に戻って来る様にした

686 :
昨日は画コンテのネタ出しやって
今日は一日がかりで病院行くので
明日から本気出す

687 :
虚数空間のエンカ処理を作った

編隊単位で生成する
戦闘終了するか逃走成功したら
恒星系のワープ目標地点に移動する

688 :
http://lnl.osdn.jp/pukiwiki/index.php?blog
RPGツクール2003制3DシューティングRPG
「スペースSSS」
制作技術を解説中

689 :
ビル街のエンカ処理を作った
終わったら宇宙港に戻って来れる様にした

690 :
メニューとか弄ってるだけだから
暫くの間特にうpる画像は無いぽ

691 :
FPSのエンカ処理を作った

敵のHPと移動タイプを設定するだけで
残りはそのままマップ生成処理に任せる
全エリアを制圧したら、宇宙港に戻って来る

692 :
F-2003のスタート・メニューを作った

レース開始とランキングから開始を選ぶと
マシンを選択してレースが始まる
選んだマシンによってスタート位置が変わって
他のマシンをAIが担当する
今はまだマシンの性能差を付けて無い状態

693 :
初期化時にマップ全体を舐めて
スタート位置の地形が有ったら
AIのマシンをそこに生成する
但しプレイヤーが選んだマシンだったら
自車の座標をそこにする

694 :
http://lnl.osdn.jp/images/Space-SSS/blog/2019/08/l/sss-2019-08-26-001.png
http://lnl.osdn.jp/images/Space-SSS/blog/2019/08/l/sss-2019-08-26-002.png
星間通路のカタパルトとゲートの画像を作った

695 :
有能

696 :
ゲートから星間通路への突入シーンを作った

「突入シーンの流れ」
暗闇
 ↓
ライトが順に点灯
 ↓
カタパルト高速発進
 ↓
ゲート接近
 ↓
ゲート通過
 ↓
通路のサブ・ゲーム開始

切りが良いので、近日中にウェブで進捗版を更新する

697 :
各サブ・ゲームのエンカ処理で
敵の攻撃頻度を設定できる様にした

698 :
起動シーケンスでスピード・メーターが
隠れていたので、画像をくり貫いた

699 :
武器弾数の起動シーケンスも作った

・フェーズが 0 なら 普通に描画
・フェーズが 2 なら
 ・弾数番号--
 ・弾数番号 < 1 なら
  ・フェーズ = 0
・フェーズが 1 なら
 ・弾数番号++
 ・弾数番号 > 11 なら
  ・フェーズ = 2
  ・弾数番号 = 11

弾数番号のスプライトを表示する
0 の分も入れて 1 から 11 番
始める時は

・フェーズ = 1
・弾数番号 = 0

700 :
http://lnl.osdn.jp/pukiwiki/index.php?blog
「スペースSSS」の進捗版を更新しました。

ウェブ・ブラウザでプレイ出来ます。
今回は宇宙港と各サブ・ゲームの間を
行き来できる様になりました。
恒星間通路の突入シーンも実装しました。

http://lnl.osdn.jp/images/Space-SSS/blog/2019/08/l/sss-2019-08-31-001.png

701 :
チームが育つ「先生型マネジメント」とは?
https://www.youtube.com/watch?v=laxsLWoaQ6g
鍵はコミュニケーション|やる気のないスタッフの育て方
https://www.youtube.com/watch?v=wD-WaSx_z24&t=840s
どうにもならない深い悩みを抱えた人との接し方
https://www.youtube.com/watch?v=_dooD5GXUd0
【叱り方大全】管理職なら絶対知っておくべき指導者の心得
https://www.youtube.com/watch?v=y2GKOGILnhc
仕事ができる人ほど陰口の天才!
https://www.youtube.com/watch?v=EVGbAC7F7q8
【叱ることから逃げちゃダメ!】部下を伸ばす上手な叱り方
https://www.youtube.com/watch?v=oPSCCbSrotw
最強「出世」マニュアル【再現可能】
https://www.youtube.com/watch?v=VrApuxBfJxI

702 :
Wikipediaで惑星系関連のページを只管読んだ
読めば読むほど未読ページが増えて行くので
今日はここまでにして、続きは気が向いたらにする

703 :
太陽を含む4つの恒星系の内
ケンタウルス・アルファ(旧アルファ・ケンタウリ)は
三重連星だけど、距離の近いABをマップにすると
惑星の配置や恒星の描画が問題になるので
少し離れたC(数十万年周期で周っているとされる)
プロキシマの方を舞台にする事にした

テラフォーミング技術は太陽系で練習済みなので
多少難易度が高い環境でも、地球から一番近い方に
移民した方がコスパが良かったと言う設定にする
膨大な回数のワープを繰り返すので
その度に電磁甲殻体エコーとの交戦の危険が有るし
星間通路の存在が発見されるまでは
二度と戻れない覚悟で旅立った

UE4版の続編では物理計算で惑星を公転させるけど
ツクールだと色々都合が悪い

704 :
https://www.youtube.com/watch?v=fuDTGHOU3ow
「スペースSSS」RPGツクール2003 進捗動画 #012
宇宙港と各サブ・ゲームを行き来できる様になりました。
コクピットの起動、自動操縦、ワープ等の効果や敵とのエンカウントも実装。

↓ブログ
http://lnl.osdn.jp/pukiwiki/index.php?blog

705 :
マップ・ツリーの並べ替えをした
間違えるとそこから先全部やり直しの
激しい単純労働なのでつらみ

706 :
バーナード星系のマップを作った

最初の星系の太陽系では
恒星系とビル街のサブ・ゲームのみから始まる
移動装備のブースターを手に入れて
アステロイド・ベルトを越えられる

次のバーナード星系では
サブ・ゲームの通路と地表面が追加される
Aベルトが無くて自由に飛び回れる
自機の S-I が S-II と合体できて
貨物積載量が増え、交易商人プレイも出来る
と言うレベル・デザイン

自機の SSS 級二番艦スペース SSS は
S-I, S-II, S-III が戦況に合わせて合体分離できる
・揚陸戦闘機 S-I スティール・スラッグ
・機動駆逐艇 S-II シルバー・スネイル
・強襲制圧艦 S-III プラチナ・スクイッド
ボス戦などでドクロの旗を立てると
一番艦ステラ SSS が支援に駆け付ける

707 :
プロキシマ星系のマップを作った

虚数空間とF-2003のサブ・ゲームが
アンロックされる
移動系装備のワープが手に入り
それによって虚数空間で
新しい敵のエコーが加わる
アステロイド・ベルトが二重に有って
終盤まではワープによって飛び越えて往来する
S-III と合体できて戦力も増強

708 :
終盤4番目の恒星系シリウスが
白色矮星との連星と知って
マップ作る前に調べないといけなくなって
Wikipedia読んでる内にドンドン脱線してるので
目に見える進捗は暫くありませんごめんなさい
マップのテンプレはコピペ済みだから
準備だけはおk

709 :
シリウス星系のマップを作った

白兵戦(FPS)のサブ・ゲームがアンロックされて
グ連や同盟の基地を強襲し、軍とも戦う
SSS一番艦の援護を受けられる

シリウスは恒星Aと白色矮星Bとの連星で
太陽と天王星くらいの微妙な距離なので
Aを恒星、Bを特殊な惑星として
内部で処理する事にした
(Bに衝突するとゲームオーバー)

惑星系は全てA-Bのラグランジュ点に配置した
Aを挟んだB軌道の反対側のL3は2つの惑星が
お互いに公転し合っているので
惑星の数は全部で6つ

Bが超新星爆発を起こす前はAよりも重く
惑星も現在より多くて複雑な軌道だったが
爆発でBの質量がAの半分になった事で
バランスが崩れ、一部は恒星に飲み込まれたり
系外に弾き飛ばされた事が
考古探究者によるシミュレーションや
バイドロイドの白化石の分析で分かっている

と言う設定

710 :
マップを一気に作るとキツイので
他のサブ・ゲームの分は、シナリオを作りながら
一寸ずつ進める事にする

711 :
宇宙港メニューを整理した

惑星への「突入」と「探索」を一つにまとめて
突入するミッション一覧の中から「探索」を
選べる事にした(実装は後で)

酒場で「酒を飲む」の下に追加
・「噂話を聞く」情報収集と名声
・「打ち合わせ」メンバーの意見
・「曲をリクエスト」BGM選曲

712 :
突入ミッション一覧に、他の惑星で受けた
お遣いクエスト等も出るので
依頼/ミッションを受ける所と実行する所を
メニューの別の部分に別けた
MOよりもMMO寄りのシステムになる

713 :
恒星系の中ボスを1種類レンダリングした
海賊の大型艦で無限遠に描画する

・中ボス:大型艦 x 1
・大ボス:大型艦 x 3
くらいにする予定だったけど
最初の太陽系でそんな強そうなの出すと
その後のボスがインパクト薄くなるので
最初の大ボスと3番目の恒星系以降の中ボスに
1艦ずつ出す事にする

714 :
恒星系中ボスの海賊大型艦の描画を作った

無限遠に座標固定で、ボス自体の移動は無し
自機のローリングで、描画座標は普通に動く

715 :
http://lnl.osdn.jp/images/Space-SSS/blog/2019/10/l/sss-2019-10-08-001.png
海賊の大型艦

716 :
中ボスの構造体を配列に入れて
複数作れる様にした

717 :
モチベ高揚のため脱線して
衛星軌道のデモを作る
取り敢えず画像を仕込んだ

718 :
http://lnl.osdn.jp/images/Space-SSS/blog/2019/10/l/sss-2019-10-15-001.png
衛星軌道のデモを作った
後で動画をうpる

「画像」
・惑星の画像を縦にループ加工する
・サイズは画面の縦横x2倍
・縮小描画するので
 ドットを縦にx2倍拡大して置く
・メモリ節約の為
 縦60ドットx16にファイル分割

「描画」
・描画範囲の縦サイズ分
 ライン毎にピクチャを用意
・画面下端から上にx2からx0.5倍で
 遠近感を付けてラインを描画
・↓惑星の奥行きの丸味を付ける
・N^2 / MaxN + 100% で拡大率を指定
・(N^2 / MaxN)^2 / MaxN で
 画像の読み込み元ラインをずらして
 描画先ピクチャへ送る
・円弧状の宇宙と大気を
 手前に重ねて丸く見せる
・描画元をずらして衛星軌道上を移動

719 :
https://www.youtube.com/watch?v=zKnkQwoaelo
>>718 の動いてる所
16ビット時代によく使われていた
円弧で半分隠してスクロールさせるだけ
のとは違って、これには球面パースが付いている
「だから何?」って言う人はゲームとか
無理して作らないで遊んでればいいよ

720 :
ボスのイベントのエディタ配置を決めて
自弾の当たり判定をコピペして準備した

721 :
「音量とパンを変数指定させる方法」
・音量を小さく設定して
 鳴らすイベントを用意
・大きくする時は↑を連続で呼ぶ
やり過ぎるとビブラートみたくなるけど
爆発音とかノイズっぽいのならイケる
パンも左右別々に鳴らすイベントを
連続で呼べば良い
L, LR, R, LL, LLRR, RR

722 :
SEの音量とパンを実装した

SE処理を呼ぶ時に変数へ
音量とパンの値を入れて渡す
再生後に自動でデフォルト値に戻るので
今迄の呼び出しコードは書き換えなくて良い

基準の音量を70%にして
x2回同時再生で大体100%相当になった
(指定できるなら75%が良いのかも)

L <- LR -> R
だとセンターだけ煩いので
下記の様にした

音量:50
LL <- LR -> RR

音量:100
LLLL <- LLRR -> RRRR

723 :
音量とパンがデフォルト値の時は
SE合成無し版の処理を呼ぶ様にした

724 :
>>723
細かい設定はSEコマンドの中で
既に個別に指定して有るので
殆んどの呼び出しはデフォルトになるし
処理は出来るだけ軽い方が良いから

725 :
メニューのコンフィグに
スピーカー・テストを追加した
・音量:100 デフォルト -> 左 -> 中央 -> 右
・音量: 50 デフォルト -> 左 -> 中央 -> 右
の順に同じSEを鳴らす

726 :
http://lnl.osdn.jp/images/Space-SSS/blog/2019/10/l/sss-2019-10-22-001.png
タイトル画面を作った
ロゴはローディング中のデモにも使う

727 :
https://osdn.net/projects/lnl/releases/p16449
ソース読まないと解った感じがしない人向けに
パッケージを公開しました。
RPG Maker 2003を持ってればプレイも出来るはずです。

ソース・コードはBSDライセンスにしますので
煮るなり焼くなり好きにして下さい。
ソース以外はそれぞれの作者に著作権が有ります。

728 :
>>727
たまに更新します。
質問はwiki,twitter,2chでどうぞ。

729 :
黒/白のピクチャ描画処理を作った
ローディング中の画面書き換えを隠すのに使う
ゲートのデモに入る時にフェードインさせた

虚数空間の終了で自機が画面奥へ飛び去る時に
自機の光跡が縮小していなかったのを修正した

730 :
中ボス用の当たり判定を作った
当たるとボス全体が点滅する様にした
取り敢えずビームとレーザーだけ

731 :
ゲ制以外の方面で手を広げ過ぎて
色々中途半端になって来てるので
集中して一つずつこなす事にする

732 :
作りたいサブ・ゲームが2つ増えたけど
これを入れると来年末には間に合わないので
もう一年延長戦になりそう

733 :
年単位のプロジェクトかぁ
お疲れ様です

734 :
応援してるで

735 :
レーザーの当たり半径が小さいのを修正

ボスのループの外でボスの半径を
参照していたのでイテレータが
何処か変な所を指していたミス

一晩寝て起きたら速攻で直るバグだし
コピペ・コーディングする時は
大体元のコードにあんまり考えずに
付け加えた部分が問題を起こす

736 :
>>733
プログラミングと言うものを
始めた頃からずっと
数か月周期のやる気の波が有って
引き潮の間は放置して
他の事に集中するのだけど
今回はスレ乗っ取りの手前も有って
2年くらい持続させてます
ちょと息切れしててるね

「アスペ=ゲーム作れる人 定型=作れない人」スレ
http://peace.2ch.sc/test/read.cgi/gamedev/1409165402/

737 :
>>734
ほんに、おおきに

738 :
ツクールで作ってんの?
ツクールで扱う言語はCですかい?

739 :
プラズマとボスの当たり判定を作った

ビームとプラズマのZ軸の二分探索に
バグが隠れてたのがHPが多いボスで
明らかになったので直しとく

740 :
>>734
みんなに元気いっぱい貰ったので頑張るぞー

741 :
>>738
ツクール2003はGUIで1行ずつ組み立てる
専用のスクリプト言語を使う
アセンブラライク x BASICな感じ

Cより低レベルな処理をしている様な気分だけど
スクリプトなので高級言語と言う感覚

742 :
さすがにBASICって言うならウディタくらいの自由度がないと無理がないかw
ExcelのVBAで無理やりテトリス作ってるのが近いと思う

743 :
>>742
8/16bit時代のBASICよりは自由度に溢れてるぞ
ニコ動はオワコンかも知れんが
ニコフェスで職人wとか謎の技術wって
弾幕貼られるのを目指してはいる
まぁ現実は鳴かず飛ばずじゃろう

ブログに日に3人もアクセス有れば燃料として十分だし
モチベの燃費については良い性格してると思う

744 :
俺も2003で謎技術やってたからわかるw
DBの存在や変数操作のやりやすさ、何より同じことやっても軽いってので俺はウディタに移行したが応援してるぜ!

745 :
おぅ!お互い頑張ろう

746 :
自ミサイルとボスの当たり判定を作った

ミサイルに目標のボスのイテレータを追加して
雑魚のイテレータを優先で、目標へ向けて
ロックオン、発射、移動、当たり判定
を実行する処理を追加した

747 :
自ブラスターとボスの当たり判定を作った
ラム衝突のダメージも実装したけど
今のボスは無限遠にいるので
テストは動き回るボスが出来てからにする

748 :
>>739
ビームかプラズマを1発だけ撃つと
連続で当たり続けるバグを修正した

二分探索は問題無くて
ポインタの参照外しのミスだった

749 :
ボスのパーツのスケルトンを作った
変数とイベントの領域を確保したので
肉付けして行く
先を見据えて予約して行かないと
後で修整効かなくなって詰む

激しく単純労働の上
ツクールの編集機能の弱さに氏ぬ
マウスだけ or キーボードだけで
操作できると良いのだが
ツクールはキーボード見ながら
一本指打法する人向け

750 :
ボスのパーツの処理を実装した
生成、移動、仮の描画、当たり判定
まで作った
今のはキャラ表示無しのパーツなので
適当に雑魚キャラを仮描画して
座標と当たりを確認してる

ボスとパーツの生成座標を即値で無く
視点との角度から求める様にした
脳内で三角比とか計算しないで済む

751 :
ボスがレーザー砲を発射できる様にした
砲塔の部位オブジェクトで管理する
フレーム数をカウント・アップして
一定値になったら発射する
砲塔が画面外にいる時は
カウンタを0に戻す

752 :
ボスのミサイル・ポッドを実装した
レーザーと同様に
砲塔の部位オブジェクトで管理する

砲塔が画面外にいる時はカウンタを1
画面内にいる時は2ずつ増やして
一定値になったら発射する
レーザーより間隔を長く取った

753 :
ボスの部位ダメージを実装した
ダメージと破壊のエフェクトも
描画できる様にした
ボスのミサイル・ポッドを
2つに増やした

754 :
ボスの武器の領域を確保した

ボスの関連イベント一式を予約
変数は種類毎に用意すると
多過ぎるので、全部共有にする

755 :
ボスの武器の変数関連を一式揃えた
ボス共通の構造体と
それのイテレータ等

756 :
ボスのロケット・ランチャを実装した
放射状に広がってから
収束しつつホーミングする

「発射」
・半径 = 0
・半径速度 = 200
・Z速度 = 0

「移動」
・半径速度 -= 20
・半径速度 < 0
 ・半径 < 500 なら
  ・半径速度 = 半径速度 * 2 / 3
 ・半径 < 30 なら
  ・半径 = 30
  ・半径速度 = 0
・半径 += 半径速度

ミサイルの個数と角度を
指定して発射する

中心の座標を通常のミサイルと
同様に移動させながら
中心から半径分離れた位置に
ミサイルを複数描画する

757 :
・Z > 0 なら
 ・Z速度 -= 5
・Z <= 0 なら
 ・Z速度 += 5
・Z速度 < -50 なら
 ・Z速度 = -50
・Z速度 > 110 なら
 ・Z速度 = 110
・Z += Z速度

前方から来る時は
Z速度を遅めにする
一定フレーム追尾後、消滅する

758 :
ボス攻撃のスプライトのチラつきを実装した

ボス攻撃のピクチャの最大数を
「ピクチャ数 = Nウェイ攻撃 x ボス最大数」
にすると滅多に使い切れ無いのに
無駄に確保して仕舞うので
「ピクチャ数 = 32」
とか適当に設定して
この中で遣り繰りする

するとピーク時にピクチャが
足り無くなる事が有り得るので
ピクチャを複数のキャラで共有して
フレーム毎に交代で描画する様にした

「描画開始」
・フリッカーN = 1

「描画ループ」
・ピクチャN >= ピクチャMax なら
 ・フリッカーN++
 ・N = (現在フレーム % フリッカーN + 1)
 ・N == フリッカーN なら
  ・描画フラグ = On
 ・違うなら
  ・描画フラグ = Off
 ・ピクチャN %= ピクチャMax
 ・垂直同期待ち
・描画フラグ == On なら 描画

759 :
ファミコンの横16ドットのスプライトが
水平に4個を超えて並ぶとチラつくのと
原理的に同じ技術を使ってる
何にも考えて無いとスプライトが
チラつくどころか消えて
見え無い敵が襲って来る事になる
チラつきには文句言わずに感謝すべき

760 :
ツクールの場合は
ピクチャ数が最大を超える度に

・ピクチャN %= ピクチャMax
・垂直同期待ち

とするだけでも1フレームの
チラつき表示が出来る

逆に、狙って無いのに
ピクチャが勝手にチラつく時は
ピクチャ番号が被ってるバグを
疑うと良い

761 :
「夜間着陸」のサブ・ゲームの
スケルトンを用意した
特別なイベント時のみプレイ出来る

大型艦は大気圏内では
現代の旅客機程度の機動力しか無く
無防備なので、夜間に熱光音電波重力
ネット等の全てのステルスを駆使して
着陸する必要が有ると設定した

揚力は、PDS物理学を使って
高次元で折り畳まれた宇宙の
何処か遠くに有る天体の重力を
艦の上方に透過させ、惑星重力と
釣り合いを取って発生させる
地球以外の惑星上も
同様の重力制御で1Gに保たれている

ボスは行き成り大量生産は無理ゲー
なのでネタが降りて来る度に
一つずつ追加します
シナリオの量産は
特別な手法を開発済み

762 :
夜間着陸の夜景の描画を作った
取り敢えずランダムに
街の灯りを配置して
前進と上昇下降できる様にした

763 :
夜間着陸の旋回移動を作った

・まず機体をロールで傾けて
 X-Y回転した後
・そのロール角に応じてヨーの
 X-Z回転で進行方向を転回する
・そしてヨーの分だけX移動

764 :
座標を実数から整数に変更した
固定小数点を無くしたので
繰り上がりのシンクロによる
プルプル振動が無くなった

765 :
着陸地点とガイド・ビーコンを実装した

着陸の目標地点から複数の四角い枠を
一定の間隔と角度で配置する様にした

線の細い枠の画像を縮小すると
潰れて見えたり消えたりするので
沙羅曼蛇レーザーの時と
同じ仕組みで線を描いた

ローリングによる回転は省いた

766 :
>>765
http://lnl.osdn.jp/images/Space-SSS/blog/2019/12/l/sss-2019-12-24-001.png
http://lnl.osdn.jp/images/Space-SSS/blog/2019/12/l/sss-2019-12-24-002.png
枠に近づいて、中を潜り抜けて行くと
着陸地点に誘導される

767 :
夜間着陸の終了チェックを作った

各終了条件を満たしたら
フラグを立てる
・着陸地点に接近で成功フラグ
・着陸地点を通り過ぎたら
 オーバーラン・フラグ
・地面に衝突したら衝突フラグ

各フラグの処理
・フレーム・カウンタ == 0 なら
 ・対応する効果音を鳴らす
 ・キー入力無効化フラグを立てる
・フレーム・カウンタ >= 20 なら
 ・終了/リトライ/ゲームオーバー
・フレーム・カウンタを
 インクリメントする

768 :
最初の3つのはenum でいいね

769 :
>>768
ツクール2003にenumは無いし
ポインタの代わりに変数番号の変数とかは有るけど
スイッチ番号の変数も無いからしゃーない
使った事の無い環境について
あんまし意見しない方がいい

770 :
説明の都合で共通処理の様に書いてるけど
それぞれ別イベントで異なった処理をする
成功なら自動操縦の処理をして着陸させる
オーバーランならメッセージを出して
最初からやり直す
衝突だったら爆発する

>・フレーム・カウンタ >= 20 なら
> ・終了/リトライ/ゲームオーバー

暫定的に20としてるけど
終了は自動操縦が終わってからだし
ゲームオーバーは40位まで爆発させる

書籍の様に完成したコードを
解説してる訳じゃ無く
作りながらの進捗報告と言う体で
進めてるので、弄ってる最中の部分への
意見はしなくてえぇよ

つうかワイがツクール先生で
おまいさんらが生徒だからな
勘違いすると単位やらんぞ

771 :
墜落後の爆発を作った
恒星系の処理からコピペして
ダメージの部分を取り除いた
爆発中は自機の移動をキャンセル
爆発が止んだらゲームオーバー
未使用のガイドの消去を追加
間違って描画されていたので修正

772 :
着陸成功後の自動操縦を実装した

着陸地点に到着したら
自動操縦で下記の方向へ
微調整して接地する
・ロール、ピッチ、ヨーを正面
・X,Y座標を着陸地点(Zは停止)

接地直後にピッチを上下して
画面を縦揺れさせる

成功フラグ等は実際には
状態遷移を表す整数になっている
・開始
 ↓
・接近、効果音
 ↓
・自動操縦
 ↓
・画面振動
 ↓
・完了、フェードアウト

773 :
自機のプラズマ球が一つだけ
点滅するバグを修正した

ボスの部位の攻撃が画面に
ゴミとして残るバグを修正した

何方もピクチャ番号の計算が
間違っていただけ

774 :
ガイドの通過判定を入れた

ガイド・ビーコンを
潜り抜けた時と外した時に
其々の効果音鳴らす様にした

自機に一番近いガイドの
イテレータを保持して置いて
それ限定で当たり判定を
する事で最適化した

775 :
夜間着陸のマップを作った
20x20サイズのマップを
左上から1タイルずつ舐めて行き
タイルのIDに応じて
500x500の座標範囲に
ビルや道路等の灯りを配置する
全体でX,Z座標が-5000から+5000の
領域に収まる
スタート地点や着陸地点の
タイルIDが有ったら
変数に座標を入れて置く
余った灯りのピクチャは
ランダムに配置する
http://lnl.osdn.jp/images/Space-SSS/blog/2019/12/l/sss-2019-12-30-001.png

776 :
灯りのマップ配置に道路を追加した
残りは滑走路

街灯りと着陸地点の画像を作った
仮当てしてたものと挿げ替えた

777 :
夜間着陸のHUDを作った

ビル街の速度のHUD処理を呼ぶ
最高速度とブーストの設定を弄って
速度メーターをレッドゾーン無しにした

自動接地時に速度を
0まで落とす様にした

778 :
PSリメイク版ドラゴンクエストWやる。その2
 
://www.youtube.com/watch?v=JhMPRnomZ1o

779 :
あけおめ、ことよろ

着陸が成功した時と
着地点を通り越してオーバーランした時に
それのメッセージを描画する様にした

墜落時は空の画像にして置いたので
仕様変更で描画する事になったら
画像を差し替えるだけで対応できる

780 :
街灯りのマップ配置処理に
滑走路の分を追加した

これで夜間着陸は一通り出来た
後はS-IIIのパワーアップを
受け取れる惑星の数だけマップを作る
多分あんまし考えずに
フィーリングで量産できる

781 :
細かく手を入れた

着地点の直前で艦首を
水平まで持ち上げる様に
ガイド・ビーコンを設定した
Y座標を地面の下から始めて
半径より下に有る時は
半径分の高さに描画する
          |
        |
      |
_ | |
真横から見るとこんな感じ

着地後、ガイドを潜れた数によって
得点とメッセージを表示する様にした
100%:パーフェクト!
80%以上:グレート
50%以上:グッド
10%以上:バッド
0%以上:クレイジー!!

782 :
去年末は先生ぶってイキって仕舞い大変スR
たまに来るケチを付ける奴と勘違いしますた
三次大戦を前におまいらと和解せよする等した

783 :
https://www.youtube.com/watch?v=a9VBHAsIqlg

「スペースSSS」RPGツクール2003用3DシューティングRPG 進捗動画 #014
夜間着陸のサブ・ゲームが出来ました。
緑のガイド枠を潜り抜けて、戦艦を滑走路に着地させます。
ブログ、Twitter、2chで毎日進捗と技術解説をしているので見に来てね。

制作:某犬犬
Web: http://lnl.osdn.jp/pukiwiki/index.php?works
Twitter: https://twitter.com/schrochan

BGM素材は「サイバーレインフォース」さんの提供です
著作者:Cyber-Rainforce
HP:3104式
URL:http://cyber-rainforce.net/
(deleted an unsolicited ad)

784 :2020/01/17
>>783
https://www.youtube.com/watch?v=jgMtZwpGLJE
続編では、こんな感じにしたい

俺をHSPでSLGを作れるまで成長させるスレ
【オセロ,将棋】ボードゲーム Part3【囲碁,War】
【3Dゲームエンジン】Unity質問スレッド34
HSPで出来る範囲について
ゲーム制作失敗について語るスレ
【企画】ギャルゲー製作!!
みんなでラグナロクを超えるネットゲーム作ってみね?
静岡のシンショウチンパンジー&#8252;
【初心者】スレを立てる前にココで質問を【Part28】
不思議なダンジョンオンライン
--------------------
【シマノ】 ストラディック 総合スレ10【HAGANE】
【大阪・御堂筋】関西のリーマンたち【神戸・京都】
【はすみ問題】おぎやはぎ小木、「風刺というのは権力に対するもので、弱者に対して風刺とか、非常にダサイ」 [147827849]
【デマ】広瀬隆を刑事Kしよう【扇動家】
???「なぬ!?他社2社が高スペハード出すだと!?くそー!性能何週遅れになるんだ俺は!!!!」
【底辺】なけなしの金でフードコートで「席取り」して盗難にあう悲劇続出 [435691276]
■■■■■ 生涯独身の50代ライフ □□□□□
フレッシュ屋外大撮影会 Part.18 【IP表示なし】
【関東地区GTGU】桐生・戸田・江戸川・平和島・多摩川
☆【画像】6502
【 三 】巨乳のファッション 39着目
新潟の劇場でストライキとか抗議運動とか起きてないの?
【バーチャルYouTuber】電脳少女シロ&ばあちゃる&LIVEアイドル部アップランド総合スレ【シロ組】
【画像】ケンモメンはどのお魚さん食べたい? [663277603]
ローカル路線バス乗り継ぎの旅Z45【田中&羽田】
日本は女性が生き辛いとほざくのはあなたが醜いから
なかよし#65
お兄ちゃんにトニックシャンプー・・・助けて
【偽装?】ラゲットワークス福袋【OEM?】
イタリア産トマト缶、1缶98円 こんなん奴隷でも使わないと作れないだろ… [942534851]
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼