トップページgamedev
284コメント93KB

C# C# C♯ でゲームを作ろう Part2

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2010/11/21(日) 09:52:59ID:wlCDMEbr
C#でゲームを作ろうと思う人が情報を交換するためのスレです。
テーマはアクション、パズル、RPG等なんでもOK


C#ゲーム製作@wiki
http://www21.atwiki.jp/csharpgamedev/



前スレ
C# C# C♯ でゲームを作ろう Part1
http://hibari.2ch.net/test/read.cgi/gamedev/1212989813/
0113名前は開発中のものです。2010/12/26(日) 10:43:37ID:KkuDmqCl
え?2chってそれがデフォだろ?
0114名前は開発中のものです。2010/12/26(日) 10:46:25ID:hn07w6Cz
>で、ちょっとだけのつもりでリフレクしちゃったんだけ
日本語でおk
0115名前は開発中のものです。2010/12/26(日) 10:54:17ID:awOm0khx
確かに間違ってる奴はいるけど、どれが間違ってるか具体的に全部指摘してみてよ
そんなに難しいことはここまでひとつも書かれてないよ
0116名前は開発中のものです。2010/12/27(月) 03:34:23ID:vJm0vazk
基礎の基礎を明らかに間違ってる奴が約一名居る。
お前らと言うからには他にも沢山あるんだろうが、具体的にどれがどう間違ってんの?w

>>114
リフレクするって言い方は馬鹿っぽいと思うけど、普通に考えて.NET Reflectorだろ。.NET使った開発での定番ツールの一つ。
>>112が平気でライセンス違反するような屑だという疑惑が出てくるが、そんな事は別にどうでもいいや。
0117名前は開発中のものです。2010/12/27(月) 08:43:43ID:is3ZHvvL
痛々しいなコイツ
新しい話題がでてもこの一手先が読めない猿が
偉そうにオナニー講釈するだけで終わりだな
0118名前は開発中のものです。2010/12/27(月) 11:09:37ID:e7NS5L10
こういう罵りあいがあると、このスレの板的知名度も大分上がったんだなーとかふと思う。
このスレには、C#ゲームを現在のPCで動かすことを前提とした人と、XNAで動かすことも見越した人がまずいる。
それとは別に、流れがどういうスタンスか考えずにとりあえず持ってる知識で相手を否定したがる人が数名。

速度を過剰に云々語る人は、まぁ十中八苦アマチュアではないよなーとは思う。
まったく作ったことがないか、それとも過去の歴史にしがみつつ、わかってても少し警笛をならしたい老人か。

あとこのスレやJava関連で語るのに適した話題として、データ構造やアルゴリズム設計なんかもあるかもね。
シーンをどう定義してどう管理してるとか、メニューを作るとか。
まぁここら辺はちゃんと仕様書がきってあって、変更されにくいポイントだと言う前提なら、ハードコードしてもいいんだが。というかさっさと最速で実装するべきだが。

・・・ん、背伸びしてレスしてもいいことないな・・・

