一人で完成まで頑張るの寂しいからかまってat GAMEDEV
一人で完成まで頑張るの寂しいからかまって - 暇つぶし2ch783:60 某犬犬 ◆HzfAAjcl8nz1
19/12/26 02:38:40 KYDo60Ky.net
墜落後の爆発を作った
恒星系の処理からコピペして
ダメージの部分を取り除いた
爆発中は自機の移動をキャンセル
爆発が止んだらゲームオーバー

未使用のガイドの消去を追加
間違って描画されていたので修正

784:60 某犬犬
19/12/27 05:56:02.73 GhGUwzRL.net
着陸成功後の自動操縦を実装した
着陸地点に到着したら
自動操縦で下記の方向へ
微調整して接地する
・ロール、ピッチ、ヨーを正面
・X,Y座標を着陸地点(Zは停止)
接地直後にピッチを上下して
画面を縦揺れさせる
成功フラグ等は実際には
状態遷移を表す整数になっている
・開始
 ↓
・接近、効果音
 ↓
・自動操縦
 ↓
・画面振動
 ↓
・完了、フェードアウト

785:60 某犬犬
19/12/28 22:32:01.64 MSF0br0h.net
自機のプラズマ球が一つだけ
点滅するバグを修正した
ボスの部位の攻撃が画面に
ゴミとして残るバグを修正した
何方もピクチャ番号の計算が
間違っていただけ

786:60 某犬犬
19/12/29 00:45:19.76 ig6nZgh8.net
ガイドの通過判定を入れた
ガイド・ビーコンを
潜り抜けた時と外した時に
其々の効果音鳴らす様にした
自機に一番近いガイドの
イテレータを保持して置いて
それ限定で当たり判定を
する事で最適化した

787:60 某犬犬 ◆HzfAAjcl8nz1
19/12/30 01:58:32 9MHHNgfE.net
夜間着陸のマップを作った

20x20サイズのマップを
左上から1タイルずつ舐めて行き
タイルのIDに応じて
500x500の座標範囲に
ビルや道路等の灯りを配置する
全体でX,Z座標が-5000から+5000の
領域に収まる

スタート地点や着陸地点の
タイルIDが有ったら
変数に座標を入れて置く

余った灯りのピクチャは
ランダムに配置する

URLリンク(lnl.osdn.jp)

788:60 某犬犬
19/12/31 03:45:00.66 LnEPoFcy.net
灯りのマップ配置に道路を追加した
残りは滑走路
街灯りと着陸地点の画像を作った
仮当てしてたものと挿げ替えた

789:60 某犬犬
19/12/31 06:23:15.81 LnEPoFcy.net
夜間着陸のHUDを作った
ビル街の速度のHUD処理を呼ぶ
最高速度とブーストの設定を弄って
速度メーターをレッドゾーン無しにした
自動接地時に速度を
0まで落とす様にした

790:名前は開発中のものです。
20/01/03 16:22:45.55 wvoZmWLS.net
PSリメイク版ドラゴンクエストⅣやる。その2
 
://www.youtube.com/watch?v=JhMPRnomZ1o

791:60 某犬犬
20/01/15 08:09:16.23 rOvcYbNu.net
あけおめ、ことよろ
着陸が成功した時と
着地点を通り越してオーバーランした時に
それのメッセージを描画する様にした
墜落時は空の画像にして置いたので
仕様変更で描画する事になったら
画像を差し替えるだけで対応できる

792:60 某犬犬
20/01/16 02:51:52.31 yJKk7MsJ.net
街灯りのマップ配置処理に
滑走路の分を追加した
これで夜間着陸は一通り出来た
後はS-IIIのパワーアップを
受け取れる惑星の数だけマップを作る
多分あんまし考えずに
フィーリングで量産できる

793:60 某犬犬
20/01/16 04:50:32.70 yJKk7MsJ.net
細かく手を入れた
着地点の直前で艦首を
水平まで持ち上げる様に
ガイド・ビーコンを設定した
Y座標を地面の下から始めて
半径より下に有る時は
半径分の高さに描画する
          |
        |
      |
_ | |
真横から見るとこんな感じ
着地後、ガイドを潜れた数によって
得点とメッセージを表示する様にした
100%:パーフェクト!
80%以上:グレート
50%以上:グッド
10%以上:バッド
0%以上:クレイジー!!

794:60 某犬犬
20/01/16 05:06:52.90 yJKk7MsJ.net
去年末は先生ぶってイキって仕舞い大変スマンコ
たまに来るケチを付ける奴と勘違いしますた
三次大戦を前におまいらと和解せよする等した

795:60 某犬犬
20/01/17 05:57:28.14 PnY//fJ0.net
URLリンク(www.youtube.com)
「スペースSSS」RPGツクール2003用3DシューティングRPG 進捗動画 #014
夜間着陸のサブ・ゲームが出来ました。
緑のガイド枠を潜り抜けて、戦艦を滑走路に着地させます。
ブログ、Twitter、5chで毎日進捗と技術解説をしているので見に来てね。
制作:某犬犬
Web: URLリンク(lnl.osdn.jp)
Twitter: URLリンク(twitter.com)
BGM素材は「サイバーレインフォース」さんの提供です
著作者:Cyber-Rainforce
HP:3104式
URL:URLリンク(cyber-rainforce.net)
(deleted an unsolicited ad)

796:60 某犬犬
20/01/17 06:00:32.58 PnY//fJ0.net
>>783
URLリンク(www.youtube.com)
続編では、こんな感じにしたい

797:60 某犬犬
20/10/10 13:47:17.77 O4TZOpDd.net
今年は図書館でクエスト量産する予定だったが
この世界情勢なので放置してたスマンコ
ネットで図書館の代用できそうなのだが
その前に2件ほど別プロジェクトを割り込ませる事にした
取りあえず、昔誰かが作った戦車のフリゲをリメイクする

798:60 某犬犬
20/10/10 14:21:58.92 O4TZOpDd.net
トリップ違ったな これか?
Linux版ツクールMV用にJavaScriptでプラグイン書いた
スタック管理、構造体、文字列、スプライト等の
個人的便利ライブラリになった
MVはスーファミ時代のアセンブラ風味で
ゲーム職人気分が味わえるので良い
URLリンク(lnl.osdn.jp)
ミニゲームだから多分そんなに時間かからんじゃろう

