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
2010/12/20(月) 20:50:42ID:czZepkU0
GCについてどうC++と比較するつもりなんだ?
2010/12/20(月) 21:49:42ID:1s3rp6hX
newはC++より一桁速い。それは何故か
ってとこからC#のメモリ管理について延々と語れるけど、それをやるには掲示板は狭すぎる。
世代別GCは一般に思われているより高速。
(何倍も時間かけて)C++で作ればC++の方が早い。
どの言語で作っても結局は描画にかかる時間が大半を占める。
ってとこからC#のメモリ管理について延々と語れるけど、それをやるには掲示板は狭すぎる。
世代別GCは一般に思われているより高速。
(何倍も時間かけて)C++で作ればC++の方が早い。
どの言語で作っても結局は描画にかかる時間が大半を占める。
2010/12/21(火) 01:12:58ID:HIfOIzlr
DirectXの情報がどうもないと思ったらXNAってもんがあるのかw
C#+DirectXで作っちゃった・・・
でも、苦労はあんまり変わらないような・・・
C#+DirectXで作っちゃった・・・
でも、苦労はあんまり変わらないような・・・
2010/12/21(火) 01:20:04ID:HIfOIzlr
と思ったら結構臭いな>XNA
C#は混沌としてるな
C#は混沌としてるな
2010/12/21(火) 01:48:06ID:7nmvHqyX
薄いwrapperが欲しいならSlimDX
2010/12/21(火) 01:50:42ID:IUyb5141
2011年になろうかと言うときに
Managed Xとか…
釣りやなw
C++/CLIでツール作成ならまだ疑う余地
もあったけど
Managed Xとか…
釣りやなw
C++/CLIでツール作成ならまだ疑う余地
もあったけど
51名前は開発中のものです。
2010/12/21(火) 06:58:33ID:QhXoH/nz あげておくか
52アジェグ4倍 ◆4xAJeG.COM
2010/12/21(火) 09:16:03ID:kS4ld1Hr いや、だから、タイミングや状態もわきまえずnewする時点で、
言語がなんであろうと以下略。
言語がなんであろうと以下略。
2010/12/21(火) 13:04:31ID:589aNUur
そうでもない
インタプリタが遅くてnew自体のコストなんか誤差になるような言語処理系は
スクリプト言語ではわりとある
インタプリタが遅くてnew自体のコストなんか誤差になるような言語処理系は
スクリプト言語ではわりとある
2010/12/21(火) 17:39:24ID:7nmvHqyX
いや、だから、タイミングや状態もわきまえずnewしていいなんてどこに書いてあるよ?
やっちゃダメ>>26と、管理されていればやってもいい は全然違う。
それだけの開発コストを投入するに値する根拠ってあるの?
C#はインタプリタでもスクリプト言語でもない。
newのコストは誤差(C++より速い)の範囲内。動作速度はJITされるため一度動き出せば最適化していないC++並み。
で、GCのコストをどう見積もってどこまで対策するのかって話なんだが…
やっちゃダメ>>26と、管理されていればやってもいい は全然違う。
それだけの開発コストを投入するに値する根拠ってあるの?
C#はインタプリタでもスクリプト言語でもない。
newのコストは誤差(C++より速い)の範囲内。動作速度はJITされるため一度動き出せば最適化していないC++並み。
で、GCのコストをどう見積もってどこまで対策するのかって話なんだが…
55アジェグ4倍 ◆4xAJeG.COM
2010/12/21(火) 20:24:12ID:co1xIq2s 開発コストを投入するに値する根拠?
知ってると思うが、new ってのは mallocなんだぞ。
メモリの消費状況によっては、そこでスワッピングなどの
ディスクアクセスが発生する恐れもあるんだからさ。
で、ガベージが作動すりゃ、freeなわけだから、
そこでまたディスク沙汰に、なりかねないわけだ。
ソノヘンがわかってりゃ、例えば敵の弾の発生時にnewなんて
恐ろしくて恐ろしくて・・・
描画時のnew Color とかnew Fontなんてのにも注意しないと。
だから new は、ループに入る前とか、別のスレッドでやるとかがセオリー。
知ってると思うが、new ってのは mallocなんだぞ。
メモリの消費状況によっては、そこでスワッピングなどの
ディスクアクセスが発生する恐れもあるんだからさ。
で、ガベージが作動すりゃ、freeなわけだから、
そこでまたディスク沙汰に、なりかねないわけだ。
ソノヘンがわかってりゃ、例えば敵の弾の発生時にnewなんて
恐ろしくて恐ろしくて・・・
描画時のnew Color とかnew Fontなんてのにも注意しないと。
だから new は、ループに入る前とか、別のスレッドでやるとかがセオリー。
2010/12/21(火) 21:42:50ID:ByL+MADM
C#の絶対性能がC++より低いなら、その低い性能で足りる範囲でゲームデザインすりゃ済む話だろう。
見積もりを検討するなら、プロトタイプ組んで実測すりゃ済む話だろ。
全部アセンブリで書くならまだしも、C#やらC++で書いたゲームのソースコードだけ見て、事前に精密な見積出せるわけない。
そんなもん、言語仕様以前のレベルの話だ。
なのに、事前に脳内で結果が分かって当然って前提を置こうとしている時点で、>>54は全くゲームのコード書いたことが無い、脳内クリエイターかなんかなんだろうよ。
どうせ、C#の方が簡単そうだけど絶対性能で負けるなら何となく格好悪いから使いたくない、とかその程度の発想でウダウダ食い下がってるだけだと思うぞ。
見積もりを検討するなら、プロトタイプ組んで実測すりゃ済む話だろ。
全部アセンブリで書くならまだしも、C#やらC++で書いたゲームのソースコードだけ見て、事前に精密な見積出せるわけない。
そんなもん、言語仕様以前のレベルの話だ。
なのに、事前に脳内で結果が分かって当然って前提を置こうとしている時点で、>>54は全くゲームのコード書いたことが無い、脳内クリエイターかなんかなんだろうよ。
どうせ、C#の方が簡単そうだけど絶対性能で負けるなら何となく格好悪いから使いたくない、とかその程度の発想でウダウダ食い下がってるだけだと思うぞ。
2010/12/21(火) 21:55:38ID:7nmvHqyX
58名前は開発中のものです。
2010/12/21(火) 21:59:22ID:XhDhH52e 昔のJavaスレをみるようだ歴史は繰り返すなw
59アジェグ4倍 ◆4xAJeG.COM
2010/12/21(火) 23:38:07ID:co1xIq2s まあ、要するに、newの使いどころをわきまえてりゃ、
ガベージがドーノコーノなんて話が出てくる必要もないわけで。
変なタイミングでnewするから、変なタイミングでガベージが動くんだぞ。
最初に書いたように、フレームループの中でnewしないように注意なんてのは、
プロファイルとやらがドーコー言う以前の、技術の基礎だからな。
ガベージがドーノコーノなんて話が出てくる必要もないわけで。
変なタイミングでnewするから、変なタイミングでガベージが動くんだぞ。
最初に書いたように、フレームループの中でnewしないように注意なんてのは、
プロファイルとやらがドーコー言う以前の、技術の基礎だからな。
2010/12/21(火) 23:50:24ID:IUyb5141
上のRobotGameでもふつうにnewしてGCしてる
クラス設計 特に継承を使った設計が
頭の中にないと なんでnew禁止が辛いのか
理解できないので
会話にならない
クラス設計 特に継承を使った設計が
頭の中にないと なんでnew禁止が辛いのか
理解できないので
会話にならない
2010/12/22(水) 00:17:59ID:MbCuhdtT
俺がゲーム開発のノウハウ教えてやんよ
と、息巻いてる奴に限って
英語コンテンツは一切目をとうさず
シェーダーも使えない
悲しい現実
と、息巻いてる奴に限って
英語コンテンツは一切目をとうさず
シェーダーも使えない
悲しい現実
2010/12/22(水) 01:02:04ID:lDvG2hsH
2010/12/22(水) 01:47:45ID:87uiMMNX
>>59
newの使いどころをわきまえる為に、.NET CLRのGCの特性を理解して使いましょうって話をしてるんだよ。
必死に無駄な最適化をしている君は実に馬鹿だなぁ
無駄な努力をするのは別にいいけど、誤った知識を広めて人に迷惑かけんなよ。
newの使いどころをわきまえる為に、.NET CLRのGCの特性を理解して使いましょうって話をしてるんだよ。
必死に無駄な最適化をしている君は実に馬鹿だなぁ
無駄な努力をするのは別にいいけど、誤った知識を広めて人に迷惑かけんなよ。
2010/12/22(水) 03:50:48ID:jdovR8NX
>>62
脳が腐ってる気もするけど、同意。なんだろう、ロリコンって少ないのか?他の国じゃ。
脳が腐ってる気もするけど、同意。なんだろう、ロリコンって少ないのか?他の国じゃ。
65アジェグ4倍 ◆4xAJeG.COM
2010/12/22(水) 10:24:58ID:msb7iRfo new と同様に注意しなきゃならんのは、Listで定義した配列のAddとRemoveだな。
多くの場合、Addの直前にnewしてるんだろうけど。
フレームループの中で有効件数が変わるような配列(敵の弾とか)は、
最大値を設けてあらかじめその数だけ取っとくなりしないと。
多くの場合、Addの直前にnewしてるんだろうけど。
フレームループの中で有効件数が変わるような配列(敵の弾とか)は、
最大値を設けてあらかじめその数だけ取っとくなりしないと。
2010/12/22(水) 10:56:22ID:1bNr51j3
newのコストとかGCのコストなんてゲーム作ってくうちにネックに成ったら考えれば良い話。
簡単なパズルゲー、ノベルゲーなら多少フレーム落ちてもたいして問題ないし。
簡単なパズルゲー、ノベルゲーなら多少フレーム落ちてもたいして問題ないし。
2010/12/22(水) 11:46:54ID:8WY0reJe
68アジェグ4倍 ◆4xAJeG.COM
2010/12/22(水) 12:18:18ID:msb7iRfo 縮小は行われなくても、インデックスの更新などがあるからねぇ。
まあ、パズルやノベルなら、確かにさほど気にせんでもいいが。
おれが今作ってるのは音楽ゲー系(Javaだけど)だから、
タイミングにはイロイロとシビアでねぇ。
まあ、パズルやノベルなら、確かにさほど気にせんでもいいが。
おれが今作ってるのは音楽ゲー系(Javaだけど)だから、
タイミングにはイロイロとシビアでねぇ。
2010/12/22(水) 12:20:16ID:8WY0reJe
指数関数的に内部配列を拡張していって縮小はしないのはC++のvectorやJavaのArrayListなんかでも見られる
ごく一般的な動的配列の実装なんだけどな
上でもnew ColorがGCに影響するとかnewがmallocとか見当違いのこと言ってるし
ごく一般的な動的配列の実装なんだけどな
上でもnew ColorがGCに影響するとかnewがmallocとか見当違いのこと言ってるし
70アジェグ4倍 ◆4xAJeG.COM
2010/12/22(水) 12:45:03ID:msb7iRfo CPUの進化ってすごいんだねぇ。
ここの連中のおれへの反論を見ると、
そう思っちまうねぇ。
ここの連中のおれへの反論を見ると、
そう思っちまうねぇ。
2010/12/22(水) 12:59:52ID:a/rzg/Ro
もうその話題は終わったよ
2010/12/22(水) 13:11:33ID:MbCuhdtT
音ゲにNPC AIもステージ設計も無いもんな
むしろ事前初期化ぐらいしかやる事なさそ
むしろ事前初期化ぐらいしかやる事なさそ
73アジェグ4倍 ◆4xAJeG.COM
2010/12/22(水) 13:21:41ID:msb7iRfo おれの場合、MIDIを使って、既存のデータで遊べるようにしてるから、
そのMIDI関連の調査には、チョットばかし苦労したねぇ。
最近はソノヘンの資料が少なくてねぇ。
何とかならんのかねぇ、あの叩いてから音が出るまでの遅延。
マックならそれほどひどくもないんだが・・・
そのMIDI関連の調査には、チョットばかし苦労したねぇ。
最近はソノヘンの資料が少なくてねぇ。
何とかならんのかねぇ、あの叩いてから音が出るまでの遅延。
マックならそれほどひどくもないんだが・・・
2010/12/22(水) 13:21:53ID:8WY0reJe
JavaのGCって.NETのと比べてストップザワールドを起こしやすいし
値型を定義できないしジェネリックも飾りでボックス化が発生しまくるからゴミも多発しやすい
インデックスの更新ってほんとにそんなものがボトルネックになったことあるのか?
知りもしない調べもしない測りもしない
値型を定義できないしジェネリックも飾りでボックス化が発生しまくるからゴミも多発しやすい
インデックスの更新ってほんとにそんなものがボトルネックになったことあるのか?
知りもしない調べもしない測りもしない
75アジェグ4倍 ◆4xAJeG.COM
2010/12/22(水) 13:32:07ID:msb7iRfo そんなものがボトルネックになったことあるのかって?
そういうリスクを未然に防ぐ作り方を心がけてるから、
知りもしないでいいし調べもしないでいいし測りもしないでいい。
おれがおれのやりかた。
そういうリスクを未然に防ぐ作り方を心がけてるから、
知りもしないでいいし調べもしないでいいし測りもしないでいい。
おれがおれのやりかた。
2010/12/22(水) 13:35:51ID:MbCuhdtT
本人がキチガイ認めて完結
2010/12/22(水) 16:16:47ID:87uiMMNX
なんだ、やっぱりキチガイが妄想を根拠にした俺理論で騒いでたのか。
通りで理詰めで説明しても通じないわけだ。
>必死に無駄な最適化をしている君は実に馬鹿だなぁ
>無駄な努力をするのは別にいいけど、誤った知識を広めて人に迷惑かけんなよ。
通りで理詰めで説明しても通じないわけだ。
>必死に無駄な最適化をしている君は実に馬鹿だなぁ
>無駄な努力をするのは別にいいけど、誤った知識を広めて人に迷惑かけんなよ。
2010/12/22(水) 18:35:42ID:1bNr51j3
調べも測りもしない上に使ってる言語はJava
思慮に値しない戯言だったって事だな
思慮に値しない戯言だったって事だな
79名前は開発中のものです。
2010/12/22(水) 18:52:03ID:YXiGsK9q それぞれを比較できる幾つかの数値的な根拠なりなんなりを出していない時点でどっちもどっち。
2010/12/22(水) 19:51:48ID:87uiMMNX
ID違うけどお前さん◆4xAJeG.COMの捨て台詞みたいな事言ってるな。
まぁ、実際に問題なくゲーム(Robot Game)が動くのが何よりの証拠。お前の目は節穴か。
まぁ、実際に問題なくゲーム(Robot Game)が動くのが何よりの証拠。お前の目は節穴か。
2010/12/22(水) 19:54:10ID:XMfWOza8
このスレはゲ製板を象徴するようなスレだな。ダウトだらけ。本当にコンスタントにゲーム作ってる人いるんかね。
2010/12/22(水) 20:01:53ID:4NXPbAbv
ここまでほとんどゲーム関係ないじゃん
純粋に.NETの知識としては特定の人以外はそんなに間違ってはいない
純粋に.NETの知識としては特定の人以外はそんなに間違ってはいない
2010/12/22(水) 20:03:19ID:Wg8SNA4z
ゲーム関係ないw。いらないなこんなスレ
84名前は開発中のものです。
2010/12/22(水) 20:08:02ID:YY2LjFIA C#の話題ならム板で事足りる。
最近の流れはヲチとしては面白い。
最近の流れはヲチとしては面白い。
2010/12/22(水) 20:15:47ID:MbCuhdtT
2010/12/22(水) 20:44:11ID:MbCuhdtT
俺より難しいことを知ってる奴はゲームなんか作ってない
はい これ繰り返し言ってみなさい
ね、 落ち着いたでしょ
はい これ繰り返し言ってみなさい
ね、 落ち着いたでしょ
2010/12/23(木) 01:28:50ID:OCYjdJoh
C#で作ることのメリットデメリットは実行速度・ライブラリと組みやすさってのはわかってるし、特に言語にまつわるできるできないもそんなにないし。
SlimDXやXNAの話題は専用スレもあるし、
このスレの価値はこれらのライブラリを比較することと、C++に根本的にない文法で実装した方法紹介ぐらいしかないような気がする。
SlimDXやXNAの話題は専用スレもあるし、
このスレの価値はこれらのライブラリを比較することと、C++に根本的にない文法で実装した方法紹介ぐらいしかないような気がする。
2010/12/23(木) 02:25:47ID:GtUoPrZH
yield return
Reflection.Assembly.LoadFrom
シリアライズ
効果
相手は死ぬ
Reflection.Assembly.LoadFrom
シリアライズ
効果
相手は死ぬ
2010/12/23(木) 07:11:33ID:7ot6aP0i
2010/12/23(木) 10:33:35ID:77raTIZw
まあ前はXNAのModelMeshCollectionなどの列挙子がクラスとして実装されてて
foreachでガベージが発生してパフォーマンスが落ちるとか騒がれてたくらいだからな
yieldも構造体じゃなくてクラスなのでwindowsではまず問題にならないけど360では問題になるのかも
foreachでガベージが発生してパフォーマンスが落ちるとか騒がれてたくらいだからな
yieldも構造体じゃなくてクラスなのでwindowsではまず問題にならないけど360では問題になるのかも
2010/12/23(木) 12:02:54ID:vF4GDpDy
vs2010だとC++でも文字列処理の塊みたいなプログラムだと
Debugで実行するとReleaseの1000倍以上遅くなった
Debugで実行すると30分たっても終わらないのに
Releaseで実行すると5秒もしないうちに終わったりする
C#も似たような面がある
Debugで実行すると不安になるぐらいおっそいの
でもReleaseで実行すると問題ないぐらい早く動くの
debugで実行して遅い遅いいってない?(って開発の妨げになることはなるけど)
Debugで実行するとReleaseの1000倍以上遅くなった
Debugで実行すると30分たっても終わらないのに
Releaseで実行すると5秒もしないうちに終わったりする
C#も似たような面がある
Debugで実行すると不安になるぐらいおっそいの
でもReleaseで実行すると問題ないぐらい早く動くの
debugで実行して遅い遅いいってない?(って開発の妨げになることはなるけど)
2010/12/23(木) 12:10:58ID:77raTIZw
文字列処理ならそうだろうけど、DirectX使ってるときはあまり感じないな
描画がボトルネックになってるとほとんど関係ない気が
描画がボトルネックになってるとほとんど関係ない気が
2010/12/23(木) 12:15:02ID:GtUoPrZH
94アジェグ4倍 ◆4xAJeG.COM
2010/12/23(木) 12:37:31ID:9G5RY3Zb 最近のゲームって、このように基礎知識がなってない連中が作ってるのか。
まあガベージコレクション自体、ソノヘンが欠けた技術者?の為の機能だからな。
まあガベージコレクション自体、ソノヘンが欠けた技術者?の為の機能だからな。
2010/12/23(木) 13:29:08ID:GtUoPrZH
痛々しいな
ツッコミが怖くて技意味のある発言ができなくなっとる
まぁ 嘘臭いからツッコまれるのだがw
ツッコミが怖くて技意味のある発言ができなくなっとる
まぁ 嘘臭いからツッコまれるのだがw
2010/12/23(木) 13:31:49ID:y5spn/N8
GC自体否定&ゲームに使ってる言語もJava
なのになぜC#スレにくるのか…
なのになぜC#スレにくるのか…
97アジェグ4倍 ◆4xAJeG.COM
2010/12/23(木) 14:17:35ID:9G5RY3Zb なにしろ今、開発に忙しいからね。
技術味のある発言なんて始めからしてないし。
new に関する話なんて基礎の基礎だから、
技術味なんてご大層なレベルじゃないもん。
技術味のある発言なんて始めからしてないし。
new に関する話なんて基礎の基礎だから、
技術味なんてご大層なレベルじゃないもん。
2010/12/23(木) 14:26:58ID:GtUoPrZH
俺より強い奴はみんなハメ
俺より強い奴はみんなチート
俺よりゲーム開発詳しい奴はみんなゲーム作ってない new
俺より強い奴はみんなチート
俺よりゲーム開発詳しい奴はみんなゲーム作ってない new
2010/12/23(木) 19:00:16ID:y5spn/N8
開発に忙しいなら尚更こなければ良いのに。
100名前は開発中のものです。
2010/12/24(金) 11:05:04ID:t+N1XtKX >>93
マイクロスレッドなら最初からそう書けよwアホかw
マイクロスレッドなら最初からそう書けよwアホかw
101名前は開発中のものです。
2010/12/24(金) 11:37:59ID:n1/ru3ep 煽るにも、俺の方が詳しいんだゼ
って事を書かないと
負け犬の遠吠えですぜ
って事を書かないと
負け犬の遠吠えですぜ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】トランプ大統領、中国の習近平国家主席を「国賓」として招待することに ★3 [ニョキニョキ★]
- 日本と中国を結ぶ12航空路線で全便欠航 中国人に最も人気の海外旅行先は日本から韓国に ★2 [ぐれ★]
- 【東京・足立の車暴走】赤信号無視か 危険運転致死傷疑いも視野に捜査 逮捕された職業不詳の男性(37)は精神疾患で通院歴も ★3 [ぐれ★]
- 【音楽】「なんでこんなバカが国のトップなの?」 若者に人気のバンド「GEZAN」のマヒトゥ・ザ・ピーポーが高市総理に苦言 [シャチ★]
- 【芸能】84歳・岩下志麻の最新姿「マジか」「嘘でしょ」「こんな…」「本当に」「恐るべし」「雰囲気が違う」 [湛然★]
- 石破前総理「どうすれば台湾有事にならないかを考えるべき」★2 [1ゲットロボ★]
- 【実況】博衣こよりのえちえち朝こよ🧪★2
- 【実況】博衣こよりのえちえち朝こよ🧪
- 【悲報】小野田紀美さん、宇宙人みたいな服を着てしまう…また、そのことを突っ込まれブチ切れ中www [856698234]
- 高市早苗の車のナンバー、中国人に気付かれて炎上wwwwwwwwwwwwwwwwwwwwwww [329329848]
- ホロライブ、上場企業なのに故人を悪質ネタにして炎上 [329329848]
- 習「中国とアメリカは軍国主義(日本)を倒した仲間。勝利の成果を守るために協力すべきだ」とトランプに呼び掛け。高市早苗、終了。 [153490809]