みんなそんなことよりゲーム作ろうぜ
0119名前は開発中のものです。2010/12/27(月) 11:39:22ID:e7NS5L10
流れぶったしたついでにぐぐれば出てくる内容を書いとこう。どれも読んだだけで実装したことないから勘違いしてたらよろ。
>yield return
本来は確かforcach文を実現するために使われる文法の1つ。
匿名メソッドとかラムダ式とかと似たような感覚で、主に既存の文法を省略表記できるように、とっぴな記述を実現できるようにしたやつらの一人。
列挙子あるいは反復子(英語だとイテレータだっけ?デザパタとかとは別で、C#の用語・文法に存在する)とよばれる、
特定の自作クラスをfreeach文で利用する可能にするための一連の記述内で登場する。
実際の動きがマイクロスレッドやファイバーと呼ばれる機構そのままを実現してる。
ゲーム屋はそういう用途で使いたいときに使うことも可能。自分はやったことないけど。

>Reflection関連
メタデータから強引にあれこれしたいときに使う。通常用途はプラグイン機能を実現するための機能。
ここら辺をうまく使うと、理論上C#プログラムのスクリプト言語にC#を選択できるみたいだけど、知らん。C#仮想マシンってそもそも簡単に使える状態で公開されてるの?
実現すればかなり有効な気はしないでもないが、動的コードの読み込みと再起動を実現したいためにスクリプトを使う場合は、情報の多いLua仮想マシンを利用する手段に落ち着く傾向ががが。
0120名前は開発中のものです。2010/12/27(月) 11:55:53ID:M20BTjY4
>C#プログラムのスクリプト言語にC#を選択できる
現状では無理がある。一度読み込んだらアンロードできないからAppDomainを分けない限りメモリリークする。
CLRには、ILを動的に生成して実行できて生成されたコードはGC対象になるという
LCGと呼ばれるとっても便利な機能があって
IronPythonなどはそれを使ってるから問題ないんだけど、C#コンパイラは対応してない。
0121名前は開発中のものです。2010/12/28(火) 00:15:05ID:w6osm0oX
で、具体的にどれがどう間違ってんの?w
0122名前は開発中のものです。2010/12/28(火) 01:48:16ID:RS4PyatJ
首尾一貫して.NET CLRは十分高速だから、無駄な最適化の時間をゲーム開発に使えよ って話だろ。
×XNAで動かす/○XNAで作ってXbox360で動かす なら頑張ってGC抑制するしかないってのもずっと上の方で結論出てるじゃん。
ぐぐれば出てくる基礎的な話で、知ってるからといって威張れるような話ではない。でも知らずに書くと上の例のように周りから笑われてしまう。その程度の話。

>まったく作ったことがないか、それとも過去の歴史にしがみつつ、わかってても少し警笛をならしたい老人か。
Javaで作ってると主張してるのに、newがmallocと思ってて、ListのAddとRemoveで都度長さが変わると思ってるJavaの基礎の基礎ができてない人が
間違った知識で講釈垂れ流そうとしたあたりから話がおかしくなった。

>このスレの板的知名度も大分上がったんだなーとかふと思う。
Part1の過疎っぷりを思うと胸が熱くなるな。
みんなそんなことよりゲーム作ろうぜ
0123名前は開発中のものです。2010/12/28(火) 04:11:28ID:kmbjQwMU
>>120
詳しい情報サンクス。
うふふ、うひゃひゃ寝る暇ねー。。。。また・・・また・・・体験版を刷らなきゃいけないのか・・・
リプレイの機構見直さないとうまく動かないや・・・
0124名前は開発中のものです。2010/12/29(水) 00:31:16ID:FINczj2t
マイクロスレッドの実装例をWikiのTipsに追加してみた。
突っ込みがあったら容赦なくplz.
0125名前は開発中のものです。2010/12/29(水) 01:05:46ID:OFv+y9dv
乙です
IEnumerableは途中で変更されない一連の動作をさせるには便利っぽいんだけど
どうも使い所が見つからないw
0126名前は開発中のものです。2010/12/31(金) 15:18:47ID:VyXa73To
XNAで360のコントローラーを取得するのはわかるんだけど
プログラムから送信するってできる?
ボタンが押されていなくても、押した事にするという感じで。
getじゃなくてsetというイメージ。
0127名前は開発中のものです。2010/12/31(金) 15:30:12ID:6eev3oNe
そういうことをしなくていいように設計する。
InputManagerみたいなクラスを作って、コントローラーの入力を直接取得するのはそのクラスだけにする。
他のクラスは常にInputManagerを経由して入力を取得するようにする。
そうしておけば、InputManagerを使って自由に入力を偽装できる。
0128名前は開発中のものです。2011/01/03(月) 23:59:18ID:+Us08eHK
複雑な衝突判定とか必要なくて、
とりあえず自分で作ったポリゴンモデル動かしたいだけなんだけど、
DirectX + C++でやるのとXNAでやるのは生産性全然違うって認識でいいの?
0129名前は開発中のものです。2011/01/04(火) 00:04:16ID:vxp4EKHn
それならC++でIrrlichtみたいなフレームワーク使ったほうが早いよ
たくさんコード書くならC#の方が遥かに楽だけど
0130名前は開発中のものです。2011/01/04(火) 00:24:09ID:ysUfWyLy
>>129
Irrlicht.NET by SWIGはどう?
実用に耐える?
0131名前は開発中のものです。2011/01/04(火) 00:28:52ID:zGzKnjbP
easy 3d(RokDeBone2)や
mikumiku dance
が多分お望みの物だな

d3dx.hを使わないで済ませられれば飛躍的に楽になる
同様にXNAのSkinnedEffectも忘れた方がいい
結局mikumiku dance for XNAを読むハメになった
0132名前は開発中のものです。2011/01/04(火) 00:52:44ID:ysUfWyLy
>>131
SkinnedEffect使わなくても、easy3Dかなんかでは簡単に同様の事ができたり?
その二つも検討してみるよ、ありがとん
0133名前は開発中のものです。2011/01/04(火) 18:20:35ID:IVa0Kycj
>>124
コンストラクタでIEnumeratorを受け取るようにすればテンプレートメソッドにする必要がなくなるんじゃね?
あとActionを返す反復子を作ってみたら結構使えそうだった
0134名前は開発中のものです。2011/01/04(火) 23:24:49ID:zGzKnjbP
質問者はC#で作ることまでは決まっていて、
C++と比較したい訳では無かったのか。
読み返すと全く話が解ってないまま回答してしまった。

とりあえず解決したっぽいし、良いか。
0135名前は開発中のものです。2011/01/05(水) 18:12:52ID:4nw3q9lq
あげ
0136名前は開発中のものです。2011/01/05(水) 20:05:41ID:WpE5qgLi
やっぱXNAには動的にファイル入力するクラスとか無いよね
0137名前は開発中のものです。2011/01/05(水) 22:40:12ID:mBota3aS
動的にファイル入力って何?
0138名前は開発中のものです。2011/01/06(木) 01:19:29ID:3qyNRZky
>>137
ファイルからIOしたいわけですよ
0139名前は開発中のものです。2011/01/06(木) 01:23:27ID:3qyNRZky
くっそwwwww
Keyboard.GetState().IsKeyDown(Keys.Right)とLeftが押してもないのにtrue返しやがる・・・
もうわけわかめ
0140アジェグ4倍 ◆4xAJeG.COM 2011/01/06(木) 09:28:24ID:QYGetP1N
Keyboard.GetState()ってのはアテにならんわけか。
そういや使ったこと無いな。

KeyDownとKeyUpのイベントがあれば、そこでフラグをセットだけして、
使用時にそのフラグを見るようにするのがよかろう。
0141名前は開発中のものです。2011/01/06(木) 17:06:58ID:wjpby+MQ
他の環境でも再現するならバグ。
でもそんなバグがあったら今までに見つかってないわけがないので、
君の環境がおかしいか使い方が間違ってる可能性が高い。
バグだというなら再現する最小限のコードをMSに提出。
ファイルについてだけど、Windowsなら普通にFileStreamでも使えば読める。
Texture2D.FromStreamで画像読み込んだりすることもできる。

上の人は無視で。
0142名前は開発中のものです。2011/01/06(木) 17:26:13ID:uXXSOax9
上の人などいない
0143名前は開発中のものです。2011/01/06(木) 19:45:49ID:3qyNRZky
>>141
良く見たら同じメソッドがパッドからの入力で呼ばれてたよ
寝ぼけばがらやるもんじゃないね、迷惑かけた
0144名前は開発中のものです。2011/01/07(金) 01:46:29ID:/mL8TiWE
MMDXのExControlが最高に良いな
Windows.FormでXNAが使えるなんて思わなかった
モデルの読み込みが激重だけど・・・
0145名前は開発中のものです。2011/01/07(金) 10:25:58ID:GqCoKInr
普通に使えるだろ
公式のサンプルあるよ
0146名前は開発中のものです。2011/01/08(土) 13:59:26ID:f8whFlFu
>>138
「フィルからIO」ってなんだろ。意味が分からない・・・。
0147名前は開発中のものです。2011/01/10(月) 09:11:51ID:POFYwAz5
>>146
もちつけ
0148名前は開発中のものです。2011/01/17(月) 22:09:49ID:5lTPbuLE
キネクトドライバが大盛況の昨今
未だにボーンモデルが使えない周回遅れって
生きてて恥ずかしく無いの?
0149名前は開発中のものです。2011/01/17(月) 22:32:20ID:Ycj63+Du
素のDirectXだってボーンモデルなんて使えないけど
何を勘違いしてるの?
0150名前は開発中のものです。2011/01/18(火) 20:05:15ID:wAcnWAak
情弱(>>149)は自分が情弱のことを知らない
0151名前は開発中のものです。2011/01/20(木) 11:35:14ID:E0RqosUy
情弱(>>150)は自分が情弱のことを知らない
0152名前は開発中のものです。2011/01/22(土) 08:48:10ID:nHDGDD4u
引きこもりや車輪再発明厨でなければ
日付を見れば釣りな事がわかるw
0153名前は開発中のものです。2011/02/07(月) 12:27:36ID:cGOhPdzX
3Dゲームの基礎勉強中。やっぱり立体で表示されると感慨深いな。
0154名前は開発中のものです。2011/02/07(月) 13:04:44ID:t3vECL+O
ちなみに何使ってる?
XNA?
0155名前は開発中のものです。2011/02/07(月) 23:52:04ID:pYcP+EtY
うちはXNA 3.1

非プログラマ視点に立つと
XNA + SlimDXのDirectInputラッパ
XNA + MDXのGamePad
とかが非商業ゲームでよくある

だけど、2ch内ではSlimDXオンリーや
P/InvokeでjoyGetPos()を使わないと
火病を患う奴が多いので注意
俺、コレ書いたらしばらく潜伏するw
0156名前は開発中のものです。2011/02/08(火) 00:04:35ID:h0yfeQKC
何があったのか知らんが
できれば余計な依存を増やしたくないっていうのは普通の感覚だよ
プログラム書いてりゃ誰でもそれで痛い目見てきてるから
0157名前は開発中のものです。2011/02/10(木) 00:09:07ID:ysLsR0ku
XNAって、アメリカでは流行ってる?
日本では流行ってないよね?
0158名前は開発中のものです。2011/02/10(木) 03:51:31ID:ysLsR0ku
レスおせーなここ!
0159名前は開発中のものです。2011/02/10(木) 06:21:30ID:G/eJJ3Sw
早漏乙
0160名前は開発中のものです。2011/02/10(木) 14:12:41ID:ctXKdQ7j
流行ってるかどうかは知らんが
割と日本語のドキュメントがある
0161名前は開発中のものです。2011/02/12(土) 10:06:59ID:VbHC53Xo
>>157
無茶言うなしw
初代スレからいるけどこのスレは毎日ポーリングしてないよw

同人ではXNAで開発してるらしい話はちらほら聞くけど、実際には見たことないなー。
0162名前は開発中のものです。2011/02/12(土) 10:26:52ID:uk7PegRF
XNAは流行るよ
大丈夫俺を信じろ
0163名前は開発中のものです。2011/02/12(土) 15:33:12ID:V9TWB1jt
>>161は自演宣伝の前振りかと思った
DLSiteとかで活動する、ピコとかいわれそうなところ
0164名前は開発中のものです。2011/02/15(火) 01:55:11ID:X2LWHu5J
>>163
残念ながら、自分は終わった技術で作り続けてるその人だ。
正直に言えば、あと2年でDirect11、あと4年でローカルアプリとの脱却でWeb GL&JavaScriptの時代が来ると思ってる。
0165名前は開発中のものです。2011/02/15(火) 09:33:13ID:9K+hWZ6i
呼ぶだけでスキニングできるクラスってない?
0166名前は開発中のものです。2011/02/16(水) 01:23:38ID:EzQI8Jrb
素直にMeshContainerとFrameを素直に実装しなされ。で、自分で描画を補助する関数でも作りなされ。
0167名前は開発中のものです。2011/03/01(火) 21:04:41.42ID:GILaQf+2
C#で明示的にメモリを開放したい場合どうすればいいの?
0168名前は開発中のものです。2011/03/01(火) 22:15:43.12ID:79tG48e2
GC.Collect
0169名前は開発中のものです。2011/03/02(水) 07:43:56.62ID:YWVCcHDf
>>168
GC.Collect(2);

にするとモアベター。
0170名前は開発中のものです。2011/03/02(水) 18:28:36.73ID:At54eAAT
そして呼ばないのがベスト
0171名前は開発中のものです。2011/03/06(日) 01:40:04.45ID:S2Vj1+g2
1ms以上の精度のタイマはみつかりましたか?
0172名前は開発中のものです。2011/03/06(日) 23:33:15.89ID:axL4KEH3
リアルタイムOS使え
0173名前は開発中のものです。2011/03/12(土) 20:32:56.36ID:gPTtXzoi
age
0174名前は開発中のものです。2011/03/13(日) 11:28:25.72ID:eZ3TbRil
そもそも通常用途は1msあれば不満ないだろう。SFCのマリオカートだってそんな精度ないよ。
0175名前は開発中のものです。2011/03/13(日) 21:25:08.53ID:1vvl0CSE
C#のプロジェクトで
ウィンドウズアプリで開始するのと
ウィンドウズゲームで開始するのとでは

最初に窓が出来てるか、出来ていないかの違いでしかないです?
0176名前は開発中のものです。2011/03/13(日) 21:31:37.91ID:VL4JDMZi
ウィンドウズゲームはXNA用
ウィンドウズアプリのプロジェクトで始めてもXNAアプリケーションは作れなくはないが
コンテントパイプライン使えないし設定も面倒なだけ
0177名前は開発中のものです。2011/03/17(木) 07:29:39.44ID:A2r4YYAM
SharpDXってどう?
0178名前は開発中のものです。2011/03/17(木) 16:26:25.73ID:zQfrxT1a
C++/CLI排除・AnyCPU・ラッパー自動生成・軽量・高速・だいたいSlimDX互換
すばらしいな
人柱頼む
0179名前は開発中のものです。2011/03/17(木) 21:27:02.00ID:vP/VmGWH
DirectX9はサポートしていない?
0180名前は開発中のものです。2011/03/19(土) 21:37:08.61ID:xxhE9gnX
SlimDXでいいや
0181名前は開発中のものです。2011/03/20(日) 02:32:02.44ID:gu1AUvPw
>>179
将来何とかしたいかも??ってかいてあるみたい。
0182名前は開発中のものです。2011/03/20(日) 22:57:52.14ID:uMpFfzYG
インターフェイス的にはSlimDXのが好みだな
0183名前は開発中のものです。2011/03/27(日) 22:47:40.50ID:frcUHFPs
C#を学ぶのにお勧め書籍おしえて!
プログラム初心者ですC+でハローワールドくらいしか書いたことありません

サンプルプログラムを幾つかDLして覗いてみましたが
ちんぷんかんぷんというほどでは無いですが理解できないところがいっぱいなので
0184名前は開発中のものです。2011/03/27(日) 23:26:32.72ID:NKpFxiip
独習C#とか
それとVisualC#のチュートリアル的な本も一冊
0185名前は開発中のものです。2011/03/27(日) 23:29:10.63ID:frcUHFPs
らじゃ! ありがとうごじます
0186名前は開発中のものです。2011/04/09(土) 15:21:17.52ID:w+/XeNyT
まだやってる?
0187名前は開発中のものです。2011/04/09(土) 16:53:15.18ID:OGsCmTBQ
やってるやってる
0188名前は開発中のものです。2011/04/10(日) 11:14:46.90ID:mGq4DXIT
そろそろんあで本気出すか
0189名前は開発中のものです。2011/04/16(土) 01:21:13.95ID:xWBZkRYP
Silverlight5
0190名前は開発中のものです。2011/04/16(土) 01:23:33.64ID:xWBZkRYP
すまん
Silverlight5でXNA互換3D/2DAPIサポートだぞ
シェーダもいけるっぽい
.NETのインストール要らんし今後C#ならコレ一択じゃね?
0191名前は開発中のものです。2011/04/16(土) 02:00:49.97ID:CQuyXIbr
Form1を作ったらゲームできた
0192名前は開発中のものです。2011/04/20(水) 02:02:25.75ID:WuxOdsPn
>>190
Blue Angelsのデモ見ると可能性を感じずにはいられないな。
シェーダはShader Model 2.0までサポートされる。SM3.0が使えたらもっと素晴らしいんだけどね。

試しに使ってみようと思ったけど、Balder(SL5対応版)が動いてくれない。
XAMLで記述する方はまだSL5に未対応なのだろうか。
Balderのロードマップにはスキニングも実装するって書いてあったから将来が楽しみ。

仕方ないからしばらくは↓を弄って遊ぶよ!
http://www.andybeaulieu.com/Home/tabid/67/EntryID/216/Default.aspx
0193名前は開発中のものです。2011/04/20(水) 22:24:52.80ID:tBzD47lI
XNAで点光源とかスポットライト使いたい時ってどうすればいいの?
basicEffectではできないの?
0194名前は開発中のものです。2011/04/20(水) 22:34:05.83ID:hIlOrlrk
シェーダで
0195名前は開発中のものです。2011/04/20(水) 23:42:52.10ID:tBzD47lI
>>194
HLSLとかカスタムエフェクトとかその辺使うってことかな?
結構難しそうなんだけど
もっとイージーでスイートなやり方はないものですか
0196名前は開発中のものです。2011/04/21(木) 00:08:33.09ID:dhwQS3ud
XNAベースのゲームエンジンは腐るほどあるからそういうの使えば?
点光源に限らず、3Dゲームを素のXNAで作るのは相当大変だよ
0197名前は開発中のものです。2011/04/21(木) 00:49:14.34ID:iLLJkwOE
>>196
分かりました
探してみます
0198名前は開発中のものです。2011/04/21(木) 01:40:50.98ID:HYfx9Zsp
腐るほどはないやろ
0199名前は開発中のものです。2011/04/21(木) 16:09:43.63ID:/jnMsrS8
丸投げするぐらいなら答えなきゃ良いのに。
0200名前は開発中のものです。2011/04/26(火) 05:17:46.89ID:9g9auydX
質問させてください。
VisualStudio2010とXNAでゲーム作って見たいのですが、PCのスペックはどのくらい必要でしょうか?
私のPCはペンティアム4時代のCeleron3.06Gとメモリ1.5Gなのですが、2010動かすのは厳しいですか?
VisualStudio2008はインストールしてあるのですが、多少動きがもっさりした感じです
また、Eclipseはそれなりにサクサク動作してます
よろしくお願いいたします
0201名前は開発中のものです。2011/04/26(火) 05:53:43.55ID:XiOjNLeO
2008とそんなに変わらんから気にするな
0202名前は開発中のものです。2011/04/26(火) 21:16:31.01ID:9g9auydX
>>201
情報ありがとうございます
とりあえず、2010とXNA入れて、サンプルのソースコードを勉強してみます
0203名前は開発中のものです。2011/04/27(水) 17:48:43.97ID:eF9o/F1b
>>202
おお、自分も今ちょうど同じように始めた感じ
とりあえずフリューセルのサンプルで勉強しつつシェーダーはまだよく分かってないけど、かなり開発しやすいと思ってる。
0204名前は開発中のものです。2011/05/02(月) 15:28:38.96ID:wiiybJSP
一人でゲーム作成って想像以上にやばいな
絵とか音楽どうすんだって感じ
0205名前は開発中のものです。2011/05/02(月) 16:59:57.49ID:v21dPLGC
俺自動生成にしようと思ってる
0206名前は開発中のものです。2011/05/02(月) 17:33:36.08ID:ZHlWWP/c
できるだけ自分で作るが限界あるからフリーのやつも利用するわ
0207名前は開発中のものです。2011/05/02(月) 23:05:02.74ID:RKPWheS7
ゲームを自動生成します
0208名前は開発中のものです。2011/05/02(月) 23:24:05.40ID:mpibUaL1
ローグか
0209名前は開発中のものです。2011/05/08(日) 16:22:35.13ID:Rjbpxm0d
>>204
自分はルール重視の戦闘シミュレーションが作りたいので絵は○とか△とその色違いで済ませるつもり
音楽はなし
しかし、肝心のプログラム能力がダメダメなので一生懸命勉強中orz
0210名前は開発中のものです。2011/05/10(火) 22:51:06.49ID:aJrcvWTB
タイトル画面のロゴを作るのにすら四苦八苦
0211名前は開発中のものです。2011/05/15(日) 03:10:16.42ID:KOgh+eiI
C#でWWIIのSLG作りはじめてみたが、みんなもがんばってるか?
一人で作業してると心が折れそうになる
http://iup.2ch-library.com/i/i0308937-1305396341.png
0212名前は開発中のものです。2011/05/15(日) 08:55:41.25ID:cWGwnlsz
大帝国か…
■ このスレッドは過去ログ倉庫に格納されています