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

■ このスレッドは過去ログ倉庫に格納されています
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/
2011/06/20(月) 22:44:22.86ID:g+vFh1dU
>>219
レスありがとうございます。
言語的にはC#の方が便利(少ない記述で簡単に書けそう)な気はしますね。

あと、将来的にはどうなのかな。
XNA Framework でしたっけ?ああいうので
ずっと汎用性が高いコード書けそうな気も。
(他環境で元のコード弄らず実行出来る可能性があるのはかなり魅力)

速度もどうなんでしょうか?
これもインスコ時に一度だけJITで
環境毎に最適化されたコード吐けば
かなり質の良いものになりそうな気も。
将来的にはどんどん性能も上がりそうですし。
そしてマシンスペックを限界まで引き出して
カリカリチューンしたコードでも書くのでなければ
やっぱC#の方が合理的な選択なのかなぁと最近すっごく思ってしまいますね。

うーんでも迷うなぁ。
2011/06/20(月) 22:51:06.77ID:ua6BuKlh
>>220
仕事にしたいならC++

特に理由がないならC#はお勧め
なにより>>219が言う通り開発が早い
生産性を考えると何倍も違う
あとここ最近のJITは性能が向上してるので、
ググれば意外に速いのがわかる

ただXNAは個人的にはお勧めできないw
2011/06/20(月) 22:54:45.12ID:g+vFh1dU
>>221
やっぱりC#の生産性の高さは魅力ですよね。
サクっとプログラミング出来る環境は魅力です。

それと、XNAが勧められない理由というのはなんでしょうか?
もしよろしければ参考にしたいのでおしえて頂けませんか?
2011/06/20(月) 23:15:33.56ID:Detm2EZT
XNAに未来は無いからな
趣味でやるなら文句は無い
2011/06/20(月) 23:46:27.92ID:g+vFh1dU
>>223
XNAは継続して開発されないという事でしょうか?
それだったら止めた方が良い気がしますね。
2011/06/20(月) 23:47:49.02ID:ZCsxQmCP
未来が気になるならクッション挟めばいいだけ
2011/06/21(火) 00:03:07.78ID:wcOdQHj5
>>225
自作のラッパークラス群などを作るという事ですか?
確かにそれなら中身を書き換えるだけでよいですね。
2011/06/21(火) 00:15:39.00ID:hcAIHp8f
箱○が出続ければ継続するんじゃね?
2011/06/21(火) 00:32:17.84ID:wcOdQHj5
ちょっと調べてみましたが、C#でDirectXなら
SlimDXが良いのかなとも思いましたが。

まぁゲーム本体のコードはC++とC#で迷うにしても
ツール類は絶対これからC#で書いた方が
合理的な気がしますね…

昔みたいにMFCとVC++で作るのはほんとツラいので…
2011/06/21(火) 00:49:32.83ID:hcAIHp8f
dxライブラリでもええやないの?
2011/06/21(火) 00:52:49.52ID:wcOdQHj5
>>229
あれってC#で使えましたっけ?
C++だととっても良いライブラリだと思うんですが。
2011/06/21(火) 01:07:11.31ID:hcAIHp8f
C#バージョンもあるよ
2011/06/21(火) 01:11:14.99ID:GJAfiv7E
dxlibは関数名がなぁ
2011/06/21(火) 01:20:59.68ID:wcOdQHj5
>>231
おーそうだったんですか。
あのライブラリって随分有名になりましたよね。

>>232
自分はC++で、自分のDirectXラッパーライブラリの
DirectXのバージョンアップするのが面倒だったので
内部だけdxlibで書き換えた事ありましたよ。そういえば。
ツークッションみたいな状態ですがw
2011/06/21(火) 03:52:38.80ID:6C1+3RKX
C#スレでこんなにカキコあるならもう少し盛り上げようずw
おじさんは寂しいよw

directxのラッパーなら
slimDX
dxlib
かね
いずれにせよフレームワーク部分は自作しないとだけど
そこは自作のほうがええだろうし
2011/06/21(火) 04:08:11.83ID:wcOdQHj5
>>234
確かにゲーム自体のフレームワークは自作しなきゃですね。
でも、dxlibの作者とかも言ってるように
自分の思想を極力押し付けないライブラリにしたい
というのはすっごく共感できましたけどね^^
2011/06/21(火) 04:10:12.18ID:IZIeuRiB
C# + DxLibって結構少ないと思っていたけど
土日スレとかだと意外と見かける。

公式のC#インターフェースがイケてないのは少し残念だけど
あの手軽さは他ではなかなか得られないと思う。
日本語資料も多いし。
2011/06/21(火) 04:19:02.81ID:wcOdQHj5
dxlibか〜 新しいバージョンはC#にも対応してたんですね。
DirectX7-8とかの頃触ったことがあっただけなので
知りませんでした。
238名前は開発中のものです。
垢版 |
2011/06/21(火) 04:22:01.84ID:3afCOWYU
age
2011/06/21(火) 04:34:17.83ID:wcOdQHj5
少し話しはズレますけど、M$はなんでもっとXBOXと互換性をちゃんと保たなかったんでしょう?
シロウト目には、XBOXは、普通のゲー専用ミニPCでも良いと思うんですけどね。
2011/06/21(火) 06:15:09.12ID:P6unZyCi
ソフトとハードを作ってるのが別チームだからだろ
2011/06/21(火) 06:15:25.68ID:wcOdQHj5
まぁ金儲けの為の布石が色々あったんでしょうか。
2011/06/21(火) 06:31:36.94ID:wcOdQHj5
>>240
単純に考えて、ゲーム以外の用途を殆ど削って
内部パーツの一部を交換可能な設計にして
OSもゲーム動作させる為だけの完全にPC用と互換あるものに
しててくれれば、どんなに良かったかと思ったんですが。
2011/06/21(火) 06:39:07.79ID:6C1+3RKX
少し前に
http://hibari.2ch.net/test/read.cgi/gamedev/1286984730/
にC#+DXlibのソース投下したんで興味あったらどんぞ
あんま参考にならんかったら許しておくれw
2011/06/21(火) 06:47:17.05ID:P6unZyCi
>>242
利用者にはそれがベストなんだが各チームプライドがあるから無理だろう
2011/06/21(火) 07:32:43.94ID:wcOdQHj5
>>243
後で見させてもらいますね。
>>244
それとなんかビジネス絡みの大人の事情っぽい事も色々ありそうな気が…
2011/06/21(火) 08:18:08.73ID:xH1E1FY5
俺は一時期C#でゲーム作ってたが、C++に戻りつつある。
メリットは
1.実行速度がでる
2.ゲームエンジンはC#版でも結局C++のラッパだからC++のほうがデバッグしやすい。
3.C#からC++を呼ぶ手段はいろいろあるが、その逆は少ない。
2011/06/21(火) 08:37:55.91ID:Saq3Hs51
>>243
通信
はdxlibのsocketやC#のsoketじゃなくて
lidgren使った方が楽だと思うよ
俺もC#dxlibで2DMMO作ってて
tcp越しのマップ移動とチャットまで作ったんだけど
後々の事考えてlidgrenで作り直してる
2011/06/21(火) 09:03:42.93ID:6C1+3RKX
>>247
すでにライブラリ化しちゃってるんだけどw
そのlidgrenてのはどんなん
ggってみたけどパッとわからんかった
249名前は開発中のものです。
垢版 |
2011/06/21(火) 09:27:19.64ID:wcOdQHj5
>>246
実行速度についてですけど
やっぱネイティブのC++とC#じゃ
JITで最適化されたコード吐いても
C++とそんなに差があるもんなんですか?

どっかにまったく同じメガデモみたいなもんの
C++版とC#版の比較とかないかな。
2011/06/21(火) 12:04:43.82ID:lgeltL/L
ゴリゴリの3Dじゃなきゃ分からんレベルに拘るな
2011/06/21(火) 12:41:09.97ID:xH1E1FY5
>>249
見本的なものは知らない。
C#にも得手不得手があるようで一概には言えないが、感覚的にC#は10%遅い感じ。(10秒が11秒に)
ただ配列アクセスはもっと遅い気がする。
あと描画ループ内だとC#からC++へのメモリ転送も馬鹿にならん。

