C#でゲームを作ろうと思う人が情報を交換するためのスレです。
テーマはアクション、パズル、RPG等なんでもOK
C#ゲーム製作@wiki
http://www21.atwiki.jp/csharpgamedev/
前スレ
C# C# C♯ でゲームを作ろう Part1
http://hibari.2ch.net/test/read.cgi/gamedev/1212989813/
C# C# C♯ でゲームを作ろう Part2
■ このスレッドは過去ログ倉庫に格納されています
2010/11/21(日) 09:52:59ID:wlCDMEbr
2名前は開発中のものです。
2010/11/21(日) 09:54:01ID:wlCDMEbr [C#解説サイト]
連載 改訂版 C#入門
http://www.atmarkit.co.jp/fdotnet/csharp_abc2/index/index.html
C# によるプログラミング入門
http://ufcpp.net/study/csharp/
[書籍]
プログラミングC# 第5版
http://www.oreilly.co.jp/books/9784873113968/
ゲームプログラマになる前に覚えておきたい技術 ※C#で書かれてないので注意※
http://www.shuwasystem.co.jp/gpro-sp/index.html
Microsoft XNA Unleashed グラフィックスとゲーム開発
http://www.borndigital.co.jp/book/detail.php?id=66
Microsoft XNA ガイドブック XNA ゲームプログラミングの基礎
http://www.borndigital.co.jp/book/detail.php?id=67
XNA Game Studioではじめるゲームプログラミング
http://www.o-kagen.gr.jp/release.html
[関連スレ]
【Xbox360】 XNA Game Studio その6 【C#】
http://pc11.2ch.net/test/read.cgi/gamedev/1210637248/
連載 改訂版 C#入門
http://www.atmarkit.co.jp/fdotnet/csharp_abc2/index/index.html
C# によるプログラミング入門
http://ufcpp.net/study/csharp/
[書籍]
プログラミングC# 第5版
http://www.oreilly.co.jp/books/9784873113968/
ゲームプログラマになる前に覚えておきたい技術 ※C#で書かれてないので注意※
http://www.shuwasystem.co.jp/gpro-sp/index.html
Microsoft XNA Unleashed グラフィックスとゲーム開発
http://www.borndigital.co.jp/book/detail.php?id=66
Microsoft XNA ガイドブック XNA ゲームプログラミングの基礎
http://www.borndigital.co.jp/book/detail.php?id=67
XNA Game Studioではじめるゲームプログラミング
http://www.o-kagen.gr.jp/release.html
[関連スレ]
【Xbox360】 XNA Game Studio その6 【C#】
http://pc11.2ch.net/test/read.cgi/gamedev/1210637248/
2010/11/22(月) 00:09:39ID:oKx5EFj2
>>1乙
4名前は開発中のものです。
2010/11/25(木) 18:26:53ID:GJphgLC6 乙
2010/11/29(月) 23:07:26ID:fXig7dWV
WPFでゲーム作成だ
6名前は開発中のものです。
2010/12/13(月) 00:30:30ID:x5Ag+32d 盛り上がらんなー
2010/12/14(火) 01:36:41ID:k4+E2CwQ
実際のところ、同人ゲーム製作やゲーム製作のための補助ツール製作にC#使ってる人は割りといるっぽいんだけどなー。Twitterとか見てても。
2010/12/14(火) 04:00:31ID:PtnILlYC
C#はゲームそのものを作るよりも
ゲーム作成ツールを作るほうがいいわけか
ゲーム作成ツールを作るほうがいいわけか
2010/12/14(火) 04:16:50ID:IN5+AAst
C#の大きな利点であるはずのGCが
ゲームにおいては邪魔になるんだよなぁ
それでGCが起こらないようにとメモリの管理に手を出すと
あれ?こんなんするならC++でよくね?
ってなっちゃう
ゲームにおいては邪魔になるんだよなぁ
それでGCが起こらないようにとメモリの管理に手を出すと
あれ?こんなんするならC++でよくね?
ってなっちゃう
2010/12/14(火) 10:17:59ID:Z/MBXr4C
GC機能を無しにできたらC#がスタンダードになるのになぁ
2010/12/14(火) 17:05:29ID:yiT76n5O
構造体使えばいいじゃん
2010/12/14(火) 18:57:57ID:u2vbGV0C
2010/12/14(火) 21:03:41ID:2ATBqPCF
Gamefest Japan 2008 Demo
でぐぐる
ちょっと改造して、噴飯物の杞憂に過ぎない事を確認する
以上
でぐぐる
ちょっと改造して、噴飯物の杞憂に過ぎない事を確認する
以上
2010/12/14(火) 21:17:27ID:IN5+AAst
フレームレベルで処理を行ってるゲームで
わりと負荷のかかるGCが働くとコマ落ちやラグがおきやすい
特にシューティングやアクションなんかのリアルタイム性が重要なゲームだと邪魔になる。
RPGやノベルゲームなら多少コマ落ちしても気にならないだろうし
ちゃんとGCの動作まで考えてプログラミングすれば邪魔にはならないとは思うけど、
自分はそこまでするならC++でいいやってなった。
わりと負荷のかかるGCが働くとコマ落ちやラグがおきやすい
特にシューティングやアクションなんかのリアルタイム性が重要なゲームだと邪魔になる。
RPGやノベルゲームなら多少コマ落ちしても気にならないだろうし
ちゃんとGCの動作まで考えてプログラミングすれば邪魔にはならないとは思うけど、
自分はそこまでするならC++でいいやってなった。
2010/12/14(火) 22:41:40ID:u2vbGV0C
>>14
なるほど、回答さんくす。
ゲーム製作でC#が使われないのは、個人的には環境依存度が
C++と比較して大きいからだと思う。
.NET必須、かつXNAやSlimDX等でランタイムが必要で、
配布方法や対象者に制限が付くとなると嫌がる人も多いのでは。
なるほど、回答さんくす。
ゲーム製作でC#が使われないのは、個人的には環境依存度が
C++と比較して大きいからだと思う。
.NET必須、かつXNAやSlimDX等でランタイムが必要で、
配布方法や対象者に制限が付くとなると嫌がる人も多いのでは。
2010/12/14(火) 22:57:31ID:2ATBqPCF
思いっきりアホなことして、毎フレームGC発生させたけど
うちじゃ3msぐらいで収まってるな
余所の環境だと違うだろうけど、ちょっとこれで試してみ
ttp://99hagelo.net46.net/up/img/low392.zip
ソリューションロードして、F5押して、画面が表示されたらEnterキーを一回
要PS1.1
うちじゃ3msぐらいで収まってるな
余所の環境だと違うだろうけど、ちょっとこれで試してみ
ttp://99hagelo.net46.net/up/img/low392.zip
ソリューションロードして、F5押して、画面が表示されたらEnterキーを一回
要PS1.1
17名前は開発中のものです。
2010/12/14(火) 23:31:03ID:0rAUYZNK >.NET必須
2010/12/15(水) 00:14:56ID:ipHv9sbI
GCってそんなに働き者だっけ?
メモリが足りなくなったときしか働かないイメージがw
メモリが足りなくなったときしか働かないイメージがw
2010/12/15(水) 00:27:25ID:pQJTLtMM
2chてさ、適当な事書いとけば
オタ豚が真っ赤な顔して正しいことを調べ廻ってくれるから
スゲー 便利www
オタ豚が真っ赤な顔して正しいことを調べ廻ってくれるから
スゲー 便利www
2010/12/15(水) 01:47:12ID:OOrbYoZ/
実力が身に付くのは調べまわった豚
2010/12/15(水) 16:57:51ID:znPdNwQj
調べまわった人より効率よく知識が入るという・・・
まぁそれはそれとして、GCの頻度は割とこまめ。
STGで大量に玉をnewで飛ばし続けてタスクマネージャで使用目盛り見たら、予想に反して増える気配がなかったのでかなりこまめにGCしてると思われる。
まぁそれはそれとして、GCの頻度は割とこまめ。
STGで大量に玉をnewで飛ばし続けてタスクマネージャで使用目盛り見たら、予想に反して増える気配がなかったのでかなりこまめにGCしてると思われる。
2010/12/15(水) 17:54:50ID:pQJTLtMM
GCの話ししてるのにモニタリングの仕方すら知らないとか
円周率=3ぐらい痛々しい
円周率=3ぐらい痛々しい
2010/12/15(水) 17:59:01ID:d+SueuXU
C#でできるアプリは大雑把にわけて4種類。
コンソールアプリ
コマンドプロンプトで、文字ベースのアプリケーション
Windows Formsアプリ
一般的なGUI。Windows95からの「Windowsっぽいアプリケーション」
XNAアプリ
ゲーム用のアプリ。グラフィックの表示、ゲーム用コントローラーからの入力、サウンドなどをサポート
WPFアプリ
GUI。Windows Formより高性能だが、処理が重い。
コンソールアプリ
コマンドプロンプトで、文字ベースのアプリケーション
Windows Formsアプリ
一般的なGUI。Windows95からの「Windowsっぽいアプリケーション」
XNAアプリ
ゲーム用のアプリ。グラフィックの表示、ゲーム用コントローラーからの入力、サウンドなどをサポート
WPFアプリ
GUI。Windows Formより高性能だが、処理が重い。
2010/12/16(木) 00:30:49ID:G422t28F
.NET CLRのメモリ管理に関する最低限の基礎知識(Xbox360上のXNAとは異なる)
・.NET CLRのGCは効率的な世代別GCを採用している
・CLRはメモリをG0/G1/G2(G=Generation)/LOH(Large Object Heap)の4つの領域で管理する
・〜.NET3.5:同時実行GC .NET4/Silverlight4:バックグラウンドGC
・同時実行GC:Full GCの実行中にG0/G1のGCが実行できない。
新たな割り当てができなくなった段階で、Full GCの終了まで中断される。
・バックグラウンドGC:Full GCが実行中でもG0/G1のGCが実行できる。
中断される回数が大幅に減少し、中断された場合でも中断時間が短くなる。
.NET4でコンパイルするか、App.configで.NET4対応にするだけで改善が期待できる。
>>19-22
掲示板に書ききれない話が行間に山ほど含まれてるので、一度調べてみるといいよ。MSDNマガジンの関連記事読むだけで全然違う。
>タスクマネージャで使用目盛り見た
せめて、管理ツールのモニタツール使ってパフォーマンス カウンタ見てくれ…。もっと踏み込むならメモリ プロファイラ使いたい。
>>23
Silverlightも入れてよ。次期リリースの5はもっと凄くなるよ。
Immediate Mode Graphics SupportでGPUを活用できるようになって3D(光源、テクスチャマッピング、アルファブレンディング)がサポートされる。
・.NET CLRのGCは効率的な世代別GCを採用している
・CLRはメモリをG0/G1/G2(G=Generation)/LOH(Large Object Heap)の4つの領域で管理する
・〜.NET3.5:同時実行GC .NET4/Silverlight4:バックグラウンドGC
・同時実行GC:Full GCの実行中にG0/G1のGCが実行できない。
新たな割り当てができなくなった段階で、Full GCの終了まで中断される。
・バックグラウンドGC:Full GCが実行中でもG0/G1のGCが実行できる。
中断される回数が大幅に減少し、中断された場合でも中断時間が短くなる。
.NET4でコンパイルするか、App.configで.NET4対応にするだけで改善が期待できる。
>>19-22
掲示板に書ききれない話が行間に山ほど含まれてるので、一度調べてみるといいよ。MSDNマガジンの関連記事読むだけで全然違う。
>タスクマネージャで使用目盛り見た
せめて、管理ツールのモニタツール使ってパフォーマンス カウンタ見てくれ…。もっと踏み込むならメモリ プロファイラ使いたい。
>>23
Silverlightも入れてよ。次期リリースの5はもっと凄くなるよ。
Immediate Mode Graphics SupportでGPUを活用できるようになって3D(光源、テクスチャマッピング、アルファブレンディング)がサポートされる。
2010/12/16(木) 01:44:28ID:1jVCL3Xf
>>16はG0で済ましているから負荷が軽い
26アジェグ4倍 ◆4xAJeG.COM
2010/12/16(木) 10:13:47ID:QtGXpLv7 なんや知らんが、秒間60回のフレームループの中で
newをやっちゃダメだよ。
newをやっちゃダメだよ。
2010/12/16(木) 16:54:03ID:4Vhu2VWF
なんか落とし穴とかわかりにくい
foreachとか駄目なんでしょ?
foreachとか駄目なんでしょ?
2010/12/16(木) 19:07:42ID:kONXhBxi
>>27
何がどうダメなのか具体的に
何がどうダメなのか具体的に
2010/12/17(金) 00:44:40ID:1SX4G+z6
動かすターゲットによって目標とする最適化の程度は異なる。
.NET CLR:世代別GC(.NET Framework/Silverlight)
.NET CF CLR:マーク&スイープGC(Xbox360/Zune)
.NET CF CLRはGCのコストが桁違いに大きいため、徹底的にGCを排除すると大きくパフォーマンスが上がる。
.NET CLRでは>>16>>25の言うようにG0/G1のGCのコストが小さいので、全部最適化するだけの労力に見合った効果が得られない。
.NET CLRはG2の発生が抑制されていてG0の発生頻度が1フレームより長ければ問題ない。
この状態を保てている範囲なら1フレーム未満の寿命しかないインスタンスを作り捨ててもいい。
もっと長い寿命を持つインスタンスの生成は、G2ヒープ/LOHにどのくらいのペースで積まれるかによって上限が決まるので、
プロファイルをとってヒープに積まれたインスタンスの生成元を調べて、最適化の効果が大きく簡単に改善できる個所から手を入れましょう。
これ以上の最適化は手段と目的が逆転するが大丈夫か?
.NET CLR:世代別GC(.NET Framework/Silverlight)
.NET CF CLR:マーク&スイープGC(Xbox360/Zune)
.NET CF CLRはGCのコストが桁違いに大きいため、徹底的にGCを排除すると大きくパフォーマンスが上がる。
.NET CLRでは>>16>>25の言うようにG0/G1のGCのコストが小さいので、全部最適化するだけの労力に見合った効果が得られない。
.NET CLRはG2の発生が抑制されていてG0の発生頻度が1フレームより長ければ問題ない。
この状態を保てている範囲なら1フレーム未満の寿命しかないインスタンスを作り捨ててもいい。
もっと長い寿命を持つインスタンスの生成は、G2ヒープ/LOHにどのくらいのペースで積まれるかによって上限が決まるので、
プロファイルをとってヒープに積まれたインスタンスの生成元を調べて、最適化の効果が大きく簡単に改善できる個所から手を入れましょう。
これ以上の最適化は手段と目的が逆転するが大丈夫か?
2010/12/17(金) 00:52:07ID:zbyqlefy
SwapArrayやRingBufferを使えばforeachできない
これはIEnumeratorを吐く関数を作ればいい
これはIEnumeratorを吐く関数を作ればいい
2010/12/18(土) 02:37:41ID:jHzAZ+Pm
みんなすげえよく知ってるな。どうしても速度がほしくなったらここら辺のレスを元に掘り下げることができそうだ。サンクス
2010/12/18(土) 17:03:01ID:OVvsO5Q5
Winではとりあえず毎フレームGen0GC入れとけば劇的に安定するよね
2010/12/18(土) 17:35:19ID:UzXWUqS6
ちがうよ ぜんぜんちがうよ
2010/12/20(月) 00:09:43ID:zPc622SO
XNAのロボットゲームが非会員でも落とせる
ようになっとる
結構ぬるぬる動く
ようになっとる
結構ぬるぬる動く
2010/12/20(月) 13:50:11ID:wBI9+2iY
C#でhtml文をパネルにしてくれるようなクラスってない?
2010/12/20(月) 14:32:52ID:1s3rp6hX
IEコンポーネントでHTMLをホストしたいならWebBrowser使う。
IE以外だと
GeckoにはActiveX版があってC#からも呼んで使える。でも↓の方が便利。
GeckoFX(ActiveXを使わず直接使ってる。あと開発者のアンドリューさんは日本語ちょっと話せるらしいw)
完成したらWebkit.NETも有望そう。
マークアップ ランゲージ(ML)でUI定義したいならWPFのXAMLがまさにそれ
WinForms用ならWFML(http://windowsclient.net/articles/wfml.aspx)あたりだろうか?これは使ったことない。
>>34
なにそれkwsk
IE以外だと
GeckoにはActiveX版があってC#からも呼んで使える。でも↓の方が便利。
GeckoFX(ActiveXを使わず直接使ってる。あと開発者のアンドリューさんは日本語ちょっと話せるらしいw)
完成したらWebkit.NETも有望そう。
マークアップ ランゲージ(ML)でUI定義したいならWPFのXAMLがまさにそれ
WinForms用ならWFML(http://windowsclient.net/articles/wfml.aspx)あたりだろうか?これは使ったことない。
>>34
なにそれkwsk
2010/12/20(月) 14:38:54ID:wBI9+2iY
2010/12/20(月) 15:55:15ID:zPc622SO
2010/12/20(月) 19:06:39ID:zPc622SO
ttp://www9.uploda.tv/v/uptv0001083.png
C#を使っているために処理が重いのは
このグラフの左端のたった平均2msの部分
↑の人達はこの処理が重いからC#はダメだ(笑)
とか宣っていたんだから
今どんな気持ち?
∩___∩
♪ | ノ ⌒ ⌒ヽハッ
/ (●) (●)
| ( _●_) ミ
___ 彡 |∪| ミ
ヽ___ ヽノ、`\
/ /ヽ <
/
C#を使っているために処理が重いのは
このグラフの左端のたった平均2msの部分
↑の人達はこの処理が重いからC#はダメだ(笑)
とか宣っていたんだから
今どんな気持ち?
∩___∩
♪ | ノ ⌒ ⌒ヽハッ
/ (●) (●)
| ( _●_) ミ
___ 彡 |∪| ミ
ヽ___ ヽノ、`\
/ /ヽ <
/
2010/12/20(月) 19:27:22ID:utdIzmpZ
>39
そのPCのスペックは?
そのPCのスペックは?
2010/12/20(月) 19:50:10ID:zPc622SO
何故自分の環境で動かさないのか?
宗教的理由でC#のソースをコンパイルすると死ぬんですね
わかります
P4 2.80
メモリ 1G
宗教的理由でC#のソースをコンパイルすると死ぬんですね
わかります
P4 2.80
メモリ 1G
2010/12/20(月) 19:54:13ID:Vc2LMPvW
ていうか、それをC++で実装した場合との比較はないの?
2010/12/20(月) 20:00:01ID:zPc622SO
C++の方が速い
あたり前だ
なんで実装してまで調べる必要があるんだ?
頭の中のお花畑ぐあいをちょっと聞かせ
てくれないか?
あたり前だ
なんで実装してまで調べる必要があるんだ?
頭の中のお花畑ぐあいをちょっと聞かせ
てくれないか?
2010/12/20(月) 20:40:29ID:1s3rp6hX
ちょっと落ち着けw
C#自体の速度は最適化してないC++並みって知らない人は置いとくとして
意図しないタイミングでのGCは避けるべきだけど、(PCでは)極端に忌避する必要はないって話に落ち着いてたでしょ
>>38
ロボットゲームってまんまRobot Gameなのかw
試してみるthx
C#自体の速度は最適化してないC++並みって知らない人は置いとくとして
意図しないタイミングでのGCは避けるべきだけど、(PCでは)極端に忌避する必要はないって話に落ち着いてたでしょ
>>38
ロボットゲームってまんまRobot Gameなのかw
試してみるthx
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 🇺🇸🇨🇳米中関係は「極めて強固」とトランプ氏… ★6 [BFU★]
- 【足立区暴走11人死傷】歩行者はねた後も減速せず…精神疾患がある37歳男「車で神奈川の山の方に行きたいと思った」 [ぐれ★]
- SuicaとPASMOのコード決済「teppay(テッペイ)」26年秋開始 🐧🤖 [少考さん★]
- 【フジ】クリスマスイブ恒例の「明石家サンタ」見送りへ 今年は「お笑い向上委員会」SP放送 [征夷大将軍★]
- フィフィ “工作員”と疑う声に「日本のために…昔から身を挺して発信している」「どんだけ探ったところで、なんも出てこないよ」 [Anonymous★]
- 「ホストに貢ぎたい」と海外で売春する日本人女性 2カ月で2千万円稼ぐケースも [1ゲットロボ★]
- 防衛省「台湾有事にロシア参戦するかも」 [177178129]
- 【悲報】高市がG20に遅刻した理由、未だに分からない🤔 [359965264]
- 台湾「習主席がトランプ大統領との電話会談で台湾問題を言及しなかったことは台湾にとって最良の結果」高市ハシゴ外されるwwwww [931948549]
- 【高市悲報】小野田紀美大臣(35)、マウントの取れる勝負衣装を叩かれツイッターでブチギレwmwmwmwmmwmwmwmww [517459952]
- 【高市速報】コンバースのスニーカーが再びブームに🔥🔥wwwwwwwwwwwwwwww ここに着て履いてるやつが爆増 [573041775]
- 【速報】山上徹也、安倍晋三ビデオ動画で「絶望」、裁判で証言 [947332727]