799:60 某犬犬
20/10/11 08:05:52.37 GUOUnJKr.net
全戦車の座標の最小値と最大値を求めて
最小値が画面の左端、最大値が右端になる様に拡大率%を計算する
キャラがはみ出ない様に、X,Y方向の拡大率の小さい方を優先する
拡大率 = 100 * マップ幅 / (最大値 - 最小値)
最小値と最大値の平均を画面の中央にする
描画X = ((X - 平均X) * 拡大率 / 100) + 画面中央X
スマブラみたいにキャラが接近すると、画面がズームインする

800:60 某犬犬
20/10/13 21:44:10.21 XF7fjAAi.net
戦車は直ぐ下に地面が無ければ落下して
地面より下にいるなら、地面の表面に瞬間移動する
地面が坂道なら、戦車も斜めに移動する
斜め移動用Y = 戦車X % タイル幅 * 地面の傾斜正負
MaxY = 地面Y + 斜め移動用Y - 地面からの高さ
戦車Y < MaxY なら 戦車Y += 重力の速度
戦車Y > MaxY なら 戦車Y = MaxY
スプライトゲーなのでY座標は
画面上がマイナス、下がプラス
ゲームなので定速度運動させるため
重力加速度でなくて「重力の速度」を使ってる
地面の傾斜は45度にしているので
「戦車X % タイル幅」から「斜め移動用Y」が出てくる

801:60 某犬犬
20/10/14 00:01:13.11 IG25C6ZR.net
地形に合わせて戦車の車体の角度を変える
着地回転率 = タイル高さ - (MaxY - 戦車Y)
着地回転率 < 0 なら 着地回転率 = 0
角度 = 戦車の右端の地面の角度 - 戦車の左端の地面の角度
角度 = 角度 * (戦車の左端X % タイル幅) / タイル幅
角度 += 戦車の左端の地面の角度
角度 = 角度 * 着地回転率 / タイル高さ
戦車が移動しながら
「戦車の右端の地面の角度」と「戦車の左端の地面の角度」の
差の分だけ車体が回転する
降下中は水平で、着地の寸前に「着地回転率」で
地形に角度を合わせ始める

802:名前は開発中のものです。
20/10/14 17:36:12.42 pBSMkFVM.net
ウディタって何が楽しいの?
技術力が上がるわけでもないし。

803:60 某犬犬
20/10/15 03:18:38.51 BBzmqpLY.net
>>790
俺は 1 じゃ無くて >>60

804:60 某犬犬
20/10/15 23:38:08.82 BBzmqpLY.net
ラウンド開始時に地面を自動生成する
適当な初期値を入れた後、下記をループする
連続カウントが0になる度に
_上下符号に-1から+1の乱数を入れる
_連続カウントに1から3の乱数を入れる
Yが天井なら
_上下符号に0から+1の乱数を入れる
Yが底なら
_上下符号に-1から0の乱数を入れる
地面X = X
地面Y = Y
X++
Y += 上下符号
連続カウント--
-45度、0度、+45度の何れかの坂道が、1から3の長さで続く
ループ終了後、そのまま逆順にendからbeginへループして
上下符号を地面配列の各要素に入れて行く
1つ先と現在の地面の高さの差で上下符号が決まるけど
それだとイテレータが1つ先に進んで仕舞っているので
endから逆に舐める必要が有る

805:60 某犬犬
20/10/16 10:18:55.32 KbkqyE7G.net
上下キーで、砲身の角度が0から90度に変えられて
目押しの溜め撃ちで、弾の初速が調整できる
「溜め撃ちの処理」
発射キーが押されてるなら
_チャージ率 <= 0 なら
__チャージ開始音SE
_チャージ率 < 100% なら
__チャージ率 += チャージ速度
__チャージ率 >= 100% なら
___フルチャージ音SE
発射キーが押されて無いなら
_チャージ率 > 0 なら
__チャージ率 < 30% なら
___チャージ率 += チャージ速度
__チャージ率 >= 30% なら
___発射処理
___発射音SE
___チャージ率 = 0%
チャージ率が30%未満の時は、自爆しない様に発射を見送る
発射角に応じて、初速にcos/sinしてX,Yの速度を決める

806:60 某犬犬
20/10/21 04:33:14.68 RUOoQd+z.net
JSプラグインで、変数番号の変数にアクセス出来る様にした
変数番号をアドレス、変数番号の変数をポインタ外し、として扱った
getEfxAdr nDst nSrc:
 nDst = &nSrc;
 nSrcの変数番号をnDstに入れる
getIndVar nDst pSrc:
 nDst = *pSrc;
 pSrcの変数番号が指す変数の値をnDstに入れる
setIndVar pDst nSrc:
 *pDst = nSrc;
 nSrcの値をpDstの変数番号が指す変数に入れる
getEfxAdrSwitch bDst pSrc:
 bDst = &pSrc;
 pSrcのスイッチ番号をbDstに入れる
getIndSwitch bDst pSrc:
 bDst = *pSrc;
 pSrcの変数番号が指すスイッチのOn/OffをbDstに入れる
setIndSwitch pDst bSrc:
 *pDst = bSrc;
 bSrcの


807:On/OffをpDstの変数番号が指すスイッチに入れる



808:60 某犬犬
20/10/21 04:33:45.07 RUOoQd+z.net
プラグインの引数に変数番号では無く、変数の名前を与える事で
変数の並びを変えた時の修正ミスや手間が省ける
「変数名から変数番号(アドレス)を得る方法」
・キャッシュ[変数名] に値が入っているなら
 ・キャッシュ[変数名] を変数番号として返す
・ループ
 ・$dataSystem.variables[i] == 変数名 なら
  ・キャッシュ[変数名] = i
  ・i を変数番号として返す
「$dataSystem.variables[]」に
ツクールの変数が変数番号順に入っている