まあ、コードの工夫でなんとかなるレベルだと思うから、どこにリスクを背負うかって話だな。
2011/06/21(火) 14:05:55.72ID:+SELv9I7
基本C#でどうしても遅い部分だけC++で作ればいいじゃん
でもFPS100の超絶弾幕シューティングを作るとかなら始めからC++でどうぞ
2011/06/21(火) 21:26:31.95ID:XXAmeKWk
でも思ったよりずっとC#は速い感じでよいですね。

まぁケースバイケースでやっぱり言語は
それぞれ使いどころがあるって事ですかね。
みなさんアドバイスありがとう。
2011/06/23(木) 04:55:10.49ID:Mg2577Eb
C#の勉強もかねてゲーム製作をがんばって見たいのですが、その場合、XNAよりSlimDXとかの方がいいですか?
もしくは、特別なライブラリは必要ないですか?
作りたいゲームは単純な2DのRPGやシミュレーションです
よろしくお願いいたします
2011/06/23(木) 18:29:43.45ID:nWcL2mex
>もしくは、特別なライブラリは必要ないですか?
>作りたいゲームは単純な2DのRPGやシミュレーションです
以前、C#2.0の頃にビットマップの描画速度がどの程度なのか調べたことがある。
2DのRPGとかでよくある16x16とかのビットマップを画面に何個も転送して
一画面描画するようなテストプログラムを書いた。
Win32APIだと16x16のビットマップの集まりのビットマップファイルを読み込んで
それをメモリDCに入れて、そこから画面のDCへ転送する形になるのだが
.NetFrameworkだとメモリDCの作り方がわからなかった。
しかたがないので何だったか忘れたがBitmapクラスかなにかでビットマップを読み込み
それから画面に描画したのだが非常に遅かった。
うろ覚えであまり参考になりそうになくて申し訳ないが、ようするに
なんかのライブラリがあった方がいいんじゃね?
とゆーことである。

まあ、そんときはメモリDCつくれないんでクソだろって思ってMDXつかった。
Win32APIでもよかったけど、MDXでもそんなに手間かかんないだろって思って。
実際のところ、C#つーか.NetFrameworkオンリーでこうゆうケースの描画で
速度だすには普通はどうすんの?
2011/06/23(木) 21:17:13.24ID:Mg2577Eb
>>255
レスありがとう
自分の場合は対してカッコイイ画面効果を予定していないから、スピードとかは気にならないかも
むしろ、プログラミング的にどのライブラリ使うのが(もしくは使わない)楽かの方が重要です
自分はDirectXの経験が完全にゼロだから迷うところ
2011/06/23(木) 22:12:52.66ID:nWcL2mex
MDXとSlimDX以外は使ったことないから、どれが楽かはわかんないけど
多分、このスレの人が書いたSlimDXのサンプルが
ttp://www21.atwiki.jp/csharpgamedev/pages/18.html
にあるから、そこのサンプルフレームワークとスプライトをみれば
楽にできそうか判断できるかもしれない。

スプライトのサンプルのOnRender()の部分でtextureからspriteにDrawしてるのが
描画のほぼすべてになるね、あとは準備とか後片付け。
まあ、あくまで描画だけだけど。
2011/06/23(木) 23:36:01.30ID:FgZSr0Ff
ただ作るだけならXNAが楽だと思うよ。
DirectXのめんどい部分は勝手にやってくれるし。
2011/06/24(金) 18:45:55.74ID:w2ahsluu
質問ばかりですみません
C#で作成されたゲームのソースコードを読みたいと思っているのですが、XNAとDirectXだと
どちらが読めるコードが多いですか?

自分は設計能力もまだまだなので、ライブラリのサンプル以外にゲーム全体のソースも
読みたいです

