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

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

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

【プロジェクトへの参加について】
プログラミングはもちろん、画像、音楽編集等も大歓迎です。
2015/07/13(月) 00:14:08.70ID:u37lAxzn
【フォーラム-ゲームの基本的な部分】
*ゲームの正式名称
https://osdn.jp/projects/shooting-game/forums/32557/36941/
*クラス図、is-a、has-a
https://osdn.jp/projects/shooting-game/forums/32557/36942/
*総合
https://osdn.jp/projects/shooting-game/forums/32557/36940/

【チケット】
クラス図、is-a、has-aの関係をある程度作る

【マイルストーン】
基本的な部分を決める
とりあえず動くようにする
2015/07/13(月) 00:26:50.56ID:u37lAxzn
とりあえず現在のプロジェクト情報を貼りました。
宜しくお願いします。
2015/07/13(月) 02:13:36.50ID:AAWa3QHZ
面白そうだけど自分のイメージと同じかわからんな
C# DXってSharpDX想定?
2015/07/13(月) 17:12:14.36ID:u37lAxzn
>>4
DXライブラリです。
2015/07/13(月) 18:20:14.41ID:u37lAxzn
【スレッド ゲームの基本的な部分:クラス図、is-a、has-a】
is-a、has-aの関係を簡単に作りました。
https://osdn.jp/projects/shooting-game/forums/32557/36942/

is-a
GameObject ┬Teki─各種敵
        ├My
        ├Die
        └Tama─各種弾

has-a
Main┬Title
   ├Ranking┬Score[]
    │       └Net
    └Game┬Teki[]─Tama[]
         ├My─Tama[]
         ├Back
         ├Point
         ├Key
         └TamaNumber
2015/07/13(月) 20:06:58.55ID:UACPDUdt
オブジェクトの継承包合関係はプログラマくらいしか興味ない情報じゃないかな。
画像と音も募集してるならもうちょい具体的なイメージを提示したほうが良いんじゃなかろうかのー
2015/07/13(月) 20:57:59.92ID:u37lAxzn
is-a、has-a修正
これの通りにクラスを作成してコミットしました。

is-a
GameObject ┬Teki─各種敵
        ├My
        ├Die
        └Tama─各種弾

Stage─各ステージ

has-a
Main┬Title─TitleKey
    ├Ranking┬Score[]
    │       ├Net
    │       ├File
    │       └RankingKey
    └Game┬Teki[]─Tama[]
         ├My─Tama[]
         ├Stage─Back
         ├Point
         ├GameKey
         └TamaNumber
2015/07/13(月) 20:58:46.70ID:u37lAxzn
ファイル分け。1/2
*Back.cs
Back
*Die.cs
Die
*Game.cs
Die
*GameObject.cs
GameObject
*Key.cs
GameKey
TitleKey
RankingKey
*Main.cs
Main
*My.cs
My
*Number.cs
TamaNumber
Point
2015/07/13(月) 20:59:07.34ID:u37lAxzn
ファイル分け。2/2
*Ranking.cs
Net
Ranking
Score
File
*Stage.cs
Stage
各ステージ
*Tama.cs
各弾
*Teki.cs
各敵
*Title.cs
Title
2015/07/13(月) 21:00:41.26ID:u37lAxzn
>>7
具体的なイメージは少々お待ち下さい。今日の夜〜明日の間には公開できると思います。
2015/07/13(月) 21:19:05.71ID:u37lAxzn
javaですがイメージが少しでもできるようにリンク貼っておきます。
実際は画像が変わり、敵が弾を出すようになり、ステージが追加されたりします。
https://www.mediafire.com/folder/8gurxfhhq2a4d/

現在の予定
・無限ループ
・通常弾で攻撃するとゲージが溜まりゲージを消費して特殊弾を撃てる
2015/07/14(火) 08:39:22.66ID:XAZno6tk
DXライブラリをC#から使うメリットは全くないよな。
まあそれしか知らんのならしょうがないが。
2015/07/14(火) 18:28:38.24ID:c995+RdQ
>>13
.NET Frameworkがあるからと言う事ですか?
2015/07/14(火) 23:07:04.35ID:c995+RdQ
コミットしました。

GameObjectクラスを少し作成。
Mainクラスとmainクラスに変更。
Mainメソッドを少し作成。
2015/07/15(水) 22:58:26.34ID:6a/hDLf/
コミットしました。

仮の画像を追加。
GameObjectクラスのコンストラクタとその子クラスのコンストラクタを作成。
GameObjectクラスにメソッド追加。
mainクラスで画像の読み込み。
その他修正。


チケットを作成しました。