809:60 某犬犬
20/10/25 06:44:52.05 Gy2RzjYB.net
構造体の配列をプラグインで管理した
&foo は変数名 foo を指定する参照渡し
struct は、プラグインのサブ・コマンド
struct iter は、サブ・コマンドのサブ・コマンド
BkkSprite struct init &ctrlHead &iterHead &iterTail &max
BkkSprite struct alloc &ctrlHead
init で管理領域を設定して
alloc で実際にスタック上にデータ領域を確保する
BkkSprite struct iter isBegin &ctrlHead &result
BkkSprite struct iter isEnd &ctrlHead &result
BkkSprite struct iter begin &ctrlHead
BkkSprite struct iter end &ctrlHead
イテレータの終了チェックと、イテレートの開始/終了
BkkSprite struct iter at &ctrlHead &idx
イテレータの値を直接指定して、そこへ飛ぶ
BkkSprite struct iter ++ &ctrlHead
BkkSprite struct iter -- &ctrlHead
イテレータを進める
基本的に要素の削除は無くて
代わりに使用中フラグをメンバーに入れて置くか
またはスタックごと開放して、リセットで最確保する

810:60 某犬犬
20/10/25 07:20:07.14 Gy2RzjYB.net
データへのポインタを列べたイテレート領域を使って
構造体のメンバーにアクセスする(管理領域とは別物)
「構造体 Tank のイテレート領域」
Tank.type
Tank.x
Tank.y
BkkSprite getIndVar n Tank.type
で Tank のメンバー type を変数 n に読み込む
Tank.type はイテレート領域のポインタ変数名
BkkSprite setIndVar Tank.type n
は、逆に変数 n の値をメンバー Tank.type に書き出す
要するに、スタック上のデータ配列に対して
メンバー名でアクセスする為の仕組み
モトローラの680x0系アセンブラが分かる人なら
「ディスプレースメント付きアドレスレジスタ間接アドレッシングモード」
見たいなものと言えば伝わるだろう
ツクール2003では、コモンイベントのコマンドで実装してたけど
MVは「変数番号の変数」が使え無いのでプラグインにした

811:60 某犬犬
20/11/06 04:44:38.28 R9EDHC1C.net
被弾時の爆発が何処かを弄ってる内に描画できなくなったけど
MVの変数は設定した上限を超えるとアクセス出来ない様だ
2003ではおkだけど、多分変数番号の変数で扱える為なのだろう
見た感じコードには何処にも間違いが無さげで数日ハマった

812:60 某犬犬
20/11/11 13:37:00.53 0pHfwJIV.net
爆発はテクスチャ・アニメの種類毎に
「けむり」「閃光」「炎」に別けて画像をロードする
構造体の配列は共有してるので
描画する時は種類を見て別々に処理する
「けむり」のアニメをゆっくり目に描画しながら
始めに「閃光」を一度だけ生成して
一定フレーム毎に「炎」も生成する
「けむり」のアニメが終わったら
マップや戦車を再生成して次の対戦に遷移する

813:60 某犬犬
20/11/11 13:44:12.99 0pHfwJIV.net
砲弾のチャージ・ゲージは、飾りの付いた外枠と
上下にグラデーションが掛かったゲージを組み合わせる
ゲージをチャージ率に応じて横方向に縮小表示する

814:60 某犬犬
20/11/11 13:56:28.65 0pHfwJIV.net
対戦開始時の「Ready」表示中は
射撃禁止/移動おkで、間合いを取れる
「GO!」で射撃禁止フラグをOffにする
爆発中は射撃と移動の両方を禁止にする

815:60 某犬犬
20/11/13 16:00:33.71 Ne4OzMjC.net
砲弾四種
「スタンダード」単発、高速、早チャージ
 通常弾
「バースト」二連発、高速、遅チャージ
 通常弾を発射後、チャージ率x90%で最発射
「スプレッド」三分裂、低速、遅チャージ
 発射後カウンタが0になったら
 通常弾二つ生成とそれ自身を通常弾に変える
「サイト」着弾地点表示、フェイント
 発射後、予想地点にレティクル描画
 左右の移動で速度微調整

816:60 某犬犬
20/11/13 16:18:50.25 Ne4OzMjC.net
マップ選択と障害物の生成をやった
キャラ名を[x][ ]か(x)( )に変更して
メニューから「\N[1]」で表示して
チェックボックスとラジオボタンにした
マップの選択はチェックボックスで選んだ中から
ランダムに選ばれる
マップの種類に応じて、障害物を描画
効果はまだ未実装

817:60 某犬犬
20/11/14 08:40:21.32 HwzKAcsU.net
マップと障害物の三種を実装した
「草原」「林」視覚的に隠れられる
「岩地」「岩」水平方向の弾除け
「砂漠」「流砂」移動速度を半減

818:60 某犬犬
21/02/10 15:48:50.83 YnlIq0em.net
「草原」の「林」だけ戦車より手前に描画した
スプライトのZ座標を使って実装しようとしたが
ツクールのプライオリティ処理が
機能していないっぽいので
別のスプライトを手前に確保して回避した

819:60 某犬犬
21/02/10 16:41:51.38 YnlIq0em.net
AIを実装し始めた
・AI
 ・行動トリガー
 ・行動
 ・学習トリガー
・弾避け
 ・敵が射撃
 ・左、中、右に移動
 ・敵の着弾
・射線外し
 ・ランダム
 ・左、中、右の山の裏へ移動
 ・敵の着弾
・ランダム移動
 ・ランダム
 ・左、中、右に移動
 ・敵の着弾

820:60 某犬犬
21/02/10 16:42:17.43 YnlIq0em.net
・チャージ
 ・AIがチャージ開始
 ・敵の左、中、右を狙う
 ・AIの着弾
・発射
 ・敵が射線上に入る
 ・発射
 ・無し
・山越え
 ・AIの着弾
 ・砲身を上下
 ・無し
「行動トリガー」で行動が発生して
「学習データ」を元に「行動データ」を設定する
「行動データ」によって毎フレームの行動を決める
「学習トリガー」で学習が発生して
「学習データ」を調整する

821:60 某犬犬
21/02/10 17:00:53.00 YnlIq0em.net
学習の例として「弾避け」の場合
・敵が射撃したら
左、中(移動無し)、右の比率に応じて
乱数で移動先を決める
・敵の着弾で当たらなければ
選んだ行動の比率を+2して
それ以外の比率を-1する
・当たった場合は
選んだ行動を-20して
それ以外を+10する

822:60 某犬犬
21/02/10 17:10:35.93 YnlIq0em.net
・正しい選択をしたっぽいなら
微妙に正の強化学習をして
・間違っていたなら
ペナルティとして多めに
負の強化学習をする
ゲームを繰り返すにつれて
どんどん強くなって行く(と良いなー)
リセットするか終了すると初期化