XNAとSlimDXをちょっと調べてみましたが、どちらも多少は勉強が必要で片方が圧倒的に
楽には思えませんでした
ですので、今回は勉強できるコードが多い方を使いたいと思っています

よろしく絵お願いいたします
2011/06/24(金) 19:49:20.12ID:vpIr/4FI
圧倒的にDirectXの方が多い
2011/06/24(金) 21:29:34.87ID:j8WTLCH/
XNAとDirectXならDirectXの方が情報は多い。
XNAとSlimDXならXNAの方が情報は多い。
2011/06/26(日) 20:24:29.87ID:kDU8FN7Y
なるほど
とりあえず、XNAを信じてみます
XNAが爆死したら、それはそのとき考えます
アドバイスありがとうございました
2011/06/27(月) 10:17:47.69ID:XmORyGJm
ほぼ全てのプログラムがソースコードにまでリバースエンジニアリング出来る事を考えると、
ネイティブ+DirectXで書かれたものよりXNAで書かれたものの方が読める機会は多い気がする
2011/06/29(水) 00:07:48.46ID:k3mpPKWN
そのレスだけだとわからないんじゃないか?
Reflectorっていう海外のツールがシンプルにC#exeファイルを覗けた。今ではリフレクターは有料ツールになってしまったけど確かに有能なツールだった。
2011/06/29(水) 08:59:25.49ID:k8ega+9c
ここで言うような事でもないけど、時計を今年の3月以前に戻すとまだ使えるんだぜ
2011/06/29(水) 09:34:20.48ID:k8ega+9c
いつのまにかILSpyなんてのが出来てたんだな。
見た目もReflectorとまったく変わらないしこれはいいわ。
2011/07/22(金) 17:25:02.19ID:grNpbW8x
unityではc#が使えるよ。
2011/07/22(金) 17:26:09.41ID:grNpbW8x
c#で書いてあるゲームのコードが載ってるとこしらないですか?
2011/07/22(金) 23:29:31.67ID:jWcHZAal
しらないです
2011/07/23(土) 02:29:55.89ID:U6kF4dml
>>268
ある程度やりたい事書いてくれれば、教えられる範囲でおしえるぞ
2011/07/23(土) 03:53:09.26ID:XfYGPnsY
FreeTrainがC#だったきがする
http://hibari.2ch.net/test/read.cgi/gamedev/1303913888/
スレ見ると今はグダってるみたいだけど、sourceforgeにソースあるはず
2011/07/23(土) 17:36:32.47ID:kEbjemIO
今はどうだかしらないけどリーダーがC#初心者なうえに痛い奴だったような気がする
2011/07/25(月) 10:01:31.50ID:k3N0XtxD
前スレでヘルプ求めてやって来た人がいたな。
あの人がリーダーだったん?
2011/07/27(水) 18:31:57.32ID:rtDjJBOt
>>270
unityで3DRPGを作りたいです。
デモンズソウルに近い仕様を目指します。
・武器の交換(ポリゴンモデルの変更含む)
・グラフィクユーザーインターフェース
この辺りを大体の仕組みを大まかに説明して頂けると嬉しいです。
2011/07/27(水) 19:27:13.33ID:PWOTNM6A
スレチ
2011/07/28(木) 10:08:18.40ID:2bUtDyJG
【3Dゲームエンジン】Unity 4
http://hibari.2ch.net/test/read.cgi/gamedev/1311799942/
2011/07/31(日) 21:52:48.74ID:RX3R5a7d
中川昭一まとめ
http://www.youtube.com/watch?v=P0W7OY9UwYs&feature=related
http://www.youtube.com/watch?v=BmAwvXS8ixs
http://www.youtube.com/watch?v=8gnDd6UxwtM&feature=related
http://www.youtube.com/watch?v=uFulFETdHzA&feature=related
278名前は開発中のものです。
垢版 |
2011/09/02(金) 22:33:21.22ID:ML5gyu7o
C#で使える組み込みスクリプト言語ってどんなのがある?
やっぱりLuaが鉄板なのかな。
2011/09/02(金) 22:43:29.77ID:r3GL4ObA
IronPython、IronRuby、Boo とか。他にもググれば沢山出てくるぞ。
280名前は開発中のものです。
垢版 |
2011/09/03(土) 00:17:34.69ID:Xm2kSO6d
id
2011/09/03(土) 00:18:00.90ID:lADjbFc7
普通にC#でもいいけど
2011/09/20(火) 01:42:21.67ID:HyU39mW7
今のところアマチュアの俺には直接の関係はないが、
PlayStationRSuiteでC#採用するってのは明るいニュースだね。
http://www.scei.co.jp/corporate/release/110915b.html