自機を作る
https://osdn.jp/ticket/browse.php?group_id=10028&;tid=35316
17tkr ◆8reCYe8za.
垢版 |
2015/07/18(土) 10:27:41.66ID:czytKmOT
【コミットr6】
Dieクラス作成
列挙型Direction作成
Myクラスの移動部分作成。
GameObjectクラスのimgX、imgY、hitX、hitYをプロパティでまとめて変更できるようにした。
GameKeyクラスをstaticに。
GameKeyの移動部分を作成。
18名前は開発中のものです。
垢版 |
2015/07/27(月) 15:08:51.12ID:/CO8ZZaM
また糞スレ立て逃げ?
2015/07/27(月) 16:15:12.04ID:w0ctpQcp
>>1のリンク先で7/22にコミットがあるよ。
判断するにはまだ早いかと。
成果物はおろか中間ファイルまでリポジトリに入ってるのは勘弁だがw
20tkr ◆8reCYe8za.
垢版 |
2015/07/27(月) 16:47:05.18ID:59qqZLSf
立て逃げではありません。すみません。
21tkr ◆8reCYe8za.
垢版 |
2015/07/31(金) 22:56:37.67ID:kNTv3ZOJ
【コミットr8】
Screenクラス追加。
Gameクラスを少し作成。
is-a、has-a、ファイル分け.txt変更。
その他変更。
2015/08/03(月) 13:43:20.95ID:5yU+Pb88
binとobj乗っけるのやめられないのかなあ
Datasの置き場所に工夫が必要になるけどさあ
23tkr ◆8reCYe8za.
垢版 |
2015/08/03(月) 15:49:58.12ID:kY1MKn3T
>>22
objフォルダとbinフォルダはいらないという事ですか?
2015/08/03(月) 16:14:51.48ID:5yU+Pb88
そう、あと.suoもいらん
VCS使うの初めて?
まあソースツリーとバイナリの配布は別々にした方がいいかと
2015/08/03(月) 16:20:23.48ID:kY1MKn3T
解説しているサイトとかないですかね?
2015/08/03(月) 17:11:38.15ID:5yU+Pb88
難しいな、何を管理対象にするかとかを書いてるとこなかなかないな
最近はGitのが解説多そうだしなあ
.svnignore とVisualStudio svnあたりでたどってみては・・・
2015/08/03(月) 17:14:45.37ID:kY1MKn3T
ありがとうございます。
少し調べてみます。
2015/08/03(月) 18:30:32.21ID:kY1MKn3T
【r9】
TamaNumber削除
GameObjectの座標を倍精度小数にし、それに合わせてその他メソッド等を修正
Tamaクラスの弾管理メソッド作成

【r10】
フォルダ構造を変更

【その他】
r9で弾幕っぽくなっていますがあれは自機の必殺技的な物です。実験用に自動で弾が発射されるようになっています。
敵を倒すとゲージが溜まっていき、それを使う事で特殊弾や一定時間無敵、スピードアップや連射等の強化ができるようにする予定です。
2015/08/03(月) 18:55:00.01ID:kY1MKn3T
ゲーム名候補

QSTG
意味…QuickSTG

何かいまいち。
2015/08/04(火) 00:46:27.42ID:MmvJawGv
【r11】
分かりにくいコメントの修正。
GameObjectクラスのコンストラクタ(double,double,int)、(GameObject,int)を追加。
GameObjectクラスの中心座標取得関係のメソッドをint型指定でもできるようにした。
テスト用にオブジェクトの当たり判定部分を赤い四角で囲んだ。
31tkr ◆8reCYe8za.
垢版 |
2015/08/04(火) 20:22:38.64ID:OvWBl5fZ
【r12】
当たり判定用の座標、大きさと画像用の座標、大きさについて.txt作成
追跡弾作成
回転弾変更
散弾作成
自機の移動範囲拡大
弾のキー操作に少し対応
2015/08/04(火) 21:32:13.48ID:OvWBl5fZ
【当たり判定用の座標、大きさと画像用の座標、大きさについて.txt】
基本的に当たり判定用の座標、大きさと画像用の座標、大きさは同じにして下さい。
ただし弾のスピードが速すぎてすり抜ける場合など調整が必要な場合は調整して下さい。
また画像用の変数をメインに考えて下さい(はみ出しチェックなどは画像用変数で行う)
2015/08/04(火) 21:33:14.67ID:OvWBl5fZ
その1
【ゲージ関係.txt】←次回のコミット時に追加します。
敵を倒すとゲージが溜まっていくようにする予定です。
そのゲージで色々な技をできるようにする予定です。
以下現在考えている技(全仮名)

【弾系】
ゲージを使う事で特殊弾を撃てるようにする予定です。現在の予定は
*高速弾
通常の弾の1.5〜2倍速い弾
*拡散弾
前に飛んでいく弾
*追跡弾
敵の方向に飛んでいく玉弾
*回転弾(切り札)
数方向に弾をばら撒く
*円形弾
円形に弾を飛ばす
2015/08/04(火) 21:33:42.42ID:OvWBl5fZ
その2
【ゲージ関係.txt】←次回のコミット時に追加します。
敵を倒すとゲージが溜まっていくようにする予定です。
そのゲージで色々な技をできるようにする予定です。
以下現在考えている技(全仮名)