823:名前は開発中のものです。
21/02/11 04:47:12.01 BxaEkDQn.net
音も自分でやってる?
音やろうと思ってもちょっと無理かなあって思ってる

824:60 某犬犬
21/02/11 18:58:12.18 0LtU3bBr.net
SE はデフォ素材のを再生速度変えたりして使ってる
BGM はフリー素材
作曲は時々やりたい病になるけど、出来無い

825:名前は開発中のものです。
21/02/12 22:53:35.52 1LHSZjPr.net
再生速度、変えるってのがあるのか
商用にする場合、フリーでも著作権問題になる場合あったかも

826:60 某犬犬
21/02/17 18:06:12.79 PoSk5NNh.net
チャージ、発射、山越えを仮実装した
・常にチャージし続けて、弾道計算が当たりなら発射
・目標に当たらなければ、砲身角度を上げて
 ロフテッド軌道で山越えを狙う
・当たるかランダムで角度を多めに下げる

827:60 某犬犬
21/02/17 18:13:33.80 PoSk5NNh.net
弾避けを仮実装した
・敵弾が発射されたら
 左、中(その場)、右のステップ座標を指定する
・移動処理で指定座標へ向けて移動する

828:60 某犬犬
21/02/21 15:39:42.09 /QexS5oq.net
AIが敵の方向を向く様にした
移動の指示が無い時か、画面端にいる時に
前方に敵が居なければ、振り向く様に
移動先を一歩後ろへと指示する

829:60 某犬犬
21/03/13 16:46:17.16 nG7hvE7Y.net
ランダム移動を実装した
乱数 % ランダム・フレーム数
が 0 ならランダムにステップ移動
移動距離は弾避けの値を流用
学習は、敵の弾が外れる度に
ランダム・フレーム数 += 1
当たったら
ランダム・フレーム数 -= 10

830:60 某犬犬
21/03/21 14:05:52.87 IeCjnlr6.net
「射線外し」を実装した
敵から見て、山頂の1ブロック向こう側は
ロフテッド軌道でないと当て憎いので
そこに隠れる様に移動する
乱数 % フレーム数
が 0 なら隣の山陰まで移動
学習は、敵の弾が外れる度に
 移動先 += 2%
 移動先以外 -= 1%
 フレーム数 += 1
当たったら
 移動先 -= 20%
 移動先以外 += 10%
 フレーム数 -= 10

831:60 某犬犬
21/03/21 15:35:19.02 IeCjnlr6.net
CPU 同士で対戦させてみた
強い順に
1.ノーマル
2.バースト
3.スプレッド
4.サイト
サイトは AI にフェイントは逆効果
スプレッドは溜めと弾速遅すぎ
バーストは溜め遅い割に奮闘
ノーマルは普通が一番強いっぽい
負けると、チョコマカ動く様になるし
動き過ぎると、狙える弾数が減って
更に負ける傾向が有る

832:名前は開発中のものです。
21/05/10 17:27:38.07 019Yj2Ms.net
出来た

833:60 某犬犬
21/05/20 18:17:33.45 fb4MItLz.net
プレイヤー2をテンキーで動かせる様にした
スクリプトでテンキーのキーの名前を
変えて初期化した
Input.keyMapper[98] = 'down_numpad'
デフォだとカーソルとテンキーに
同じ名前が付けられてるので
語尾に '_numpad' を加えた
内部的には4人同時プレイ出来る様に
作ってあるので、2番目のCPU以外の
プレイヤーに割り当ててる

834:名前は開発中のものです。
23/09/20 20:45:28.93 b2X0Zubi.net
㍗!!!∑(゚Д゚ノ)ノ

835:60 某犬犬 ◆HzfAAjcl8nz1
23/09/24 23:44:35.53 4tyLFpBf.net
生存報告(ガチで)
ツクール2003がサポート終了したので
心機一転MSX3に移植する
PyGameで作ってるのでLinuxでも動く
解説は2chでレス開始するより前の一番最初からになる

836:60 某犬犬 ◆HzfAAjcl8nz1
23/09/24 23:44:45.76 4tyLFpBf.net
生存報告(ガチで)
ツクール2003がサポート終了したので
心機一転MSX3に移植する
PyGameで作ってるのでLinuxでも動く
解説は2chでレス開始するより前の一番最初からになる

837:60 某犬犬 ◆HzfAAjcl8nz1
23/09/24 23:46:20.77 4tyLFpBf.net
pygameのブログ見た
放ったらかしになってたpythonの
オライリー本の続きを読んでる

838:60 某犬犬 ◆HzfAAjcl8nz1
23/09/24 23:47:09.79 4tyLFpBf.net
今時のゲーム開発は、工場のライン工と変わらない
職人の腕を発揮する要素が無いし詰まらない
ツクールでもやってる方がまし
オールドスクールのスプライトゲーが作ってて一番楽しい

839:60 某犬犬 ◆HzfAAjcl8nz1
23/09/24 23:47:40.26 4tyLFpBf.net
モジュール関連まで読んだ

840:60 某犬犬 ◆HzfAAjcl8nz1
23/09/24 23:48:11.52 4tyLFpBf.net
久し振りにSSS起動したけど、もの凄い重くて、
どうしようか思案中

841:60 某犬犬 ◆HzfAAjcl8nz1
23/09/24 23:48:46.27 4tyLFpBf.net
初めてのPythonの22章まで読んだ
PyGame版と2003版を同時進行で作りたい

842:60 某犬犬 ◆HzfAAjcl8nz1
23/09/24 23:49:12.96 4tyLFpBf.net
pygame版の推奨スペックは、ラズパイ以上にしとけば、
問題ないだろう
今年の小遣いで、MSX3が買えるかは微妙

843:60 某犬犬 ◆HzfAAjcl8nz1
23/09/24 23:50:31.16 4tyLFpBf.net
爆速のdragonballを並列で128個くらい繋いだ
近代化改修X68kなら弄りたいと妄想してたけど
ただ復刻しただけだと、今からまたやるの?
もう思いでの中でいいよってなってる
MSX3のスーパーリッチなスプライトで
スーファミ時代の業務用ゲームみたいなの作る方が楽しそう

844:60 某犬犬 ◆HzfAAjcl8nz1
23/09/24 23:50:49.04 4tyLFpBf.net
pygameのリファレンス読んでる

845:60 某犬犬 ◆HzfAAjcl8nz1
23/09/24 23:51:10.65 4tyLFpBf.net
続くかどうかは知らね

846:60 某犬犬 ◆HzfAAjcl8nz1
23/09/24 23:51:38.10 4tyLFpBf.net
PyGameのリファレンス全部読んだ
MSXまだだけど、見切り発車するかも

847:60 某犬犬 ◆HzfAAjcl8nz1
23/09/24 23:52:22.63 4tyLFpBf.net
PyGameインスコして、メインルーチン作った
取り敢えず、スクリーンを明滅させて、EscキーかXボタンで終了する

848:名前は開発中のものです。
23/09/24 23:58:31.73 Iwqz8dU2.net
なんか、さらーっと流し読みした程度なんだけど、そこまで凝りたいんだったら、ウディタじゃなくてDXライブラリ使った方がいいんじゃない?
ウディタめんどいよ。

849:60 某犬犬 ◆HzfAAjcl8nz1
23/09/24 23:59:15.58 4tyLFpBf.net
宇宙の背景の座標のロール・ピッチ回転を実装
スプライトはまだ無いので、赤い四角を描画
カーソル・キーで操作する
clock.tick(60)でFPSを指定して
clock.get_time()で実際に経過したミリ秒数に応じて、
加速度と速度を調整するので、
フレームレートが落ちても、移動が安定する

850:60 某犬犬 ◆HzfAAjcl8nz1
23/09/25 00:00:08.78 9zDWpNON.net
調整は、加速度と速度に「clock.get_time() / 基準時間」をかけて、移動させるだけ
経過時間に上限を設定しているので、
それを越えた場合は、処理落ちが発生して、動きが重くなるはず

851:60 某犬犬 ◆HzfAAjcl8nz1
23/09/25 00:07:49.11 9zDWpNON.net
>>835
>>60 から下を読めば分かるけど、俺は >>1 じゃ無い
RPGツクール2003用に作ってたけど、残念ながらディスコン
謎の技術を詰め込んだオーパーツなので
便利なエンジンとか特にいらんのだわ

852:60 某犬犬 ◆HzfAAjcl8nz1
23/09/25 00:08:52.11 9zDWpNON.net
整えて、リファクタリング

853:60 某犬犬 ◆HzfAAjcl8nz1
23/09/25 00:18:53.80 9zDWpNON.net
スプライトとPCGを実装した
subsurfaceで画像を切り分けて
スプライト・シートを使える様にした
transform.scaleの拡大で
元画像のサイズを画面の解像度に合わせる様にした
sprite.DirtySpriteで
スプライトのグループを管理して
自動でupdateとdrawをする

854:60 某犬犬 ◆HzfAAjcl8nz1
23/09/25 00:19:44.34 9zDWpNON.net
背景の宇宙をスプライトで描画した
自機が移動しても距離が変わらない、無限遠に置いた
初期化時に6面に置いて
そのサイコロの中がゲーム・エリアになる
ピッチとロールで座標を回転して
ロールの時だけ画像を回転

855:60 某犬犬 ◆HzfAAjcl8nz1
23/09/25 00:20:46.80 9zDWpNON.net
Z軸のロール回転
x = x * cos - y * sin
y = y * cos + x * sin
X軸のピッチ回転
z = z * cos - y * sin
y = y * cos + z * sin

856:60 某犬犬 ◆HzfAAjcl8nz1
23/09/25 00:21:17.55 9zDWpNON.net
星屑を取り敢えず描画した
ロールとピッチだけ実装して、移動と拡大縮小はまだ

857:60 某犬犬 ◆HzfAAjcl8nz1
23/09/25 00:21:48.66 9zDWpNON.net
星屑の移動を実装した
加速や減速のキーが押されてたら、加速度を設定する
加速度を速度に加えて、その速度を座標に加える
avz = +10
vz += avz
z -= vz
描画位置はx, y座標をzで割って、描画半径をかけるだけ
draw_x = x * r / z
draw_y = y * r / z

858:60 某犬犬 ◆HzfAAjcl8nz1
23/09/25 00:22:09.87 9zDWpNON.net
描画半径が視野角に相当する

859:60 某犬犬 ◆HzfAAjcl8nz1
23/09/25 00:23:15.60 9zDWpNON.net
星屑を距離に応じて縮小描画できる様にした
Surface.subsurface(column * width, row * height, width, height)
でスプライト・シートを切り出し
pygame.transform.rotate で回転
pygame.transform.scale で拡大縮小して
画像の三次元配列を生成して置いて
描画時に画像を切り替える

860:60 某犬犬 ◆HzfAAjcl8nz1
23/09/25 00:29:41.50 9zDWpNON.net
星雲の移動と描画を作った
宇宙の背景とだいたい同じ
無限遠に張り付いて、ローリングする
初期配置だけ、ダイスの各面のランダムな座標にする

861:60 某犬犬 ◆HzfAAjcl8nz1
23/09/25 00:30:27.51 9zDWpNON.net
画面サイズの変更に対応した
倍率 = screen.height / 基準サイズ.height
で倍率を求めて、スプライトの初期化時に
スプライト・シートを拡大する
描画時も、視野角に倍率を掛ける
キャラクタの座標等のデータは、そのままで良い

862:60 某犬犬 ◆HzfAAjcl8nz1
23/09/25 00:31:03.44 9zDWpNON.net
コクピットを実装した
ロールとピッチの加速で、視点が若干移動する
上に回転してる時は、パイロットの頭が下を向くので、
コクピットが上に移動する
下はその逆
HUD類は、まだ後回し

863:60 某犬犬 ◆HzfAAjcl8nz1
23/09/25 00:31:47.20 9zDWpNON.net
DirtySpriteのvisibleが機能しないと思ったら、
LayeredUpdatesのグループじゃなくて
LayeredDirtyの方に入れないといけなかった

864:60 某犬犬 ◆HzfAAjcl8nz1
23/09/25 00:32:16.88 9zDWpNON.net
PyGame 良い感じ
スプライトゲーなら処理速度も充分っぽい

865:60 某犬犬 ◆HzfAAjcl8nz1
23/09/25 00:33:44.60 9zDWpNON.net
取り敢えず過去の分まで連投終わり
あらためて、よろしくお願いします

866:60 某犬犬 ◆HzfAAjcl8nz1
23/09/25 00:41:48.65 9zDWpNON.net
自己紹介は↓の過去作でも観てやってくれ
URLリンク(lnl.osdn.jp)
URLリンク(jongrogue.osdn.jp)
バックアップからのロールバックでヘマして
アクセス・カウンタがリセットになっとる

867:60 某犬犬 ◆HzfAAjcl8nz1
23/09/25 00:54:34.13 9zDWpNON.net
進捗動画はサイド・メニューの
「ブログ」か「一行ブログ」に有る
URLリンク(lnl.osdn.jp)

868:60 某犬犬 ◆HzfAAjcl8nz1
23/09/29 03:18:18.42 OTM2o5z5.net
・スプライトの回転、拡大縮小を
事前にスプライト・シートを生成してやるか
リアルタイムでやるかを選べる様にした

869:60 某犬犬 ◆HzfAAjcl8nz1
23/09/29 03:18:27.71 OTM2o5z5.net
・スプライトの回転、拡大縮小を
事前にスプライト・シートを生成してやるか
リアルタイムでやるかを選べる様にした

870:60 某犬犬 ◆HzfAAjcl8nz1
23/09/29 03:18:57.83 OTM2o5z5.net
・ビームの発射、移動、描画を作った
・回転はスプライト・シート
拡大縮小はリアルタイムでやる様にした

871:60 某犬犬 ◆HzfAAjcl8nz1
23/09/29 03:19:59.35 OTM2o5z5.net
・ビーム発射の累積時間に
前フレームからの経過時間を足して
発射間隔を越えた分だけ発射処理をする様にした
累積時間 += 経過時間
ビーム・データの最大数まで繰り返し
 if 累積時間 > 発射間隔
  発射処理
  累積時間 -= 発射間隔
・Z座標の初期値は
発射間隔 * 速度

872:60 某犬犬 ◆HzfAAjcl8nz1
23/10/10 22:39:18.65 CQtEAaUT.net
スプライトの拡大率100%のパターンが
生成されていなかったのを修正

ビームのZ速度を落として、逆に発射間隔を広げた

ロール時に、ビームが逆回転していたのを修正

873:60 某犬犬
23/10/13 07:05:00.38 h5H/rMiZ.net
レーザーの描画を実装した
まだ透明度の設定が、上手く行って無い

874:60 某犬犬
23/10/13 07:05:06.98 h5H/rMiZ.net
レーザーの描画を実装した
まだ透明度の設定が、上手く行って無い

875:60 某犬犬
23/10/16 10:35:33.42 O8te+ED8.net
スプライトの画像全体の透明度を指定できる様にした
画像にアルファ値が有ると指定できないので
透過色を設定する
ロード時に特定の座標の色を透過色にする
デフォルトは左上の角
これでレーザーを半透明に出来た

876:名前は開発中のものです。
23/10/16 10:36:44.55 O8te+ED8.net
画像に修正を掛ける度に.convertを呼んでいたけど
ロード直後だけで良かった

877:60 某犬犬
23/10/16 10:37:28.62 O8te+ED8.net
武器を選択できる様にした
Sキーで順切り替え
Wキーで逆切り替え
武器の管理用コントローラ・クラスを用意した

878:60 某犬犬
23/10/17 16:53:27.32 aGtW+Iun.net
キー入力の制御クラスを作った
左キーを押してる時に、右キーも押したら
右キーを優先する
逆や上下も同じ

879:60 某犬犬
23/10/17 16:57:58.88 aGtW+Iun.net
・左右同時押しか?
_・左が押されたばかりか?
__・左優先フラグOn
_・右が押されたばかりか?
__・右優先フラグOn
_・左優先フラグがOnか?
__・左入力
_・右優先フラグがOnか?
__・右入力
・同時押しでない?
_・左右の優先フラグOff
_・普通に左右入力

880:60 某犬犬
23/11/10 22:27:11.57 Kv+5yxJn.net
プラズマのリングの描画を実装した
上下を半分に分けて
チャージ玉を手前と奥のサンドイッチにする

881:60 某犬犬
23/11/10 22:27:15.38 Kv+5yxJn.net
プラズマのリングの描画を実装した
上下を半分に分けて
チャージ玉を手前と奥のサンドイッチにする

882:60 某犬犬
23/11/11 03:04:19.74 slhkB/DF.net
プラズマの玉の描画を実装した
チャージはまだ

883:60 某犬犬
23/11/11 04:57:13.30 slhkB/DF.net
プラズマの玉を、チャージで大きく出来る様にした
2個以上の玉を一枚絵にすると
拡大した時に画面に収まらないので
個別のスプライトにした

884:60 某犬犬 ◆HzfAAjcl8nz1
23/11/13 03:17:54.97 EBWPJsfi.net
チャージしたプラズマを発射できる様にした

チャージ玉の座標を、そのまま初期座標として入れて
チャージ率を、画像の拡大率にして
使用中フラグをTrueにして発射

画像の拡大率は以下で求める
100 * チャージ率 / Z座標

大きさやダメージ量を表すチャージ率は、最小で20%

885:名前は開発中のものです。
24/03/20 23:21:55.63 XlVWLwmf.net
バーモント州

886:名前は開発中のものです。
24/03/20 23:22:04.45 XlVWLwmf.net
ハワイ州

887:名前は開発中のものです。
24/03/20 23:22:17.57 XlVWLwmf.net
フロリダ州

888:名前は開発中のものです。
24/03/20 23:22:33.91 XlVWLwmf.net
ペンシルベニア州

889:名前は開発中のものです。
24/03/20 23:22:45.82 XlVWLwmf.net
マサチューセッツ州

890:名前は開発中のものです。
24/03/20 23:22:55.81 XlVWLwmf.net
ミシガン州

891:名前は開発中のものです。
24/03/20 23:23:05.17 XlVWLwmf.net
ミシシッピ州

892:名前は開発中のものです。
24/03/20 23:23:18.52 XlVWLwmf.net
ミズーリ州

893:名前は開発中のものです。
24/03/20 23:23:31.23 XlVWLwmf.net
ミネソタ州

894:名前は開発中のものです。
24/03/20 23:23:40.51 XlVWLwmf.net
メイン州