来春の正式ローンチで個人開発者でも使えるようになるといいな。
http://av.watch.impress.co.jp/docs/series/rt/20110916_477763.html
2011/09/20(火) 01:57:55.51ID:2ns/BLgC
絵みゅが出て終わるよ
2011/10/13(木) 14:07:45.35ID:y/z+Wlc2
あげ
2011/12/19(月) 13:01:21.92ID:iNpFDtuo
Silverlight5が来たね
XNAの機能が盛り込まれたり、色々ゲームに使えそう
少し挑戦してみるか


日本語SDKが出たらな!!
2011/12/22(木) 01:42:34.06ID:edwvGmuO
格ゲーのコマンド入力ってどう捌くべき?
2011/12/22(木) 09:29:30.41ID:mOrPedxd
イベント
2011/12/22(木) 11:13:31.01ID:FNysklry
直近の数秒間のキー状態を保存して置いて、Regexで技コマンドパターンとマッチングさせると言うのはどうだろう
2011/12/22(木) 21:16:03.45ID:HAGzfKIv
あんまり融通の効くような解析にするとグルグルポンで出るようになっちゃうし
悩みどころだよな
290名前は開発中のものです。
垢版 |
2011/12/24(土) 09:27:08.28ID:SLzNzNke
時間のアソビと、方向のアソビをもたせればいいだけだろ
291名前は開発中のものです。
垢版 |
2011/12/25(日) 03:24:08.92ID:/pQ3TQVq
うん
292名前は開発中のものです。
垢版 |
2011/12/27(火) 03:40:07.53ID:Yk/XjSQY
C#習得したくて作るならゲームがよくてWinAPIとかDirectXとか極力触りたくないんだけど
2011/12/27(火) 09:34:34.28ID:9w6EG7Fj
>>292
XNA一択
2011/12/28(水) 01:24:02.77ID:Zp8FtbbJ
そもそもDirectXとかXNAとかSlimDXとか触りたくなさそうな気配を感じる・・・

VisualStudioだとして、フォームにPictureBoxでも置いて、
その中に適当に絵を貼り付けて、PictureBoxを動かせば簡単なミニゲームは作れる。

ゲームを作るのが目的なら、そんなやり方勧められないけど、
C#を学ぶのが目的なら、その程度でいいんじゃないかなー
2011/12/30(金) 21:50:05.43ID:TIWqGbfI
>>292
OpenTKというのはどうだ
296名前は開発中のものです。
垢版 |
2011/12/31(土) 03:04:13.75ID:EZb1lWgj
>>292
Unityでいいんじゃね?
2012/01/01(日) 12:54:32.52ID:0PyEI2Oo
オンラインブラウザゲームって
なにからどうとっつけばいいかわからない

HTML触らずにSilverLightアプリ作成で、鯖とクライアント両方作れる?
先に鯖用
出来たら入出力分けてクライアント用?
全然わからん
2012/01/01(日) 12:56:34.74ID:0PyEI2Oo
普通にWebアプリ作って
処理の中身をユーザー分けして拡張していく感じか?
わけわからん
2012/01/01(日) 12:58:30.18ID:0PyEI2Oo
鯖データベース作って
各ユーザーごとに操作可能データ領域を区分けして
鯖はデータベースだけ見て常時処理していけばいいのか

わけわからん
2012/01/08(日) 11:43:26.19ID:HL/mVV1R
XNAでゲーム作ろうと思ったらグラボの性能が足りないのかエラー出たんだけどどうすればいいんですかね
2012/01/08(日) 13:31:52.65ID:ViJnsTP5
グラボ変える
2012/01/10(火) 21:23:42.42ID:omGre8X+
安いの買え
9600GTでもどうにかなるというのに
2012/01/11(水) 20:58:56.65ID:HOUjruQq
ドットキャラのパラパラアニメーター作った。
コードガリガリ書いて300行位でできたからC#ってすごいね。
2012/01/13(金) 10:53:03.89ID:OtdkujKw
C#がすごいんじゃないよ。
お前がすごいんだよ。
2012/01/16(月) 23:45:28.65ID:4/gfkBkU
>>304
そう言ってもらえると感激やわー!
2012/01/18(水) 15:10:20.96ID:RrDFsBvU
俺のほうが凄いけどな
2012/01/18(水) 15:11:52.74ID:EcoSYDxI
WindowsPhone7でゲーム作るわ
308303
垢版 |
2012/01/19(木) 02:04:31.14ID:Tw1c2s3W
気が向いたのであげてみる。一ヶ月位で消えるよ。
ttp://www1.axfc.net/uploader/File/so/74163.zip&key=2ch

デバッグはろくにやってないからそのつもりで。
俺は、幸、不幸に対する対価を要求しないつもりので、俺に責任を求めることは無いように!
UIがオカシイと思ったら直せばいいと思うよ。
使い方は、一応書いてあるけど、わからなかったら諦めろ!

そんな感じだ。

ちなみに300行っていうのは自分の手で書いた行数ね。
2012/01/19(木) 22:21:09.48ID:vX6PT/Iu
ウイルス入りか
2012/01/20(金) 01:00:43.55ID:bRk7D0Dt
>>309
え?
2012/01/20(金) 01:49:44.86ID:+SKmAGJd
>>309
え?
2012/01/20(金) 11:05:07.54ID:yGjTgAa9
>>309
え?
2012/01/20(金) 11:26:41.14ID:UVtTlChn
>>309
え?
2012/01/20(金) 15:27:16.06ID:b9XPHrQk
>>314
え?
2012/01/26(木) 21:11:18.69ID:SeuLpZa2
( ^ω^)おっ
2012/02/12(日) 21:57:59.48ID:gjfghICz
http://toro.2ch.net/test/read.cgi/tech/1329023778/
2012/04/18(水) 03:08:03.53ID:zzmnGwMP
単なる趣味でキャラ描いてパッドで動かして、うお、すげーと思いたいだけなんだけど
XNAのが楽かな?
M$のドキュメントも充実しているし、1から始めてもやっていけそうな感じ

SlimDXはインストールも、参照設定も楽だったが、1行目が書けなかったw
キーボードの入力をやってみようと思ったが、SlimDXのサンプルがなかったので
MDXで書かれたコードを真似したが、Deviceのインスタンスの作り方で詰まってしまった
おそらくC++&DirectXでの開発経験のある人が、軽い気持ちで作るにはいいのだろうけど
0からスタートするには無理な気がした
参考にするコードもおそらくC++で書かれているようなのをにらめっこしていくことになるだろうし
C++未経験だからかなり大変

XNAはM$のサンプルをコピペするだけでできそう
ただ、C#にしてもそうだけど、便利なライブラリがあるのはいいけど
そのせいで、OSやDirectXの本質部分をまったく理解できないんだろうなと思う
過去ログにもあるようにXNAが終わっちゃうと、それまで学んだことは活かせないんだろうなと
SlimDXがもし開発停止になっても、それで開発した知識は活かせそうな気がする
2012/04/18(水) 08:01:30.19ID:+PfVs1dT
できそうと思ってもやらずに長文書いてる奴には一生出来ない
2012/04/18(水) 12:02:36.32ID:u9fUrCgv
本質はテクニックを理解することだ
プラットフォームに振り回されちゃいけねえ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況