1 名前:tkr ◆8reCYe8za. mailto:sage [2015/07/12(日) 23:51:31.47 ID:k1m5p6IG.net] 【プロジェクトページ(OSDN)】 https://osdn.jp/projects/shooting-game/ 【プロジェクトの説明】 最近流行っている弾幕シューティングとは真逆のシューティングゲームを作成するプロジェクトです。 具体的には敵や敵の出す弾は高速ですがあまり弾を出しません。 瞬発力を必要としますが攻略も楽しめるゲームを目指します。 【プロジェクトへの参加について】 プログラミングはもちろん、画像、音楽編集等も大歓迎です。
2 名前:名前は開発中のものです。 mailto:sage [2015/07/13(月) 00:14:08.70 ID:u37lAxzn.net] 【フォーラム-ゲームの基本的な部分】 *ゲームの正式名称 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の関係をある程度作る 【マイルストーン】 基本的な部分を決める とりあえず動くようにする
3 名前:tkr ◆8reCYe8za. mailto:sage [2015/07/13(月) 00:26:50.56 ID:u37lAxzn.net] とりあえず現在のプロジェクト情報を貼りました。 宜しくお願いします。
4 名前:名前は開発中のものです。 mailto:sage [2015/07/13(月) 02:13:36.50 ID:AAWa3QHZ.net] 面白そうだけど自分のイメージと同じかわからんな C# DXってSharpDX想定?
5 名前:tkr ◆8reCYe8za. mailto:sage [2015/07/13(月) 17:12:14.36 ID:u37lAxzn.net] >>4 DXライブラリです。
6 名前:tkr ◆8reCYe8za. mailto:sage [2015/07/13(月) 18:20:14.41 ID:u37lAxzn.net] 【スレッド ゲームの基本的な部分:クラス図、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
7 名前:名前は開発中のものです。 mailto:sage [2015/07/13(月) 20:06:58.55 ID:UACPDUdt.net] オブジェクトの継承包合関係はプログラマくらいしか興味ない情報じゃないかな。 画像と音も募集してるならもうちょい具体的なイメージを提示したほうが良いんじゃなかろうかのー
8 名前:tkr ◆8reCYe8za. mailto:sage [2015/07/13(月) 20:57:59.92 ID:u37lAxzn.net] 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
9 名前:tkr ◆8reCYe8za. mailto:sage [2015/07/13(月) 20:58:46.70 ID:u37lAxzn.net] ファイル分け。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
10 名前:tkr ◆8reCYe8za. mailto:sage [2015/07/13(月) 20:59:07.34 ID:u37lAxzn.net] ファイル分け。2/2 *Ranking.cs Net Ranking Score File *Stage.cs Stage 各ステージ *Tama.cs 各弾 *Teki.cs 各敵 *Title.cs Title
11 名前:tkr ◆8reCYe8za. mailto:sage [2015/07/13(月) 21:00:41.26 ID:u37lAxzn.net] >>7 具体的なイメージは少々お待ち下さい。今日の夜〜明日の間には公開できると思います。
12 名前:tkr ◆8reCYe8za. mailto:sage [2015/07/13(月) 21:19:05.71 ID:u37lAxzn.net] javaですがイメージが少しでもできるようにリンク貼っておきます。 実際は画像が変わり、敵が弾を出すようになり、ステージが追加されたりします。 https://www.mediafire.com/folder/8gurxfhhq2a4d/ 現在の予定 ・無限ループ ・通常弾で攻撃するとゲージが溜まりゲージを消費して特殊弾を撃てる
13 名前:名前は開発中のものです。 mailto:sage [2015/07/14(火) 08:39:22.66 ID:XAZno6tk.net] DXライブラリをC#から使うメリットは全くないよな。 まあそれしか知らんのならしょうがないが。
14 名前:tkr ◆8reCYe8za. mailto:sage [2015/07/14(火) 18:28:38.24 ID:c995+RdQ.net] >>13 .NET Frameworkがあるからと言う事ですか?
15 名前:tkr ◆8reCYe8za. mailto:sage [2015/07/14(火) 23:07:04.35 ID:c995+RdQ.net] コミットしました。 GameObjectクラスを少し作成。 Mainクラスとmainクラスに変更。 Mainメソッドを少し作成。
16 名前:tkr ◆8reCYe8za. mailto:sage [2015/07/15(水) 22:58:26.34 ID:6a/hDLf/.net] コミットしました。 仮の画像を追加。 GameObjectクラスのコンストラクタとその子クラスのコンストラクタを作成。 GameObjectクラスにメソッド追加。 mainクラスで画像の読み込み。 その他修正。 チケットを作成しました。 自機を作る https://osdn.jp/ticket/browse.php?group_id=10028&tid=35316
17 名前:tkr ◆8reCYe8za. [2015/07/18(土) 10:27:41.66 ID:czytKmOT.net] 【コミットr6】 Dieクラス作成 列挙型Direction作成 Myクラスの移動部分作成。 GameObjectクラスのimgX、imgY、hitX、hitYをプロパティでまとめて変更できるようにした。 GameKeyクラスをstaticに。 GameKeyの移動部分を作成。
18 名前:名前は開発中のものです。 [2015/07/27(月) 15:08:51.12 ID:/CO8ZZaM.net] また糞スレ立て逃げ?
19 名前:名前は開発中のものです。 mailto:sage [2015/07/27(月) 16:15:12.04 ID:w0ctpQcp.net] >>1 のリンク先で7/22にコミットがあるよ。 判断するにはまだ早いかと。 成果物はおろか中間ファイルまでリポジトリに入ってるのは勘弁だがw
20 名前:tkr ◆8reCYe8za. [2015/07/27(月) 16:47:05.18 ID:59qqZLSf.net] 立て逃げではありません。すみません。
21 名前:tkr ◆8reCYe8za. [2015/07/31(金) 22:56:37.67 ID:kNTv3ZOJ.net] 【コミットr8】 Screenクラス追加。 Gameクラスを少し作成。 is-a、has-a、ファイル分け.txt変更。 その他変更。
22 名前:名前は開発中のものです。 mailto:sage [2015/08/03(月) 13:43:20.95 ID:5yU+Pb88.net] binとobj乗っけるのやめられないのかなあ Datasの置き場所に工夫が必要になるけどさあ
23 名前:tkr ◆8reCYe8za. [2015/08/03(月) 15:49:58.12 ID:kY1MKn3T.net] >>22 objフォルダとbinフォルダはいらないという事ですか?
24 名前:名前は開発中のものです。 mailto:sage [2015/08/03(月) 16:14:51.48 ID:5yU+Pb88.net] そう、あと.suoもいらん VCS使うの初めて? まあソースツリーとバイナリの配布は別々にした方がいいかと
25 名前:tkr ◆8reCYe8za. mailto:sage [2015/08/03(月) 16:20:23.48 ID:kY1MKn3T.net] 解説しているサイトとかないですかね?
26 名前:名前は開発中のものです。 mailto:sage [2015/08/03(月) 17:11:38.15 ID:5yU+Pb88.net] 難しいな、何を管理対象にするかとかを書いてるとこなかなかないな 最近はGitのが解説多そうだしなあ .svnignore とVisualStudio svnあたりでたどってみては・・・
27 名前:tkr ◆8reCYe8za. mailto:sage [2015/08/03(月) 17:14:45.37 ID:kY1MKn3T.net] ありがとうございます。 少し調べてみます。
28 名前:tkr ◆8reCYe8za. mailto:sage [2015/08/03(月) 18:30:32.21 ID:kY1MKn3T.net] 【r9】 TamaNumber削除 GameObjectの座標を倍精度小数にし、それに合わせてその他メソッド等を修正 Tamaクラスの弾管理メソッド作成 【r10】 フォルダ構造を変更 【その他】 r9で弾幕っぽくなっていますがあれは自機の必殺技的な物です。実験用に自動で弾が発射されるようになっています。 敵を倒すとゲージが溜まっていき、それを使う事で特殊弾や一定時間無敵、スピードアップや連射等の強化ができるようにする予定です。
29 名前:tkr ◆8reCYe8za. mailto:sage [2015/08/03(月) 18:55:00.01 ID:kY1MKn3T.net] ゲーム名候補 QSTG 意味…QuickSTG 何かいまいち。
30 名前:tkr ◆8reCYe8za. mailto:sage [2015/08/04(火) 00:46:27.42 ID:MmvJawGv.net] 【r11】 分かりにくいコメントの修正。 GameObjectクラスのコンストラクタ(double,double,int)、(GameObject,int)を追加。 GameObjectクラスの中心座標取得関係のメソッドをint型指定でもできるようにした。 テスト用にオブジェクトの当たり判定部分を赤い四角で囲んだ。
31 名前:tkr ◆8reCYe8za. [2015/08/04(火) 20:22:38.64 ID:OvWBl5fZ.net] 【r12】 当たり判定用の座標、大きさと画像用の座標、大きさについて.txt作成 追跡弾作成 回転弾変更 散弾作成 自機の移動範囲拡大 弾のキー操作に少し対応
32 名前:tkr ◆8reCYe8za. mailto:sage [2015/08/04(火) 21:32:13.48 ID:OvWBl5fZ.net] 【当たり判定用の座標、大きさと画像用の座標、大きさについて.txt】 基本的に当たり判定用の座標、大きさと画像用の座標、大きさは同じにして下さい。 ただし弾のスピードが速すぎてすり抜ける場合など調整が必要な場合は調整して下さい。 また画像用の変数をメインに考えて下さい(はみ出しチェックなどは画像用変数で行う)
33 名前:tkr ◆8reCYe8za. mailto:sage [2015/08/04(火) 21:33:14.67 ID:OvWBl5fZ.net] その1 【ゲージ関係.txt】←次回のコミット時に追加します。 敵を倒すとゲージが溜まっていくようにする予定です。 そのゲージで色々な技をできるようにする予定です。 以下現在考えている技(全仮名) 【弾系】 ゲージを使う事で特殊弾を撃てるようにする予定です。現在の予定は *高速弾 通常の弾の1.5〜2倍速い弾 *拡散弾 前に飛んでいく弾 *追跡弾 敵の方向に飛んでいく玉弾 *回転弾(切り札) 数方向に弾をばら撒く *円形弾 円形に弾を飛ばす
34 名前:tkr ◆8reCYe8za. mailto:sage [2015/08/04(火) 21:33:42.42 ID:OvWBl5fZ.net] その2 【ゲージ関係.txt】←次回のコミット時に追加します。 敵を倒すとゲージが溜まっていくようにする予定です。 そのゲージで色々な技をできるようにする予定です。 以下現在考えている技(全仮名) 【自己強化】 *連射強化 弾を発射できる間隔が短くなる *移動速度強化 速度が1.5〜2倍になる *当たり判定縮小 自機の当たり判定が1/2〜1/4になる *弾サイズ強化 弾サイズが2〜4倍になる 【その他】 *回避 60Fくらい無敵 *カウンター 最初の5fで敵の攻撃が当たれば回転弾、6〜10fなら円形弾、11〜15なら拡散弾などのカウンターが可能。ギリギリまで引き寄せるほど効果が大きくなるようにしたい。
35 名前:tkr ◆8reCYe8za. mailto:sage [2015/08/05(水) 18:24:23.25 ID:QPVl04Xr.net] 【r13】 「ゲージ関係.txt」作成 Tamaクラスの進むx、yを先に計算するようにして高速化。 回転弾変更 テスト用のDrawBoxが重い為コメントアウト 散弾変更 【その他】 GameObjectクラスが使いにくいので改造中です。
36 名前:tkr ◆8reCYe8za. mailto:sage [2015/08/06(木) 00:21:24.25 ID:WafvykF3.net] 【r14】 「当たり判定用の座標、大きさと画像用の座標、大きさについて.txt」削除 GameObjectの大幅変更とそれに依存するクラスの修正 *内容 今までの当たり判定と画像のXYWHを統一し当たり判定を+数値で指定するようにした。 便利なプロパティやコンストラクタ等の作成。 当たり判定のすり抜け防止の為、矩形の当たり判定に加えて線分の交差判定を追加した。 その他色々。 *注意 newして待ち時間のある弾は発射した機体を追うため、機体が動くとテスト用当たり判定線分の表示がおかしくなります。ただしゲームには影響ありません。
37 名前:tkr ◆8reCYe8za. mailto:sage [2015/08/06(木) 23:08:46.75 ID:WafvykF3.net] ゲーム名候補 "煌速凶獸狙撃" 意味:光(煌)速で凶暴な獣(獸)を狙って撃破。 でも獣じゃなくて戦闘機のシューティング作りたいんだよな・・・ 最近人型多いから。 機械なら "煌速危機狙撃" でもいいか。本当は危険な機械って書きたいのに危機になってしまったorz
38 名前:tkr ◆8reCYe8za. mailto:sage [2015/08/06(木) 23:42:09.49 ID:WafvykF3.net] 【r15】 GameObjectクラスにNotLineメソッド追加 前回コミットの弾を発射した後移動すると当たり判定用線がおかしくなる不具合修正
39 名前:tkr ◆8reCYe8za. mailto:sage [2015/08/07(金) 08:49:22.32 ID:8P091hGo.net] 【r16】 機体の描画領域を画面の端までから380×460(ただし左と上に10隙間がある)に変更 それに合わせて各クラス変更。 またGameObjectクラスのDrawGraphを使って描画している場合はウィンドウの座標ではなく描画部分の座標で指定して下さい(例:ウィンドウのX20に描画する場合はX10と指定)
40 名前:tkr ◆8reCYe8za. mailto:sage [2015/08/07(金) 22:20:27.70 ID:8P091hGo.net] 【r17】 自機の初期位置変更 散弾変更 通常弾、高速弾、連射弾作成 Tamaクラス修正 GameObjectクラス修正。スピードが速すぎると線分交差判定がおかしくなる問題修正。またそれに依存するクラスの修正。 「ゲージ関係.txt」変更
41 名前:tkr ◆8reCYe8za. [2015/08/25(火) 14:25:21.12 ID:3/2xaZaA.net] 【r18】 連射弾変更 弾の待ち時間.txt作成 弾の発射にキーを割り当てる為に色々変更
42 名前:名前は開発中のものです。 mailto:sage [2015/08/25(火) 22:15:49.20 ID:BcQa3el1.net] ソースみたけど、C#は初心者なのか C#版DXライブラリはオブジェクト指向的に不自然だから、軽くでいいからラッパーを作ってC#の流儀に合うようにしたほうがいいと思うぞ あとは、もう少し名前に気を使ってC#の命名規則に合わせるとか、ドキュメントコメントつけるとか、publicなフィールドはすべてプロパティにするとかしとくと後々余計な苦労せず済むかも
43 名前:tkr ◆8reCYe8za. [2015/08/25(火) 22:22:41.81 ID:3/2xaZaA.net] >>42 javaから移ってきて文法がほぼ一緒だったので何となくで書いていました。 ラッパーを作るというのは例えば DX.TRUEorFALSEを返す所をboolで返したりという事でしょうか?
44 名前:名前は開発中のものです。 mailto:sage [2015/08/26(水) 00:43:03.16 ID:43jSpF/y.net] >>43 そういうのもそうだし、refやoutを取る関数もラップするとか、呼び出しをクラスにまとめるとかいろいろある ただし、あんまりこだわるとラッパーライブラリ作るのに忙しくてゲーム作成に行き着かなくなるからほどほどに あと、座標はPoint、大きさはSize、矩形はRectangleにしたほうがスッキリするし、IntersectsWithみたいなメソッドも使えておすすめ。 ただし、構造体はフィールドとプロパティで扱いが違うから、publicはすべてプロパティに統一しない後々面倒かもしれない
45 名前:tkr ◆8reCYe8za. [2015/08/26(水) 00:48:06.85 ID:WO7voyCF.net] >>44 自作しないで totora.jpn.org/archives/2006/04/c_directx.html はどうですかね?
46 名前:名前は開発中のものです。 mailto:sage [2015/08/26(水) 19:53:28.26 ID:43jSpF/y.net] >>45 それは方向性はいいけど、更新されてないから真似して作り直したほうがいい
47 名前:tkr ◆8reCYe8za. [2015/08/26(水) 22:37:29.79 ID:WO7voyCF.net] >>46 こういう感じでいいんですね。分かりました。 作ってみます