895:名前は開発中のものです。
24/03/20 23:23:50.80 XlVWLwmf.net
メリーランド州

896:名前は開発中のものです。
24/03/20 23:23:59.21 XlVWLwmf.net
モンタナ州

897:名前は開発中のものです。
24/03/20 23:24:11.14 XlVWLwmf.net
ユタ州

898:名前は開発中のものです。
24/03/20 23:24:19.45 XlVWLwmf.net
ルイジアナ州

899:名前は開発中のものです。
24/03/20 23:24:30.18 XlVWLwmf.net
ロードアイランド州

900:名前は開発中のものです。
24/03/20 23:24:40.74 XlVWLwmf.net
ワイオミング州

901:名前は開発中のものです。
24/03/20 23:24:54.74 XlVWLwmf.net
ワシントン州

902:名前は開発中のものです。
24/03/20 23:25:35.91 XlVWLwmf.net
北海道

903:名前は開発中のものです。
24/03/20 23:25:50.84 XlVWLwmf.net
青森県

904:名前は開発中のものです。
24/03/20 23:26:03.27 XlVWLwmf.net
岩手県

905:名前は開発中のものです。
24/03/20 23:26:11.41 XlVWLwmf.net
宮城県

906:名前は開発中のものです。
24/03/20 23:26:22.42 XlVWLwmf.net
秋田県

907:名前は開発中のものです。
24/03/20 23:26:31.01 XlVWLwmf.net
山形県

908:名前は開発中のものです。
24/03/20 23:26:58.36 XlVWLwmf.net
福島県

909:名前は開発中のものです。
24/03/20 23:27:06.64 XlVWLwmf.net
茨城県

910:名前は開発中のものです。
24/03/20 23:27:14.53 XlVWLwmf.net
栃木県

911:名前は開発中のものです。
24/03/20 23:27:27.71 XlVWLwmf.net
群馬県

912:名前は開発中のものです。
24/03/20 23:27:38.15 XlVWLwmf.net
埼玉県

913:名前は開発中のものです。
24/03/20 23:27:46.95 XlVWLwmf.net
千葉県

914:名前は開発中のものです。
24/03/20 23:27:55.83 XlVWLwmf.net
東京都

915:名前は開発中のものです。
24/03/20 23:28:11.72 XlVWLwmf.net
神奈川県

916:名前は開発中のものです。
24/03/20 23:29:00.77 XlVWLwmf.net
新潟県

917:名前は開発中のものです。
24/03/20 23:29:10.44 XlVWLwmf.net
富山県

918:名前は開発中のものです。
24/03/20 23:29:18.35 XlVWLwmf.net
石川県

919:名前は開発中のものです。
24/03/20 23:29:27.24 XlVWLwmf.net
福井県

920:名前は開発中のものです。
24/03/20 23:29:41.19 XlVWLwmf.net
山梨県

921:名前は開発中のものです。
24/03/20 23:40:45.88 XlVWLwmf.net
長野県

922:名前は開発中のものです。
24/03/20 23:40:56.26 XlVWLwmf.net
岐阜県

923:名前は開発中のものです。
24/03/20 23:41:07.23 XlVWLwmf.net
静岡県

924:名前は開発中のものです。
24/03/20 23:41:18.79 XlVWLwmf.net
愛知県

925:名前は開発中のものです。
24/03/20 23:46:22.22 XlVWLwmf.net
三重県

926:名前は開発中のものです。
24/03/20 23:46:31.30 XlVWLwmf.net
滋賀県

927:名前は開発中のものです。
24/03/20 23:46:39.70 XlVWLwmf.net
京都府

928:名前は開発中のものです。
24/03/20 23:46:48.69 XlVWLwmf.net
大阪府

929:名前は開発中のものです。
24/03/20 23:47:29.47 XlVWLwmf.net
兵庫県

930:名前は開発中のものです。
24/03/20 23:47:36.63 XlVWLwmf.net
奈良県

931:名前は開発中のものです。
24/03/20 23:47:46.99 XlVWLwmf.net
和歌山県

932:名前は開発中のものです。
24/03/20 23:47:56.30 XlVWLwmf.net
鳥取県

933:名前は開発中のものです。
24/03/20 23:48:08.36 XlVWLwmf.net
島根県

934:名前は開発中のものです。
24/03/21 00:13:36.77 pu37TK+F.net
岡山県

935:名前は開発中のものです。
24/03/21 00:13:45.15 pu37TK+F.net
広島県

936:名前は開発中のものです。
24/03/21 00:13:55.18 pu37TK+F.net
山口県

937:名前は開発中のものです。
24/03/21 00:14:03.95 pu37TK+F.net
徳島県

938:名前は開発中のものです。
24/03/21 00:14:11.56 pu37TK+F.net
香川県

939:名前は開発中のものです。
24/03/21 00:14:23.43 pu37TK+F.net
愛媛県

940:名前は開発中のものです。
24/03/21 00:14:33.97 pu37TK+F.net
高知県

941:名前は開発中のものです。
24/03/21 00:14:43.99 pu37TK+F.net
福岡県

942:名前は開発中のものです。
24/03/21 00:14:51.53 pu37TK+F.net
佐賀県

943:名前は開発中のものです。
24/03/21 00:14:59.31 pu37TK+F.net
長崎県

944:名前は開発中のものです。
24/03/21 00:15:06.56 pu37TK+F.net
熊本県

945:名前は開発中のものです。
24/03/21 00:15:14.29 pu37TK+F.net
大分県

946:名前は開発中のものです。
24/03/21 00:15:24.10 pu37TK+F.net
宮崎県

947:名前は開発中のものです。
24/03/21 00:15:36.06 pu37TK+F.net
鹿児島県

948:名前は開発中のものです。
24/03/21 00:15:50.49 pu37TK+F.net
沖縄県

949:名前は開発中のものです。
24/03/21 00:17:08.57 pu37TK+F.net
北海道地方

950:名前は開発中のものです。
24/03/21 00:17:16.64 pu37TK+F.net
東北地方

951:名前は開発中のものです。
24/03/21 00:17:25.17 pu37TK+F.net
関東地方

952:名前は開発中のものです。
24/03/21 00:17:33.18 pu37TK+F.net
中部地方

953:名前は開発中のものです。
24/03/21 00:17:40.85 pu37TK+F.net
近畿地方