【自己強化】
*連射強化
弾を発射できる間隔が短くなる
*移動速度強化
速度が1.5〜2倍になる
*当たり判定縮小
自機の当たり判定が1/2〜1/4になる
*弾サイズ強化
弾サイズが2〜4倍になる

【その他】
*回避
60Fくらい無敵
*カウンター
最初の5fで敵の攻撃が当たれば回転弾、6〜10fなら円形弾、11〜15なら拡散弾などのカウンターが可能。ギリギリまで引き寄せるほど効果が大きくなるようにしたい。
2015/08/05(水) 18:24:23.25ID:QPVl04Xr
【r13】
「ゲージ関係.txt」作成
Tamaクラスの進むx、yを先に計算するようにして高速化。
回転弾変更
テスト用のDrawBoxが重い為コメントアウト
散弾変更

【その他】
GameObjectクラスが使いにくいので改造中です。
2015/08/06(木) 00:21:24.25ID:WafvykF3
【r14】
「当たり判定用の座標、大きさと画像用の座標、大きさについて.txt」削除
GameObjectの大幅変更とそれに依存するクラスの修正
*内容
今までの当たり判定と画像のXYWHを統一し当たり判定を+数値で指定するようにした。
便利なプロパティやコンストラクタ等の作成。
当たり判定のすり抜け防止の為、矩形の当たり判定に加えて線分の交差判定を追加した。
その他色々。

*注意
newして待ち時間のある弾は発射した機体を追うため、機体が動くとテスト用当たり判定線分の表示がおかしくなります。ただしゲームには影響ありません。
2015/08/06(木) 23:08:46.75ID:WafvykF3
ゲーム名候補

"煌速凶獸狙撃"

意味:光(煌)速で凶暴な獣(獸)を狙って撃破。
でも獣じゃなくて戦闘機のシューティング作りたいんだよな・・・
最近人型多いから。
機械なら

"煌速危機狙撃"

でもいいか。本当は危険な機械って書きたいのに危機になってしまったorz
2015/08/06(木) 23:42:09.49ID:WafvykF3
【r15】
GameObjectクラスにNotLineメソッド追加
前回コミットの弾を発射した後移動すると当たり判定用線がおかしくなる不具合修正
2015/08/07(金) 08:49:22.32ID:8P091hGo
【r16】
機体の描画領域を画面の端までから380×460(ただし左と上に10隙間がある)に変更
それに合わせて各クラス変更。
またGameObjectクラスのDrawGraphを使って描画している場合はウィンドウの座標ではなく描画部分の座標で指定して下さい(例:ウィンドウのX20に描画する場合はX10と指定)
2015/08/07(金) 22:20:27.70ID:8P091hGo
【r17】
自機の初期位置変更
散弾変更
通常弾、高速弾、連射弾作成
Tamaクラス修正
GameObjectクラス修正。スピードが速すぎると線分交差判定がおかしくなる問題修正。またそれに依存するクラスの修正。
「ゲージ関係.txt」変更
41tkr ◆8reCYe8za.
垢版 |
2015/08/25(火) 14:25:21.12ID:3/2xaZaA
【r18】
連射弾変更
弾の待ち時間.txt作成
弾の発射にキーを割り当てる為に色々変更
2015/08/25(火) 22:15:49.20ID:BcQa3el1
ソースみたけど、C#は初心者なのか
C#版DXライブラリはオブジェクト指向的に不自然だから、軽くでいいからラッパーを作ってC#の流儀に合うようにしたほうがいいと思うぞ
あとは、もう少し名前に気を使ってC#の命名規則に合わせるとか、ドキュメントコメントつけるとか、publicなフィールドはすべてプロパティにするとかしとくと後々余計な苦労せず済むかも
43tkr ◆8reCYe8za.
垢版 |
2015/08/25(火) 22:22:41.81ID:3/2xaZaA
>>42
javaから移ってきて文法がほぼ一緒だったので何となくで書いていました。
ラッパーを作るというのは例えば
DX.TRUEorFALSEを返す所をboolで返したりという事でしょうか?
2015/08/26(水) 00:43:03.16ID:43jSpF/y
>>43
そういうのもそうだし、refやoutを取る関数もラップするとか、呼び出しをクラスにまとめるとかいろいろある
ただし、あんまりこだわるとラッパーライブラリ作るのに忙しくてゲーム作成に行き着かなくなるからほどほどに

あと、座標はPoint、大きさはSize、矩形はRectangleにしたほうがスッキリするし、IntersectsWithみたいなメソッドも使えておすすめ。
ただし、構造体はフィールドとプロパティで扱いが違うから、publicはすべてプロパティに統一しない後々面倒かもしれない
45tkr ◆8reCYe8za.
垢版 |
2015/08/26(水) 00:48:06.85ID:WO7voyCF
>>44
自作しないで
http://totora.jpn.org/archives/2006/04/c_directx.html
はどうですかね?
2015/08/26(水) 19:53:28.26ID:43jSpF/y
>>45
それは方向性はいいけど、更新されてないから真似して作り直したほうがいい
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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