一人で完成まで頑張るの寂しいからかまって [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
・ウディタ製
・RPG
・ぼくがたのしいとおもったしすてむ
・ぼくがたのしいとおもったばらんす
・基本システム流用できるところは流用して楽していく
・エタらないように頑張る 別にエターなったわけじゃ無いから
勝手に終了宣言とかするんじゃないぞ!
分かったな? 何の能力もないゴミ共が頑張ってる奴を必死に蹴落そうとする様は見てて滑稽だな。頑張れ >>185
お、おう 掩護射撃テンキュー
作業してないと落ち着かないので、戦線復帰を急ぐ
寝る前にもう少し読むワ 『「ロボファイト」を作り始める』と『Zバッファ精度問題』
を読んで、14章『立体を描く』が終わった
この調子で頑張る
>>183
枝分かれしていても1/4は繋っているので
一定時間経過後、復元力が働いて元の宇宙に戻る
PDS物理学では、エネルギーは発生元の物質や
条件などによって、固有の「色」が有ると考える
核エネルギー等いくつかの色は特定されているが
特定手順は研究開発した科学者によって
ブラック・ボックスにされている
もうner 「15章ライブラリの作り方」を読んだ
>>187
PDSは、その核エネルギーの色にのみ
効果が発生する
しかし核兵器が無力化される事によって
紛争の火種が世界中にばら撒かれて仕舞う
PDSが働いている領域では
電磁波に指向性を持たせて
他の物質を透過させる事が出来る
この特性と高度なトラッキング技術などを
組み合わせる事で
「無制限の電波帯域」
「莫大な容量の外部記憶」
「量子計算機の小型化」
が可能になる 「16章XMLモドキを読む」を読んだ
>>188
PDSによる量子計算機は
「タキオン・コンピューティング」と呼ばれ
計算時間が負になり(0には出来無い)
結果を先に得て、後から計算する
「時間の後払い」が出来る
応用として、答が分っている短かい計算を繰り返し
結果が一致しなければ、近い将来計算が
中断される事が確率的に予言できる
これを交通システムに搭載すれば
事故を事前に察知する事が可能と成る
100%当たるのでは無くガイガーカウンタの様に
チリチリとしたノイズ音で聞き取れる 「17章 遅くないコードを書くために」を読んだ
ここ迄で脱線が終わって、次から本題に戻るそうな
>>189
動物が進化の過程で、自分の周囲の
三次元空間を見る「目」を獲得した様に
人類は起こり得る未来の四次元時空間
を感じ取る能力を得た
地球は、ほぼ全球がPDSネットワークで覆われ
ネットフレアが吹き上げる紺碧の星と化している
但し南極大陸だけは国際条約でPDSの使用が禁止され
各国の核融合発電所の街が点在する
ここ迄は21世紀の設定で、スペースSSSは
その数百年後が舞台となる 「18章 立体の衝突処理」の前半を読んだ
>>190
スペースSSSに登場する主な組織
国家に代る横軸のソーシャル・ネット構造
・グローバル連合
・シオニス同盟
持つ者と持たざる者を隔てる縦軸の階層構造
・自由貿易組合
・オメガ教団
人類の宇宙進出を担う中立組織
・宇宙港連合
・星間通路管理局
・深銀河開拓公社
人類に敵対する非DNA生命体
・電磁甲殻体
・バイドロイド
宇宙に秩序をもたらす者
・王立銀河宅配協会
・考古学探求者
組織に属さないならず者達
・海賊
・賞金稼ぎ 「18章 立体の衝突処理」の後半を読んだ
> 衝突処理を「売り物クォリティ」にする作業は
> 君にゆだねられることになる
とか丸投げ落ち。こんな本読まずに
自分のやりたい様にやった方が早い
>>191
「グローバル連合」
「Global Allied Planets : GAP」
「通称:グ連」
・銀河統一政府を樹立しようとする勢力
「シオニス同盟」
「Zionis Rebellion : Zio」
「通称:同盟」
・各惑星は独立すべきとする勢力
・民衆はどちらかの勢力を
自由に支持する権利を
両勢力の軍事力バランスによって
担保されている
・明確な国境が無いので
大規模な戦争が起きない代わりに
経済戦や情報戦で綱引きが行われる
・局地的な小競り合い等の
茶番の上で成り立つ平和な時代と言える
だが今日の飯にありつくのは楽では無い! 放置しても無反応なので、今日も頑張る
「19章 ロボファイトの設計」を読んだ ∧_∧ ミ _ ドスッ
( )┌─┴┴─┐
/ つ. 終 了 |
:/o /´ .└─┬┬─┘
(_(_) ;;、`;。;`| | 読書だけだとモチベだだ下がりなので
読みながら作業もする事にする
恒星系の海賊の画像を取り敢えず1種類
レンダリングした
動かして問題無ければ4種類に増やす
画像が同じでも地域によって
攻撃パターンが変わる様にする
宇宙では45度ずつだけ回転させても
8 x 8 x 8 = 512パターン
必要になって画像デカ杉なので
筒状に回転させて端折る事にした
正面向きに45度ずつ回転で8パターン
更に真後ろまで45度ずつ振り向いて
8 x 5 = 40パターン
で何とか表現する 恒星系の海賊の共通コードを書いて準備した
自機と敵のローリングで、きちんと向きが合うか
テスト用の描画を先に作った方が良さそうだな 顔グラの利用規約を読み直したら
ツクールVXのユーザ登録が必須だったので
セールの時に買って置く事にする
UE4のVRに移植する時には使えないので
代わりのを探して置く必要が有る 一晩中、素材探し直ししたけど
ツクール以外で使えて、顔グラの質と量が
揃ってる素材サイトは、あんまり無いな
顔グラの仕様自体がツクール向けとしても
ツクール以外でも需要は有るだろうに YADOTさんのサイトの自作エンカウント処理を読んだ
後でマップの処理を作る時に対応できる様に
考慮して海賊の生成処理を書く 恒星系の海賊の生成と描画が出来た
AIはまだ空っぽで動かない
デバッグ用に、敵を画面の中心にサイズ固定で描画して
方向転換が正しく出来てるか、テスト表示できる様にした
画面のUIに余裕が有れば、これを使って
サイト付近の敵を小さ目にHUDに描画するのも
格好良いかも 海賊のAIを取り敢えず2つ分だけ考えた
実装したら説明する 海賊の直進移動を作った
向いている方向へ動く
恒星系の敵の進行方向は円柱で表す
円柱の穴を常にZ座標に向けていて
自機か敵がロールすると円柱がネジ状に回転する
敵がピッチで機首を上げ下げすると
円柱の周囲に放射状に開く
ピッチとロールの角度だけで向きを管理してる訳で
ポリゴン3Dゲーとしてはデタラメだけど
スプライト2.5Dゲーとして割り切る 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 恒星系の海賊 B の AI を作った
旋回して自機の後方につける→追い抜く
を繰り返す
自機の前方にいる時は
ピッチを ±30 に向けて
z 軸のマイナス側(後方)へ向かう
自機の後方にいる時は
ロールで天頂を自機に向け
ピッチを 160±10 に向けて
自機の方へ斜めに向かう デバッグ用のレーダー表示も作った
描画x = 敵のx * 表示範囲 / 敵の最大x
描画y = -敵のz * 表示範囲 / 敵の最大z
拡大率 = 4%くらい
で描画するだけ 通路と虚空の自弾の当たり判定で
連射しないと当たらないバグを多分w修正できた
微妙かも試練
敵のz座標が先頭と末尾の弾の範囲外だったら
二分探索せずに終了する所で
弾のz方向の幅を計算に入れて無かった 恒星系の海賊 C の AI を作った
自機の方へ旋回して急接近→突っ切ったら反転
の一撃離脱戦法を繰り返す
生成時の初期化でフェーズ = 0
フェーズ 0 の時は
ロールで天頂を自機に向け
ピッチを自機の方へ ±30 に向けて
最大加速
自機に近づいたらフェーズ = 1
フェーズ 1 の時は
そのまま直進
自機から離れたらフェーズ = 2
フェーズ 2 の時は
ピッチを自機の方へ ±30 に向けつつ
減速
速度が 0 になったらフェーズ = 0 マウスでエイムするわけじゃ無く
カーソル・キーで移動もエイムもするゲームなので
当たり判定は基本ガバ
パッドFPSでも自動エイム必須だし、問題無い
SpaceSSSで自動エイムすると、移動がおかしくなる
スプライトゲー作った事無い奴に限って
ポリゴンゲーの常識色眼鏡でベラベラ語る 恒星系の海賊グループのエンカウント処理を作った
1. マップの初期化で地形毎に
グループ単位の比率を設定して置く
2. グループの比率に応じて
ランダムにグループを選ぶ
3. グループによって敵の種類毎の比率を設定する
4. 敵の比率に応じて、ランダムに敵を出現させる
5. 敵の出現数分 4. を繰り返す 比率に応じてランダムに選択する処理
比率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を生成 恒星系の海賊 A の AI 作った
フェーズ が 0 の時
自機と直角に向いて、前方を旋回
一定時間後、フェーズ = 1
フェーズ が 1 の時
自機の後方へ移動
後方に離れたら、フェーズ = 2
フェーズ が 2 の時
自機と直角に向いて、後方を旋回
一定時間後、フェーズ = 3
フェーズ が 3 の時
自機の前方へ移動
前方に離れたら、フェーズ = 0
以上を繰り返す 海賊の残り3種類をレンダリングして
スプライト・シートに列べた
これで種類毎に違う画像で描画される PCのミサイルの画像作った
本体 + スモークで 4 枚使うとすると
PCが 4 発 x 4 枚 = 16 枚
敵が 4 機 x 4 枚 = 16 枚
足して 32 枚のスプライトの座標を
回転させる事になるので、一寸重いかも試練 恒星系の自ミサイルの初期化とイテレータ作った
取り敢えず休憩 自ミサイルの発射処理を書いた
敵の中から描画座標がレティクルの範囲内で
自機に一番近いものを探してロックオンして
ミサイルのデータを設定する
移動と描画はまだ出来て無いので
ロックオンや発射とかの効果音だけ 後でリファクタリングしなくて良い様に
考えて作ってるので、亀の様に遅い
ツクールで順番並べ替えたりするのキツいんでな
何言ってるか分からんだろうけど 自ミサイルの移動処理を作った
ミサイルの座標だけ回転させて
移動ベクトルの方は回転せずに
毎フレーム計算する事で、処理を軽くした
ミサイルのスモークの座標も回転させないで
数珠つなぎに座標をコピペして行くだけにしたけど
そもそも宇宙空間でスモーク出すのはおかしいので
恒星系のサブ・ゲームの時だけカットするかも
設定フラグでスモークをOn/Off出来る様にしとく 自ミサイルの描画作った
ロックオンして無い状態で発射すると
ショボい効果音で真っ直ぐ飛んで行く
ロックした敵へのホーミングが
まだ少しバグってる 自ミサイルの当たり判定作った
ホーミングのバグは
敵とミサイルの距離を計算する所が
敵と原点(自機)の距離になってた
逃げる敵機をミサイルが追い掛けてって
ドーンするのが楽しい ロックオン可能範囲に敵の見た目の幅を加味した
ミサイルはフレアを使わない限り
ロックしたら、ほぼ確実に当たるので
ガバにしないで厳密に範囲チェックする様にした 自ビームの当たり判定作った
通路のビームの判定をコピペして
座標のスケールを調整しただけ
代入の右辺値は変数名が表示され無いで
変数番号だけなので
コピペだからと気を抜いてると
書き換えミスでバグが入り込む グレネードの画像のチョイスをしたり
細かいネタ出し等をした
ミサイルを実装し終わってから
グレネードを作るか
同時並行でやるかで迷う 自弾のボムの画像作った
敵にダメージを与えるだけで無く
敵弾も吹き飛ばす
グレネードと言う設定だったけど
白兵戦の手榴弾のと被るし
スペックがそのまんまなので
ボムに変更した(分かり易い ボムの初期化とイテレータ書いた
弾が爆風に隠れ無い様に
爆風と弾のピクチャ配列を
連番で無く別けて確保した
内部的に連射できる様に作るけど
実際は単発か、爆風が出てる間に
もう一発撃てる様に2発に設定する ボムの発射と移動処理を作った
サブ・アイテム・キーを押して発射
放すと爆発する
但し発射直後の数フレームは爆発しない
まだ描画は出来て無いけど
効果音を聴く限りは、きちんと動いてるっぽい >>199
すっちむでVXのセールしてたので買って置いた
立ち上げて直ぐそっ閉じしたし、多分一度も使わない
素材の利用規約に従っただけ
ツクールは知り合いに
「1000枚のスプライトはこう使う」
って手本を観せるためだけにやってるので
これ1本作ったら終わりにする ボムの当たり判定を作った
賞金首とか依頼で稼いで
ボムとかミサイルいっぱい買えば
ボス戦とか強目の敵に仏波できる様にして
3Dシューティング苦手な人にも
救済措置を用意する 配列に相当するものの中の構造体の様なものに
アクセスする時は、メンバーへのポインタを
列べたものを経由する
で、イテレータをインクリメントする時は
このポインタの列びのそれぞれに
構造体のサイズを加えるのだけど
列びの数だけループを回すと
めっちゃ重くなってしまう
なので変数番号の範囲を指定して
一括でサイズを加えると軽くなる
その代わり一括指定の範囲に
マジックナンバーを埋め込む事になって仕舞う
スクリプトのあちこちに散らばると
メンバーを追加/削除する時に
面倒な事になるしバグも発生しやすい
で、結局イテレータを進める時は
汎用のものでは無く、構造体毎の専用の
イベント(サブ・ルーチン)を呼ぶ様に
暫く前に変更したのだけど
今日は変更し忘れてる部分をチェックして修整した
最初からその様にして置けば良かったが
ツクールは初めてなので勝手が分からなかった 武器の切り替えキーを押した時に
所持しているアイテムの中から
自動で次を選んで装備する様にした
武器のアイテム分類を
メイン・ウェポンは武器
サブ・アイテムは楯
として扱う様に設定した >>235
今までは装備とかしないで
アイテム番号の数値だけで取り扱っていた 衝角を実装した
装備して置くと、敵と衝突した時に
ダメージを与えられる
ゆっくり衝突すると
連続でダメージが入ってしまうので
敵を斜めに弾き飛ばす様にした 恒星系の敵のダメージ表示/爆発を作った
取り敢えず恒星系の通常戦闘は、これで暫く良し >>238
GTDチェックしたら、まだ敵の攻撃がごっそり残ってたワ 通路のミサイルの処理を作った
発射/移動/描画/衝突、全部おk
コピペ→チャンポンだし頑張れば直ぐ終わるな みんな、しょっぱなからデカい規模のゲーム選びすぎだよ
だから続かない。
RPGなんて典型。
すげ替えて完成させるわけじゃ無し、
素人なんかにゃ根気が続かないよ。 通路の衝角の処理を作った
恒星間通路での自機の攻撃は取り敢えず良し
明日は休みにする おうっ何かかまってくれてたのかw
むしろ根気しか取り柄が無いし 板違いになるがボドゲ制作いいぞ
ルール妄想して、フリー素材でカード作って
サイコロ用意すれば、対戦でもソロでもおk
ゲムマに出展すれば予算も回収できるし 地表面のミサイルの処理を作った
生成から当たり判定までは直ぐ出来たけど
描画か座標計算が上手く行か無くて
一日中ウンウン唸ってた
今日はもう眠いので続きは明日にする 寝る前にデバッグの手を思い付いたので
やったら直ったワ
ミサイルは出来上がり ミサイルのZ速度が速すぎてX,Yが当たる前に
遥か彼方に逝っちゃってるだけだった
遠近感が崩壊してた 効果音の再生ルーチン作った
SEを割り振ったりする時に
SE再生がソースの彼方此方に分散してると
面倒なので、一ヶ所にまとめた
引数でSE番号を指定して分岐する訳だけど
テーブル・ジャンプ出来る様な
switchとか関数のポインタ呼び出しに
相当する制御文が無いので
if文を大量に並べる事になる
一応、番号の範囲でザックリ分割してから
それぞれのサブ・ルーチンを呼んで
ifのチェック回数を減らす様にはしてる
変数でイベント番号を指定して呼び出せると
良いんだがな… c#ならdictionaryに番号と関数を対にして直呼び出すっていけそうだけど…… >>251
まともな言語なら普通に出来るけど
ツクールなんでプログラミング
出来ない子向けの仕様になってる
仕様がない 地表面のボムの処理を作った
一部のSEが急に鳴らなくなって
おや?って思ったけど
SE関係の変数を後ろの方に確保したのに
スタックの先頭アドレスをずらし忘れたバグだった 地表面の衝角の処理も作った
ガンッて体当たり攻撃する
後背からドッグファイトして来る敵は
すれ違いざまにビームを撃つタイプなので
追い越させない限りは、当たら無い様にした
これで地表面はおk 虚数空間の自ミサイルの処理を作った
ミサイルの座標を弄って無いのに
勝手に書き換わってて
メモリ絡みの不味いバグかなーと思ってたけど
ミサイルの各処理を呼ぶハブ・イベントで
別のサブ・ゲームのイベントを呼んでただけだった
コピペする時に変更するのを忘れてた 虚空のボムも作った
横方向に画面いっぱいの当たり判定にした
元ネタ探しのオマージュゲーになってる >>258
いや普通の
良く分からん添加物いっぱいのより
砂糖入りの飲んで筋トレで燃焼させる方が
体に悪く無いかと思って 虚空の敵の攻撃パターンを2種類ネタ出しした
全体で一度に一種類の攻撃をして来る
恒星系と地表面の海賊は
PCと大体同じ攻撃/防御をする BGMをシーン毎に割り振った
朝から15時間くらいずっとやってた
手順は
・BGMファイルを一番上の階層のフォルダに全部入れる
・戦闘/移動/惑星/イベント等のフォルダを作って
そこへBGMを大雑把に放り込む
・ピンポイントで使えそうな曲が有れば
直接下層へ入れる
・更に下の階層のフォルダに細分化する
・余ったら上の階層へ戻して再分配する
絵や音の割り振りや動画の編集なんかの作業は
一番目くらいに楽しいので監督が独占する 全部で108曲繰り返し聴きながらやった
もう当分いいや なんでそんなにモチベが続くんですか
ワイはすぐゲームをしてしまう >>264
自分からしたらゲーム「やる方」のモチベが
続か無くて困ってる
すぐゲームを作ってしまう 惰性で続けちゃう時が往々にしてありますし、それなりに進めようと思ったら結構時間かかっちゃうしそれぐらいがきっと丁度いいんですよ
見習いたい SE(効果音)に関しては自分の場合、SEの自作スキルがないから、外部リソースに頼らざるを得ないんだが、
外部の膨大な母集団の中を探し回ってローカルディスクに確保した候補の中から選ぼうとする時、なかなかイメージ通りの音が見つからなくて決められず、
また外部リソースの膨大母集団の中を探しに奔走する段階に戻ったり、その繰り返しでなかなか進捗が上がらない。
あと重ねて再生すると聞こえなくなったり、インパクトが消えるものもあるから、ボリュームの調整も面倒だな。
そんなこんなで、SE決めはどちらかというと憂鬱な作業で決して楽しくはないなw
決められない自分にも問題があるんだが >>266
うまく行ってる間は無理に変えない様にするかな >>267
自分のイメージにピッタリ合った素材を求めると
結局自分で作るしかなくなるので
逆に既製の素材からイメージを作って膨らます
くらいのスタンスの方がいいかも 虚空の自機の衝角を作った
後ろから追い越して行く敵にも当たるけど
ダメージを与える全方位バリア的なもの
と言う事にして置く ビル街の車の衝突判定を作った
流石に主人公が街中でビームドンパチ
する訳には行かないので
黒塗りの高級車を相手に
自動運転切って派手にぶつけ合う 今日は車の衝突の火花を作ろうとしたけど
座標か何かがおかしくて描画が上手く行か無い
衝突にバグが有ったので、それは修正できたけど
時間切れなので、続きは明後日&明日はお休み >>272
サブルーチンの引数を入れる変数の中身を
ローカル変数に退避しないまま
別のサブルーチンを呼んで
上書きされて仕舞っていたのと
衝突方向のオフセットが左右逆なのが
原因だったので、それぞれ修正した
自機の攻撃は取り敢えずここ迄して
他の作業に移る 恒星系と地表面の海賊の攻撃の
動作と描画の仕様を大体固めた
恒星系ではメイン/サブ武器を
比率に応じて使い分ける
地表面では前方から来る敵は
全てミサイルで攻撃して来て
後方に付ける敵はメイン武器を使って来る 海賊の武器の画像作った
ボム以外は自機と同じ武器を使うけど
画像は使い回し出来ないので作業した 海賊の攻撃のサブ・ルーチン群の枠を確保した
昨日は家族サービスでツクール用PC取られてたので
あんまし進捗せんかった 恒星系の海賊のビームの初期化と
イテレータの処理を書いた 恒星系の海賊のビーム作った
座標の回転だけでかなり重いので
速度ベクトルはデータに持たせ無いで
回転を省いた
d = max(x, y, z)
フレーム数 = d / 最大速度
発射時にx,y,zの内一番自機から遠い距離を
最大速度で割って、衝突予想フレーム数を
求めて、敵弾のデータに保持する
フレーム数 -= 1
xの速度 = -(xの距離 / フレーム数)
yの速度 = -(yの距離 / フレーム数)
zの速度 = -(zの距離 / フレーム数)
x座標 += xの速度
y座標 += yの速度
z座標 += zの速度
1フレーム毎に、衝突予想フレーム数の
カウントを減らしながら
距離をフレーム数で割って速度を求めて
敵弾を移動させる
今時のゲームの物理演算と比べると
色々出鱈目だが、スクリプトの実行速度との
トレードオフでこの辺りが落とし所となった いつも見てます
「フレーム」「x,y,z」「ビーム」などかっこいい言葉が頻繁に出てくるので好きです
これからも頑張ってください >>279
ありがとう!
用語はスーファミとかメガドラなんかの
スプライト全盛期のを意識してます 海賊のビームの当たり判定と
自機のダメージ・エフェクトを作った
衝突予想フレーム数が 1 より大きければ
まだ当たっていないと判断出来るので
それを真っ先にチェックして弾いてから
座標のチェックをする
ダメージ・エフェクトは画面サイズの
ベタ塗り画像を背景と敵の間に
差し挟んで表現する
色は黒→白→黄色の順にアニメさせる 海賊のレーザーを作った
下向きで3段階の角度を付けたレーザーの画像を
拡大率100%固定で敵の見た目の座標から発射する
画面の下半分はコクピットなので
これで大体それっぽく見えると言う寸法 レーザーの当たり判定を作った
自機を上下に動かしてる間だけ
カウンタを増加させて
それ以外なら0でリセットする
判定の所でカウンタが一定値未満なら
その時点で敵が撃っているレーザーが全て当たる
レーザーはエイム→射撃→即着弾な
当て易い武器と言う設定 ■ このスレッドは過去ログ倉庫に格納されています