954:名前は開発中のものです。
24/03/21 00:17:49.27 pu37TK+F.net
中国地方

955:名前は開発中のものです。
24/03/21 00:18:02.08 pu37TK+F.net
四国地方

956:名前は開発中のものです。
24/03/21 00:18:16.29 pu37TK+F.net
九州・沖縄地方

957:名前は開発中のものです。
24/03/21 00:18:24.81 pu37TK+F.net
札幌市

958:名前は開発中のものです。
24/03/21 00:18:32.25 pu37TK+F.net
青森市

959:名前は開発中のものです。
24/03/21 00:18:41.08 pu37TK+F.net
盛岡市

960:名前は開発中のものです。
24/03/21 00:18:48.24 pu37TK+F.net
仙台市

961:名前は開発中のものです。
24/03/21 00:18:57.61 pu37TK+F.net
秋田市

962:名前は開発中のものです。
24/03/21 00:19:05.55 pu37TK+F.net
山形市

963:名前は開発中のものです。
24/03/21 00:19:15.08 pu37TK+F.net
福島市

964:名前は開発中のものです。
24/03/21 00:19:24.33 pu37TK+F.net
水戸市

965:名前は開発中のものです。
24/03/21 00:21:15.75 pu37TK+F.net
宇都宮市

966:名前は開発中のものです。
24/03/21 00:21:23.39 pu37TK+F.net
前橋市

967:名前は開発中のものです。
24/03/21 00:21:35.67 pu37TK+F.net
さいたま市

968:名前は開発中のものです。
24/03/21 00:21:58.81 pu37TK+F.net
千葉市

969:名前は開発中のものです。
24/03/21 00:22:14.03 pu37TK+F.net
東京都区部

970:名前は開発中のものです。
24/03/21 00:22:21.52 pu37TK+F.net
横浜市

971:名前は開発中のものです。
24/03/21 00:22:35.60 pu37TK+F.net
新潟市

972:名前は開発中のものです。
24/03/21 00:22:48.98 pu37TK+F.net
富山市

973:名前は開発中のものです。
24/03/21 00:23:06.10 pu37TK+F.net
金沢市

974:名前は開発中のものです。
24/03/21 00:23:16.33 pu37TK+F.net
福井市

975:名前は開発中のものです。
24/03/21 00:23:27.02 pu37TK+F.net
甲府市

976:名前は開発中のものです。
24/03/21 00:23:37.67 pu37TK+F.net
長野市

977:名前は開発中のものです。
24/03/21 00:23:49.59 pu37TK+F.net
岐阜市

978:名前は開発中のものです。
24/03/21 00:24:03.86 pu37TK+F.net
静岡市

979:名前は開発中のものです。
24/03/21 00:24:13.80 pu37TK+F.net
名古屋市

980:名前は開発中のものです。
24/03/21 00:24:21.58 pu37TK+F.net
津市

981:名前は開発中のものです。
24/03/21 00:24:30.57 pu37TK+F.net
大津市

982:名前は開発中のものです。
24/03/21 00:26:58.67 pu37TK+F.net
京都市

983:名前は開発中のものです。
24/03/21 00:27:07.27 pu37TK+F.net
大阪市

984:名前は開発中のものです。
24/03/21 00:27:16.34 pu37TK+F.net
神戸市

985:名前は開発中のものです。
24/03/21 00:27:28.57 pu37TK+F.net
奈良市

986:名前は開発中のものです。
24/03/21 00:27:39.23 pu37TK+F.net
和歌山市

987:名前は開発中のものです。
24/03/21 00:27:47.27 pu37TK+F.net
鳥取市

988:名前は開発中のものです。
24/03/21 00:27:55.45 pu37TK+F.net
松江市

989:名前は開発中のものです。
24/03/21 00:28:03.56 pu37TK+F.net
岡山市

990:名前は開発中のものです。
24/03/21 00:28:12.41 pu37TK+F.net
広島市

991:名前は開発中のものです。
24/03/21 00:28:20.59 pu37TK+F.net
山口市

992:名前は開発中のものです。
24/03/21 00:28:37.48 pu37TK+F.net
徳島市

993:名前は開発中のものです。
24/03/21 00:28:45.60 pu37TK+F.net
高松市

994:名前は開発中のものです。
24/03/21 00:28:54.08 pu37TK+F.net
松山市

995:名前は開発中のものです。
24/03/21 00:29:02.97 pu37TK+F.net
高知市

996:名前は開発中のものです。
24/03/21 00:29:12.26 pu37TK+F.net
福岡市

997:名前は開発中のものです。
24/03/21 00:29:20.42 pu37TK+F.net
佐賀市

998:名前は開発中のものです。
24/03/21 00:29:29.38 pu37TK+F.net
長崎市

999:名前は開発中のものです。
24/03/21 00:29:39.11 pu37TK+F.net
熊本市

1000:名前は開発中のものです。
24/03/21 00:29:47.52 pu37TK+F.net
大分市

1001:名前は開発中のものです。
24/03/21 00:29:58.62 pu37TK+F.net
宮崎市

1002:名前は開発中のものです。
24/03/21 00:30:07.89 pu37TK+F.net
鹿児島市

1003:名前は開発中のものです。
24/03/21 00:30:35.19 pu37TK+F.net
那覇市

1004:名前は開発中のものです。
24/03/21 00:30:53.09 pu37TK+F.net
海外

1005:名前は開発中のものです。
24/03/21 00:31:03.53 pu37TK+F.net


1006:名前は開発中のものです。
24/03/21 00:31:12.20 pu37TK+F.net


1007:名前は開発中のものです。
24/03/21 00:31:20.25 pu37TK+F.net


1008:名前は開発中のものです。
24/03/21 00:31:31.18 pu37TK+F.net


1009:名前は開発中のものです。
24/03/21 00:31:44.61 pu37TK+F.net
脱出

1010:名前は開発中のものです。
24/03/21 00:31:53.22 pu37TK+F.net
自分達

1011:名前は開発中のものです。



1012:ge
都合



1013:名前は開発中のものです。
24/03/21 00:32:09.98 pu37TK+F.net


1014:名前は開発中のものです。
24/03/21 00:32:24.87 pu37TK+F.net
おしまい

1015:1001
Over 1000 Thread Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 2569日 2時間 25分 54秒

1016:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch