C# C# C♯ でゲームを作ろう Part2
■ このスレッドは過去ログ倉庫に格納されています
C#でゲームを作ろうと思う人が情報を交換するためのスレです。 テーマはアクション、パズル、RPG等なんでもOK C#ゲーム製作@wiki http://www21.atwiki.jp/csharpgamedev/ 前スレ C# C# C♯ でゲームを作ろう Part1 http://hibari.2ch.net/test/read.cgi/gamedev/1212989813/ 当たり判定とかマルチスレッドで2つとか4つに分けて処理させたら マルチCPU環境だと早くなる? スレッドは2だけど1つしかCPU使わないとかありえる話? SharpDXが割といい感じだと思う XNA風のGameクラスとかがあるToolkit名前空間が 個人的に非常に嬉しい linuxにも対応させようと思ったらmono+OpenGLですかね >>346 .net4.0からParallelっていう便利なクラスができたから利用するといいよ OpenTKとかあったな、中身OpenGLだけど。 よく知らないけどジョイスティックとかオーディオとかにも対応してるらしい。 シャープ(音楽記号)ってなんだよw C#とは違う新言語でも作ったのかい? C#でノベルゲームってアリっすか? >>351 だってC#は「Cナンバー」って読むもん 「Cシャープなら」C♯ ノベルゲームがアリか聞く意味がわからん C#が作るのに向いてるかどうかが聞きたいのだろうか 別物だけど正式な表記はC♯じゃなくC# でも読みはシーシャープ C#(シャープ)ならわかるけど、音楽記号と書くのは何かおかしい >>356 >別物だけど正式な表記はC♯じゃなくC# え? ウィキペディアにそんな風な事が書いてあった気がする たしか、音楽記号の方は一般的なキーボードでは入力しづらいから ナンバーサインの方を正式な表記にしたとか何とか まだまだSharpDXもMonoGameもありますがな いろいろ探してたんだけど Monogameってデスクトップ版はSDLだからOpenGLなのか sharpDXにすればいいのに >>362 俺の記憶が正しければXNAはDirectX9ベースだったと思うんだけど これはどう比較しているの? @xoofx: With my coworker @xen2, we implemented last year a full D3D11/DXGI/D3DCompiler compatible API on top of PS4,running Yebis, Paradox & SharpDX マジで? VitaとかでC#の開発環境があるし、PS4でもC#での開発できるようになってもおかしくないね CPU・GPUはAMDのAPUだしDirectXそのままでなくてもほぼ同じだろうし ラッパー作ったらDirectX系まんまになりそうな気はする。 SL#(えすえるしゃーぷ)とは、GPUで実行されるプログラマブルシェーダーを、超高級言語である C#で書けてしまうという夢のようなオープンソースのフレームワークである。 http://monobook.org/wiki/SL_Sharp キタコレ スレ間違えたw XnAたんが死亡したんだが、これからはSharpdx一択なんかな? 死亡ではないけど、MSが次期はないということからこれから廃れてくるのかなと まぁまだ何年かは持つだろうけど これからはWin8考えるとWPFに主力は移るのかな? SharpDXに対するSlimDXの優位点ってどんなのがある? 今はSharpDX一択で動いているんだけど、ふと気になったので質問 まあ出た時期がかなり前なので蓄積ある人もいるんじゃない? 開発終了してるし今更slimdx使うメリットは流石に皆無だと思う sharpdxの方はtoolkitならxna系のソースも流用出来たりするし なにより開発が未だに活発11.2の対応とかもう始めてるしね DXライブラリのC#版でゲーム作ってるんだが デバッグ中にFatalEngineExeptionErrorだかってのが出てとまっちゃう 対処法知ってる人いない? まずは正確な例外の名前がわからないことにはどうにもならない もし ExecutionEngineException だとしたらOSの再インストールが必要なレベルだな ttp://msdn.microsoft.com/ja-jp/library/system.executionengineexception(v=vs.100).aspx まあ待て落ち着け まずは例外の名前を確認するんだ 実際ランタイムが壊れるなんつーのは 外歩いてたら隕石にぶち当たるぐらいな確率(のはず)だ 悲観するのはそれからだ マネージ デバッグ アシスタント 'FatalExecutionEngineError' では 'アセンブリ名.vshost.exe' に問題を検出しました。 追加情報: ランタイムの重大なエラーが発生しました。 エラーのアドレスは 0x51a1ec28、スレッド 0x25bc です。 エラー コードは 0xc0000005 です。 これは CLR のバグであるか、またはユーザー コードのアンセーフまたは確認不可能な部分にバグがある可能性があります。 このバグの一般的な原因には、スタックが壊れる可能性のある COM-interop または PInvoke のユーザー マーシャリング エラーが含まれています。 この例外のハンドラーがある場合は、プログラムを安全に続行できます。 こう表示される。 例外の名前はFatalExecutionEngineErrorってのであってるかな。 エラーマネージメントだかにはmscorlib.dllがどうのっていってたな。 P/Invokeまわりに問題が出てるように見えるな 0xc0000005とか思いっきりメモリアクセス違反っぽいし ・VC#プロジェクトの対象プラットフォームが「AnyCPU」になってたら 「x86」に変えてみるとか (効果があるかはわからないけど) ・発生のきっかけになるDxLib関数呼び出しがあるはず。 最初からステップ実行して、どの関数を呼んだときに起こるか試す 関数を特定できたら、DxLib.csでそのメソッドの定義を確認するとか (確認してどうなるかわからないけど) プラットフォームに関してはもしかしたら思い変えてみました。 効果なしです。 発生の原因も特定を試みましたが。 わかったのはデバッグ開始から1分10秒を越えたあたりということだけです。 毎回エラーとして問題になる行が変わるのでよくわからないです。 DxLibの関数呼び出しの行でエラーが起こったことはなかったと思います。 ちなみに行の内容にも統一性がありません。 文字列の配列管理の部分だったり、数式の途中でエラーが出たり。 ここに書き込むまでに2〜3週間くらい色々試しましたが原因の特定には至りませんでした・・・。 SharpDXのToolkitで、XNAみたいに ContentManager経由でフォントとかモデルとか読み込む方法 (1) ビルドアクションに追加 .csprojファイルを開いて、下の方に次の行を追記 (Program Files云々は環境によって書き換える) <Import Project="C:\Program Files\SharpDX\SharpDX.targets" /> これで、ファイルの「ビルドアクション」にToolkit関係のものが表示されるようになる。 参考: ttp://sharpdx.org/forum/4-general/2668-build-actions-missing (2) フォントのxmlとかモデルとかをソリューションエクスプローラに登録 (3) 登録したリソースの「ビルドアクション」を「Toolkit***」に変更 (***はコンテンツの種類によって変更) (4) あとはサンプルプログラムみたいに、Content.Load<T>(ファイル名); ・・・もしかしたらSharpDX.Toolkit使ってる人には常識かもしれないし VS2012 Professionalならこんな手間すら不要かもしれないけど ようやく正解にたどり着けたのでここに記す。 サンプル通りだと Content.RootDirectory = "Content"; XNAと同じようにContentフォルダを作ってそこにリソースを放り込むってのが基本なのかも もちろん変えてもおkだけど 俺もついでに少し前に調べた奴XNAでcomponent使ってた人向けのお話 artiomさんのレスが分かりやすい http://www.sharpdx.com/forum/5-api-usage/2644-direct3d11-toolkit-adding-components-like-xna-shader-compile-flags toolkitにはサウンド系はxna互換なものは実装する予定ないのかな? >>385 サンクス!どうするのか分からず迷ってた てかもうSlimDXとかオワコンなの!? SlimDXとXNAはSharpDXに移行したら終わりだな C#でOpenGL使ったゲーム作ろうと思ってるんだけど無謀かな。 描画は2Dしかやらない予定なんだけど まあいいんじゃない、ラッパーも自分で書くの? Taoとかいいかもね いや、決まってるのはOpenGLってことだけだった。 動作対象がXPで、DirectXだと最新のやつは対応してない気がしたから ラッパーは探してたから情報サンクス C#で簡単なトランプのゲーム作りたいんだけど難しい? ポーカーとか神経衰弱とかそんな奴 難しさは他の言語で作った場合とほとんど変わらないと思う ぶっちゃけ一番簡単 だがそれが簡単とわからないうちに「言語」を勉強しても身につかないw トランプとかなら無理にDirectXとかGL使う必要ないだろうから 土台はformとかGPUの支援欲しいんならWPFでもいいかも 今C#でDirectX触りたかったらXNAでいいの・・? >>399 XNAは開発停止しているが、Microsoftが押してただけあって情報量や完成度は高いな XNAはどちらかというとゲーム開発のフレームワークなので、 DirectX10以降を直にさわりたいならSharpDXがオススメ >>400 ふむふむ、ありがとー。 XNAとSharpDXとSlimDXと触ってみたけど うちのノートPCのビデオカードだとDirectX11?のシェーダーまわりが非対応で動かなかったw うーん、乗り換えたかったんだけどなぁ・・・。 どうしたものやら。 XNAなら、DirectX9をベースにしてるから 一昔前の世代のビデオカードでもある程度どうにかなると思う。 過去のソフトウェア資産があるからDirectX9が切られるまでは かなりな猶予があるだろうし。 DirectX9も厳しいビデオカードだとすると それはさすがに買い替えるべきとしか言えんw >>403 ありがとー XNA4.0は全滅やったけど、3.1をダウンロードしてきたらサンプルも実行できたわ! XNA自体は開発終了したけど開発が続いてるXNAベースの 互換フレームワークがたくさんあるから 後からいくらでも乗り換えられるから無駄にはならないと思う sharpdxだとtookitってのがXNA互換で確かdirectx9ベースだったような? monogame辺りはクロスプラットフォームでこれはOpenGLベース http://www.monogame.net/ >>405 SharpDX.ToolkitはDirectX11ベース なんでいまさらDirectX9ベースのライブラリ作るんだよ MonoGameはWindowsではDirectXも使える もともとXNAの後継として作られたのになんでDirectXが使えないんだよ >>406 monogameのdesktopは多分まだOpenGLじゃない? 開発するかも的な事は以前言ってたけどもう開発したの? WindowsStore用とPhone用の部分はSharpDXを利用してるから DirectXで間違えないよ MonoGame以前Windowsにインストールした時は OpenTK使ってたみたいだったな 任天堂、容易なクロスプラットフォーム化を 実現する「MonoGame Framework」をWii Uに導入か http://www.inside-games.jp/article/2013/10/09/71032.html XNAはしぶといな XNAの通信回り触ってたんだけど、 これってGames for Windows LIVE?ってのを使わないといけないってことなの? アカウントの作成とか自前でやろうと思ってたんだけど、どうなんだろう。 >>414 使わないといけないよ。 嫌なら自前実装だな >>415 そうですか・・・ありがとうございます。 slimdxやsharpdxで生成したシェーダーやバッファとかのインスタンスってサンプルだとC#でdisposeしてるけど、 なんで必要になってくるの? 自明で書かないと解放されないの? そのうちガベージコレクタからDisposeが呼ばれる。 限りのあるリソースは早く開放した方がいいのでDisposeを呼び出したりUsingでラップするのがいい。 少ないリソースはGCが呼ばれる前に枯渇してしまう場合もある。 また、アクセス制限などの排他処理の解除をDisposeで行う場合もある。 >>420 なるほどそうでしたか。 アンマネージドコードを参照して使ってるのからって解放の責任があるわけではなく、 単にメモリ節約のために早く解放のしてるだけなんですね メモリもリソースの一つだが、Disposeが必要なものはファイルアクセスやデータベース接続のように もっと使用できる量が制限されたものである。 例えば、ゲームデータをセーブするのにファイルを書き込みでオープンしてCloseかDisposeし忘れた場合、 もう一度セーブしようとするとファイルオープンに失敗する(GCが実行されていれば成功する)。 データベースサーバの同時接続数が制限されている場合に、データベースに接続してDisposeし忘れた場合、 他のプログラムがデータベースに接続しようとしても接続できないかもしれない、Disposeし忘れたほうは データベースに何もすることなく、接続して処理が必要なプログラムが実行できないことになる。 DirectXのバッファは最終的にはGPUのメモリを使用することになる。GPUのメモリはメインメモリと比べて少ない。 また、メインメモリは仮想メモリで実際に搭載しているメモリよりも多く扱える。 C#でゲームを作ろうと計画しているものです。 XNAが最有力だと思っていましたが、思いっきり、開発停止なんですねorz。 今からゲーム製作始めるとしたら、フレームワークは何がいいですか? もう、Unityとか調べた方がいいのかな? 個人的にプログラムの腕も磨きたいので、出来ればUnity見たいなGUIバリバリのフレームワークは避けたいところです。 >>423 このスレはさらっと読んでみた? 頭から流し読みするだけでも、いくつかヒントは拾えると思う。 俺の主観で、今のところ有力そうなのは ・XNAとほとんど同じように使えてクロスプラットフォームなMonoGame ・同じくXNA風のフレームワークがあるSharpDX あたりじゃないかな。 あとは、C++用のゲームライブラリ/フレームワークがC#用にポートされてたりするから その辺から探してみるとか。 あと、XNAは確かに更新停止っぽいけど、まだまだ使えるフレームワークだ(と思う)から XNAを選ぶのもそれほど悪くない選択肢だと思う。 // ・・・なんだかんだ言って、XNAはC#のゲームフレームワークの基本になっちゃったな。 // VitaのPSMもXNA風インターフェースだし。分からんもんだ。 Unityでええんちゃう? 移植できるし3D組みやすいし おとなしくMSがXNAの後継を発表するのを待つのもありかと。 SharpDXのToolkitにSoundEffectとか音系は実装されてないのか XAudioで自作しろと(´・ω・`) すみません。 大戦略みたいな戦術シミュレーションをC#で作りたいのですが、参考になるサイトとかサンプルとかありますか? 色々と調べるとUnityとかXNAとか出てくるのですが、Unityは私のやりたいことに対し、大きすぎる気がします また、XNAも大きすぎる気がするのと、開発停止が気になります 私のC#の能力は、webアプリの仕事でそれなりの規模ロジックの実装したことがある程度です ファイル入出力程度は経験していますが、キーボードやマウス入力の処理、GUIは未経験です >>429 Monoはどうなるんですかね? その記事みても、これからMonoGameが発展するのか、なくなるのか良くわからないです >>432 情報ありがとうございます tkは有名ですが、tclの方がいまいち人気ないみたいなので、winformを直接いじったほうがいいかもしれませんね あと、色々と調べていたのですが、こんなのを見つけました ttp://sourceforge.jp/magazine/12/12/19/0756230 2D向けで、尚且つネットゲームまでサポートしているみたいです 2012年の記事ですが、皆さんの中で、このツールについて触っている人いらっしゃいますか? 是非是非、お話を聞かせていただきたいです それさわったことないけど作るものが多少限定されるみたいだね 他の候補もいくつか挙げてみたら? それじゃわからないだろ。 SFML(C#)やるなら俺も興味あるけど Q. どんなの作る予定なの? (>>435 ) A. 大戦略みたいな戦術シミュレーション (>>431 ) 十分わかるのでは グラフィック以前の部分を作りこまないとシミュレーションはできないんじゃ? ゲーム設計をあんまり適当でやるとUIの作り直しの繰り返しばかりとかで嫌になるよ あんまり書き込めなくてすみません 業務が忙しいもので >>434 それが、あんまり見つからないのですよね 上であげたオープンソースもそれなりに立派なものだと思うのですが、日本語で検索するとほとんど出てこないですね >>435 シミュレーション系です 最初は大戦略みたいなのから始めて、リアルタイム大戦略っぽいのをつくり、それからはもっと大規模なのを目指したいです >>437 わかっていただきたく >>439 当然、作るつもりです >>440 ゲーム、GUI周りは初体験なので頑張りたいです (´-`).。oO(俺の作ったC#ゲームエンジン使ってなんて言えない) SharpDX 2.5がいつの間にか出ていた Toolkit用プロジェクトテンプレートの追加とからしい 相変わらずAudioは無い模様 で、今さっき気が付いたからいつのバージョンからかわからないけど VS2013のグラフィックス診断でデバッグできるようになってる? >>444 できる チョー便利 でもシェーダーのコードは無理っぽい ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる