【c#+DX】スピードシューティング(仮)プロジェクト [転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2015/07/12(日) 23:51:31.47ID:k1m5p6IG
【プロジェクトページ(OSDN)】
https://osdn.jp/projects/shooting-game/

【プロジェクトの説明】
最近流行っている弾幕シューティングとは真逆のシューティングゲームを作成するプロジェクトです。 具体的には敵や敵の出す弾は高速ですがあまり弾を出しません。 瞬発力を必要としますが攻略も楽しめるゲームを目指します。

【プロジェクトへの参加について】
プログラミングはもちろん、画像、音楽編集等も大歓迎です。
2016/03/10(木) 09:59:34.09ID:w2U+RHTk
>>177
半径をdouble Rで持たせてるってことは
sqrt(dx*dx+dy*dy)<=R
みたいな判定をしているっぽいけど、
半径の二乗をint R2として
dx*dx+dy*dy<=R2
にすれば、そんなに重くないんじゃないか?
2016/03/10(木) 13:47:36.20ID:HzV85MQu
>>185
円の当たり判定は一切使っていません
まず矩形で適当な判定をした後、カプセル※1で厳密な判定を行っています

※1
Capsule(Line(現在の座標,前回の座標),R)
2016/03/10(木) 14:30:48.72ID:w2U+RHTk
なるほど、勘違い失礼
2016/03/10(木) 14:42:25.04ID:HzV85MQu
>>187
あっでも
if(!矩形)return false;
if(円)return true;
return カプセル;
の方が早いかもしれません。少し変えてみます
2016/03/10(木) 16:01:46.51ID:HzV85MQu
PreAlpha20160310うpしました
2016/03/10(木) 18:29:17.81ID:HzV85MQu
>>189
更新内容
・エフェクト
・自機のバランス調整
・敵の追加
・その他細かい部分
2016/03/14(月) 13:14:30.96ID:gTOs7cu6
一対一の対戦シューティングみたいになるの?
相手は撃ってこないみたいだけど弾幕にしないんだっけ
192名前は開発中のものです。
垢版 |
2016/03/14(月) 13:15:48.16ID:gTOs7cu6
スレ下がってるから上げときます
2016/03/14(月) 13:23:18.53ID:fQ2RiA8h
2ch.net絶賛崩壊中で
システムがガタガタなんです
2016/03/14(月) 14:13:48.86ID:uhM1fEXi
>>191
そんな感じです
2016/03/14(月) 16:34:53.47ID:3r3Y4pKU
>>1に助言というか、技術面で知っておいてほしいこと

これは主にXNA界隈で問題視されたんだけど、恐らくDXライブラリでも当てはまるはず

リアルタイムでマネージドの描画APIを呼び出すと、
その度にカーネルの切替が発生して めちゃくちゃ 重いんだわ

だから対策として、XNAではあらかじめ2D用のAPIとしてスプライトバッチという
しくみを提供してたんよ。これは内部的に一度の描画APIで
複数のスプライトを一斉に描画するようにして上記の問題を解決していた
(3Dのほうも同様だったが割愛)

自分はXNA上がりなのでDXライブラリのほうは詳しくないけど
もしDXライブラリの描画コマンドがそのまんDirectXの描画コマンドを
呼び出しているだけで、>>1がそれをそのまま用いてるとすれば
上記のカーネル切替による速度低下が起こっていると思う
2016/03/14(月) 16:45:26.88ID:uhM1fEXi
ありがとうございます
DXLibは一度に描画を行っているが、ブレンドモードを切り替えると一旦描画されるので遅いみたいなのは聞いた気がします
なので出来るだけブレンドモードを切り替えないようにしないといけないみたいです
197195
垢版 |
2016/03/16(水) 21:19:24.09ID:SJAhTSAD
あ、けっこう賢いライブラリなのね
同じブレンドモードで纏めて描画すればバッチ化されてる感

でも本当、マネージドとかDirectXとか、
ちょっとしたことでガクッと描画速度が落ちるから怖い
2016/03/17(木) 08:52:53.68ID:3XKPPsU/
一応ソースです。
http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=past&;no=1901

だから、ブレンドモード呼ぶ回数何とか減らしたいんですけど、今の状態で呼ぶ回数減らしたらソースが読みにくくなって大変なことになりそうなんですよね。。
2016/03/22(火) 23:42:00.40ID:9B+P/Ywg
全方位化計画
画面回したら気分が・・・フラフラしてきた
2016/03/22(火) 23:43:29.56ID:9B+P/Ywg
それよりdouble型でも演算誤差酷いんだけど…
何とかして改善したい
2016/03/23(水) 01:20:23.17ID:V5duqbZw
2Dゲームなら固定小数点のほうがいいんじゃないの?

と思ったが画面が回転するのか
2016/03/23(水) 16:18:57.55ID:pjMnrg6E
http://www.dotup.org/uploda/www.dotup.org789801.png
最高でこのくらい曲がるんだよね
画面が90度単位で回転している時は完全にまっすぐ行くけど、それ以外の時はだんだん誤差が大きくなって、45の倍数かつ、90の倍数でない角度に回転しているときに一番曲がる
2016/03/23(水) 17:25:39.36ID:zAFHZNdL
蓄積してるのかな
誤差の出た結果から更に計算すると誤差でかくなるから常に基準値から計算したほうがいいよ
2016/03/23(水) 18:20:39.29ID:pjMnrg6E
>>203
多分そうだと思います
改善したいのですが、結構難しくて・・・

・お知らせ
最新ver公開しました
全方位化計画後初めてのUPですので前回とは結構違った感じになっています

・今後の予定
折角全方位化したので、同じ方向から攻め続けると耐性がついて、ダメージが少なくなるようなシステムを作ろうと考えています
2016/03/23(水) 19:03:08.56ID:pjMnrg6E
原因は分からないが、適当に弄ってたら誤差問題直ったぞ
Vecをもう一度作り直しただけだけど
2016/03/23(水) 19:11:21.94ID:pjMnrg6E
あっこれ演算誤差じゃなくてVec構造体のバグだった
原因判明
Lengthプロパティでも同じ事していた

public double Rad
{
get { return Math.Atan2(this.y, this.x); }
set
{
this.x = Math.Cos(value) * this.Length;//←ここで長さ変わってるぞ
this.y = Math.Sin(value) * this.Length;//変わった長さを掛けたからラジアンも変わったぞ
}
}
2016/03/23(水) 21:18:45.96ID:Ti6+V5d4
おいっ(笑)
2016/03/25(金) 22:32:16.95ID:8FTjAd4X
遊んでみたよ。
敵が画面外にいくから、レーダーが欲しくなるね。
なんか背景の描画が重い気がする?
2016/03/26(土) 12:09:16.27ID:5BvnRQ3z
>>208
描画は確かに重いですね。
30FPSモードも追加したほうがいいかもしれません・・・

wikiに書いてありますが、Wがターゲットカメラになっていて、敵の方向を自機が向きます
遠距離攻撃のない敵がタゲカメを使って遠くから撃っていれば勝てるので、調整する予定ですが・・・
2016/03/26(土) 12:10:30.70ID:5BvnRQ3z
様々のスペックのPCで動かすことが出来ないので、遊んでくださった方は平均FPSを書いてくださると助かります。
2016/03/29(火) 23:02:42.54ID:XDvpSGmP
ノートPC(Let's note) Core i5
BluRay見ながらで26FPSくらい

ソース落とさせてもらいました
Back.Draw内のZBufferがらみを削って動かせば57FPSくらい出る
2016/03/30(水) 10:07:04.71ID:z6K+1Hl2
そこまで重かったですか・・・
円形にしたかったのでZBuffer使っていたのですが(マスクよりは軽い為)
設定で変えれるようにした方がよさそうですね
2016/03/30(水) 13:19:55.31ID:TxPYU5Yv
StencilBufferはどうだろう
使ったこと無いので適当いうけど、

ZBufferを毎回クリアして、
背景描画の都度Zbufferを上書きしてしまうより
早いんでない?
2016/03/30(水) 16:53:05.22ID:BP+3jgDh
Zバッファ? 2Dシューティングじゃなかったの?
2016/03/30(水) 18:04:58.14ID:z6K+1Hl2
>>214
背景の円形描画に使っています
2016/03/30(水) 22:59:38.96ID:9oaM+Kxr
四角形の背景素材を敷き詰めてるので、そのままじゃ背景が四角く
なってしまうのを円形に表示したいので、ZBufferを使っている、って感じ。

自分のやりたいことを、自分なりに作るのは、スキル向上の第一歩だ!
(そして数年後に恥ずかしくなるorz)
2016/03/31(木) 00:45:51.05ID:Eh24O8Le
背景が四角くなってしまうのを円形に表示したい
→ZBufferを使っている

ちょっと時間がないので実機で確かめられなくてスマンけど
この繋がりが分からない。大きな円の外枠を描画してその部分を手前にってこと?
2016/03/31(木) 01:41:33.52ID:VePBGkx8
そうそう

丸く背景を描くために、あらかじめ
その外側のZbufferに最前値を設定して書き込めなくしておくイメージ
2016/03/31(木) 09:30:43.55ID:FAuFg1M5
そうです
最初にステージ全体にZBufferをした後、円形の部分のZBufferをクリアしています
2016/03/31(木) 23:09:47.86ID:FAuFg1M5
これ延々に未完成になりそう
とりあえず
・キーコンフィグ
・その他設定
・ゲーム中の一時停止/タイトルへ
・複雑な動きをする敵一匹
・敵のエフェ
・敵のドット絵
ここまで出来たらとりあえず完成版と言う事にするか。
オンラインゲーみたいにどんどんバージョンアップさせればいいし
2016/04/01(金) 01:06:24.29ID:k1CjfdVF
左右キーで横移動ではなく
旋回にするのはどうだろう
2016/04/01(金) 01:13:25.11ID:vXsIg2sp
バージョンアップするのに完成版

アホか
2016/04/01(金) 09:22:42.79ID:w4g1O5bk
>>221
旋回して移動だと操作しにくくないですかね?

>>222
敵はまだまだ追加したいのですが、とりあえず遊べるようにはしたいので
2016/04/01(金) 09:29:20.92ID:3P+gxVSU
>>223
うん、俺もそう思った。すまんw
LR付きパッドなら、LRで旋回とかできそうだけどね
2016/04/01(金) 11:14:49.40ID:w4g1O5bk
キーコンフィグ出来た
コミット&ZIP化します
2016/04/01(金) 16:39:34.13ID:w4g1O5bk
動物系統の敵のボス的な位置にライオンみたいな奴作るか
動き複雑にして・・・
2016/04/01(金) 17:51:19.73ID:w4g1O5bk
作ってみた
・・・クソツヨイ
2016/04/02(土) 00:34:03.19ID:BHs6mnjJ
有料配布だと初動が重要なので、最初にある程度遊べるものでないとダメだけど
フリーならまあVer.1.0公開ってことでいいんじゃないのかね
2016/04/05(火) 23:44:16.45ID:gCbz5TvN
やっとレオーネ(新敵)倒せたので明日配布します
こいつ強すぎだろ(自分で作っておきながら)
230tkr ◆8reCYe8za.
垢版 |
2016/04/07(木) 16:43:26.18ID:krf3NWLH
遅くなりました
最新バージョンアップロードしました
https://osdn.jp/projects/shooting-game/releases/

新敵レオーネの追加と一時停止の実装です
2016/04/09(土) 10:42:26.03ID:7xRDCc2/
脳内の敵の想像をそのままコードに反映出来る自作スクリプト作りたい
2016/04/10(日) 16:46:04.10ID:QZtkzhho
現在OSDNからGitHubにプロジェクトの移動を予定しています
2016/04/11(月) 18:27:39.19ID:P4ygj3ip
スクリプト言語どうしよう...
2016/04/11(月) 18:45:48.21ID:P4ygj3ip
自分で作るのは大変そうだからlua使うか・・・
2016/04/11(月) 22:36:50.86ID:P4ygj3ip
委譲ってのを使えばスクリプト言語いらない気がしてきた
2016/04/12(火) 21:50:31.97ID:BxcOd+Cn
続いてるねぇ
2016/04/13(水) 00:16:57.12ID:1mXTsyyX
もう少しで敵の動きをコマンドみたいに書けるようになる予定です
2016/04/13(水) 18:49:22.56ID:1mXTsyyX
コマンドみたいな書き方が一応完成

今まで結構長かったソースがかなり短くなりました(ソースはボアです)

if (!this.SyncTransfer.Need)
{
this.SyncTransfer.Add(new ChargeEffect(this,300,(int)this.R*3,Color.Red));
this.SyncTransfer.Add(new SetPower(this, 20));
this.SyncTransfer.Add(new ULMTarget(this, this.My, 10, 60));
this.SyncTransfer.Add(new SetPower(this, 0));
}
2016/04/13(水) 18:51:34.91ID:1mXTsyyX
GitHub
https://github.com/kgtkr/MachShooting

今度からはここにコミットしていきます
2016/04/14(木) 10:49:53.11ID:n0wKSrZ/
いいね

でもちょっといい?
コンパイルしてできるものは含めないほうがいい
履歴のバイナリをzipで含めるのも論外
.gitignoreも設置したほうがいい、VS用で探すといい
readme.txtかreadme.md をトップに置くといいよ
zipはGitHubのreleasesに置けばいい
コミット時のコメントに現在と書いてもいつの現在かわからなくなるよw
最初は差分無いから適当なコメントでいいけど

libを入れるのはどうだろ、、まあある程度はしょうがないか
2016/04/14(木) 12:51:17.93ID:jyL0sFBP
あ、できればreadmeはREADMEで
2016/04/14(木) 17:28:02.11ID:jAvYsxuq
.gitignoreを使えば、ファイルの無視とか出来たんですね
今まで手動でしていました…

まだGitHub使い始めたばかりで、README.mdやreleaseの使い方がいまいち分からなかったので、調べてみます

libというのは、DXライブラリのフォルダをそのまま入れると言う事でしょうか?

改善します。ご指摘ありがとうございます
2016/04/14(木) 18:15:48.32ID:jyL0sFBP
あーいや、DXLib入れるとしたらサブモジュールだけど
まあ現状ではそのままでいいと思う、いきなりビルドもできるしね
2016/04/15(金) 18:58:57.07ID:51oIKH9Q
たしかにコミットファイルにコンパイル結果とか中間ファイル含めちゃいかんよ(笑)
最初はそんなもんだろうけど
2016/04/17(日) 14:14:56.64ID:yhzli7by
ブレンドモード切り替えを頻繁にするのと、ブレンドモード切り替え回数を減らす代わりにZバッファを使うのとではどっちがいいんだろう
2016/04/17(日) 14:20:37.33ID:yhzli7by
でも、複雑な形のZバッファ処理大変か・・・
2016/04/17(日) 22:27:08.10ID:vDZkmlOB
一概に言えないと思うよ

>ブレンドモード切り替えを頻繁に
.NETのカーネルスワップの問題なのでCPUの負荷

>Zバッファ
GPUの負荷

ただここ数年のハードでZバッファがそこまで重いというのがよく分からない
まあ1画面全体となると馬鹿にならないか…
2016/04/20(水) 12:46:11.67ID:O2FcOvQx
やっぱ両方やってプロファイル取るのがいいかもね
2016/04/21(木) 22:57:08.91ID:aNwqaCYi
今週はサーバーの勉強ばかりしてて触ってない・・・
とりあえず一段落ついたので、今日から再開します
2016/04/21(木) 23:40:57.23ID:aNwqaCYi
とりあえずコマンド式の敵完成
ラムダ式を使えばもっとスッキリしそうな気がするけど
2016/04/22(金) 18:55:09.49ID:SApaeOWl
ステップ数初めて数えたらまだ1700くらいだった
出来るだけ短くしたいんだけどな・・・
2016/04/22(金) 23:51:48.95ID:SApaeOWl
このプロジェクト7月からしていたのか・・・
2016/05/23(月) 10:31:18.63ID:vS+95rJC
ゲーム開発のモチベ下がってきたので、別の開発をしていますが、そっちのモチベが下がってきたらまた戻ってきます
中止した訳ではありません
2015/12〜2016/1みたいな休止状態です
2016/05/23(月) 10:32:17.41ID:vS+95rJC
同じ開発を長く続けると疲れるから、3個くらいのプロジェクトをローテーションで開発する派
2016/05/23(月) 15:01:05.49ID:5E+YoGOC
俺も同じだな
メイン作成中はRPGだけど、息抜きでSLG作成中。
でも軸はずらさないようにしてる。
(将来RPGに実装したい一部分を抜き出してSLGの体で分割開発してる感じ)
2016/05/23(月) 17:33:05.61ID:IxXgporV
別の分野を作ると、今詰まっていた所を簡単に書ける方法が分かったりして、結構効率よく作れるようになったりするんですよね
2016/06/07(火) 18:59:31.12ID:t4FlgO8y
久しぶりに取り掛かるか・・・
258tkr ◆8reCYe8za.
垢版 |
2016/06/07(火) 19:11:37.30ID:t4FlgO8y
とりあえず、リソース管理をどうにかしたい
全部Programクラスに突っ込んでいるし
259tkr ◆8reCYe8za.
垢版 |
2016/06/07(火) 22:00:46.34ID:t4FlgO8y
シングルトンと自動実装プロパティが便利
2016/06/08(水) 22:13:21.78ID:THY7PHNS
今更ながらプレイした
Atom Z3775でFPS 39出てた
そこそこ軽いんじゃね?
261tkr ◆8reCYe8za.
垢版 |
2016/06/08(水) 23:02:39.51ID:yemKA9at
設定でフレームスキップしたらどうなります?
262tkr ◆8reCYe8za.
垢版 |
2016/06/08(水) 23:12:17.92ID:yemKA9at
真面目にドット絵描くか
…とは言っても真面目に書いたと言って糞下手な絵出すのも恥ずかしい
画力欲しい
263tkr ◆8reCYe8za.
垢版 |
2016/06/08(水) 23:12:47.29ID:yemKA9at
とりあえず弾クラスの色の指定を楽に出来る用にしよう
264tkr ◆8reCYe8za.
垢版 |
2016/06/08(水) 23:24:18.48ID:yemKA9at
ドット絵エディタじゃなくてGIMP使えば誤魔化せそう
265tkr ◆8reCYe8za.
垢版 |
2016/06/09(木) 00:23:39.19ID:QfR4OrJL
弾画像を自作したら輪投げみたいになってしまった
2016/06/09(木) 12:02:43.30ID:VKQrYio3
フレームスキップのやり方どうすんの?
267tkr ◆8reCYe8za.
垢版 |
2016/06/09(木) 16:08:05.45ID:QfR4OrJL
>>266
config.iniのFPSプロパティで設定できます
1が初期値です
http://www65.atwiki.jp/machshooting/pages/21.html
268tkr ◆8reCYe8za.
垢版 |
2016/06/09(木) 18:20:17.16ID:QfR4OrJL
頑張って30x30のイノシシ描いたけど何か上手く描けない
http://www.dotup.org/uploda/www.dotup.org896160.png
269tkr ◆8reCYe8za.
垢版 |
2016/06/09(木) 18:21:38.49ID:QfR4OrJL
30x30なのにかなり時間掛かったんだが、50x50とか描けるのだろうか
2016/06/09(木) 19:02:59.40ID:UF3bij9S
あれがフレームスキップだったのねw
30とか20だからFPS固定だと思ってた
とりまFPS=2 では起動時に58FPSぐらいまで下がるが他では60FPSに張り付いてる
弾の発射速度が向上してるから動作速度も上がってるぽい
ちなみにFPS=3でも同様


デザインより先に内部構造を作ってから他の作業したほうが効率いいっぽいよ?
271tkr ◆8reCYe8za.
垢版 |
2016/06/09(木) 19:31:02.20ID:QfR4OrJL
最初フレームスキップっていう言葉を知らなくて、単純にFPSにしていました
修正します

内部構造は大体出来たので、あとは敵を増やすくらいなんですよね
とりあえず動物シリーズは一通り出来たので、細かい調整やデザインをしています
272tkr ◆8reCYe8za.
垢版 |
2016/06/09(木) 19:42:00.22ID:QfR4OrJL
最新リリース
PreAlpha20160609
https://github.com/kgtkr/MachShooting/releases
2016/06/09(木) 21:17:27.16ID:QfR4OrJL
すみません
公開設定になっていませんでした
274tkr ◆8reCYe8za.
垢版 |
2016/06/10(金) 15:48:17.41ID:BjdadV25
絵真面目に描いてもかなり下手だけどもういいや
中身頑張ろう
275tkr ◆8reCYe8za.
垢版 |
2016/06/10(金) 19:51:48.03ID:BjdadV25
太鼓さん次郎って言う太鼓シミュあるやん?
最終的にはあんな感じで、敵を誰でも作れるようなスクリプト作りたいな
でも難しすぎる
276tkr ◆8reCYe8za.
垢版 |
2016/06/10(金) 20:25:21.60ID:BjdadV25
東方弾幕風というのがあるみたいだから参考にしたい
最終的にはlua使うことになりそうだけど
277tkr ◆8reCYe8za.
垢版 |
2016/06/11(土) 12:01:53.47ID:UOYyU6//
luaの配列って1からかよ
気持ち悪
278tkr ◆8reCYe8za.
垢版 |
2016/06/11(土) 12:15:02.95ID:UOYyU6//
themとかdoとかendとか使う言語使ったことないから全く分からん
中括弧がよかった
279tkr ◆8reCYe8za.
垢版 |
2016/06/11(土) 12:16:42.47ID:UOYyU6//
! && ||じゃなくてnot and orだと…
何だこの言語は
280tkr ◆8reCYe8za.
垢版 |
2016/06/11(土) 12:18:12.40ID:UOYyU6//
!=が~=になるのか
あと累乗が^
281tkr ◆8reCYe8za.
垢版 |
2016/06/11(土) 16:13:03.20ID:UOYyU6//
// --
null nil
282tkr ◆8reCYe8za.
垢版 |
2016/06/11(土) 16:16:48.29ID:UOYyU6//
++も+=も使えないって酷い
2016/06/11(土) 17:30:17.94ID:ZZeAPs4+
https://github.com/tomaka/luawrapper
284tkr ◆8reCYe8za.
垢版 |
2016/06/11(土) 17:57:22.49ID:UOYyU6//
c#で作っているので、c++用だと…
頑張ってBASIC文法に慣れます…
2016/06/11(土) 18:54:20.47ID:ZZeAPs4+
https://github.com/NLua/NLua
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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