1 :
名前は開発中のものです。 :
2008/06/09(月) 14:36:53 ID:yieVRZfd C#でゲームを作ろうと思う人が情報を交換するためのスレです。 テーマはアクション、パズル、RPG等なんでもOK
嫌です
3 :
名前は開発中のものです。 :2008/06/09(月) 18:03:21 ID:hPaVQxMn
>3 ちょwwwっ、おまwwwww 。 向こうスレの372じゃんよ。晒し上げだと思た。 やっぱり有力なのは、WPFとSlimDXなんですか?
一乙
6 :
名前は開発中のものです。 :2008/06/09(月) 21:18:04 ID:wUJXmKfj
WPF重いって聞くんだけどゲームなんて動くの?
free trainよろ
とりあえず
>>1 乙。
WPFにはデフォでスキンメッシュサポートしてなかった気がする
今は元気ないから基本ROMります
RPG制作中。 制作停滞中。 制作停止中。 黒歴史消去中。
各ジャンルのゲームの、参考になるサイトを教えて下さい
各ジャンル、というなら個々のサイト探すより一通りデザパタやデータ構造おぼえたほうがいいんちゃう? 2DのACTとSTGはある程度抽象的になったり汎用性を求め始めると途中で完全に同じになるし、 3Dはその時点でやる事の大半が決定するし。 RPGはツクールを再現する事を考えればおのずと答えが出てくるんじゃないのか?やった事ないけど。
XNAも未来が怪しい品
>13 マイクロソフト株式会社の方、 いつも2chのスレまで見に来て頂いてありがとうございます。 本当に役に立たないクソスレをご紹介され、読んだことも無い 本をむやみにお勧めくださいまして、大変ウザイです。 XNAだけは関わってはいけないことが非常によく解りました。 ウザくてとても不快なので、一刻も早く社員IDをとっと便器に流して 死んでくださるようお願い致します。
>>11 ↑完全にしったか君です
頭の弱い可哀相な人なのでスルーしてあげてください
11がしったかには見えるほどの技量なんだろう
これもまた話題
ふつつかながら、
>>11 の発言を検討してみるる。
>ある程度抽象的になったり汎用性を求め始めると途中で完全に同じになる
そういう方向に進んじゃうね。
ただ、完全に同じになるというのは言い過ぎじゃないかな。
その場合の構造は、神の域に達してるだろうし。
あとまあ普通に、個々人の技量の限界や、趣味によるアプローチの違い、妥協とか細々と出てくるし。
ともあれ俺も、進化の方向は同じ指向性に落ち着くよなぁ、とは思う。
前もって、奇抜なデータ構造とか考える必要性があれば別かな。
まあ、ともあれ上記の「完全に」ってのは誤解生む表現だと思うよ。
>3Dはその時点でやる事の大半が決定するし
まあ、大部分が座標変換の繰り返しに終始するしね
ゲームフレームワークの台頭で、残りの本質に集中できるようになってきてるけど。
>ツクールを再現する事を考えればおのずと答えが出てくるんじゃないのか?
まあ同意かも。一つの答えに集約する事はないと思うけどね。
うーん、俺にはもう一歩見識が足りないようだ。
>>16 が何に噛み付きたいのが判らないという結論で失礼
みるる
みるみる
>>23 分かった。でも、分からない方がいい。
以下、スレ違いゴメン
>シェーダー
XNAの推奨環境はShader2.0以降のビデオカード
>XNAが
XNA Game Studio 2.0で作成したゲームは配布先に以下のランタイムを必要とする。インストール順序は不問。
・Microsoft .NET Framework 2.0 Service Pack 1 (x86)
・DirectX End-User Runtime Web Installer - 日本語
・Microsoft XNA Framework Redistributable 2.0
あれ? 家の前に黄色い救急sy(ry
>>24 やっぱりそれだけ必要な環境、ランタイムがいるんだね
確かABA氏がXNAのゲームを公開してたときに、
うちの周りで、動かせねーって奴が一杯いたくらいだから
意外に大変そうに感じたよ。XNAは
1さんスレを立てたからには何か話題振ってよ
>>24 シェーダーが難しいよな
対応してなかったら、グラボ買わないといけないから
他にXNAスレあるし(荒れてるけど)、まあスレ違いだな
>>26 話題なんて無いだろう。まず何を作るんだ?
テトリスでも作る?
マリオ作りたいんだけど全く知識がない
>>28 1、言語の基本はなんとか。
2、インターフェイス(抽象クラス)、List<>などのコレクションの使い方が分かる
3、基本的なデータ構造もわかるが、(何から手をつけたらいいか/ゲームを管理する方針が) わからない
どれ?
C#自体の勉強なんて本買って読むしかない そこから先はC#だろうとC++だろうと変わらん
C#でメインループってどうやって作るの? Timer?それともメッセージループあるの?
while(form.Created) { 更新(); 描画(); Application.DoEvents(); }
System.Diagnostics のStopwatchクラス。どっかの十分精度の出るやつのラッパーらしい。 staticメンバで、インスタンス生成+一括初期化のStartNew()で一行で初期化できるし、 (double)インスタンス.ElapsedTicks / Stopwatch.Frequencyで、↑してからの経過時間(秒)が分かる。
ループを直接書かずにこんな感じでApplication.Idleイベントを使う方法もあるみたい Application.Idle += (sender, e) => { while (!NativeMethods.PeekMessage(out msg, IntPtr.Zero, 0, 0, 0))//DllImportしてくる 描画や更新やウェイト(); } Application.Run(form); XNAなんかだとこっちになってるからこっちの方がいいのかも
>>31 Application.Idleイベント内でウィンドウメッセージの有無を
P/InvokeのPeekMessageで判断しつつメインループ呼び出し、とか。
Application.DoEventsメソッドはGC引き起こすからってSDKサンプルは
この実装に変更されたんだけど、.NET2.0以降のWinFormsは
DoEventsが改善されてどっちでもよくなった気がする。
かぶりまくりましたとさ。
xnaスレが死んだから製作するならこっちだな
>>39 1、三角関数やDirectX、XNAなどのライブラリの使い方が分からない。
2、ある程度分かるので、とにかく動的配列(List<>)で画面に表示されるものを管理して、動くものを作りたい。
3、上記では応用性が低い(ステータス表示、などの表示物同士の関係)を一意に管理できないので、一意に管理できる構造で作りたい。
3は試行錯誤中なんで俺は無理な。
XNAのサンプルとか読んだら勉強になるよ
Managed Directxならdirectxランタイム、まぁ普通は入ってるはず。 XNAなら、それに加えてXNA Game Studio 2.0。実行する側もXNAframeworkをいれる必要アリ。 どちらもとりあえずソリューションの参照設定等を適切に設定した後、初期化すべきことがある。 MDXはDeviceクラス。大分楽にはなったけど多少コード量アリ。 XNAはMicrosoft.Xna.Framework.Gameクラスに色々初期化等まとまっているので、適当に継承したクラスを初期化すればいい。 というか、そもそもプロジェクトテンプレートが追加されてるからそこからプロジェクト作って終了。
前スレ?(板違いのやつ)の最初の方にあった質問みたいに マリオ系のゲームって単純に円を動かすことの延長と考えておk?
マリオなら長方形の方が
>>44 間違っちゃいないと思うけど、かなり延長しないと届かんぞw
47 :
名前は開発中のものです。 :2008/06/26(木) 13:36:48 ID:id1+KE93
外出orz
49 :
名前は開発中のものです。 :2008/06/26(木) 15:48:25 ID:o31qtSgg
デルフォイでやるフォイ!
Delphi for the Microsoft .NET Framework でやるんですね!
Delphi.NETよりC#のほうがコンパイル速いんだな
52 :
名前は開発中のものです。 :2008/06/28(土) 00:09:16 ID:au+8Hm0C
360もってない俺には縁のない話か。
実際このスレを覗いてる人はどのくらいいるんだろうか。
>>47 D3DX 使ってる時点で面倒くさいよね…
>>55 試しに使い始めたけど(Direct3D初挑戦)
C++&DirectXやMDXのコードが参考になるので、情報にはわりと困っていない。
確かに面倒・・というか、DirectXが広大すぎてどこから学べばいいのやら・・・。
>>56 マジか。応援するぜ。
SlimDXは日本語解説が皆無すぎて全然手を出せなくて困る。
うちは完全にMDXが死んだらそっちに移行するつもりなんだけど、ギリギリまでMDXにしがみつくさ。
オレは箱でXNA触ってC#でDirectX、に興味を持って MDX触りだしたとこだけど、SlimDX も同じような感じだな。 こっちメインにしてみようかなあ。
MDXを意識したDirectXの薄いラッパーという事で、 SlimDXの日本語解説が無くても(英語解説は見てない)今の所苦労はないかな。 とりあえずSampleFrameworkに初期化関係を任せて Xファイル読み込んでテクスチャ貼り付けるあたりまで作ってみた。 # ライトを有効にし忘れて何も表示されない。という初心者によくありそうなミスを・・ orz 次は地面作って立たせて、クリック移動あたりをやってみようかな。
素材とか作るのによさげなツールとか、素材サイトのリンク張ったほうがいいかな。
なるほど、そういうのもいいかもね。
ム板の組み込み系言語スレより転載
> ゲーム向け組み込みJavaScript(まだベータ版)
> CRI Script - Trac
>
http://criscript.com/trac >
> ・ゲームへの組み込みを念頭に作られた ECMAScript の処理系
> ・PC と Xbox360 で動作確認
> ・BSD ライセンスに近い独自ライセンス
> ・バイトコードにコンパイルして実行 (=実行時オーバーヘッドが少ない)
> ・マルチスレッドサポート; resume() という言語拡張も。
> ・C++ との相互利用が簡単
> ・PowerPC, ARM に向けた最適化
> ・Eclipse によるデバッガ
> ・コンポーネントをカスタマイズ可能で、メモリ使用量が小さい
> ・GC のタイミングをコントロールできる
> ・Vector とか Matrix とか
>
> 参考URL ※箇条書きは書きサイトより引用
> ゲーム組み込み用の ECMAScript 処理系 CriScript - Game Scripting Memo
>
http://d.hatena.ne.jp/epics/20080506/p2
C#から使うならJScript.NETでいいだろ
ゲームパッドからの入力ってDirectInput使うしかない? MDXイヤなんだけど。。。
SlimDXとか[DllImport("winmm.dll")]joyGetPosとか
>>69 ありがとう、今色々調べ中
joy〜系関数があるのを今はじめて知った。
PlaySound()とかは知ってたんだけど、お恥ずかしい。
時々思うこと。なんで英語圏に生まれなかったんだろうなぁと。 SlimDXが使いたいけどドキュメントも読まずにゴリゴリいくのはウチには無理だ。
英語のドキュメントも楽々読めるように勉強しようぜ 俺も読めないから中学英語からやりなおしてるorz
たしかにヘルプは充実してるけど、、、 翻訳より実例集のがよかったりしない? サイトたてようかな
やってくれるのなら非常にうれしいぜ
有れば俺も欲しいけど、 「リンク貼るだけなら、馬鹿でもできる」とか言い出す池沼がでるよ。 匿名性の高いwikiで8割自分とかでもよいけど・・・ それも管理者批判を聞かない事は無いし。 俺には2chがらみでサイト立ててくれる人が幸せになれるとはちっとも思えないな。
復活したのか。 ってスレあるんだな、覗いてみるか。
遠回りになるけどいい選択だな
80 :
79 :2008/07/21(月) 22:37:10 ID:g+fia9B8
もちろんC#を選んだことじゃなくてそのサイトのことだよ
82 :
名前は開発中のものです。 :2008/07/22(火) 20:43:25 ID:1dd3aI45
すみません。基本的な質問で恐縮なのですが、、、 ExpressEditionっで作成したパッケージって オフィスで配布しちゃダメなんですよね?
>>82 商用利用ってこと?
仮にそのことならもちろんOK。ぐぐりゃ一番上に出てくるよ。世の中すごい時代になったもんだ。
>>81 SDL.NETぐぐった。OpenGL系のゲーム作成支援ライブラリか。ふつうに知名度高そうだし。
SlimDXやYaneSDK以外にも色々ゲーム作成支援系のライブラリってあるんだね。
で、アカデミックは商用利用だめなのか
そりゃまぁ。
86 :
82 :2008/07/22(火) 21:56:36 ID:1dd3aI45
>>83 速レスサンクス!
会社がセキュリティや契約関係厳しいので。
あくまで、社内での配布目的の場合です。
たしか、2003くらいまでは、.NETは社内配布する場合、
それ専用の権利をもったヤツを買う必要があった気がして。
その配布可能なソフトを無くしてしまったので、諦めていたんだが。
87 :
78 :2008/07/22(火) 22:39:57 ID:dxKyXJ2o
レスどうもです
>>79-81 >>78 で書いたサイトは会社の先輩から下手な入門書よりずーっとましだと教えてもらいました
気になるのですが、
>>80 の意味はC#がゲーム製作に向いていないとのことでしょうか?
会社の先輩にゲーム作りたいと言ったら、恋愛シミュレーションツクール紹介されてしまいましたが、C#がんばります
作ったゲームの配布がよくわからん、みんなどうやってんの.NETの場合。 .NET Framework ってユーザ各自で落として自主的にインスコしてもらうもんなの? XPには最初からは入ってないよね?他のアプリの動作に影響ないんかね 既に他のアプリが古いバージョンの .NET Framework入れてたりしてたらどうなる?
>>87 言語には得意不得意があって、単純に優劣つけるもんじゃない。
よって、言語選択を賢い賢くないと表現できるようなもんじゃないねってこと。・・・かな?
多分、少なくとも下の4つのグループに水準の住み分けができてるんじゃないか?
同一では潰しあっている、見たいな感じ。
PHP/Ruby/Perl …ごめん、ここら辺は全くわからん。
C、C++
C++CLI
C#、VB.NET/Java
>>88 .NetFrameworkで開発されたソフトは、動作側で上位バージョンの.Netframeworkさえあれば大体は動く。
くわしくはこっち。
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20061017/250853/ それぞれのバージョンは独立して存在してるから競合することはなく、1.0〜3.5まで同時に混在可能。
.NETFrameworkが他のアプリに影響を与えることは多分ない。と思うが知らん。
>>90 え、アカデミック版って商用利用していいの?
全く問題ない だいたいSDKとソースコードさえあればコンパイルできるんだから制限しても無駄
>制限しても無駄 そういう問題じゃないよね
おkなのは分かってるが
クライアントへの.NET Frameworkの配布に関しては
.NET Framework 3.5 SP1から、クライアント向けに最適化されたランタイム(最終的には20M未満になる)が提供される。
個人的に当面は.NET Framework2.0をターゲットフレームワークにして開発するのが良いかなと思ってる。
LINQや式木が使えないのは痛いけど、型推量(var)・匿名型・暗黙型付配列は使えるからね。
>アカデミック版
当然商用利用可能で、Professional Editionと全く同じ機能(というかProそのもの)
ただ、学生ならDreamSparkの利用を検討するのも良いと思われる。
http://isic.univcoop.or.jp/dreamspark/index.html ・Visual Studio 2005/2008 Professional Edition 日本語版
・Windows Server Standard Edition 日本語版
・XNA クリエイターズ クラブ 12ヶ月間 メンバーシップ
他が無償(※国際学生証の発行に実費\1,430)で利用できる。(ただし、こちらは商用利用不可などの制限事項がある)
>>93 どんどん開発環境は制限がゆるくなってきてるなー
MSもwindowsを生き残らせるために必死ですな
>>97 のDreamSparkで、2005が今でも入ってるのはXNAのせいだなw
100 :
名前は開発中のものです。 :2008/07/23(水) 18:53:18 ID:iifEG8wA
米国時間22日、マイクロソフトは「Xbox LIVE Community Games」を北米で今年後半から
開始すると発表した。その他の地域については2009年から逐次開始する予定。
Xbox LIVE Community Gamesは、XNA Game Studioで開発されたXbox360用ソフトを
Xbox Liveを通じ一般利用者へ販売することを可能とするサービス。
Xbox LIVE Community Gamesでの販売は、XNA開発者コミュニティ「XNA Creators Club」の
有料会員(年額9,800円)であれば誰でも行うことが可能となる。
販売価格については200〜800マイクロソフトポイントの間で自由に設定することができ、
手数料として売上の30%が引かれることとなる。
XNA Game Studioは、マイクロソフトが無償で公開しているVisual Studioをベースとした
ゲーム特化型の統合開発環境。.NET Framework及びDirectXをベースとしたライブラリ
「XNA Framework」を使用し、基本的には設定ひとつでXbox360及びWindowsへの両対応が
可能となる。
XNAについては、RPGツクールが次期バージョンでの対応を表明しており、日本での
普及にも期待がかかる。また、教育機関による学習教材としての採用も増加しており、
月刊ベーシックマガジンの休刊以降問題視されていた日本人ゲーム開発者の急激な
減少に歯止めをかける期待も持たれている。
http://news4xbox.blogspot.com/2008/07/xbox360.html
そろそろ今年も夏休みだー。ゲーム作ろうぜ
Silverlightってなんなん? Flashみたいな技術かなんかなの?
.NET版Javaアプレットみたいに作れて Flashみたいに動くやつ
Microsoft SilverlightはAdobe AIRの対抗(RIAの分野)
・RIA (Rich Interactive Application)
・WPFのサブセット(WPF/E)
・Webブラウザのプラグイン
・クロスブラウザ・クロスデバイス・マルチプラットフォーム
・.NET Frameworkのサポート
・様々な言語での開発サポート
CLR搭載(C#,VB.NET,JavaScript...)
DLR搭載(IronPython,IronRuby...)
簡単に言うと
>>104
だな。 SilverlightはFlash対抗。
C♯でインスタンスを管理する方法はどのようなものがありますか? C++ではSTLのVECTORやLISTがありますが、C♯にもあるのでしょうか。
System.Collections.Generic
SilverlightはVSExpressではまだ使えないからなあ
正式リリースではExpressでも使えるようになるんだろうから
手軽にブラウザ上で動くゲーム作るなら第一候補になるかも
>>108 List<T>か,神経質な人はCollection<T>あたり
>>106 あぁ、間違った事書いてすまぬ。
Flash対抗というか、Flex対抗と言うべき?
>>108 ほかの人も言ってるように、System.Collections.Genericに収録されている各種ジェネリッククラス。
List<T>は配列とほぼ同一の動作が可能。要素の総数をAdd(T)で追加したり、RemoveAt(int)で削除したりできる。
Stack<T>、Queue<T>、Dictionary<TKey、TValue>なんてのもある。
それぞれスタック、キュー、キーと値のコレクション(ハッシュテーブルが近い。)
あと、Sortメソッドがちょっとわかりにくそうなので、使い方おば。
Listインスタンス.Sort((x, y) => x.Index - y.Index);
・・・ラムダ式使ってるけど、まぁ定型文として覚えるのが吉。
(Listの型パラメータには自作したクラスを指定した。Indexというintメンバがある。ようするにintならなんでもいい。)
このように記述すると、Listインスタンス内に順番に取り出し、Indexの値を比較して少ない順にソートできる。
初めて知ったー。 てか前に作ったとき、List<固有の型>を戻り値とするメソッド作ったけど特に警告でなかったような・・・ あと説明も俺の読解能力がないためか、何を言ってるのかいまいちわからん。
FxCopっていうMSのコード分析ツールで違反になるはず たとえばリストを返すプロパティがあって、後になって コレクションに要素が追加されたときにその要素に対して何か処理を行いたくなったとき List<T>使ってたらどうしようもない(そのクラスを使ってる側の修正が必要になる)けど Collection<T>を使ってたらCollection<T>の派生クラスを作って InsertItemをオーバーライドすればそのクラス内の修正だけで対応できる
116 :
名前は開発中のものです。 :2008/07/27(日) 23:58:00 ID:6A71A0KI
米国時間23日、マイクロソフトは統合3Dソフト「trueSpace 7.6」の無償提供を開始した。
最新バージョンの7.6では、マイクロソフトが提供する地図検索サービス「Virtual Earth」へ、
3Dモデルを直接書き出す機能が追加されている。Googleが「Google Earth」向けに3D CAD
ソフト会社である@Last Software社を買収し、3Dモデリングソフト「Google SketchUp」を無償
公開したことに対抗する目的と思われる。
trueSpaceは、モデリング、アニメーション、レンダリングと、放送およびポストプロダクション分野まで
カバーする統合3Dソフトウェア。trueSpaceは、モデリング特化型のSketchUpとは違い、3ds Maxや
LightWave 3Dなどと競合する製品を無償化したものであり、機能が豊富な分、操作性はやや難しい
ものとなっている。開発はマイクロソフトが2008年2月に買収した米Caligari社が行う。
この無償化は「Virtual Earth」の普及を主目的としているようだが、標準でDirectX9及びXNA
Frameworkにおける3Dデータの標準形式である「Xファイル」での出力に対応しており、trueSpaceで
作成したモデルデータ及びアニメーションデータはXNA Game Studioなどから直接利用することが
可能である。また、ポストプロダクション向けということもあり、非常に高品質なプリレンダリング動画の
出力なども可能である。
XNA Game Studioで作成されたXbox360用の同人ソフト販売サービスも発表されていたが、同人分野
では1本数十万円という価格帯が一般的な統合3Dソフトの導入が難点であった。このtrueSpaceの
無償提供で、XNA関連分野の一層の活性化が期待される。
http://news4xbox.blogspot.com/2008/07/3dtruespace-76.html
本気か!? ・・・といっても使ったことないから知らんのだが・・・。 現状だとメタセコLE+RokDeboneなんだよな。特に不満もないし。
>>100 >>116 FFマルチといい今年度で一気に畳み掛けて
もうやめてーPS3のライフは0よ!って感じだな。流石MS
そのうちXBoxすら無償で配布とかするんだろうな…。
まさかとか思うものの、MSだしな。なんかありそうだな 無意味に「eモバイルセットで9800円です! 次世代ハイデフが9800です! とか言わされてるんです!」とか
>>120 さすがにハードウェアの無償配布は無理だと思うが、
PC用の旧箱エミュくらいは配ってくれるかもね
VisualStudioと対応する.NET Frameworkのバージョン VS2002(VS7) - .NET Framework 1.0 VS2003(VS7.1) - .NET Framework 1.1 VS2005(VS8) - .NET Framework 2.0 ※1 VS2008(VS9) - .NET Framework 2.0/3.0/3.5 ※1 アドイン追加で、.NET Framework 3.0 向けの開発も可能 対応OS .NET Framework 1.0/1.1 - 98, 98SE, ME, NT4.0, 2000, 2003, XP,(2008, Vista ※1.1のみ) .NET Framework 2.0 - 98, 98SE, ME, .2000, 2003, XP, 2008, Vista .NET Framework 3.0/3.5 - .2003, XP, 2008, Vista CLRのバージョン .NET Framework 1.0 - CLR1.0 .NET Framework 1.1 - CLR1.1 .NET Framework 2.0/3.0/3.5 - CLR2.0 C#のバージョン VS2002(VS7) - C#1.0 VS2003(VS7.1) - C#1.1 VS2005(VS8) - C#2.0 VS2008(VS9) - C#3.0 .NET2.0の範囲で使えるC#3.0 型推論、匿名型, 暗黙型付け配列 コレクションイニシャライザ、オブジェクトイニシャライザ パーシャルメソッド、自動プロパティ、ラムダ式 .NET3.xが必要になる機能 ラムダ式でFunc<>やAction<>, Expression<>などの利用 LINQクエリ式他、拡張メソッド
>>125 次スレがあるとすればテンプレ化決定
ところでVS.NETは2002、2003どっち相当なん
>>125 意味がわからんけど、VisualStudio 無印は2002だよ。
VS.NETとだけ言う場合は、基本的に2002,2003両方もしくは2002を指すと考えていいと思う。 Visual Studio .NET (2002) - 最初のリリース Visual Studio .NET 2003 - 2002のマイナーアップデート ※2003と区別するため、マイクロソフトは無印VS.NETを「Visual Studio .NET 2002」と呼称している。
スレがとまるのはよくない! 初歩的な話題でもいいから誰か話題振ろうぜ
>>129 C#でゲームを作りたいと思います
何をすればいいですか?
>>130 129じゃないけど、
とりあえず今ならDXライブラリ使うのおすすめするよ。
ほぼ2D限定だけど。
DX使わずに、.NetFrameworkだけの機能で作るのはきついかな? 簡単に実現できるライブラリがないからこそ、DX使うんだと思うんだけど・・・。 ちなみに、DXってDirectXだよね? 個人的に、ユーザに.NetFramework以外を入れさせるのが嫌なんだよね。 まぁ、DXくらいなら入れてる人も多いと思うんだけど、 バージョンアップとか要求しなけりゃならないし・・・。
C#からDirectXを使う方法やライブラリはいくつかあるけど、 どれも結局インストールが必要になるから、そういうの気にするより インストーラーで解決するのがいいと思うよ。 1から全部自力でDirectXの機能使う、、、って2D限定なのか。 別に自力で全部やれるならそれでいいと思うよ。 それをどうやるのか聞くくらいならライブラリ使ったほうがいいとは思うが。
>>132 2D程度なら、.NetFramework標準ライブラリでも普通にできる。
ただ遅い。WPFを使えば速度面ある程度解消されるが、DirectX系には及ばない。
DirectXはなんだかんだでPCで個人製作ゲームをするような人なら絶対入ってるので気にする必要もないかと。
…後一応不安だから確認しておくけど、『DXライブラリ』は『DirectX』のことではないぜ。
DXライブラリは、DirectXを使いやすくまとめなおしたもので、多分その手のライブラリで一番扱いやすいと思う。
やっぱ遅いのか・・・orz そもそも、DirectX嫌いの俺が異端なんだけどな。 一応、『DXライブラリ』は『DirectX』のことではってのは理解してるよ。 言葉足らずですまなかったorz ありがとな。
SDLとか 全部同梱できるしわりとC#から扱いやすい
SlimDX とか 自分のアプリに dll を1つ添えて配布するだけ
ああ DirectX を使わないでってことか 誤解してた
不定期age
SP1きたね。
なんのSP1?
>>143 それそれ
Express使ってる人は、一度アンインストールしてからじゃないと入れれないので注意(共存不可)
WPFで作るよ!って人でなければ、恩恵は Client Profile ぐらいかな?
お、ついにEE版のSQL Serverも2008になったのか
SQLserverって具体的になにやるソフトなんだろう? と聞くと微妙だからスレに合う質問だと、ゲーム作成例えばどんなときに使える? どうやらデータベースを作るらしくて、そう聞くとRPGとかの製作で使えるような響きはするのだけど。 そもそもデータベースってのがイメージでなんとなく程度しかわかってなくて、 それがプログラムでどう使われるのかわからない。(このような言い回しが正しいのかどうかもわからない) SQLserver使ってみればわかるものなのかな・・・?
MMOのサーバプログラム てか ゲームでRDBなんか使わないだろ。 OSがDBMSを標準で実装してるならまだしも・・・
そうだねぇ サーバ側でユーザーアカウントの管理やキャラクターの管理に使ってるだろうけど、 クライアント側で使うことはなさそう。
WEB系のゲーム MMORPGのログイン部分 多人数から同時にアクセスを受け読み書きする部分を作るのに向いてる (単純にロックするだけだと速度低下が著しい為、自前でこの部分つくるのはとても難しい。) FF11製作時にゲーム中のデータもデータベースに収めようとしたが 速度的に無理なので断念したそうだ だから、ログインとログアウト時はデータベースに読み書きしてるが 普段はオンメモリで自前処理 そりゃデータベースといえど毎回検索かけたら遅くなるに決まってるわな 個人で作るならFF11ほど速度にこだわらなくていいだろうから 別に使ってもいいと思うよ ただ、ゲーム系プログラマのスキル的にデータベースがわかる人ってあまりいないだろうね 実際にゲームのデータベース部隊は業務系の人がほとんど (WEB系PGに関してはデータベースが使えて当然なのでゲームか業務系かという 区分に意味はなさそうだけど) データベースといえばデータベース製品をインストールしてチューニングして・・・・ というものが主流なんだけど、最近はアプリにDLLを添付するだけで使えるものが かなり出てきている 2ch関連でいうと2ちゃんねるブラウザのJaneがSQLiteを使っている 組み込み用途向けの数十キロしかないデータベース製品もでてきているので 将来的にはゲーム機でも使われるかもしれないな 現状では業務系PGが趣味でゲームを作るときに生産性を上げる為に速度的にクリティカルでは ない部分で使うというのが現実的な利用想定じゃないかな エクセルでサクっと作ったデータをSQLで簡単に検索できる「楽さ」は使ってみないとわからないと思う 特にデータ変更への強さはゲーム製作との相性が抜群 就職にも役に立つし一石二鳥だと思うよ
>>147 ,148,149
サンクス。大分間違って認識してた部分が修正できた。
一応知識として、@ITの記事でも見ながら地道に覚えるぜ
LINQ使ってDBを手軽に扱えるのはいいよねー .NET3.5の機能を使える体制が整ってきたし(Client Profile)、ゲームでも積極的に使って行こうと思ってる。
みんなどんなゲーム作ってるの? 仕事でC#でゲーム作ってる人っている?
本当はこういうこと言うのは行ってない人もいるだろうからだめなんだろうが、あえて 製作テンション補充してきたぜ!といってみる。 さて、とりあえずいい加減シューティング完成させなきゃ。
最近htmlを吐けるツールを製作してるんだが、どの程度の機能があればゲームのヘルプ作成に耐えられるかな?
君が手打ちで駄目だと感じた点を実装すればいいのでは。 俺はhtml手打ち+jqueryで見出しリンク自動生成で十分だは
>>151 3.5だと対応OS少ないけど、そこらへんどう思う?
もうXP未満は切り捨てていいんじゃね それよりもインストールしてくれるかが問題
Vista対応を放棄してる同人が多いんだぜ。 2kまで切り捨てたら、同人全体から見るとXPのみになっちまう
Vista人口から考えたら、事実上「XPのみ」みたいな状況にならね? Frameworkの要インスコも、問題だよな。 自分は開発するからインスコしてるけど、使うだけの人には相当敷居高そう。 1発でも有名ゲーが出れば、恩恵にあずかれるんだが。
LINQ to Object使いたいだけならターゲットフレームワークは2.0のままで Enumerable周りだけMONOからパクってくればいいよ
同人がどうなってるのかは分からんけど .NETで作るのに、最初から3.0入ってるVista切り捨てるのは勿体無いと思う。 # 私の所では2.0ターゲットに作ってるけど、動作チェックができないのでXP以前のOSは対象外って事にしてる。 >System.Linq.Enumerableの再実装(LINQ to Object) LINQBridgeオススメ
まーC#で作ることの利点の一つとして、自動でVistaは対応できてるってのがあるな。 C++など普及言語でゲーム製作>2k、XP C#tなど.NET系の言語でゲーム製作>XP、Vista って感じになるのかね?
もしかして俺スレッドストッパーしちまったか? ってか話題があれば誰かしらレスをするってことは、みんな見てはいるのね。
話題消化して自然に止まっただけだよ。 見てる人はそこそこ居るようだし、面白いネタが出たら伸びるさ
他のスレといろいろかぶるから、どうしても話題は少なくなるな。
SlimDXのDirectInput使ってる人いる? BaseballBattiingControlsとかSpaceCombatControlsとかゲームの種類ごとに キーマップを定義するクラスが沢山あるけどいらないよこんなの 肝心のラッパーの実装もKeyboardStateとか例をあげるとキリがないけど変なところが多い Direct3Dはいい感じなのになんでこんなことになるんだろう
そっちは全然見て無かったわ。 SoccerDefenseControlsとかTankDrivingControlsとかあるなw
ゲーム開発初めてで流儀やら分からんので、 何だか使い辛いなと感じつつ、そういう物だと思って使ってた。
文句あるなら直せよ オープンソースだろが。
170 :
名前は開発中のものです。 :2008/09/04(木) 19:07:32 ID:mkD4gvDF
XNAスレに貼れば十分だろ・・・
つーかこれ、XNAへの出力を使わない場合でも.NET環境になるのか?
.NET必須だったらいいなー。 フリーゲームやってる層の.NET普及率が上がるのは良い事だ。
.NETだけじゃなくてXNAランタイムも必須にしちゃってくれていいよ
C#でvertexBufferから情報を読み出すにはどうすればいいの?
何使ってるの? MDXかSlimDXかXNAか つーか、普通にやればいいと思うがどこで引っかかってるのか。
>MDXかSlimDXかXNAか ? よくわからない、XNAではないと思うけど >普通にやればいいと思う 普通がわかりません
VertexBufferって事はDirect3D使ってるんでしょ? それを使うのに、何か追加しなかった? 参照の追加とかしたろ?
自分で何やってるのかわからないんだったら、どこの情報を見て勉強したのか教えてくれ
VertexBuffer vertexBuffer = _mesh.VertexBuffer GraphicsStream gStream = vertexBuffer.Lock ( 0, 0,LockFlags.None ); でgStreamに情報が入るのはわかるんですが、そこからどうやって 頂点情報(VECTOR3)を取り出すのかがわかりません。 他言語のポインター使ったサンプルは見かけますが C#では見つかりません。
GraphicsStream.Read InternalDataでポインタも取れる
そこで使ってるのは、Managed DirectX、つまりMDXな。 今後聞くときは、MDXということも明記したほうがいい。
VertexBuffer vertexBuffer = _mesh.VertexBuffer GraphicsStream gStream = vertexBuffer.Lock ( 0, 0,LockFlags.None ); byte[] byte_ire =new byte[(byte)gStream.Length]; このときbyte_ireから頂点情報(VECTOR3)をどのように 取り出すのかがわかりません。キャストの仕方? vertexformatが関係してるのでしょうか?
MDXはやったことなくてMSDNだけ見てるので自信無いけど gStream.Read(byte_ire, 0, byte_ire.Length)でいけるかな 別のオーバーロード使えば直接頂点型の配列として読み込めそう var vertices = (頂点の型[])gStream.Read(typeof(頂点の型), new int[] { 頂点数 });
>>183 ありがとう、MDXですね。
>>184 できました、ありがとうございます。
MSDNでの調べ方がよくわからないんですよね
いつも他の言語のが見つかるのにC#は見つからない。
A列車のような都市育成シミュレーションを作ろうとしているんだけど クリックした場所がどのひし形のマス目なのかを判断するには どういうアルゴリズムが必要なんでしょうか?
直線なら1次関数で調べられるでしょ
具体的な状況がわからんけど、、 ヒットテストとか衝突判定で調べてみては
建物を建てるときに、建設場所のマス目をクリックするわけですが 四角形なら、マスのサイズでマウスポインタの座標を割った商で求められるけど ひし形だとどうすればいいさっぱりわからなかったので 教えてもらったキーワードで調べてみます。
ベクトルをうまく使って方眼紙と同じやり方でできる状態に持っていくのが良いと思う 変換行列とか、軸ベクトルとの内積を取って投影とか、そういうの使えば多分どうにかなる
>>192 なるほど、斜めになっているのを垂直と水平に交わるように傾ければいいんですね
そしたらそのまま配列も割り当てられるしいいかも
でも、数学さっぱり忘れてしまったから、1から勉強しないと・・><
ともかく、それでやってみます。ありがとうございました
盛り上がって、標高が変わって(表示位置も変わって)いる地面をクリックして 選択したい、とかだともう少しややこしくなるけどな。まぁガソバレ
ほおしゅ
197 :
名前は開発中のものです。 :2008/09/27(土) 19:13:06 ID:4Dmgeez3
やっと規制解除 保守 age
event使うと遅くなる?
MDXでマルチテクスチャはできますか? またはUVを1組ではなくて2組とか 持てるようにすることは出来るのでしょうか?
>>198 ゲーム全体の処理に比べればおおよそ微々たる差だと思う。
デリゲートは、当然だけどちゃんと関連付けをはずさないとガベコレされないので注意。
>>199 テクスチャステージ(複数のテクスチャを混ぜるための)機能はある。混ぜられる最大枚数(ステージ数)はハード依存。
MDXのドキュメントの『チュートリアル 5 : テクスチャ マップの使い方』にも軽く説明がある。
やったことはないので詳しくは自分で調べてー
C#て C++ の + を二つ重ねたものだと思い込んで VC#ダウンロードしちまったよ・・
実際そういう意味らしいよ
え?半音上げるのかとオモタ
おつ。この際MDXでもやるか?w
SlimDXだろ
もともと360で動かしたいからXNA使ってるんだけど 360関係ないとこ用にSlimDXさわってみるか
しかしSlimDXは、DirectXのSDKのバージョンと直結してるのが面倒だな、 片方インストールしたら対応するものを入れなくちゃならん。
SlimDXの9月版触ってみたけど、SampleFramework(ずっとこの名前で行くのかねw)の GameクラスがちょっとXNAっぽくなってるな。 C++のDirectXとMDXとXNAからかき集めたような感じだな。
GameがXNAっぽくってどこが?
XNAのMicrosoft.Xna.Framework.Gameクラスそっくりだろうが
211 :
名前は開発中のものです。 :2008/10/11(土) 14:17:56 ID:+dRjBYHJ
不定期あげ
PDC終わったけど、Direct3D10のManaged APIどうなるのかなぁ Task Parallel Library (TPL) , Parallel LINQ (PLINQ) での並列化も面白そう。
最新版のDirectXが入ってないPCでSlimDXのアプリ動かしそうとしてももちろん動かないけど 最新版のDLLだけ(d3dx9_39.dllだったかな?)流用したら動くみたいだった DirectXの部分DLLって配布物に混ぜたらダメだよなあ いれれたら楽なんだけれども、利用許諾に違反してるよね・・・ SlimDXが常に最新版と対応してる形になってるけどユーザーがそうとは限らないからなぁ
今こそクリックワンスの出番らしい
Readmeの必要システムにDirectX最新版が必要ですって書けばいいじゃん
DirectXの最新がSlimDXを追い越し、追いつくまでの期間がちょっと面倒
CodePlexに行ったら GateShift C# MMORPG Engine とかいうのがあったw まぁ、登録されたばっかりで中身はまだ何もないけどね。
VS2008SP1のIntellisense日本語化ktkr
最新のSlimDXは最新のDirectXも同時にインストールされるので問題ない。
SimcityDXと聞いて
いやいや誰も言ってないってww
不定期あげ
ダメなやつは何をやってもダメ な?友人
いつになるやら
2年後と予想
ふと話題が出たので。 MDXはWin32APIも使ってるから、多分次期OSなったときに色々不具合でたままメンテナンスされずに終了と予想。 ネイティブなDirectx9のほうは何らかの対策はしそうだけど。MDXは何もしないことがわかりきってるからな。
俺たちでC#から使えるDirectXラッパー作ろうぜ
win7で切り捨てられそうな気配皆無な件
SlimDXの他に、Managed Layer for Direct3D 10 というのもあるね 自分でやろうとすると自分で使うとこしかやらんだろうけど、ちょっとやってみたい気もする
232 :
sage :2009/01/12(月) 14:17:44 ID:XEg86q8V
C#でゲーム作りたいのだが、よさそうなフレームワークを知りたい。 条件としては ・3Dが扱える(3Dモデルのほか、Quakeマップなどが読める) ・UIフレームワークを持っている(ゲーム画面内にウィンドウなど作れること) ・日本語が表示できる こちらで見てみたのは Irrlicht CPとAxiom [Irrlicht.NET CP] メリット:C#使える。3Dいける。UIフレームワーク持ってる。 デメリット:開発が2007年11月で止まっている。日本語使えない。 [Axiom] メリット:C#使える。3Dいける(Ogreとかいう有名なC++用エンジンがベースとか)。 デメリット:デモの実行でこけるし、不安定。この時点でサポートが不安。 日本語使えないことに目をつむれば、Irrlichtがいいのだが、 やはり日本語のメッセージなど表示させたいので、 いいフレームワークあれば、教えていただきたい。
Irrlicht っていうのを見てみたけど、Freetype入れて日本語フォント指定したらできないかな? まあちょっとやってみようか。
Irrlict、C#版のがC++版より使いにくかった記憶があるな 先にC++版に慣れていたせいもあるだろうけど… 所で、Taoベースの3Dゲームエンジンって無いんだろうか
CodePlexで探してみれば?
CodePlexはXNAベースが多いよ SlimDXなんかでXNAのサンプルとかいろいろパクリまくって自分で作れば?
>>236 「今日OpenGLでHLSLを使ってみたんだ」とか言っちゃう人?
好きなのをC++/CLIでラップして使うんだ もちろん完成したラッパーは公開してくれ
完成する前に公開しないと飽きちゃうけどなw
MDXをラッピングしたやつならあるよ。ただ3D周りはまだテストしてないな。 多分動くと思うけど、もしかしたら凡ミスがあるかも。
今気付いたんだけど、SlimDXのRelease Notesに有るSkinnedMeshサンプル 現行のNov 2008でも動くんだな。 なんかもっと古い版でも出来ていたんだろうな。 無駄に待ってしまったよ。
結局 Axiom を使うことにした。
AxiomはMultiverseというMMOのフレームワークのベースフレームワークとして
採用された実績あり。
※Multiverse NetworkはNetscapeの初期の社員が集まって作った会社とのこと。
cf)
ttp://www.chikawatanabe.com/blog/2007/09/dmultiverse.html また、最初に私自身がAxiomを動かそうとしたとき、Multiverse版のAxiomの
デモを動かそうとしたのだが、それがまずかった。
安定版の0.7.3でデモを動かしたらちゃんと動作した。
デモの内容も、結構充実。
BSPによる空間表示
セルシェーディング
バンプマップ、
オフセットマップ(バンプマップよりさらに凸凹して見えるやつ),
水の屈折表現、他、
いろいろある。
実装はフルC#。
ネイティブへのバインドはTaoやSdlが使われていて、
DirectX9、OpenGLをドライバとして使える。
とりあえず、趣味で使うには十分。
AxiomってたしかOGREのポートだよね OGREなら普通の.NET向けインターフェイスもあったと思うけどそれじゃダメなの?
技術向上のために、そこそこの規模でC#で書かれたゲームのソース見たいんだけど。 そういうの公開してくれる人はおらんのかね。 巷にあるのは初心者向けかXNAばかりで参考にならんし。 エロイ人おながいします。
XNAでいいだろ CodePlexに沢山ある まともな書き方してあればXNAだろうとなんだろうとそんなに変わらん どこ見てもXNAにべったり依存してるようなコードは糞だから参考にしなくていい
俺のゲームをオープンソースにするときがやってきたか……。
シーンの遷移とか管理を重点的に解説してるサイトって何処かありませんか?
>>247 C#に限定されるとXNAのGame State Managementサンプルとか…
念のため言っておくけど、僕はMDXユーザー
要は、ストラテジーパターン。
オーバーライド可能なDraw()とUpdate()を持ったクラスかインターフェースを継承した
クラスのインスタンスを遷移時に切り替える。
フラグでの推移管理はしたくないんですよね?
XNAのシーンの構造はいいよね(てか常識なの?) おれもMDXwだけどあれパクってる
常識というか、デザインパターン(w) XNAもデザインパターンも恐ろしく厨が沸くから、ここで書くのは怖いんだ。 いつまで経っても厨房でスイマセン。 生まれてきてゴメンなさい。
XNAやMDX(やそれ以外)の選択については、どなたもやはり自分の使っているものを勧める傾向があるので 解説サイトが多く目に付くMDXで行こうと思っています。↑まぁ当たり前ですよね。 紹介いただいたサンプルの確認と、ストラテジーパターンについて勉強をしてみます。ありがとうございました。
つか目的がはっきりしてないんじゃない? 3D関連の技術向上が目的ならゲームである必要はない ゲーム特有の技術向上が目的ならXNAでも最低限の機能はあるし問題ないはず このまま取り組んで大丈夫?
>>244 C#はexeがILだから、リフレクターで実行ファイルからソースコード読めるぜ。
ちょっとXNAについて言ってる事がおかしいので、老婆心から真面目に忠告します。 XNA Creators Clubのeducationサンプルは、本当に無駄な処理や 動作的にわざわざ重たくするコーディングばかりで真似るべきでは 無いです。 C#習いたてなら見ない方が良い。 あの会社の社員は本当にキチガイなので気を付けてください。
>>254 リフレクター初めて知った、トンクスw
自分の作ったやつ試しに逆汗したら恥ずかしい変数名までバッチリ見えますたw
ソース見られたくないときはngenかけてからじゃないとヤバイのねぇ
>>255 が素晴らしく簡潔なサンプルを書いてくれるそうです。
>>256 ngenはjitコードのキャッシュを作るだけなんで
どのみち動作にはもとのアセンブリが必要だぜ
>>258 そうだったのね、アリガd・・・( 'A')
XNAのサンプルはクラス単位でそのまま流用できるように作ってあるから大味な感じだよな 良質だと思うけどC#自体に慣れてない人にはわかりづらいかもしれない
ヒステリックな書き方になっちゃったけど、良心から書いてるよ。
>>257 >>260 は educationサンプルしかゲームのコードを読んだことが
無いんじゃないの? 属性とか使える?
俺は忠告しただけ。
あのeducationサンプルをそのまま流用して、C#って労多くてショボイ挙動しか
しないと思って、ジョボイゲーム造って満足するのも人生なんじゃね。
具体的にどういうところがダメなのか説明してみてよ 属性ってC#の属性のこと? あれって単なるリフレクションの目印だよね それがどうしたの?
お前らXNAスレに帰れ
264 :
名前は開発中のものです。 :2009/01/23(金) 19:52:31 ID:3xCddh4f
age
>>261 は自分がろくなコードも書いたことないからけなすことしかできないんだな。
>XNAはネイティブとの連携させるのが無理っぽい。 "Xbox向けの場合は"だよ。Windows限定ならごく普通の.NETアプリなのでなんでもあり。 ちなみに時間の計測はStopwatchがQueryPerformanceCounterを使ってて非常に正確だから プラットフォーム呼び出しは不要
それっぽいレスをピックアップ。
>>62-64 >>124-126 WPFについて。
.NET3.0の機能だから、win2kは対象外。
MDXやSlimDXよりは遅いけど、.NET標準ライブラリのDrawing(GDI+ベース描画)よりは早い模様。
windows7が普及して、win2kのシェアが相対的に無視できるようになったら、2Dおよび単純な3Dに対して、十分選択肢としてはありかも。現在は解説サイト皆無。
なお、スキンメッシュは直接サポートしないとのこと。詳しくは以下のurlに書いてある。
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20070718/277660/ MDXとかSlimDXとか無理!とか言う人へ。
一応DXライブラリのC#版がひっそりあるのでそれでもいいかも。
ただ、結局C++のヘルプ見ないといかんから、そういう人は素直にC++でDXライブラリ使ってたほうがいいかも。
270 :
名前は開発中のものです。 :2009/01/24(土) 16:14:33 ID:n8Xq5Wpj
>>268 訂正サンクス。
時刻取得について。
こんな風に実装したことがある。てか今そうだね。
例えば固定フレーム方式で、描画の間引き、つまり1/60で実装されたゲームを1/30や1/20で動かせるように、ってオプションって良く作るじゃない。
この時Move処理は依然として1/60で動作させたいとなると、突き詰めると入力情報だけ1/60になるようにしておけば良い。
1/60で作って、1/20描画の場合。
move,move,move,Draw→→→→→→同期画面更新,polling,move,move,move,Draw→→→→・・・
MDXの場合はBufferedDataCollectionを取得して、時間で等分する。で、そいつをMove処理に渡してやる、と。
bufferdDataの保持してる時刻は49日サイクルの timeGetTime()に依存してるので、そっちで合わせたほうが楽そうなのでこれを使った。
ちなみに実際に動作を見てみるとbufferedDataの時刻、かなりいい加減なのはわかる。3倍、つまり1/180秒程度しか分解出来ないっぽい。
もちろんプログラム起動時にStopwatchとbufferedDataのずれを取得しておく、って方法もあると思うけどめんどそうだから上記ので実装した。
ってあげちゃったよorz
あ、あと爆風作成ソフトとかもあるね。自分が使ってるのはabom。愛用中。
>>270 ああなるほど
マネージドに限った話じゃないよな
ついでにSilverlightについて
Windows, MacOS Xのブラウザ上で動作するプラグイン。Flashのような感じ。
C#やVBなどの.NET言語に対応しており,.NET Frameworkの機能の一部(WPFなど)が使える。
動作には.NET Frameworkは不要。非常に小さなプラグインをインストールするだけで動く。
VSExpressで開発するにはVC#ではなくVWDを使わないといけないので注意。
おかしい、自分が巡回してるスレが軒並み止まっておられる… 誰か難しくない話でもいいからレスしてくれないと息抜きが出来ないー
赤坂玲音著『C#ゲームプログラミング』を購入予定なのですが、C#を全く知らない初心者でも基本から理解できるでしょうか(Perlの経験はわずかにあります)?どなたかこの本をご存じの方、よろしくお願いします。
276 :
名前は開発中のものです。 :2009/01/29(木) 02:30:00 ID:e5MgZbFT
赤坂本全般は微妙よ。いっぱい持ってて多分今後も買う自分が言うのもなんだけど。
277 :
名前は開発中のものです。 :2009/01/29(木) 07:49:31 ID:kYq6qRSB
ゲーム作りながら言語の勉強するのは案外むずかしいよ 純粋に言語としてのC#専門の本買ってゲームとは分けて勉強した方が速いと思う
元がPerlだけだと微妙だが、自分で作ったプログラムを移植すると 覚えるのが早い。
Perlでちゃんとオブジェクト指向してたらC#は仕様読むだけで使えるだろうけど たぶん「何それ?」だろうな
そうですか……ありがとうございます。もともとゲームを作るのが目的なのでBitmapの処理などが書かれているゲームプログラミングの本のほうがいいかなと思ったのですが、 基本の文法なんかがわからないと意味ないですよね。Perlもテキスト処理ばかりだったのでオブジェクト指向はさっぱりです……。
>>281 C#とかのオブジェクト指向は端的にいうと、クラス、構造体、列挙型、Delegateっていう『型を定義するための文法』があって、
型をいっぱい定義してそれを組み合わせよう、って方針。
型を作るときに一番重要なのは、クラス同士が相互に参照しあう事がないように内容を組むこと。
まぁ百聞は一見にしかず。 本屋で立ち読みしてみたら?
284 :
275 :2009/01/29(木) 22:05:52 ID:dlqPv5yT
そうですね。なんだか難しそうな印象を受けますが、良さげだったら買ってみます。というか、プログラムのサポをやる予定の仲間に、VB習うからVBじゃだめかと言われました。VBAの間違いじゃないのか…
C#ができればVBもできるようになる VBやると(というか,VB使いに教わると)変な癖がつくから逆は難しい
>>286 見たよ
問題はどこまでできるかということと、ゲーム用で言えばDirectXに替わるものがあるのか
ということかな。
288 :
名前は開発中のものです。 :2009/01/30(金) 02:28:44 ID:7NvCylwn
VBでゲーム作ろうと考えるのが、まず間違いかと
289 :
名前は開発中のものです。 :2009/01/30(金) 03:46:19 ID:hw4zFmO8
確かにこの時期にC#捨ててVBとかだったらわけわからんね。 でも言語仕様に不足がなければ別にVBでも関係ない。ゲームはアィディア勝負だよ。 VB製でそんなすごいのにお目にかかったこともないがw
まともに作れる人は両方とも使えて当たり前だからな 両方使えてどちらをつかってもいいならVBを選ぶ理由がない
291 :
275 :2009/01/30(金) 18:27:14 ID:G4rUn5yb
そうですか、わかりました。いろいろとありがとうございます。今から本買ってきます。
クラスとかの概念がやはり全くなのでもうひとつ完全に基本のものを買うことにします。
>>292 ・構造体という考え方。
・値型と参照型の違い。≒構造体とクラスの最も基本的な違い。
・interfaceの使い道と多態性
で段階的に理解度がわかるかな。
クラスはあるとき突然わかる(気がつく)もんだから、慣れっぽい。
オライリーのC# 3.0対応版でねーな...
3.0の追加分なんかwebとMSDNで十分
本が2冊以上必要って所が地味に痛いよね。
>>293 に書いてる事はC#の方言みたいなもので、C#本が必須。
だが俺は未だに.NET Framework 第2版以降のC#本を買っていない。
オブジェクト指向とか継承と多態性の本はJavaで書いてあるのを読んでる。
>>295 その理屈で行けば、C#そのものがwebとMSDNで十分ってことだろ。
本いらねぇじゃん
C#3.0の文法は2.0が完璧になるまで知る必要はないと思うし、知らなくてもいいと思う。 あれはSQLをサポートするための文法な気がするし、.NET3.0が必要なの機能はwin 2kがサポート外だしね。 ラムダ式や自動プロパティは記述の簡潔化に割りと役立つけど。。 それはそうとMDXを使ってる人へ。 MDXでフルスクリーンまたはIntervalをImmediateにしたウィンドウ/フルスクリーンどちらでも、の場合、 環境下によってはSystem.Threading.Thread.Sleep()がなぜか垂直同期まがいな動作する不思議。 (ループ内に1個sleepがあると60強のフレームに、3個あると20強のフレームに、といった具合。しかもInterval.Defaultみたいに不安定。) 昨日それでずっとはまってた。 これってネイティブでもおなじこと起きるん?
>>297 いやだから、そのMSDNフォーラムで、
>〜『プログラミングMicrosoft .NET Framework 第2版』の Generics の章できちんと言及されているので〜
と返答されるんだw
>>298 >これってネイティブでもおなじこと起きるん?
起こる。
「timeBeginPeriod D3DPRESENT_INTERVAL_ONE Sleep 精度」を適当に組み合わせてぐぐる。
>300 さんきゅ、同じ問題で頭ひねってた
なんかちょっと勉強できないかなーとVS2008ExpressEdition入れてみて。 ちょうど興味持ってたフリーのゲームがメインC#で書かれてたんでコンパイルとか改造とか してみよーかなと思ったんだけども。 DirectXで絵を描くところだけがdx7vb.dllをC++から呼び出すように書かれてて、んー、 これってStandardEdition以上からならC++とC#とまとめてソリューションでビルドできる としたもんだけど、C#とC++が分かれてるExpressEditionだと無理……かな?
アセンブリは必ず別だから,VC++でコンパイルしたdllをC#で参照すれば大丈夫
現物見ないとどうとも言えないけど。 1) 〜.csprojを直接開く。 ※エラーメッセージは極力メモって置く。 2)ソリューションエクスプローラの「参照設定」で!マークの物を消す。 3) 2)で消したヤツと同名のDLLを「参照の追加」「参照」で加える。 4) 2)3)を繰り返す。 とかカナ? 将来的には、C++を覚えるか、MSXやSlimDXに乗り換えざる得ないと思う。
>>MSX すげーwww。 ありえねwww 今日はもう寝る。
dx7vb.dllを使うのはやめておいたほうが・・・ Vista以降で苦労する。
>>308 本スレに書けばいいのにwww
dx7vbのせいでC++2008でビルドできなかったのか。
まあ、有志がやってくれるそうなので気長に待った方がいいんじゃないかな。
そのうち、自分もやりますけど。
>>300 サンクス。
検索→Nyaruruさんとこの解説見て把握。そのサイトの一番下のピンクの所にこの問題そのものの原因が書いてありました。
ということは、適当にdllImportしてtimeBeginPeriodで精度を自前で設定すればいいのか
ごめん。 自己解決っていうか、凡ミスでした。 EffectHandle water = new EffectHandle("water"); EffectHandle ModelViewProj = new EffectHandle("ModelViewProj"); EffectHandle ModelWorld = new EffectHandle("ModelWorld"); −−− Effect.Technique = water; Effect.SetValue(ModelViewProj, modelViewProjection); Effect.SetValue(ModelWorld, WorldMatrix); これだけの事ですね。 自前でPoolします。
VisualStudio2008 C# builder ExpressEditionで勉強してたんだけど。 PC本体内蔵HDDがキツキツだったので、USB HDDにインスコしてて。 いろいろあってUSB HDDのドライブレターを変更してしまったら、当然 といえば当然なんだがExpressEditionが起動できなくなって。 もっかいインストールすればいいやと思ったら、前回のインストール情報が 残ってるみたいで修復しますかになって新規インストールができなくて。 じゃあアンインストールすればと思ってもアンインストールするにもドライブ レターが違ってるとダメで。 他のアプリのからみがあってドライブレターも戻せないし、ファイル実体は 消しちゃったしで、手詰まり。 たぶんどっかのレジストリに情報があって、レジストリ消したらいけるんじゃ ないかと思うんだが。 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio以下を全 消ししてみたりしたけどダメだった。 どこ消したらいいかわかるひといませんか。
ここよりム板で聞いたほうがいい ここはほとんど誰も見てないと思われる
>>314 さんくす
VS2008のスレに質問しなおしました
「OS入れなおせ」って切り捨てられそうな気もしますが。
>>313 一旦ドライブレターを戻してアンインスコしてドライブレターを元に戻すという
発想はないの?
アンインスコしている間だけ他のアプリ使わなきゃいいんじゃないの?
>>316 それを思いついたときには既にファイル実体をフォルダごと全消しした後だったのですT_T
SlimDX+SampleFrameworkでシェーダーをいじってるところだけど、 このままだとCPUの使い方がまずくていかんなー。 描画タイミング待ちは無駄ループするんじゃなくてSleepしておかないと。 とりあえず速度面の問題はなさそう。
320 :
名前は開発中のものです。 :2009/07/05(日) 01:01:26 ID:SsqHRU0/
チップを動かす部分までは何とかできた。 実際のRPGのように背景画像を表示させて、そのうえでチップを動かしたいんだが、妥当な設計というのが思い浮かばねえ。 妥当な設計というのがあったら教えてほしい。 今のクラス構造 Form1---Chip---CLKsDG
321 :
名前は開発中のものです。 :2009/07/05(日) 01:02:12 ID:SsqHRU0/
SDL.NETでゲームパッドを使うようにしたいのですがどうすれば良いんでしょうか? JoystickAxisMotionで十字キーを使おうと思ったら左右と上下が同じ結果になるし・・・ 使う関数間違えてます?
どうやって使ってるのさ?
>>322 こんな感じです。
・イベント登録
Events.JoystickAxisMotion += new EventHandler<JoystickAxisEventArgs>(this.joyMotion); // ゲームパッド(十字キー)
・処理
private void joyMotion(object sender, JoystickAxisEventArgs e)
{
// 左へ移動する。
//playerVelX -= MoveSpeed;
switch (e.AxisIndex)
{
case 0: // 十字キー(左+右)
playerVelX -= MoveSpeed;
break;
case 1:// 十字キー(上+下)
playerVelY -= MoveSpeed;
break;
default:
break;
}
}
joystick.GetAxisPosition(JoystickAxis.Horizontal) joystick.GetAxisPosition(JoystickAxis.Vertical) はどう?
『C#ゲームプログラミング』片手に、 「アルゴリズムがわかんねー!」とか叫びながら必死にエラーと戦ってきたけど、やっぱ無理だな。 DirectXの種類も分からないというか、なんかC#自体の理解が怪しいかもしれん……。 Ruby最高とか叫んでGUIにうつりたがらなかったツケか……。
>>326 赤坂さんのそれなら、あまりいい本ではないぞ。親切なようで親切でない。
素直に標準C#入門(たしか今は改訂版が出てたはず)を買って言語をしっかり覚えるのが吉。
てかここにくるとは茨の道だぜ。
資料少ない、増える可能性が薄い、にぎわう気配のない技術だ。それでもいいなら応援しよう。
VB.netよりはマシだろうw
>>327 丁度それ買ってきたとこ。やっぱり少し理解が浅かったかもしれないと思ってる。
茨の道だとはなんとなく想像ついてたけど、Javaはなんとも微妙だし、
HSPなんかもあんま応用きかなさそうだから、とりあえずこの道を突き進むよ。
困ったときはひっそり支えてくれると嬉しいんだ。
しかし、いろんな本立ち読みしてきたけど、
ゲームプログラム=Draw系関数の説明ばっかだなあと……。
地道にゆっくり戦うか。
DirectXならC++がわかってないと厳しい そっちが一通りできる人がC#使えばそりゃ遥かに楽だろうけど、 C#なら初心者でもすぐにゲームが作れるようになると思ってるなら大間違い
>>330 C++そのものは問題なく扱えるが(むしろC#より慣れている)、
C++/MFCの組み合わせに関しては本当にかじった程度――という状態は
言及なさってるそれに含まれますか?
簡単そうだからC#を選んだというわけではないです。むしろ趣味・好みに近い。
じゃあ問題ない C++のサンプルが読めるならいきなりSlimDXいけるでしょ
>>332 返答さんくすです。
でもそもそも、どのような場合にDirectXを使うべき、使わずに処理するべきかがいまいち分かってない。
それ以前にDirectXにいろんな種類(?)があることをこのスレ見て初めて知ったからね……。
情報が少ないのか、自分が無知すぎたのかは知らないけれども、ゆっくり一通り眺めてみるよ。
334 :
名前は開発中のものです。 :2009/08/30(日) 22:04:32 ID:tg4h2uJw
ところでSlimDXでバックバッファの画像をキャプチャして System.Drawing.Bitmapや System.Drawing.Graphicsに入れたり ファイルに保存したりするにはどうすればいいのでしょう。 以前ManagedDirectXで開発してたときにはSurfaceクラスのGetGraphics() で取得できたんですが、SlimDXのSurfaceクラスにはこのメソッドがない ようです。
335 :
334 :2009/08/30(日) 22:31:46 ID:tg4h2uJw
すみません。 よく見たらSurfaceクラスのToFile()やToStream()でファイルやメモリに保存できる ようなので多分解決です。
ピクセルデータをロックしてビットマップにコピー みたいな操作には慣れとくと便利だよ
「もしくは」で使う「ll」のような縦二本線は、キーボードのどこを 押せばいいのでしょうか? shiftおしながら右上の¥マーク二回を押してみましたが 「||は無効です」といわれてしまいます。
337ですが自己解決しました。 ()が一つかけていて、||を使えるカタチになっていなかったのが原因でした。
ゲームに直接関係ないことはム板のC#初心者スレで聞けよ
さすがに
>>337 は顰蹙を買うだろうけども
SlimDXはMDXと共通する名前のメソッドとか多いからMDXヘルプが代わりになっていいね テキスト表示とかXNAでもヒイヒイ言いながらやってた程度なのにMDXヘルプみながら適当にやってたら一発でできてしまった でも描画デバイスにDirect3D10のほうを使ってると 描画部がDirectX9までと違うからMDXヘルプがあまり役に立たない… 一応英語フォーラムのサンプルとか見ながら何とかやってきたけど 誰か「SlimDX と C# で学ぶ〜」の他にもSlimDXの日本語サイト作る人出てこないかな
テキスト表示はGetGlyphOutlineとか使って自作しないときついでしょ XNAのSpriteFontとは違って遅い
文字表示(やGUI)はWPFでいいんじゃないかな? 俺はSlimDX+WPFだけどそんなに重く感じないな
WPF? WPF上でD3DImage使ってSlimDXで描画するの? GUI主体のアプリならいいけど普通のゲームであれやるのはカッコ悪いなあ
そそ、D3DImage使ってる 売る気の物やスピード重視のもの作ってんなら 1から作ったほうが良いかもしれないけど 俺みたいな土日にしかPGで遊べないオッサンはWPFで十分だよ 初めてWPF使った時は、 あまりにも簡単に日本語入力が実装できて感動したなぁ あとWPFは見た目を自由にカスタマイズできるから、 それなりには出来ると思うよ
C#でゲーム作ると必然的に.NETのバージョンが関係してくるわけだが、 お前らどのバージョンでリリースする予定なんだ? 2.0/3.5
今Silverlight3で作ってる
>>341 おお、そうなのか…
1000ヶ位ある頂点の上に各頂点の(頂点リスト内での)要素番号をテキストで重ねるということをやってたら
ありえないカクカクさになったけど量が多いからこんなものかと思ってた
自作したこと無かったけどやってみる
>>342 WPFってそんなことできるのか…
WPFってインタラクティブなGUIとかそういうのを作るのに向いてるやつだったよね
GUI作るのには使ってみたいと思ってる。
>>345 新しい物好きなので3.5です
WPFにMDX相当の低レベルな描画レイヤがあれば最高だったんだけどな GUIもバリバリの3Dも自由自在な環境になってたのに
>>345 WPFやLINQに興味が沸かないんで、2.0ターゲットです。
ただ、varとラムダはおいしくいただいております。
350 :
名前は開発中のものです。 :2009/10/19(月) 16:29:21 ID:r5MhAvYI
>>345 わけあって、2000を捨てれないのであえて2.0
354 :
名前は開発中のものです。 :2009/10/20(火) 10:05:33 ID:vzz5fxew
http://punk-peace.sakura.ne.jp/ RPG制作補助ツール「cheese」
Cheeseは、RPG制作の補助をする事を目的として作りました。
RPGを作る上で面倒臭いマップ、イベント、データ作成等のお手伝いをするツールです。
RPGツクール等の様にゲームエンジンは付いておらず、エンジンはあくまで
自分で作らなければいけません。
基本的は自分用に作ったので使いにくい点が多々あると思いますが、少しでもお役に
立てればと思い公開する事にしました。
なお、イベント等を全く利用せずマップのみを作成し、マップエディタとして
利用する事も可能です。
また、HSP2.61用ですが、ゲームエンジンのサンプルスクリプトも
ありますのでご活用ください。
こんなところにもHSP厨を装ったHSPアンチが・・・
荒れるだけなので、アンチだと言うならスルーしようね
スレ違いはスルーせずに指摘すべき 書いた本人が気がつかないといつまでもなおらない
プログラム初心者だがA列車で行こうのようなものを作りたいんだけど 文法やオブジェクト指向なんかはその都度覚えていくとして 何から覚えればいいかな? 3Dは無理なので、A3みたいなもができればいいんだけど
まずはVC#の本買ってきてWinFormsで遊びましょう いきなりゲーム作ろうとするのは非常に効率が悪いし面白くないです
@ITのC#入門あたり読んだらいいんじゃね?
>>358 作る前にどこまでコードをかけるのか?
仕様をきっちり作っとかないと行き当たりばったりのコードは後々面倒になる
A列車みたいなものを作ろうと思います
363 :
358 :2009/10/21(水) 13:40:33 ID:sVcl+p+6
>>361 2chブラウザやWEBブラウザは作りました
XNAとかはよくわからなかったので
MDXで作ろうと思ってます
MDXでやっても結局構造はXNAみたいになるよ まあ簡単なものから(2次元シミュレーションで)やってみては
2chブラウザとかWEBブラウザ作ったことあるのに 文法は都度覚えるってどういうこっちゃ
366 :
358 :2009/10/21(水) 14:04:23 ID:sVcl+p+6
ゲーム開発関連のサイト探してみたけど どれもC++のライブラリばかり C++わからないと、開発難しそうですね・・
367 :
358 :2009/10/21(水) 14:13:09 ID:sVcl+p+6
やっぱりXNAにしよっと
368 :
358 :2009/10/21(水) 14:56:04 ID:sVcl+p+6
あー2008に対応してないのか 2005を入れないとだめなのか
何の話よ 最新のXNA3.1なら2008オンリー
370 :
358 :2009/10/21(水) 15:38:44 ID:sVcl+p+6
おお、2.0が最新と思ってた やっと2005を見つけたとこだけどw とりあえず、マインドスイーパー作ってみるかな
372 :
358 :2009/10/22(木) 11:56:25 ID:lVO0XQ/x
言語云々よりグラボの性能に依存する部分が大きいんじゃないかと。
まあそのかわりXNA使うと最低PS1.1だな。 マインスイーパーやるのでも昔のビデオカードだと動かない
ってカードと言うよりオンボードか。ノートだと特に
マイン"ド"スイーパー作るらしい
>>376 まじっすか?
精神世界に入り込む日がとうとう・・・・
マインドシーカーなつかしい
379 :
358 :2009/10/22(木) 19:20:37 ID:lVO0XQ/x
小物ゲーム作るにはユーザーに対してハードルが高いってことかな それにしてもXNAはすごいですね 3Dのオブジェクトが簡単に表示できて操作もできるなんて・・・ 今スプライト使って2DのA列車を作るか 3Dで作るか迷ってます 2Dで作る場合スプライトを画面に大量に並べることになるから どうも無駄な気がする。ビルをグリグリ動かすわけでもないし・・・
2Dのマップは頂点バッファ使えば爆速
381 :
名前は開発中のものです。 :2009/10/23(金) 00:14:57 ID:a9C8fLRs
すまんsage忘れた
383 :
358 :2009/10/23(金) 00:35:04 ID:Au08mI8z
XNAでメニュー画面とか設定画面を実装しようとしたときに 文字やボタンの配置にフォームエディタ見たいなのが欲しくなるんだけど 皆様方そこらへんはどうやってます?
WPFのXAMLデザイナで作って変換するとかどう
ストラテジーゲーム作ろうと思ってヘクスマップ作ったけどどうやって認識させようか・・・
>>384 個人制作の人はほとんどハードコーティングだと思うよ。
メニュー画面なんか重要じゃないからな。
XNA向けのGUIライブラリもオープンソースでいっぱい公開されてるからそういうの使ってもいいし。
例えば↓みたいなの。
ttp://cpxms.codeplex.com/ まあ、こだわりたいなら自分でエディター作った方がいいと思うけど。
Windows フォーム上に XNA の描画を重ねて貼りつけるやり方もあるみたいだけど どうしても XNA 上のオブジェクトとの連携が弱くなるよね。 シミュレーションみたいな画面上の項目がやたら多いのとかは エディタが欲しくなるね。
サンプルのHeightmapCollisionて地面のテクスチャ1種類しか使えないのか…
391 :
名前は開発中のものです。 :2009/12/30(水) 00:49:00 ID:lgs1Sc5s
XNAのOS対応状況についての質問です。 現在XP上でVS2008C#とXNA3.0を使用して開発しております。 サンプルを知人渡したところ動作しないとの事でした。 あいての環境はwindows7らしいのですが、 XNA3.0は7にて動作は確認されているのでしょうか?
393 :
名前は開発中のものです。 :2009/12/30(水) 09:23:02 ID:lgs1Sc5s
>>392 お返事ありがとうございます。
よくよくきいてみたところ、XNAのラインタイムが、そもそもちゃんと
インストール出来ていないような事をいっていました。
ってことは、.Ver3系統のnet Framework のランタイムが、
インストールできていないのかも・・・とか思っています。
XNAランタイムのインストール必須条件が、どちらに書いてあるのか
今のところ探せてないのでどうしたものやら・・・。
395 :
名前は開発中のものです。 :2009/12/30(水) 10:05:54 ID:lgs1Sc5s
>>394 いろいろとご丁寧にありがとうございます。
URLを参考に解決してみたいと思います。
ClickOnceにつきましては前から興味がありましたので、
この機会に学んで見たいと思います。
396 :
名前は開発中のものです。 :2010/02/09(火) 06:13:39 ID:aS6DEZHg
C#でゲームを作ろうとしてるんだけれども、よければアドバイスもらえないだろうか? 我流でいろいろと試行錯誤してはいるんだけれども前に進めなくて困ってる。 『ゲームプログラマになる前に〜』『C#ゲームプログラミング』あたりは既読なんだが、どうも完成図がイメージできない。 ゲームループだのシーケンス遷移だのと概念的なことはなんとなく分かってきたつもりだけれども、 それを具体的にどう実装すればいいのか、実装したものをどう連結させてひとつのゲームにするのかが分からない。 作りたいものの方向性はどちらかというと古典的で、RPGでいえばWizやDQのようなもので構わない。あるいは大戦略とか。 アクション性などは複雑ならば切り捨てることに未練はないし、3Dは興味ないしXNAは動くかどうかも分からない。 自分の技術としては、C#3.0までをさわり程度は理解しているつもり。少なくともラムダ式やLINQなどと言われても動じることはない。 ゲームプログラムというかGUIプログラムの経験が浅いので、正直フォームアプリケーションも基本的なことしかできない。 DirectXはまだ理解度が全然足りないと思う。WPFは入門書を読んだ程度なので多分物の役にも立たない。 フォームデザイナを利用しろとかするなとか、WPFがいいだの向いてないだの、人によって意見が違うからかなり混乱している。 とりあえずいろんな技術をつまみぐいしてる最中だけれども、やっぱり少なからず形にしてみたいという欲はあるので、 参考になる資料やらソースやらを知ってたら教えてもらえればありがたい。深い内容でなくてもいいからとっかかりが欲しい。 わがままで申し訳ないが、勉強も兼ねているので過度にライブラリ依存はしたくないというのも本音。
>>396 ゲームの内容は「じゃんけんゲーム」くらいシンプルなもので良いので、とにかく一つのゲームを完成させることをお勧めしたい。
「ゲームプログラマになる前に〜」を読んでいるなら「倉庫番」は作れるようになっているハズ。
ManagedDirectXでも良いと思うけどXNAの方がゲーム向きなのでこっちも検討してみて。
というかManagedDirectXはすでに開発が中止されてXNAに移行してしまっているので・・・
>フォームデザイナを利用しろとかするなとか、WPFがいいだの向いてないだの、人によって意見が違うからかなり混乱している。
市販のゲームを見れば分かると思うけどほとんど使われてないよ。
ゲーム中のメッセージを表示するのにウィンドウズのダイアログが出てきたらダサいでしょ?
>参考になる資料やらソースやらを知ってたら教えてもらえればありがたい。
「ゲームプログラマになる前に〜」が一番分かり易いと思うんだけどなあ。
WPFならダサくないダイアログも出せると思うんだが。 XNAはWPFのサブセットぐらい使えるようにしといて欲しいと思ったことは多々ある・・・
>>396 構造的なことを知りたいなら
xnaのサンプルがわかりやすい
(xnaを使わなくても)
シーン
タスクシステム(最近は必要かどうか微妙だが)
等ゲーム固有の構造を知るのがスタートライン
あとは適当にググればなんとかなる
XNA動かない環境ならSlimDXとかどうか
そういう時はとにかく強引に何か作る 調べてても先に進まないから
それはあるある 適当に動くの出来ると愛着沸いて勉強も進んだりするよね。
勉強ばっかりしてると途中で他のことが気になってすぐ脱線しちゃうんだけど・・・自分だけ?
やっぱりスピード感は大事だよ。
>>396 は最低限の知識はあるようなので1週間くらいで一つゲームを作ってみて、分からなかったところを質問するようにした方が良いと思う。
簡単なものでも実際作ってみたほうがいいってのは同意。 調査だけしてると、調査終わった時点で満足してしまってやる気が無くなるw
レスありがとうございます。
こんなに素早く大量にレスもらえるとは思わなかった……。
スルーされても文句は言えないような類の質問だと思っていたので、本当感謝です。
>>397 言葉足らずで申し訳ない。リバーシや将棋程度なら朝飯前とはいかないけど作れます。
ただ画面や状態が激しく遷移するようになるのが少し分からないというか、幾つか試作品を作ってみたけど微妙。
少し理論というか理屈に走りすぎてドツボにはまってる気がすごく。そういう性格なんで。
先述の通り派手さとかはまったく要求していないんだけど、XNAはそれでも価値があるのでしょうか?
いきなり大作を作りたいわけじゃないから、簡単なものでいいから仕組みをきちんと理解したいって感が強いかも。
>>399 XNAのサンプルって XNA Creators Club Online で公開されているものでいいのかしら?
適当に落としてみて軽く逃げたくなったけど、有用なら簡単そうなとこから挑んでみます。
>>403 確かにその方が皆さんにも余計な迷惑かけないでいい気がするけれども、
スタート地点で「あのやり方でもできる」「このやり方でもできる」「でも本当にそれでいいのか?」って捕らわれてる感じで、
上述の通り試作品は幾つかあるけど、申し訳ないけどそこから具体的な質問は見いだせなかったです。
楽観的かもしれないけど、ここさえ抜け出したら結構なところまでは自力で進めそうな気はするんですが……。
XNAのサンプルは、、CCのは規模が大きいのはほんとに大きいからなあ。 ひにけにとかソーサリーフォースのサイトにあるやつあたりからこつこつやってみては
あーでもそこに書いたのはほんとに基本的なパーツでしかないから、、 移植が鍛えられるよ。適当にC/C++やjavaから題材持ってきて移植してみる。
>>406 やっぱり規模大きいですか。少し安心した……。
ひにけになども確認してみます。XNAのサイトだからって無条件に弾かない方がよさそうですね。
>>408 まだ抽象性が高いかもしれませんが、シーンが切り替わるごとにインターフェイスが全然異なっちゃうのが一番悩みかもしれないです。
たとえばフィールドマップを歩いているときは、キー入力やマウスクリックなんかはキャラの移動に割り当てられるけど、
メニューを開いたらコマンドウィンドウにフォーカスが移って、更にそこから世界地図の表示を選択したら……
みたいに処理系統がずれるとき、それが複雑になると、どのような設計をすればうまく収まるのかさっぱりな気分になりますね。
行き当たりばったりでやってると広域変数がわらわらわいてきて怖気がします。
DirectXの方は後でじっくり読んでみます。
参考資料ありがとうございます。
フィルードはフィルードのクラス メニューはメニューのクラス マップはマップのクラス 描画は描画のクラス
普段ピクリともしないこのスレを これだけヲチしてる仲間がいることに感動したw xnaを使うかどうかはともかく フレームワークの構造は参考になると思う とにかく作ってみるっていうのはおれも同意 つまづいてから習得した技術は納得度が違うw 仕事ならそうも言ってられないがw
個人のゲーム作成って結構勢いが重要だったりするもんな。
>>411 解説みた限りだとだいぶ参考になりそうな気がします。ありがとうございます。
XNA関連を何も入れてないからかプロジェクトが開いてくれないんで、明日必要そうなもの導入してみようと思います。
ソースだけなら見れますけど、やっぱり動いている様子を見た方が早いですしね。
>>412 質問しておいてなんですが、自分もびっくりしました(汗)。
自分はPGではないのですが、趣味であるアドバンテージは生かしたいですね。
しかし潜在的にはちゃんと人いるんだなこのスレ。
>>415 >>411 のGameScreenやゲームプログラマになる前に〜のシーケンス周りを理解して、
Move()とDraw()などを持った抽象クラスを作れば、それだけで単純なSTGは組める。
417 :
名前は開発中のものです。 :2010/02/10(水) 10:03:03 ID:Jfy7clKG
CCのサンプルは規模の大きいものでもわりと分かりやすいと思う 再利用できるものはきっちり分離して、そうでないものは割り切って ゲームの世界にべったり依存してて余計な抽象化などによる無駄な複雑さが少ない
>>415 XNA入れてなくてサンプル見ようとしてたのか。
最低でもプロジェクト作ってできるスケルトンくらいは先に見ようぜ。
>>418 失礼。XNA=XBOX向けみたいなイメージが強かったので、その時点で動作確認もしていなかったので。
開けるソースをざっと見てみて、有用そうだと思ったので取り急ぎレスさせていただいた次第です。
そしてXNA Game Studioを入れたのですが、重い……。
フリーズしたかと思いました(汗)。
話をへし折るが、やはりみんなはC#で作るならXNA派なん?
俺はDxLib+MOIS
Managed DirectX=開発が終了しているので将来性はゼロ。 SlimDX=実績が無い。日本語の情報がほとんど無い。 Windows API Code Pack=WindowsXPで使えない。 XNA=XBox互換のため機能制限あり。 OpenTK、Orge.net、Irrlicht .NET、SDL.NET、DXライブラリも候補に入れても良いかもしれない。 どれも一長一短のような気もするけど今はXNAを使ってるよ。
XNAおもしれーとうはうはしてたけど、文字列表示させようとして鼻水吹いた。
XNA(Win限定)で結局GetGlyphOutline使うフォントクラス作った
面倒だから平仮名・片仮名・英数字だけにしたら、進化しそこなったドラクエみたいだ…… 1Byte文字文化圏はいいよな……
XNAは標準で簡単なWidgetが付いてたら最高だったんだけどなぁ。
>>422 MDX先が無いことはわかってるんだけど、2Dオンリーなら不満が無いからなぁ・・・
MDXに限界が来たらライブラリをSlimDX用に書き直す感じ。それまではMDXで。
SlimDXも.Net、DX9、SlimDX、VC++2008Runtimeと必要なものが多すぎる...
俺もそれは思った せめて未インストール時に 「○○をインストールしてください ○○をインストールしてください」 っていう風にインストールが必要なものを警告表示できればいいんだが チェック方法がわからんorz
>SlimDXは数MBのファイルひとつだけで必要なSDKランタイム/エンドユーザーランタイムすべてをインストールしてくれる
>>224 にこう書かれてるけど?
ちょっとした2DゲームならSilverlightで十分な気がする なんといっても.NET Framework不要、プラグインのインストールは一瞬
>>430 俺はDirectXの1部だけの配布はできないと思ってたけど、今ランタイム落として内容確認したら
D3D_nn.DLLとか更新が必要なやつだけ梱包されているみたいだね。
別途.Net 2.0、DirectXはインスコしてないとあかんけど、XP以降なら最初から問題ないだろうし。
つうことは、17MBほどのランタイムだけ入れさせれば、使用できるということか。
一度VPCで環境作って確認はしとかないといかんけど。
>>429 .Net自体は.Netのバージョンを調べる方法が確かあったはずだし、DirectXもバージョン調べられるはず。
あとはDLLがあるかどうか確認すれば、いけると思うけど。
434 :
名前は開発中のものです。 :2010/02/24(水) 20:12:53 ID:lWszCn7P
全部英語にしちゃいなYO
情報系大学とか、そっちの専門学校とかは、 基礎をちょっと教えたら残りは全部英語の授業でもいいよなってくらい、最近英語に悩まされてる。 せめてエラーメッセージくらいは自力で読んでくれよ…… それはさておき、XNAの漢字問題にはどう対処するのが賢そう? 使った漢字を自動抽出するのが主流って噂を聞いたけど、使用率によっては元テキストをなおした方がいい場合もあるし、 最初に「使用していい漢字のガイドライン(どうしても追加で必要な場合は応相談)」みたいなのがあった方が テキストを書く人物が別人の場合は楽かな?
Box2DXってWindows7の64bitでは 使えないのね・・・
>>436 状況によるけど、XNAはだいたいコンテントパイプライン使って
コンパイル時にテキストファイルから文字を拾うようにしてる。
そのテキストファイルがソースだったりシナリオファイルだったり
設定用のテキストファイルだったりするけど。
XNAではまだ日本語つかったの作ってないけど チャットみたいなユーザが何入力するかわからんようなの実装しようとするとキツそうだね。
そうなんだよね。日本語限定ならまあ全部作っとけばいいけど ZUNEで曲名とか表示させたいときに、各国語の可能性あるから そうそう用意できないんだわ、、、こういうケースはシステムフォント使わせてほしい
ジャストインタイムコンテントパイプライン、みたいなのがあればいいんだろうか
xna用ででまわってる個人製作のGUIライブラリなんかは dxライブラリと同様の方法でリアルタイムにフォントスプライト生成してるな チャットとかならあの手のやり方が現実的かも
無理してSpriteFont使わなくても1から作ったほうが早いよ 自前のフォント描画なんかDirectX使うなら普通に行われてるんだから 探せばC++のサンプルは腐るほどある
>>443 おすすめのサンプル1つあげてちょ プリーズ
>>444 それこそDXライブラリのソースでいいんじゃね?
普通に一度Win32や.NETFrameworkなどの標準ライブラリから文字のbmpを取得して、 そっからTextureを生成すればいいのでは・・・。 テクスチャのインスタンスは適当にDictionary<char, Texture>で持つとして、 テクスチャを取得するか生成してから取得するかは、利用側は意識しなくて言いようにクラスを作っておけばok。
あれ、443の流れに乗ったつもりだったが…サンプルコード載せなかったのがまずかったのか?
サンプルコードというかそういうライブラリを誰か公開してほしい。 前に自分で作ろうとしたことあったけどやり方がよく分からんかった・・・
フォントですか
フォントだよ
ウソです
454 :
448 :2010/02/28(日) 00:14:16 ID:wSOf0xrI
>>449 MDXだけど、まるぺけの高速フォント参考にした。
ソースコード全部はそれなりに長いので要点だけ。
System.Drawing.Graphicsは、GDI+でのサーフェスみたいなもの。DirectXのサーフェスと違ってDraw○○といった直線や文字列、矩形を描画するメンバがある。
Graphicsに書かれた画像をbyte配列に変換すれば、Stream経由でTexture化できる。
つまりGraphicsのサーフェスを適切なサイズに設定して文字を書いた後、Textureにすればいい。
Bitmap img = new Bitmap(textureSize.Width, textureSize.Height);
Graphics graphics = Graphics.FromImage(img);
graphics.DrawString(text, font, Brushes.White, 0, 0);
byte[] imgBytes = (byte[])(new ImageConverter().ConvertTo(img, typeof(byte[])));
MemoryStream ms = new MemoryStream(imgBytes);
return TextureLoader.FromStream(device, ms);
あとはTextureから実際に使う領域の保持や、Textureと文字の管理を上手く出来るような仕組みを作ればいい。
XNAをさっとなぞってみたんだけれども、 やりたいことの方向性からして、今出てるフォントがらみの問題がきつすぎる。 悲しいけれども、ここの人みたいにスマートに処理できるだけの力量はない。 そんなわけでC#でDirectXがらみの書籍を探してみたんだけれども、 赤坂本で扱われている程度の内容しか正直見つからなかった。 DirectX未経験者としては、サンプルコードから理解しろというのも少し厳しいところなんだけれども、 今後資料が充実していくのを期待して、今は控えめなコードに専念するのが賢明かな? それとも頑張ってXNAでフォント処理してく方が将来性ある?
XNAも先はいまいちわからんからなぁ。 サンプルが欲しいならC#で作ってるゲームでソース公開してるやつを片っ端から あさってみれば? そういえばFreetrainもC#で確かDirectxだったと思うけど。
>>456 良くも悪くも「C#でゲーム⇒XNA」てな感じの状況だから、
それに逆らうとなるといろいろ探しにく感じが強いね。地道に頑張るか。
正直、このフォントまわりさえなんとかなれば(個人的には)XNAでも何の問題もないんだけど。
>>450 ありがとうございます。
ところでこれ使っていいんですか?(ライセンス的な意味で)
>>455 MDXはその4年前に出版された赤坂本が最新書です。
今後、資料が増えていく見込みは無いと思う。
それか
>>422 から他の候補を探すか・・・
XNAを使うのが無難じゃないかな。
459 :
450 :2010/02/28(日) 11:44:10 ID:4pJlo65w
実はだいぶ前に作ったもので、レイアウトやキャッシュ管理についてはXNAの古いサンプル(XNAExtras) を参考にしててもしかしたらライセンスは微妙かも(XNAExtrasのライセンスが不明なため) MSのサンプルだし基礎的な部分だし問題ないとは思うけど一応
>>458 俺はその中ではSlimDXが一番マシかなぁと思ってる
資料が少ないだけで、純粋なDirectXのラッパーなので変な癖がなくていいんじゃないかと。
XNAはXBOXとの連携考えないならそんなにうまみが無い気がするしね。 ただフレームワークの参考にしたりサンプルをパクったりする対象としては結構良いと思った。
2DならDxLibが一番簡単で完成度も高い 3DならSlimDxが簡単だがちと完成度に難あり 速度はどちらも問題なし
SlimDXはほぼ完成してるでしょ 個人的には2DならSilverlightでいいんじゃないかと思ってるけど
Silverlight は良いとは思うけど Flash みたいなブラウザゲーになっちゃうから この場合とりあえず WPF の方挙げたほうがよいような。
>DirectX未経験者としては、サンプルコードから理解しろというのも少し厳しいところなんだけれども、 ということを考慮すると選択肢はMDX、XNA、DXライブラリに絞られると思う。 SilverlightやWPFは元々ゲーム開発向けではないので・・・
>>460 SlimDXは使ってみたいけれども資料の心許なさは否めない……
WPFはゲーム向けじゃないから何処までいけるかも分かんないしね
この手のが苦手な人間としては、
XNAはサンプルが豊富でいいけど、サンプル読むためだけに習得するのは地味にテンションあがらない
>>466 >WPFはゲーム向けじゃないから何処までいけるかも分かんないしね
2Dに限定すれば性能は問題ないと思う。(内部的にはDirectXなので)
だけどWPFに足りない機能を補うのに結局MDXを使うことになりそうなのでお奨めはできないね。
悩んでいてもしょうがないし、とりあえずどれかで作ってみたら?
なんかかんだでC#でゲーム作ろうとしてる潜在人口増えてる気がする。 Wiki作ったらちゃんと動くんじゃね?
>>468 無駄だよ。
今まで似たようなwikiはいくつも立っては更新されずであぼーんというのが多いから。
みんな面倒臭いから更新しないんだよね。
wikiよりこのスレでいいじゃんという人もいるし。
立てるなら、
>>468 が死ぬ気で保守するつもりじゃないと。
wikiなんて何に使うんだ?
情報源並べたりとか? 俺もこのスレでいいとは思うなぁ。 必要だと思った人が適当にここから拾ったりググったりしたのを並べて作りゃいいんだと思う。
講座とかやってなきゃある程度で更新が止まるのは当たり前じゃね?
だよねぇ。 誰かがC#ゲーム作りまくリング講座とか、SlimDX活用講座とかやらない限りは wikiでまとめるほど情報はなさそうだし。
476 :
名前は開発中のものです。 :2010/03/01(月) 01:39:30 ID:IVHysUvX
>>468 VBとSlimDXで3Dやってるけどかなりいいとこまで使い込めてる
SlimDXの本出すなり講座作るなりできたら面白いんだけどね
wikiでリンク集があるだけでも違うと思う スレの消費が遅いからテンプレも更新できないし
そもそもここも賑わっていない、SlimDXのスレも賑わっていない、つまり C#でゲーム開発というのは流行っていない、人気がないということ。 みんなHSP、C++、VB辺りでやってんだろうね。
ギャグに笑った。
C++>>>C>>>HSP>>>VB>=C# ユーザー人口で考えるとこれくらいじゃないだろうか? この板HSPのスレ大杉w それに比べるとC#は・・・
C#はまだ新しい言語だし、書籍も少ないし、DirectXとの連携弱すぎるし。 .Netはゲームに向かないという認識が多いような気もする。
C#ももう少しいろんな情報が増えれば人口拡大しそうなんだけどなぁ
既存の情報、ライブラリなりが生かしにくいから、 C++とかHSPに偏ってしまうのは仕方ないかと。 ただ、ABA Gamesの人とかは色々な言語でバリバリゲーム作ってるし、 要は開発言語よりやる気だと思うよ。
英語さえOKならC++に次ぐ情報量だと思うんだけどな 最近の言語で生に近いDirectXを触りたかったら良くも悪くも唯一の選択肢なのは事実
Managed DirectXで昔ゲーム作ってたなあ 途中で一人じゃ無理だ!と思ってやめたんだけど、今はManaged DirectXなんて誰も見向きしてないのかな
MDXにしろSlimDXにしろXNAにしろ「意外に難しい」というのがネックになってると思う C#で作ると簡単っていうのはちゃんとオブジェクト指向とか理解してて DirectX使った経験もある人が同じものをより楽に作れるという意味なんだけど 勘違いして挫折する人が多そう
事実上まともに使えるようになった初めての言語がC#だから、どうしても趣味の開発はC#がメインに。 C#を0から始めて3年強だが、Managed DirectXでゲーム作ってるよ。
C#て構造体使えないの?
他の言語の構造体に相当するものはC#には「構造体」と「クラス」の二種類がある でもよくわからないうちは無条件にクラスだけ使ってればおk
ManagedDirectXからSlimDXの乗りかえやった時に気づいた点。 この差以外は、MDXのコードをほぼそのまま流用できた。 全体的に、SlimDXの方がC++のインターフェイスに近い印象。 ・クラス名がびみょーに違う箇所がある。大文字・小文字とか、微妙に省略されてたり。 ・MDXはRenderStateの設定・取得をプロパティでやっていたけど、SlimDXはメソッド。 ・SlimDXのDrawUserPrimitives系メソッドが軒並みジェネリクスメソッドになってる。 ・MDXには最初から使える頂点フォーマットがあったが、SlimDXにはない。自分で定義する必要がある。 ・SlimDXはプログラム終了時にDisposeされてないリソースがあるとデバッグ出力で教えてくれる。 ・ライト関係のデフォルト値が微妙に違う? ・Windowed = trueの時にターゲットウィンドウをリサイズすると、MDXではデバイスリセットが起こったがSlimDXでは起こらない?
頂点だのテクスチャだのの前に ポリゴンデータファイルを指定すれば終わりくらいのところからプログラミングしたい
>>490 あまりきちんと調べてなかったけど、
そうやって手探りで列挙していくしか方法ないくらい情報ないの?
参考になってありがたいけど、変なところで何かわきそうで怖いな。
少し真面目に
>>468 に期待してみよう。
いや、リンク集程度でも初学者には助かると思うけどね。
情報の得やすさにつられてHSPにいって、構造体が使えないことに切れた身からすれば。
493 :
490 :2010/03/03(水) 08:46:33 ID:y9fo7Wsr
初学者といってもオブジェクト指向言語使っててゲーム初めてって人と プログラミング自体始めての人では全然違うからなあ 後者でいきなりDirectXやXNAに手を出すのはいくら情報があっても無謀すぎる 後者の人向けに適度に整理された簡単なライブラリがあってもいいと思う C#で作るならどのみち.NETのライブラリ使うためにオブジェクト指向必須なわけで DXライブラリみたいに全くクラス使わないのもそれはそれで勉強にならないだろうし
オブジェクト指向だとゲームキャラがオブジェクト? オブジェクトにどうやって処理移すんだい? 結局Mainでキャラ移動計算させて、その後まとめて画像処理するんでしょ? 構造体も楽かもしれないけどデータ処理する時に面倒だし、結局配列処理が楽じゃなかろうか
オブジェクトに処理を移すのは、単にオブジェクトに定義したメソッドを呼び出すだけ。 実際には上からまとめて処理したほうが適切な場合もあるけど それは両方のやり方を理解した上での判断。 それと少なくともC#では構造体というかクラスを使ったほうがあらゆる場合において楽。
>>494 ああ、一応自分は「ゲーム製作が初めて」って人のつもりでいった。
CUIからGUIに移るときみたいに、DirectXに手を出すのってすごい緊張するし、
散漫とした情報がまとまってるだけでも助かると思うんだよね。ていうか普通に助かる。
プログラム自体が初めてで、言語を学習するっていうステップがだるいのなら、それこそHSPとかで問題ないと思うけど。
499 :
名前は開発中のものです。 :2010/03/03(水) 15:18:23 ID:Ze2euE6W
>>494 オブジェクト指向自体そんなに難しいものでないと思うけど
プログラミング経験無しでVB.NETやったけどクラスの概念はすぐに身につけられる
RPGにしてもアクションにしてもキャラのパラメータを複数種類管理する場合一つにまとめるクラスや構造体が無いとプログラミング辛い
キャラが多数登場した場合どうやって各キャラのHP、MP計算するのって感じ
HSPでは2次元配列使う人もいるらしいが生産効率良くないのでは
なんか私情につきストレスたまってきたから発散てがらWiki作りたくなってきた。 @Wikiで無問題?
個人的にはwikiwiki.jpの方が広告がうざくなくて好きだな。 友人が@wikiを運営してたんだが、かなりのバグレポートを運営に送ったよ。 まったくスレ違いだけど、MediaWikiはカスタマイズしようとすると敷居が高すぎる。 専門書籍があるっていうか貸してもらったら、ただの導入ガイドだった。
確認してから作るんだったw @wikiで作っちまったぜ。さて、初めて立てたはいいが、とりあえずトップページを整理するか。
@wikiでも問題ないと思うよ ゲーム内からシームレスにwikiにアクセス出来たら楽しいかなぁとか思ったことはあるなぁ。
@wikiって、画像張ってたらそのうち消えてなくならない?
>>504 WebBrowserで表示すんの?
オンラインヘルプには使えそうだけど。
>>506 サービスとしてwiki作っといてXMLで取得した結果を適当に整形して表示とか。
じゃあどうせならWCFで
509 :
503 :2010/03/03(水) 23:51:12 ID:kC+oOCRK
XNAだのSlimDXだのWPFだのWCFだの周辺技術はたんとあるのに、 どうして肝心の資料がこんなに乏しいんだよ!
あと、極端に連続して一人で更新してると規制がかかるようにしてある。 困ったらこっちで言えばたぶん調整する。
だから今必死にMDXの情報をWikiに書いてる。 正直適当にまとめて同人誌とかにでもしようかとも思ったが、需要微妙、どう考えても赤字、本だと後で修正できない、MDXも末期を既に通り越している。 それならC#布教の方向でってことで今現在Wiki編集中。
全部あてにしないでC#+元祖DirectXで
とりあえず1項目書いた。こんな感じで気軽にWikiを使ってやってください。
もうちょっと幅広がらないかね・・・ 狭すぎる。
>>509 MDXの情報いらなくて?
もう亡くなった物の情報集めても意味無いと思うが
他の事に力を使った方が時間が無駄にならない
>>516 まあ、いいじゃないか。
なんでもいいから更新し続けていれば、人は集まるよ。
>>517 乙
がんがってくれ。
こちらも何か書けることあれば、協力するよ。
519 :
名前は開発中のものです。 :2010/03/04(木) 02:36:23 ID:wwLMhN5T
>>509 うちもSlimDXの講座作ろうかなって思ったが、VBなんだけどさ
見に来てくれるもんかな
>>509 おつ。悲しいかなうたた寝してた……。
なんか文句ばっかで悪いけど簡潔に、
装飾にはちょっと泣いてもらって、幅は遠慮無くひろげたりできない?
普通なら問題ないけど、ソースコード読むときにはちょっときついって印象を覚える。
同様に、line-heightの値をどのくらいか設けてくれると
弱視としては非常に嬉しかったりします。
このデザインは@wikiのテンプレかな。
普通に使う分にはひげがかわいいけどw、今回はもうちょっと機能的でいいんじゃないかとも思った。
頭痛がするのでいいっぱなしですまん。@wikiに登録したことないんで、管理側のことが少し分かりにくい。
>>519 俺はVBでも大歓迎だな
管理者がどう思うかは分からんが
VBでも.NETならC#への変換は容易だし別に問題ないんじゃね?
気になった人がC#に翻訳すればいいんじゃないの たいていの.NETのTipsサイトがそうなってるみたいにVBとC#両方あってもいいでしょ C#わかるのにVB分からない人はいないけど逆は拒否反応示す人がいるし
>>509 どれも一通りさわったからいろいろ書きこみたいけど、こういうの書いたこと無いからなあ・・・
>>520 デザインに関しては、プログラムコードを考えて微妙とは思ってた。ので変更。
メインエリアのline-heightは1.4emにした。
C#の人はVBでもガンバりゃ読めるから※VBとか適当にコード説明の前に書いとけばいいと思う。
DOBONとかその他サイトもそうだし。
>>524 まずは気楽に書くといいよ。プレーンテキストでも書けば、誰かが適切に装飾、整理するかもしれないしね。
俺もC#とVBを載せるのは賛成 できればC++も載せてほしいぐらいだよ
だったらDelphiも載せてください。
↑こういう人が出てくるから詳しく書くとC++と言ってもCLIのことね
Delphiだってそれぐらいあるよ・・・・
>>519 期待
C#使いはVB読めるだろうからVBのみでもいいよ
たぶんみんな脳内翻訳するから
Delphiとか、もはや旧時代の遺物だろ
Kylixならともかく、Delphiを過去の遺物とか何言ってんだ?w
mqoファイルをアニメパターン分読み込んで 複数キャラを動かすまでのサンプルを誰か作って^^
C#スレにDelpahi嫌いがいるのはちとうさんくさいなw
C++/CLIってVS2010でインテリセンス非対応なんでしょ 一時的とは言ってるものの、ここまで酷い扱いされてるようだと先行きが心配 メインで使うなっていうのはもともとMSも言ってるんだし ラッパー書いたりする分には問題ないだろうけど
そいやMSがC#作るさいDelphiのPGが引きぬいたんだっけ
自分はVB.NETは使わないからあってもなくてもいいけど、
必要に応じて誰かが補完してくれるんじゃないかな?
あれもこれも贅沢言えばきりないし、ひとまず言語としてはC#中心で
著者都合でVBの場合は、誰かができるだけC#に翻訳したのも掲載するとかでどうすか?
>>520 手数かけてすまない。だいぶ読みやすくなった。
>>537 アンダース・ヘルスバーグ(Anders Hejlsberg)
Turbo Pascalの原作者でDelphiのチーフアーキテクト
マイクロソフトに移ってからは.NET Frameworkのキーアーキテクトであり
J#やC#言語チーフ・アーキテクトでもある
伝説級といえばカトラーやウォズニャック、チャールズ・シモニーあたりが有名だけど
現在進行形でいえばこの人が最強じゃないかと思う
>>534 要点だけ書いた。後は自分で実装してくれ。
乙 >実際の描画はワールド座標系に全て描画する必要があるため、描画毎に算出する必要がある。 そうだっけ?一番親のシーンフレームだけ指定すれば子の奴は全部勝手にやってくれなかったっけ? これ全部プログラマ側がやるんだったらシーンフレームの概念の意味ねーんじゃね?
>>542 まじか?SDKのサンプルとかcuttingEdgeのサンプルとかはこんな風にやってた気がするが・・・
VB.netの方がC#よりさらに人口少なそう つーかスレ自体ないし VB6多少出来るんでVB.netで何か作ろうとしたらほとんど資料なし 潜在的な需要はけっこうありそうだけど
VB.NET やるぐらいなら C# でやるわーな人が多いんじゃないのかね。 ちなみに資料は C# のあたってもほぼ問題ないよ。 少しだけ文法違うぐらいで出来ること一緒だし。
そりゃ趣味でやるならC#よりもVBを選ぶ積極的な理由は何一つ存在しないからな
>>545 >>546 そうか、この際C#勉強するか
VB.netってゲーム製作関連書籍もほとんどないしな
MSはVBに関しては完全に失敗じゃね?
>>547 何を勘違いしてるんだ?
ゲームだけじゃないんだぞ?
プログラミング言語が必要なのは・・・
C#4.0になってCOMとの相互運用の強化や動的型のサポートなどが行われたから 従来VBの方がやりやすいと言われてた分野は完全に無くなったね でもだからってVBが消えるとは思えない
つまり、好きなほうを選べと。 俺はC#だけど会社だとVBなんだよね。
4月ぐらいになって暇だったらC#+MDXでゲームでも作ってみよかと思ってます
日記ついでに自分用アンカーおいときますね
>>266 >>298 >>300
>>509 のWikiにSlimDX関連を少し追加してみました。
盛り上がるといいですねぇ
553 :
509 :2010/03/10(水) 00:00:49 ID:qKagxpV9
>>552 乙ー。何気なくスキンメッシュの情報があるWikiって珍しい気がする。
ラッパーよりもゲームエンジンが欲しい・・・ ソース上でテクスチャ貼るとかポリゴン弄るとか低層のことしないから ポリゴンデータ集めてきて初期配置するまではiniファイルとか設定メニューで済ませ ソースはDirectX関連は計算のみ使う状態で始めたい
そういうのを自分で作ればいいんじゃね? そして公開したらみんな幸せ
というか探せばいくらでもありそうではあるよね。 XNAベースのそういうの前どっかで見かけたような。
ゲームエンジンとフレームワーク、ライブラリはそれぞれ別の物。
560 :
509 :2010/03/10(水) 23:40:47 ID:qKagxpV9
>>558 DXライブラリは、C++で無理しようとした頃少しだけ世話になったこともあるので、個人的には推したいねぇ。
今は全然覚えてないけど、C#版とかあるし誰かが記事を書いてくれると信じよう。
メニュー項目追加しときます。
>>559 自分の認識では
ライブラリ→ある目的に沿ったクラスファイルや関数群
フレームワーク→特定の操作や手順強要する、特定のアプリを作るのに特化したシステムのこと。
ゲームエンジン→ゲーム作るのに必要な、フレームワークとライブラリの中間の何か。
XNAはシェーダ1.1縛りがあるから無理
意味もわからずに縛りとか言っちゃう厨房降臨
>>560 今VB.NETを勉強中で作品1つ作ったらC#に移行しようとしてる最中なのでそれはありがたい
>>554 よし、ゲームエンジンツクールを今から開発するんだ!
例えば戦車のゲーム作るとして 戦車のポリゴンデータは 本体 ├キャタピラ1 ├キャタピラ2 ├キャタピラ3 └砲塔 ├砲身1 ├砲身2 └砲身3 キャタピラと砲身はアニメパターンで切り替え で、 戦車Mesh = new NonIndexedSkinnedMesh(Device, "戦車.x"); ここから 砲塔角度を与えれば、勝手に戦車Meshが修正されて返ってくる関数って 自分で用意しなきゃならんですか? それとも 本体 ├キャタピラ1 ├キャタピラ2 └キャタピラ3 砲塔 ├砲身1 ├砲身2 └砲身3 って分けて自分で回転軸指定してやった方がいいかな
>>565 例えば歩くアニメーションが全体で100フレーム分あったとしたら、その中からポーズを任意のフレーム目の状態に出来るって代物だから。
やったこと無いけど今回だと後者のほうが楽じゃね?砲身とかなら、自分で別々に計算して本体側の砲塔手前のFrameにくっつける感じで。
心が折れそうだ><;
>>554 要はUnrealとかUnityのようにレベルエディタが付いてるような物のこと?
Unityって何ぞや?ってwikiのチュートリアル見たらブラウザ固まった・・・・ C#使えて一部無償か・・・・
570 :
509 :2010/03/12(金) 19:17:28 ID:JKkhUh5c
要望があったので、ファイルのアップロードを許可しました。多分。
>>570 乙 特に協力できるような知識がなくてすまない
>>565 普通、後者だろ?
砲塔回転させる方が楽だろ。
あと砲身も上下させるなら、それも分割して砲身だけ違う軸で回転させて。
>>509 >>511 SlimDXページへの編集制限回数を超えてしまいました。
調整をお願いしますー
>>572 でも普通のモデラーは全部1ファイルに階層化して吐き出してるし
モーションソフトではボーンで動かしてるよね?
575 :
509 :2010/03/13(土) 11:55:37 ID:nfJqoL1x
>>573 マジカー
とりあえず変えますた。ウチも記事を書かねば。
>>574 モデラーにもよるけど、メタセコ内でオブジェクト分けて別途ボーン入れソフト使った場合、
デバッグで確認したが、メッシュの対応がおおよそ一致してる。
例
ReplacedName0→ReplacedName1→base(腰)→upperLeg
upperLeg→lowerLeg()→foot
↓upperLegR(upperLegと兄弟関係)→lowerLegR→foot
だから、
1、モデラ等でボーン入れるときはオブジェクトを独立させて砲身のボーンは他のメッシュに影響しないようにして、発射アニメーションがあるなら作っとく。
2、プログラム上で砲身を回転させたかったら、砲身のメッシュを持つFrameのオフセットをいじくる。(ローカル軸回転とか利用して)。で別途保持して、描画の直前にそれを元にワールド変換行列を算出。
相対座標の強みは砲身自体を持つフレームの行列だけいじくれば、ちゃんと動いてくれるところだと思うよ。試したことないけど。
>>509 にてSlimDX関連サンプルを載せている者ですが、もし何かリクエストや、
サンプルでもっと説明して欲しいことがありましたらどうぞ。
できる範囲で対応します。
あまり複雑だと無理かもしれませんが・・・。
577 :
509 :2010/03/19(金) 15:41:45 ID:71r/xMbH
>>576 お疲れ様です。SlimDX版Fontを元に文字テクスチャを生成する、があると需要があるかと。
Mdxの方は今からあげようと思います。
こんばんにゃー
求人ですw
鉄道経営系ゲーム製作スレッド
http://pc11.2ch.net/test/read.cgi/gamedev/1239023536/l50 のほうでFreeTrainEX Avのプロジェクトリーダーやってるものです。
FreeTrainEX Avの現バージョンはdx7vb.dll使ってるものでVista以降で単独では
動かないのですが。
昨年秋に「dll使わないDirectXラッパー書いてみたぜ」ってソース落として行って
くれた方がおられたので。そのラッパー取り込んでみたのですが、C++/CLIで書か
れてて自分はどうにも読解できなくて。今困ってます。
C#とC++/CLI両方書けて興味ある方、助けてください。
579 :
578 :2010/03/21(日) 15:57:16 ID:PSZ0VC/R
たびたびどうもです。 さきほど出張してきていただいたかたのおかげでかなりのバグがとれたのですが。 まだDirectMusic使ったwavファイル効果音を鳴らす部分がおかしくて。 連続して発音してるといいんだけど一度音が止まると次の発音がなくなってしまうのです。 DirectMusicもわからんしー…… 本体C#でWrapperがC++で、それをExpressEditionでビルドしてるんで。 C++でDLLだけビルドしておいて、できたものを参照してC#でソリューションしてます。 前の人がC++のWrapperあっちこっちにDebug::Printを仕込んでくれてるのですが、これって Standard以上の統合環境じゃないと見れませんよねぇ。 Debug::Printにかわるものをなんか仕込むか。
APIのOutputDebugStringを呼ぶようにすれば これを表示するツールはいくつかフリーでもあるよ
ってそのDebug::Printが最終的にOutputDebugStringを呼んでいるなら そのツール使えるかもね
>>579 System::Diagnostics::Debug::Print なら
ツール->オプション->デバッグ->全般 の
出力ウィンドウの文字をすべてイミディエイトウィンドウにリダイレクトする
にチェック入れたら見えるはず。
>>582 C++ Express Editionでそのオプションにチェックを入れてDLLをビルドして、
そのDLLをC# Express Editionで参照してソリューションビルドしてデバッグモードで
動かしたけど、C# Express Editionのイミディエイトウィンドウには何も表示されな
かったのです。
C++で書かれてるのはWrapper部分だけで、Windowアプリ本体はC#なのです。
で、Express Editionでビルドしてる、と。
しょうがないので、std::ofstream ofs;でテキストファイルひらいて追記していく
文をつらつら書き並べてました。さっきまで。
バグのほうは、スレに来ていただいた方に解決していただきました。
>>583 チェックを入れるのは C# Express Edition のほうなのですが、それでも表示されないですか?
ぉお!?すみません、C# Express Editionにチェック入ってなかったです。 チェック入れたらC++で書いたWrapper DLLのほうもちゃんとイミディエイトに 出てきました。 とほーー いや、そのDEBUG:::Printしてたパラメータは結局バグとは関係なかったんですけどね…… あーー、でもなんとか形になったかな。 ありがとうございました。
お世話になってます。FreeTrainEX Avの開発リーダーです。
最新アルファ版を公開はじめました。
http://pc11.2ch.net/test/read.cgi/gamedev/1239023536/856 こちら、.NET2.0とDirectX9.0cが入っていればWindows2000/XP/Vista/7で
動作するはずなのですが。
一部Windows Vistaで動作しないという報告も上がってきており、
私の家にVista動作環境がないこともあって確認が遅れております。
Vista/7で動作したしない、また動作しないのであれば原因がどこにあるのか、
対処法はどうなるのか、といったあたり、ゲーム開発に詳しい皆様の力を
お借りしたいと思います。
これがFixできれば晴れて「バージョン1.0」を名乗りたいと思っております。
最後の1マイルを人海作戦で行かせてください。
鉄道ゲーム製作スレのほうは、もともとFreeTrainやるためにVistaにdx7vb.dll
入れて旧版を動かしてるような人が多く、また動く動かないはわかるけど
原因切り分け報告までのスキルはないという人も多いため、プレーンなOS
環境、あるいはいろいろ動作環境を切り替えられるリソースをお持ちであろう
みなさま、ぜひともお力をお願いします。
ちょっとDirectX関係のSDKと、動作環境(ビルド環境ではなく)で教えてください。 DirectX SDK August 2007を最後に廃止されたという、DirectMusic関連のヘッダファイル dmusici.hを組み込んでいるのですが。あ、FreeTrainEX Avです。おさわがせしております。 このdmusici.hを使ってビルドしたバイナリは、実行するときにもこのSDKを要求したり しますか? 「XPだけど動かない」「Vista/7で動かない」という話がわきおこってるのです。 FreeTrainEX AvはもとからDirectX9.0cと.NET2.0が動作必須だったのですが。 以前はdx7vb.dllを使ってたのでdmusici.hは使ってなかったんです。 今回のバージョンから、dx7vb.dllを外す代わりにじまえでC++ラッパー書いてという ことになって、そのラッパーがdmusici.hを利用しているのです。 XPにおいて、dx7vb.dll最終版の0.8.1は動作するが、解消版の0.9.0.*は動作しない、 というのの理由を探しています。
svnファイル同梱するなよクソ野郎
あ、それは気になってた。 どうかこのクソ野郎めに、ワンタッチでsvnファイルを除去できる魔法をおさずけください。
死んどけ
>>589 協力もしないのに文句だけはいっちょ前の糞野郎は黙っておけよw
↑ なにこのバカ
↑なにこの糞野郎
>>590 チェックアウトじゃなくてエクスポートしたやつをアーカイブすればいい
ところでゲーム中に流すBGMや効果音なんだけど。 今はDirectSound/DirectMusicで流してる。 でもこれ、dmucich.hが必要で最新DirectX SDKには入ってなく、旧版を探して もってこないとビルドできないし。 いつまでもこれでいいのかなって、ふと気になった。 いいならいいで、ビルドする人のちょっとした負担になるだけで実行環境には 影響ないからほっとくし。 もし将来的に実行環境がなくなるようなことがあると困るなと思った。
MIDI使ってるうちは移行は厳しいかもね
たびたびお世話になります。
FreeTrain EX Av Projectのriorioです。
このたび正式版1.0をリリースし、それとともに次期版のベータ2.0.1.0も配布開始しました。
http://sourceforge.jp/projects/freetrain-exav/ 1.0は問題ではなく、2.0.1.0のほうでご協力をお願いします。
ver2から、新たにC++/CLIで記述されたDirectXラッパーを作成して使用するようにしたの
ですが、どうもビルドに問題があるのかソースに問題があるのか、原因いまだ不明なのです
が、本来
・DirectX9.0c
・.NET 2.0
の2つさえ入っていれば動作するはずのFreeTrainEX Av本体が、単独動作せず起動すぐ
クラッシュということになっています。
いろいろ試してみて、Visual C++ 2008がExpress Editionでいいのでインストールされて
いたら動作する、というところまでは突き止めました。
私自身もExpress Editonで開発しているのでC++部分とC#部分の一発ソリューションという
のはできず、まずC++のDirectXWrapper.dllのみをC++でビルドし、そのあとでC#でDLLを
参照してビルドして完成という手順を踏んでいます。
この手順の中になにか不備があるのではと考えられるのですが、わかりません。
SourceForge.jpのほうには2.0.1.0のソースをSVNでコミットしてあります。
ソースから読んでわかる方、ぜひ解明・解決していただけないでしょうか。
前から思ってたけど、完全にスレチだと思うのだが... つうか力量不足だからってこのスレに投げられてもなぁと。
>>599 思いつきだからなんにも役に立たないレスだけど
C++2005とC++2008のRedistributableが関係じゃない
C++2005.C++2008のEEをインストールするとこれもインストールされるし
VBとC#にはないけどC++だけにはあるからそうなんじゃないかと思った
さらにC#から離れてくると本格的にスレチだな ただC#とvisualstdio周りは関係が根深いから、そこら辺の話題がかすってれば個人的にはセーフだと思う どちらかというと、>>riorioさんの何でも聞いてる感のニュアンスがしてきてるからだろう、問題は。 うざいので少し自重しろし、と思うところもあるが、技術的なレスだし誘導先がないなら多少のスレ出張は互いに有益だろう。
すみません。 C++パートをReleaseビルドすれば解決、だったそうです。 罠でした orz
とても有益な流れでしたね
rorioさんじゃないことに今気付いた。ごめん。
どうせそんなに細かい制御しないんだろうから アンマネージC++でDirect3Dのラッパー書いてDllImportすればいいのに C++/CLIが混ざると後々いろいろと邪魔になるんだよな
質問です csharpgamedev@wikiにあるSlimDXのサンプルフレームワークを使わないプロジェクトで IdleでRender()呼び出してますが、この場合マウスをぐりぐり動かしたりしてると Idle呼ばれなくて描画されなくなったりしませんか? 試してないんで適当にいってますが、参考に見ていて気になったので・・・
>>607 マウスイベントはIdleイベントが発生できなくなるほど頻繁には発生しないので、大丈夫です。
もちろん、マウスイベント内で非常に重たい処理を行うと影響が出ますが、それは
Idleイベントでなくても同じですので。
レスありがとうございます。Vista + VC#2005EEでテストしてみました class Program内 static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Form1 frm = new Form1() ; Application.Idle += frm.IdleProc ; Application.Run(frm) ; } class Form1内 int n_idle = 0 ; public void IdleProc(Object sender, EventArgs e) { this.Text = this.n_idle.ToString() ; this.n_idle ++ ; } ウインドウのタイトルバーにカウント表示するプログラムです。 実行してウインドウ上でマウスを動かすと、自分の予想に反して カウントが早くなります。 Idleが連続で2回以上くるとウェイトが入るような処理でも入ってるのでしょうか?
>>609 私も確実なことは言えないのですが、IdleイベントはMSDNに記載の通り
"アプリケーションが処理を完了し、アイドル状態に入ろうとすると発生します。"
つまり、アプリケーションが何かしら処理をし始め、完了しないとIdleイベントは発生しません。
逆に言うと、ずっとアイドル状態だとIdleイベントは発生しません。
空のフォームだと、何も処理が発生しませんので、なかなかIdleイベントは発生しないことになります。
つまり、アイドル状態が長いということです。
この状態でマウスを動かしたり、フォームの上に別のフォームを置いたりすると
マウスイベントやPaintイベントが発生し、アプリケーションが処理を開始し、
完了するとIdleイベントが呼ばれます。
そのため609さんのプログラムでは、何もしないときよりもマウスを動かしたほうが早く
カウントが進むのだと思います。
多分^^;
横から質問ですが、それだとゲームループとして不完全だと思うのですが・・・ 実際にゲームが出来上がれば問題ない動きになるんですか? ゲームによっては、入力がゲームパッドからのみということもあるでしょうし (ゲームパッドからの入力がフォームイベントを発生させるとは考えづらいんですが) どうにも上手く納得できないんですが・・・
実際XNAのループもApplication.Idle使ってるからなあ
613 :
609 :2010/03/28(日) 23:44:25 ID:rg9jPJ4K
>つまり、アプリケーションが何かしら処理をし始め、 >完了しないとIdleイベントは発生しません。 >逆に言うと、ずっとアイドル状態だとIdleイベントは発生しません。 .NetFrameworkでのIdleの仕様がよくわかっていませんでした。 MFCではIdleはアイドル状態の間、何回でもイベントを発生されることもできるので 勘違いしていました。説明ありがとうございました。 この辺(フレーム更新)の処理について調べるきっかけになったのは 自分の作ったテストプログラムのFPSが思ったよりも少なかったからです、 試しに描画を減らしてみてもFPSが変わらないため、他人のプログラムを 参考にしてみようと眺めていました。 FPSが変わらなかった結果からいうとPresentParameters.PresentationInterval の設定値でした。 つづく
以下は日記ですので興味のある人だけどうぞ
class Program内
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
using(MainForm frm = new MainForm()){
frm.Show() ;
while(frm.Created){
frm.Render() ; // DirectXでの描画
Application.DoEvents() ;
}
}
}
いわゆるブン回しです。擬似コードです、このままで動くかわかりません。
描画を削ってもFPS上がらないのはおかしいです。
Idleを使った
>>609 を試してみてIdleでウエイトかかってるのかと
思ったのですが、そうではありませんでした。
さらにつづく
frm.Render()呼ばなければブン回ります。 つまり、frm.Render()内でウエイトがかかっています。 Device.Clear(), Device.BeginScene(), Device.EndScene(), Device.Present() だけでもウエイトかかります。 おそらくDevice.Present()がウエイトかけてるんだと思い、 どっかで設定できるのではないかとヘルプで探しました。 それで見つけたのが PresentParameters.PresentationInterval PresentParameters.FullScreenRefreshRateInHz です。 Device生成するときにわたすPresentParametersに presentParams.PresentationInterval = PresentInterval.Immediate ; しとくとウエイトかかりません。 デフォルトではリフレッシュ レートと同期するようです。 PresentParameters.FullScreenRefreshRateInHzでフレームレートが 指定できるようですがフルスクリーンのみ指定できるらしいです ウインドウモードだとフレームレートが指定できないのが微妙ですね。 どれぐらいの精度があるかは調べてません。 以上
>>611 疑問もごもっともです。
一般的なゲームのように、何もしていなくても定期的にゲーム内のオブジェクトや
キャラクタを更新し、画面を描画するには Idleイベントでは足りません。
タイマーイベントなどでも可能ですが、SlimDXでは便利なクラスを用意してくれています。
それが、MessagePumpクラスです。
SlimDXのサンプルフレームワークでは、このMessagePumpクラスが使われています。
このクラスは、内部でPeekMessage関数を呼び出し、メッセージが無い場合に
メインループを回すように実装されています。
使い方はサンプルフレームワークのSampleクラスを見ていただければ分かりますが、
MessagePump.Run( form, () => {
/* メインループ */
} );
のようにして使います。
これで、CPUが空いているときにメインループを何度も回してくれます。
サンプルは動きを扱っているわけではないので分かり易いかなと Idleイベントを使っていたのですが、
混乱させてしまったようですね。そのうちMessagePumpクラスについても追加しておきます。
もし、私の理解が間違っていたらご指摘ください。
よろしくお願いします。
>>616 ありがとうございます。
なるほど、そんなクラスがあったんですか。
使ってみたところ、確かにゲームのメインループらしい動きになりました。
SampleFrameworkをよく読んでませんでした。申し訳ないです。
# よく見たら
>>34 なんかも、if(...)じゃなくてwhile(...)なんですね・・・
# ひどい勘違いだorz
時間がなくて中身ちゃんと確認できなかったけど、 ウルティマ(違ったかも)の作者だかが書いたゲームプログラミングの本が邦訳されてたね 目次見た限り、セガ本の上位版みたいな感じだったけど、肝心のタイトル忘れた
>>618 ゲームコーディング・コンプリート 一流になるためのゲームプログラミング
発売日3/31か
それだ。ありがとう。 1分くらいしか時間なかったんで全然確認できなかったけど、MFCっぽかった。 しばらく書店行く予定ないんで、読んだ人いたら感想もらえると嬉しい。
>>619-622 目次見て面白そうだったので、さっき買ってざっと流し読みしてみました。
で、感想。
いかにも技術者が書きましたという感じ。中〜上級者向け。
C++とDXUTを使ったコードと文章が1:1くらい。
テクニックやアルゴリズムを説明するというよりも、
「自分はこんな風に考えて、こんな感じでやってる」という経験からの言葉が列挙してある感じ。
コード解説もかなり大雑把。
またメーカーの大規模ゲーム開発の経験者なので、大規模・複数プログラマが前提の解説。
他の人が間違って使わないように、こんな感じにするといいっていう説明が多い。
技術書としてはどうかなと思いますが、個人的には、純粋に現場の人が書いた読み物として読むと
非常に面白いです。思想とか、考え方とかが結構リアルに伝わってきます。
ゲーム作る勉強するよ、という人にはお奨めしません。
ゲーム開発をそれなりにやって、本職さんはどんなことやってるの?というのを"感じたい"人にはお奨め。
ざっと読んだだけなので、じっくり読んだら意見が変わるかもしれません。
ご了承を。
>>623 あら、ごめん。もう書いてしまいました。
>>623 失礼。
>>624 なるほど。個人レベルで作業してる人なら、実用書というより読み物みたいな感じね。
スレ違いだったみたいだけどありがとう。ちょっとAmazon行ってくるわ。
>>621 おっと、アマだと3/31なもんで。
もう売ってるのね
で、今日アマでいくつかのものを購入して
>>619 の本も一緒に入れたんだけど
この本だけ入荷予定日が決まらずに、他のものも待たされている状態だ・・・
他の本屋ではちゃんと出てるみたいだしこれだけキャンセルしてしまおうか
Visual Studio 2010が発売されたら本気出す。
小学生の夏休みの宿題レベルならね。
ゲームループ入れようがかわらんよ 結局はどういうパーツを用意してどういう座標系で表示するかだし
悪いけどパフォーマンス面で絶対に行き詰まるよ とりあえずマップを滑らかにアニメーションさせようか 存分に苦労したらそのあとDirectXで同じものを書いてみよう アホらしくなるからw
>>630 俺も昔そう思っていた時期がありました・・
VBだったかな。pictureboxに画像のっけてアクションゲーム作った
そこまでは良かったんだが、背景入れたり敵の数が多くなったりするととてつもなく重くなる
まぁ、つくっていけばそのうち分かるよ
ものすんごいハイスペマシンならゴリ押しでどうにかなるかもしれんがなw
>>632 の言う通りなんだけど、それなら同様にDirectXでも変わらないんだよね
最初に枠組み作るところだけちょっと難しいけどそれさえ乗り越えたら同じ
でもパフォーマンスは桁違い
ゲーム用APIじゃなくゲーム用フレームワークっていいたかったのかな、もしかして。 あとたしかに描画が重要じゃないゲームだったら別にDirectXなくてもいいなとは思うわ。
GDI+が特別遅すぎる SilverlightなんかGPUアクセラレーション切っててもそこそこ速いよ
WPF/Silverlightが標準になる時代になればGDI+の呪縛から解き放たれるんだよな。
俺、週末になったらwikiにSilverlightの記事追加するんだ……
どっちの死亡フラグになるんだそれw
Silverlight使うためだけにwebdeveloperインストールで1.5Gも食うからやだ
WebDeveloperはExpressの中では最強だぞ ちょっと工夫すればVC#でできることは全てVWDでできる WinFormsとかWPFとかSlimDXとか使って普通のアプリケーションも作れる 超高機能なHTML/XML/JavaScriptエディタとしても使える
ちょっと工夫ってのがわからん
C#で作成されたソースコードが公開されている最も有名なゲームはなんですか? 今度会社でJavaからC#に移行するだのどうだの話してるので、勉強がてらにゲーム製作したいです よろしくお願いいたします
>>645 仕事でやるなら本くらい買いなよ
ゲームはあんまりねーんじゃないかな?
あんまり効率いいとはいえんし
専ブラなら何種類か.netのやつがソース公開されてたな
>>645 XNAだったら色々サンプルプロジェクトがある
どこにあるかは忘れた・・・
XNAって生きてたんだ・・・ 2chのスレも消滅してなかったっけ?
勢いで行けばここの方が過疎ってるけどな ただゲーム製作と関係無い話しかしてないっぽいけど・・・
XNA、技術的には結構悪くないと思う。 専用スレはXBOX用の販売審査部分で荒れてるんだよな。
>>649-
>>651 ありがとう
>>652 やっぱ荒れるか・・・
あんまり深追いはしないことにしよう
ゲームの基本ロジックくらいなら勉強兼ねて書くのは問題ないが
ゲームで面倒なのは動作確認のためだけ用の画像なんかを用意するのが面倒なんだよな・・・
まあ音楽はサンプル拾ってきて流しておけばいいだけだが
画像に関してはそれなりに設計に合わせないと駄目だしなあ
有名なオープンソースのゲームなんかC++でもそう無いよ 同人やフリーソフトなどで.NET Frameworkを要求するものはわりとある
画像なんかもツクール用のとか拾ってくればいいんじゃない? どのみちスプライトとか使うことになるわけだからあの手の素材で何の問題もない。
>>655 いや・・・その発想は・・・
一応開発やってるんだしそれなりに著作権とか考えようよ・・
>>655 の言ってるのはツクール用の規格で作られたフリー素材のことだろ
ツクールに付属してる素材を改変したものでなければ問題はない
>>656 ツクール素材でググってみなよ。
音楽と一緒。
659 :
名前は開発中のものです。 :2010/04/11(日) 02:31:51 ID:yuuvFqzP
動作確認のためだけ用の画像だろ
>>656 そういう反応がすぐ出るあたり、自身にやましいところでもあるのか?
>>661 普通はフリー素材を思いつくだろう
>>656 みたいな話がすぐ出てくるなんて、以前やらかしたとしか思えない。
>>662 えw
いやいや
むしろ
>>660 のような突っ込みするやつほど普段からいろいろあるほうだよw
>>661 ニュー速、なんでもあるなw
もう割れの話はいいから、C#の話しろや。
>>664 ニコニコの1時間でテトリス作ろうを再現したみたいだね
DirectX関連は一切使ってないとか
>>667 今日はまだすくないんだよ
かーちゃんに怒られるぜ
勉強&趣味がてらに、C#でゲーム作ろうと思っているのですが、コレは読んどけってwebページやソースコードありますか? ちなみに、自分は主にJavaでWebアプリ作っていました(それ以外はrubyでコマンドラインの社内ツールを少々保守していました)。 できれば、実際に遊べるC#で書かれたゲームのソースコード読んで勉強したいのですが、有名どころはありますかね? 個人的に調べたところだと、FreeTrainが日本人作成で英語の苦手な自分には良さそうでした。 情報あればお願いいたします。
C#なんかやめたほうがいい
>>669 XNAのサンプルだな
FreeTrainはビジネスアプリみたいな設計なのでゲームとしては特殊な部類
>>669 FreeTrainは構造がややこしいから理解するのが大変。
やめておいた方がいい。
情報ありがとうございます。 とりあえず、XNAとやらの勉強から始めます。
そんなのより10行テトリスが優秀すぎてすごさを感じない
時雨
XNA軽く調べたけど、本当にIDEから別物のゲーム製作ツールみたいですね。 自分の中では、ゲーム製作で便利なAPI集みたいなものかと思ってました。 個人的に業務でC#使う予定なので、極力普通のC#でゲーム作りたいんですよね。 XNAとやらを使わずにC#の機能だけ(もしくは、+画面周りのフレームワーク機能だけ)でゲーム作る方法は異端ですか? それこそ、FreeTrainはビジネスアプリみたいな設計ならば参考になりますかね? よろしくお願いいたします。
取り合えずこのスレを1から見れば良いと思う
>>678 C#のみでいくとなるとゲームはきついと思うけどな
何を作りたいかでも可能か不可能かは変わるけど
XNAは主流だろ。DirectXを使うだけだろ。3Dでは無いアプリでさえDirectX使う傾向に進むんだろ。
>>679 すみません。読んできます。
>>680 作りたいゲームはシミュレーションです。
大戦略みたいな単純なものから初めて、最終的にはリアルタイムの戦争シミュレーションが目的です。
XNAは「普通のC#」で書くことのできる「便利なAPI集」だよ。 まあ、業務アプリとは色々と作法が違うのでノウハウを流用するのは難しいと思うけど。 WPF、Silverlightでゲームを作るという選択肢もあるけど、あまり一般的じゃないし資料やサンプルも少ないよ。
XNA は API 集っていうよりフレームワークだと思う。
シミュレーションならまあC#単体でも作れなくはないんだろうけどさ なんかそもそもゲーム作った経験がなさそうなのでいろいろ辛そうだけどなw CPUの思考が入るゲームは難易度が高い かといってアクション性が強いゲームだとゲームAPIに頼らないと描画速度の 問題もあるしなあ
CUIでもいいから、オセロあたりで思考ルーチン勉強しとくといいかもね 真面目にやろうとすると複雑すぎてこんがらがるから、 思考ルーチンだけを単独で学んでからの方が挫折しにくいと思う
ちょっと細かい事だが そもそもC#ってビジュアル系の仕様って無いよね .NETのAPIを使うしか
仕様つーか
using System.Drawing;
使えば平面ポリゴンとかなら普通に使えるよ
実際のところ
>>661 みたいなのもあるんだし
using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; この辺か
>>678 >それこそ、FreeTrainはビジネスアプリみたいな設計ならば参考になりますかね?
ちょっとソースコード見てみたけど設計が古い印象。(最新版が2003年9月とあるので実際古いんだろうけど)
描画はDirectDraw7とGDIが使われてるし、時代遅れを感じる。参考にしない方がいいよ。
FTを最近の環境(WPF,XNA,Silverlight)に移植できないかなと思って 調べてみたことがあるけどはっきり言って無理だった 全体がWinFormsとGDI+に依存しててどうしようもないコード
おすすめ書籍とかもほしいな
693 :
640 :2010/04/13(火) 08:26:37 ID:kbnMpoxp
Wikiの管理人さん、Silverlightのページのメニュー登録ありがとー でもFlexって何か違う気がするんだけど・・・?
>>694 なるほど解説サイトが充実してるんだね
ありがとう
しかしあれだな 本は買われなくなってるんだろうからせめて解説してるサイトの アフィぐらいは踏もうなw アドセンスなら結果ださなくても記事書いてる人に貢献できるんだから
Flexは違いすぎるわ C#や.NETと全く関係ないどころかSilverlightと真っ向から衝突する敵だ
「ゲーム制作サイト」とするのか「.NETゲーム制作サイト」とするのかの違いだね。 参考程度にはあっても良いとは思うけどなぁ。 実装の違いはあれどアルゴリズムとか参考にすることも出来るだろし。
金ださないのに情報だけくれとかww 参考程度だって出したくないだろw ネットで探してでてこないってことはそれなりに ノウハウとして黙っておきたいからだろうし 嫌ならおとなしくXNAとか使えってことだ
なんで金の話しが出てきたんだ? 執筆依頼でもされてるの?
だれにもプレイしてもらえないXNAゲームなんて作るだけ無駄
>>700 いや冷静に考えてそうだと思うよw
執筆依頼とか関係なしに
ネットで探してでてこない、もしくは探しきれてない
でも実現してるソフトがあるってことは大げさに言えば
企業秘密みたいなもんだからな
それをタダで知りたいってのが虫のいい話で
ソフトウェア界隈はその辺がすげールーズなんだよ
>>698 いやその「実装」のノウハウを紹介するのが目的でしょ
だからSlimDXとMDXとXNAが分かれてるわけで
SilverlightとFlexは意図的にコードを似せることは出来るけど一般的には全然違うよ
今度からstandardがなくなるんだっけ?
708 :
名前は開発中のものです。 :2010/04/15(木) 19:03:12 ID:oBzuHVfq
ネットワーク系のクライアントをC#で書いてサーバー側の cgiの仕様を相談しようかと思って専門板当たったが過疎ってるなw もうそういう時代じゃないのかね?
それってネトゲの鯖なのか?w
710 :
名前は開発中のものです。 :2010/04/15(木) 19:25:13 ID:oBzuHVfq
>>709 アクション性の低いゲームだとゲームの計算ロジックとかは
サーバー側に置いてクライアントは表示と入力受付だけすればいいからなあ
アクション性が高いとラグとかいろいろ気になるけど
>>708 折角 C# 使うんだし WCF 使ってみるとか。
とりあえず xml とか json で返す仕様にしとけばなんとでもなるんじゃない?
712 :
名前は開発中のものです。 :2010/04/15(木) 20:13:13 ID:oBzuHVfq
となるとサーバー側のプログラムもC#で書く必要があるのか .netが動かせるサーバーってあるんだろうか?
713 :
名前は開発中のものです。 :2010/04/15(木) 20:33:09 ID:oBzuHVfq
715 :
名前は開発中のものです。 :2010/04/15(木) 21:06:21 ID:oBzuHVfq
>>714 まあなんでもいいのは分かってるw
でもC#の構文になれるとperlとかの構文は無理してやりたいと思わないからなあw
でも .NET 使えるサーバって大概 ASP.NET とかじゃない? 借りたことないからわからんけど。 両方 C# ならクラスとかの受け渡し楽で良いだろね。 シリアライズ内容とか適当で良いもんね。
717 :
名前は開発中のものです。 :2010/04/15(木) 21:39:52 ID:oBzuHVfq
というか.netが入ってるのでASP.NETにも対応しますよって感じじゃないかな?
なのでASPのようにhtmlをはかないようなWCFサーバーも動きそう
http://keicode.com/dotnet/ ここのサンプル動かしてみたけど以前http鯖作ったときとそれほど変わらない感じだし
なるほどなるほど。 ただ、ポート自由に開けるならソケットでシリアライズしたインスタンス渡しでも良いんじゃねって気もする。
719 :
名前は開発中のものです。 :2010/04/15(木) 22:15:46 ID:oBzuHVfq
ただ、いざサーバーを借りるとなるとあんまりないんだよな・・・ linux系はごろごろしてるんだが・・・
monoでよくね?
721 :
名前は開発中のものです。 :2010/04/15(木) 22:31:53 ID:oBzuHVfq
722 :
名前は開発中のものです。 :2010/04/15(木) 22:34:28 ID:oBzuHVfq
これあれだな・・・ Mac用MonoがあればJava不要じゃん・・・
Java信者ですが、ゴスリング先生が会社辞めてしまって辛いです…
>>722 Java と C# はまた似て非なるものだしそれはなんとも言えない。
Mono 絡みだと iPhone の規約変更でひともんちゃくって感じだね。
725 :
名前は開発中のものです。 :2010/04/18(日) 21:39:58 ID:All6gyju
>>725 全然関係なくて悪いけど、
このソースコードを表示する部分、どっかで配布されてんの?
同じデザインよく見かけるし、実装するのがちょっとめんどくさそうなんだけど
自分で宣伝するなハゲ
制限された中で工夫するのもSilverlightでは楽しいけど WinFormsだけは体が受け付けない
Mono以外だとGlassFishとNetBeansでサーバー側書いて WCFで通信というのもあるかな
C#で作られた有名なフリーゲームってなんかある? 洞窟物語とかは違うよなぁ・・・
ダウソ厨か
>>737 あ、フリーってとこ読んで無かった・・・
スマン
a
741 :
名前は開発中のものです。 :2010/04/28(水) 17:40:43 ID:RaynRbrh
VS2010キター
742 :
名前は開発中のものです。 :2010/04/28(水) 22:49:37 ID:nacVW8rg
>>741 目玉はパラレル機能か
アレをどうやってゲームに活用出来るかだ
普通のゲームならシンプルにスレッドで解決出来るだろうしね。
高度なAIとか静的な画像処理とか?
性的な画像処理?
ゲームにはやっぱりかわいい女の子の性的な画像は必要だよね
ゲーム製作的には2008以前でも十分な気がする。 違いはIDEの使い勝手とか?w
C#の機能はともかく VS2008と大きく異なる点の評価 AbcdEfghIjklmNopqという変数があったとして 大文字だけを組み合わせ、AEINだけでインテリセンスが効く。 なくても別にいい。 AbcdEfghという変数が cdefみたいに途中の文字でもインテリセンスが効く。 まぁ、ちょっと便利かな。 フォームデザイナやコードエディタがVSと切り離してウィンドウをバラバラにできる。 環境によってはこれは大きいか。 あとはハイライトくらいか
VS2010、ヘッポコピーなPCだと重いってのは大きい変更点だぜ。
それってVS2010? 俺の場合VS2010EEはVS2008EEより早かったんだが ベータバージョンはとんでもない代物でまったく使えなかったが・・・・
s
VS2010入れたけどXNA4CTPやWP7使いたい人はどうすればいい?
アンインストールしていれなおせ
以外とXNA使ってるひと多いんだな。
XNAのコントローラーの問題解決した?
>>755 XNA4.0の新機能
・Windows Phone 7 に対応
・Visual Studio 2010 に対応
・グラフィクスAPIを機能的に”Reach(リーチ)”と”HiDef(ハイデフ)”にカテゴリ分け(大幅なリファクタリング)
・ダイナミックオーディオ
・マイク
・BasicEffectに加えて基本的エフェクトクラスの追加
コントローラー周りの変更は無さそうだ。
やっぱりゲーム作るのは C#とかXNAより C++使うのが主流かね。 ゲーム作るのなんて 画像を表示する 文字表示する 音楽流す 計算する くらいの機能あればなんでもいいしな
単にノウハウの蓄積量の違いと .NET に対する偏見とネイティブ信仰があるからだと思うが。 列挙してる要件満たすだけなら別に Ruby でも PHP でもかまわんし。
あとキー入力な
機能よりC++の構文が受け付けない
何でこのスレにいるの?
>>757 表示するだけなんだからますますXNAでいいんじゃないの?
なんでいまさらC++なのかって思うわ
>>756 コントローラーの問題解決してくれれば使いたかったんだけどなぁ残念
>>763 コントローラー入力だけ別のライブラリ使えばいいんじゃないの?
>>764 それだと複数インストールしなきゃいけない問題が起こる
そんな手間かけるぐらいなら始めからXNA使わずにDirectXだけ使う
>>765 言い訳ばっかするなら何もしなくていいから失せろ
なに怒ってるの?社員?
DirectXのSDKをインストールするのに手間がかかるってこと? ゲームを作る方がもっと手間がかかると思うけど・・・
別にライブラリ使わなくてもWindowsのAPI呼ぶだけだろ
別のライブラリってか、 [DllImport("winmm.dll")]してjoy〜系のAPI使うだけじゃないの?
やったことない奴が吠えてみただけだから大目にみてやって
必死だな
Managed DirectXを使うには最新版のSDKでもいいのかな?
775 :
名前は開発中のものです。 :2010/05/06(木) 14:35:53 ID:zsg5BL1W
2007 November以降サンプルは含まれてない 今更MDXはやめとけ とっくの昔に死んだライブラリだ .NET4が出たというのに.NET1.1ベースだぜ しかもネイティブ混在アセンブリだから新しいバージョンのCLRで動かそうとすると問題起きまくり
>>775 レスありがとうございます
SlimDXを使うことにします
そこで「ではXNA〜」と言えないのが悲しいな 個人的にはテキスト表示をもうちょっと頑張って欲しい……
C++,DirectX>>>(超えられない壁)>>>XNA>>>MDX>>>Windows API Code Pack>>>(MS公式の壁)>>>SlimDX 現状こんな感じだと思う。 SlimDX使ったゲームって見たことないんだけど何があるの? ライブラリ自体はそんなに悪くないと思うけどドキュメントやサンプルがほとんど無いのはやっぱり使いづらいよ。
DTXMania CandyDoll
XNAはフォントがもっと気楽に使えるようになるのと 好きなジョイパッド使えるようになればもっと使われるんじゃないかなぁと思うわ
簡単に見えて結構難しいのが一番の障害だろ XNA使いこなせるレベルならフォントやジョイパッドなんか自分でちょちょいと解決できるから全く問題にならない
最近XNA薦める人いるけどXNA全然盛り上がってないじゃん
XBOX360ControllerEmulator使ってる人いる? ちょっと試してみたけどジョイパッド問題はこれで解決できそうだけど・・・
784 :
名前は開発中のものです。 :2010/05/07(金) 17:24:32 ID:/GU3nZ5O
わざわざエミュレートしなくても
どうせ入力はキーボードやXboxコントローラやほかのジョイパッドを
統一して扱えるようにラッパーかませて使うから同じことだろ
ほかのジョイパッドについては内部的に
>>770 で実装すればいいだけのこと
盛り上がってるかどうかXNAスレを見たが技術的な話が何もなくてワラタ ム板のほうも過疎気味 ちょっと悲しかった
XNAスレは変な粘着が居て技術的な話が出来る場にならなかった。 あと審査が通らない!!とかそんなんばっかりなんだよね。
このスレでいいから技術的な話をしてみろよ
>>787 ぶっちゃけ、ここに集う連中のレベルでは不可能。
それでも世間的には平均を上回るとされている連中なわけで、
そのあたりから日本の腐った状況を想像していただけると幸い。
ここにも変な粘着いるけど^^:
DXライブラリ最強伝説
MOGRE使ってる人は居ないの? OGRE自体、表示に関しては非常に充実してるから、 そのラッパーのMOGREがいい選択肢に思える。
あれ大袈裟すぎ あそこまでガッチガチのフレームワークになるとC++で書いても変わらない気がする
793 :
791 :2010/05/08(土) 17:51:15 ID:xf3c5Qvm
どうせ後からいろんな機能が欲しくなって、 自分で実装しようとするが、 既にMOGREが持っていることがほとんど、 ということが起きると思う。 あと、C#で書けるという時点で、 .NETの恩恵が色々受けられるから、いいと思う。 (GCとかGenericsとかLINQとか。C++はヘッダ書いたりとか面倒だし…)
突然どうしたw
797 :
名前は開発中のものです。 :2010/05/27(木) 02:32:36 ID:ftuNZSDK
すまない、くだららなくて、エスパー希望な質問なんだ でも、答えてくれるとうれしい Visual C# 2010 ExpressでSlimDXを使おうと思っているんだ 「SlimDX と C# で学ぶ DirectX」ではSlimDXのインストール後 「参照の追加」の「.NET」タブに「SlimDX」の項目が追加されているようだが 俺の環境では追加されていない。 インストールしたものは「SlimDX SDK (February 2010).msi」 インストールしたパスは「C:\Program Files\SlimDX SDK (February 2010)」 エクスプローラーから、SlimDX.dllが確認できるので それを認識させるパスをどこかに書く必要があると思うのだが それがどこだかわからない なので、助けて下さい
ちょっとやってみたよ
>>799 の言うように、.NETじゃなくて参照からDLL指定すれば行けるよ
ただし、本体リビルドするんでなけりゃプロジェクトの作成またはプロパティから
対象のフレームワークを3.5以下にしないとデバッグできないみたい。
でもまあ最初なんだろうし2008で始めたほうがいいかもよ 公式の2010のとこからでも過去のバージョンたどればDLできる EEの場合、SP1で本体丸ごと入ってるからそれで
>>802 上下左右にアンカー設定つけてデザイナーがどういうコード吐くか見てみるといいよ
Form1.Designer.csってところに出力される
ちなみにVC#2008EE(.net3.5)だと
        private void InitializeComponent()
        {
            this.textBox1 = new System.Windows.Forms.TextBox();
            this.SuspendLayout();
            //
            // textBox1
            //
            this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
                        | System.Windows.Forms.AnchorStyles.Left)
                        | System.Windows.Forms.AnchorStyles.Right)));
            this.textBox1.Location = new System.Drawing.Point(13, 13);
            this.textBox1.Multiline = true;
            this.textBox1.Name = "textBox1";
            this.textBox1.Size = new System.Drawing.Size(267, 241);
            this.textBox1.TabIndex = 0;
てな感じだった
それに指定できる項目がどうなってるか気になるなら
System.Windows.Forms.AnchorStyles.
まで打って候補を確認してみればいいのに
804 :
名前は開発中のものです。 :2010/05/29(土) 16:46:31 ID:wDVgbLlp
スレ違い ム板のふらっとC#スレで
Express Edition で作ってる方に質問なんですけど インストーラーはどうしてます? 簡単なゲームならむしろインストーラーなしで解凍したフォルダ内で完結する方が 受けがよさそうな気もしますが・・・
ClickOnceかWiXかなあ・・・
807 :
名前は開発中のものです。 :2010/05/30(日) 10:09:58 ID:n9EzTz/n
>>805 まあインストーラーありだと嫌だって人も結構いるねえ
なしでもいいような気もするけど
808 :
名前は開発中のものです。 :2010/05/30(日) 10:17:56 ID:D/7gV3EU
簡単なノベルゲーを勉強がてら作っているのですが文字描画とか画像描画の 勉強サイトのurlがあったら教えてください C#でやっていますがCでもjavaでもいいですお願いします
文字描画や画像描画はプラットフォームに依存するから一般的な方法というのは存在しない まずは何を使って作るか決めないと始まらない C#ならDirect3D, WPF, XNA, Silverlight, WinForms, SDLくらいか
810 :
名前は開発中のものです。 :2010/05/30(日) 10:37:55 ID:t7+jn5KC
>>809 WP7を買おうと思ってるのでSilverlightを考えています
プラットフォーム依存の部分は勿論なのですがノベルゲーの基礎的な部分が知りたいのです
例えば文字列を遅延させて描画する、Save/Loadの実装、背景画像と立ち絵画像のブレンドとか
書いててあきらかにスレ違いな気がしてきました すみません
画像のブレンドはSilverlightが勝手にやってくれるからいらん もちろん自前で実装することもできるけどそういう低レベルな部分を上で実装してしまうとものすごく遅くなる タイプライターみたいな文字表示とかは書籍によく載ってるよ
812 :
名前は開発中のものです。 :2010/05/30(日) 10:56:45 ID:t7+jn5KC
>>811 ありがとう
本屋に行って探してみますね
とりあえずJava/Swingあたりで、 適当なプロトタイプでもこしらえてみるかと思って作業してたんだけど、 あれってウィンドウサイズがOS依存なんだってな。JDK7まで修正されませんって名言されてて泣いた。 とてもじゃないが、処理速度とかを除いてもゲーム向けとしては使えない。 XNAがWindows標準セットになればまだなあ……
Swingで作れるものなんだったらSilverlightはお勧め 結構描画速いしピクセルシェーダとか使えちゃうしXNAと違ってUI簡単に作れるし.NETいらないし もちろんどこで動かしても同じ見た目になる
>>814 Silverlightは詳しく知らない、というか触ったことないんだよな
微妙な評価が多かったように記憶してるけど、存外そうでもない?
WPFはこれからやってみようと思ってるんだけど
今はとりあえず慣れ親しんだLL言語でプロトタイプ作ってるよ
微妙なのはWPFの方だろ 確かにWPFは強力で超柔軟なフレームワークだけどゲームで使う分にはSilverlightとそんなに変わらない 3DならXNAやSlimDXなどを使うだろうしな
SlimDXはありえないランタイム多すぎ
>>816 誤解を生む文章だった、失礼。WPFはゲームを意識してのことじゃない。
流用できるんならそれに超したことないけど。
でも SlimDX 除外したら XNA しかのこらへんやん!
XNAもランタイム多すぎだから駄目だな 正直C#でゲーム作りはまだまだ厳しい状況だと思う
と、C#でゲームを作ったことのない者が申しております
結局C#でゲーム作るときには何が良いのかわからないです 現状だったらXNAで良いのでしょうか? C++とか言わないで><
君のレベルによる。XNAやSlimDXは初心者にはかなり難しい。 情報が少ないことを除けばSilverlightは2Dならかなりとっつきやすい。 いずれにせよC#がきちんと理解できているのが前提なので、 ゲームはひとまずお預けにして、まずはWinFormsでいいから VC#の本買って練習しましょう。
そうだな。Formでいろいろできるようになるのが前提だな。 あとXNAは最初にゲームループ作ってくれるから、とっつきはいいかも 両方やって味噌
XNAはいいけど間違ってもXNAを使いながらC#の勉強しようとは思わないことだな。 何をするにもおまじないがものすごく多くて勉強にならないし面白くない。多分挫折する。 最初はコンソールかWinFormsから
SlimDXでユーザコントロール作ってる俺は変人ですかそうですか まあゲームじゃないんだけどね
DXlibじゃダメ?
>>822 XNAだとかいろいろ出てるけど、俺がおすすめするのはDXライブラリ
MDX→XNA→DXライブラリと行って、DXライブラリが一番便利だった
初心者〜中級者までまあ満足できると思うよ
C#で使うのも簡単だし、XNAとかMDXとか微妙なの使うよりは遥かにマシだと思う
何より豊富なマニュアルがある(必要ならばソースを読めばコメントがいっぱいついてるのでコード読めなくてもどんな関数なのか一目でわかる)
ただし3Dのゲームを作ろうとしたらDXライブラリではお話にならないが……
C#はともかく、VisualStudioの機能はよくわかんないんだよな MSDN分かりにくいし、少し込み入ったことやろうとすると大抵情報不足の壁にぶちあたる そこらへんをうまく切り抜けるスキル欲しいなあ
VSEE ぐらいだとわかんないって程複雑なこと出来ないような気もするけどなぁ。 .NET がわけわからんってのならまあたしかに MSDN わかりにくいよねって思うけど。
>>828 C#での使い方教えてくれ
公式のサンプルとかそのまま使えるん?
DXライブラリってアップデートが今後ないって時点でまっさきに却下じゃないの?
>>830 使い方がいまいちよく分からないコントロールとかだけでも結構あるんだけど
GUI慣れしてないってのもあるけど、すっきり納得いかない部分があると、どうにも……
WPFのコントロールって振る舞いとUIが分離されてるから 恐ろしく柔軟なんだけど抽象的でわかりにくいのは確か
>>833 あーわかるわかる
ぶっちゃけ下の方のコントロールはゲームで使うことあんまりないだろうし
気にしなくてもいいんじゃね?
>>836 ゲームなら確かに不要だけど、一般のアプリを作りたい欲求があると大変だよ
中途半端に「こんなの作れないかな?」っていう妄想をかきたててくれるから、
視界に入るたびに思考が脱線してしょうがない
>>832 Managed DirectXとDXライブラリをごっちゃにしてないか
OpenTKェ…
OpenTKってOpenGLのラッパーだっけ? そう言えばGLSharpってのもあったな
841 :
822 :2010/06/04(金) 15:37:34 ID:qeTf61mP
なるほどご回答頂きありがとうございますです。 レベルは初心者脱出しかけの中級者以下みたいな感じです。 VC#の本もいくつかあるにはあるんですが、 あまりフォームアプリケーションの本が身近にない・わからないのでなんとも…ですね。 緑のバイクとかその辺りのサイトを巡ってはいますがなんかピンとこなかったりです。 何はともあれ将来的に2Dなゲーム作ってみたいです、頑張ります
Silverlightでゲームってどうなんだろう FLASHと同等のことは出来ると考えて良いのかな
>>842 JavaアプレットのガワをFlashにした感じ
Flashと同じくらいの表現力はあるし何よりコードをガンガン書ける
個人的にはSilverlightがWindowsに標準で載ってきたらFlashいらないんじゃないかと思う なんだかんだでMSの開発環境は魅力
MSはサポートだけは厚いからな。まあしばし様子見じゃね
Silverlightがリリースされて3年近く経ってると思うけど、未だにGayO以外で見かけたことがない・・・
確かにGyaOでSilverlight見かけたときは驚いたなw
実際にSilverlightが普及してるかどうかはともかく、Flexだって見かけないでしょ そういうのって内部で使うのが主だからな 動画プレイヤーとしての用途は特別だよ
業務だとFlex使ってたなあ 便利といえば便利なんだが規則とか連携が面倒だった
ノベルゲーム(というか紙芝居)を作ってみたいのですが 参考になりそうなサイトはありませんか?
>>852 仕事でVisualStudioを使っているのでMobileで作ってみたいと思いました
ただDB出し入れの受託開発が主なのでゲーム制作については知識があまりにも無く知恵を借りれればと
まずNスクでやれよ
>>853 MobileってWindowsMobileのこと?
>>855 はい。自宅ではVisualStudio2008のProなのでWM開発が可能なので試してみたいと思いました
スクリプトエンジンでテキスト(コマンド)を読み込み処理するのはわかったのですが
その前のメインループ?ゲームループ?などの基礎知識でこけていたのでテンプレ的なものがあればと
>>856 ゲームプログラミングが初めてなら「ゲームプログラマになる前に覚えておきたい技術」は読んでおくといいよ。(C++だけど)
それより年末にWindowsPhone7が出るというのに、今からWindowsMobileをやるということが気になったけど・・・
>>857 ありがとう。書店で見つけたら読んでみます
仕事でWindowsMobile機が支給されているので部の全員が持っているんですよね、それで試してみようかと
C#にはテンプレ無いようですのでJavaやCも読めるのでそれらのサイトをC#に置き換えて考えてみます
C#でタスクシステムを作った例とかあるといいんだけどね。
発作的にゲームコーディング・コンプリート頼んじまった。 立ち読みしようとしてもどこにもおいてないんだもんなあ……。 それはそうと、新刊の技術書とか読んでる限りではちまちまだけどC#の評判があがってきてる感じがするね。 個人的にJavaが苦手なんで、是非とも普及して欲しい。 そしてDirectXの混乱もなんとかなってくれればなあ、と思う。
Windows Phone 7はXNAまたはSilverlightと併用だからどうだろう
>>862 標準の.NETはなかったことになるのかなぁ?
パソコンでもゲーム=XNA その他=Silverlightにするのかなぁ?
アクション意外ならイベントドリブンでも良いと思うんだけどね 60fpsでゲームループ回さなきゃならないなんてルールは無いし 要は面白いかどうかでしょ
>>863 PCではゲーム=XNA、デスクトップアプリ=WPF、ブラウザアプリ=Silverlightになる。
WPFやSilverlightでもやろうと思えばゲームも作れるけどメリットは無いと思う。
ブラウザゲーム作るんならSilverlightより普及率の高いのFlashの方がいいし。
Silverlightはメリットあるだろ VS+C#で作れるし.NET不要でインストール一瞬だしMacでも動く 普及率を気にせずに.NET4系の最新機能が今すぐ使えるのはSilverlightだけ
>>865 なるほど
日本だとWPFの情報が少なすぎて泣けてくる
XNAはOSに同梱してくれないとユーザーに負担かけてしまうのでなかなか採用できなくて泣けてくる
ブラウザゲーはHTML5まで待つつもり
WPFはあんまり普及しないような気がする。 実際それで作られているアプリは未だ少ない。 グラフィカルな物が必要な医療ソフトや図面関係ソフトとかなら使われてそうだけど。 何よりあの取っつきにくさと資料不足が大問題。 ハウツー書籍やサイトがもっと沢山あれば普及しそうではあるが。
C#の話しろよボケナスども
えっ
>>859 Javaならあるん?
ライブラリは全く違うけど言語的には似てるからあるならそれを参考に書きなおせばいいんじゃないのかな
>>864 海外のWindowsMobileMarket覗いたらモロにポトペタ多いよね。
日本は幸か不幸か、アマチュアでも作りがいいものが多いけど。
上でも書いてる人がいたが、ADVゲームならポトペタでもいけると思われ。
画面の描画とタイプライター風文字描画だけどうにかしちゃえばいいわけで。
silverlightの画面遷移むずかしいな コントロールの有効無効でタイトルとかメニューなんかの切り替えやってるけどヘボいなー
画面をそれぞれ別々のパネルに収めるようにすればいい パネルを直接RootVisualに設定してしまうとトランジションとか難しいから ルート要素は常に固定しておいてその子要素として画面を設定すればおk
なんでFormと同じような作りにしなかったんだろう Page1とPage2を相互に表示したいだけなのに死ぬほど煩雑
いやこれだけのことだろ LayoutRoot.Remove(タイトル画面); LayoutRoot.Add(ゲーム画面);
昨日からDInputの初期化まわりを弄っているんだがぜんぜん終わらんorz こんなのどうやってC#に移植しろと #define MAKEDIPROP(p) (*(const GUID *)(p)) #define DIPROP_RANGE MAKEDIPROP(4) MDXが廃止になったのは単にクソ汚いコードの移植が面倒になっただけじゃないかとオモ
DirectInputなんか必要? XNAはマウスやキーボードにはWin32API使ってるよ ゲームパッドにはXAudio使ってるけどWin32APIだけでもゲームパッドは使える
883 :
882 :2010/06/20(日) 14:17:57 ID:j/tpd1c/
わかるとおもうけどXInputの間違い
IntPtr使えばいいし
C#でWin32API使えるの?
system.runtime.interopservices
なるほど
半日がかりでようやく動いたぜ。こんな感じ↓
InputDevice.SetProperty(new IntPtr(4), ref diproprange);
IntPtr(4)とか怖ええよ。長年C++やってきたからジンマシンが出そうだ
ちなみに元はref GuidだったインターフェースをIntPtrに修正している。
>>882 XInputは箱コントローラー専用じゃないっけ? エミュに頼るのもな…
しばらくDirectX/C++でやってたから極力DirectXで生きたいところ
joyGetPosで一発だぞ 面倒な初期化もいらないしC++/CLIやCOM Interop使うよりはずっとクリーン
>>880 やってみた。ありがとう
だがxamlで書くとややこしいのでMenuから何から何までC#で書いちゃった
昔のゲーム制作みたいになったけどw
891 :
名前は開発中のものです。 :2010/06/23(水) 20:09:38 ID:K6DtFqRe
WindowsPhone7出るからXNAやってみっか
日本じゃ出ないけどね
嘘乙
そこは嘘じゃなくてアップル乙だろ
やっとcsvから値を読み込ませることに成功した・・・
string[][] map = File.ReadLines("map.csv").Select(line => line.Split(',')).ToArray(); 一般的のcsvに対応するならダメだけど自分で決めたフォーマットのファイルを読むだけならこれだけ
おめ
LinQきもいな
int[][] map = ( from line in File.ReadLines("map.csv") let items = from str in line.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries) select int.Parse(str) select items.ToArray() ).ToArray(); 数値ならこうか
selectフェチか
Linq持ち出した割に なんかどちらも汚くね?
どうした?
903 :
名前は開発中のものです。 :2010/07/27(火) 01:10:05 ID:oDUw7TE9
なんか書き込みにくい雰囲気になってるな
wiki見事に止まってるな silverlight書いてみるか
SlimDX希望
何か言語、Tips関連、MDXなら希望があれば書けるんだが・・・
すっかり存在を忘れてた。勉強がてらに書いてみるかな
LINQって再配布するときは実行PCにもSQLServerが必要?
え?
誰かbulletsharpについて書いてくれんかのう
ラッパーなんだからC++のBulletの情報があれば十分だろ DirectXとかXNAとか使ってC#で作るならC++は書けなくても最低限読めるようにはなっといたほうがいい C#わかってるんだったら読むだけなら全然難しくない
>911 その最低限C++が読める奴を二人ぐらい見つけて、 何かのラッパーのソース読ませてどう使うか見てみろよw
保守
しかし今のところSlimDXかXNAぐらいしか選択肢がないなんて... C++でDirectX直が正解だろうけど、MSもなんでC#流行ってないのか理由考えろと。 C#用でDirectXが普通に使えれば、C#の利点がいろいろ生かせるのに。
>>914 SlimDXで十分「DicrextXが普通に使える」と思うんだけど
何をお望み?
普通に使って作ったゲームどこ?
確かに見ないね。 でもそれはDirectXを使えるかどうかとは別の話だと思うけど…… ちなみに、「普通に使える」ってのは 「C++に提供されているものと同様のレベルでAPIを利用することが出来る」 っていう意味だと解釈したんだけど あってるのかな?
SlimDXの一番の問題は日本語の情報が少ないのと、いろいろとランタイムが必要なとこかな。 ゲームするのにいろいろDLしてインスコなんてめんどくせという人も多いだろうし。 まあVista、7だとNetやDirectXは最初から入っているから敷居は低くなるだろうけど。 XPは無印だとNet2とDx9ぐらいだっけ?
XP無印だとDirectXは8.0、.netは1.1
.NETは1.1すら入っとらんよ
今時.NET2.0入れてない奴は無視していいと思うよ それ以上のバージョンは厳しいかもしれないけど
商売でないなら.NETの導入の手間とかは気にしなくてもいいと思うけどね。
>>919-920 ありがと。
XP無印だとかなり前だから、そんなに古いのか。
気をつけんといかんね。
インストーラで勝手にインストールさせるようにすりゃいいんじゃないの? .NET なんざ。
インストーラ形式が嫌いな人も居るんだよ
インストーラ形式じゃないと嫌な人も居るんだよ
そもそも、そんなでかいのをDLするのが嫌な人もいるんだよ。
そんなことを言い出したら、インストールすら面倒とか、 ゲームやるのすら面倒という糞もいるわけで。 最初は(余力がなければ)ガンガン切り捨てていいよ。 どうせ趣味なんだからさ。 要望が来てから対応すればよろし。
ゲームやる人はたいてい暇人だから大丈夫だろ。 それより.net無しで作る苦労に耐えられない。
Seleneの.net用ラッパーがあれば… c++でコード書いてると色々面倒な事が多くてイライラする
いい加減、MSはC#用のMDX復活させろよ。 一応Slimあるから何とかなるけどさ。 Slim使うと ゲーム本体 + .Net Framework + Direct X + SlimDx + VC++ Runtime とこれだけ必要になるんだよな。
Unityで作ろう
うに見てきたけど、あれはいいね。 ただ、自分の今考えてるゲームはあそこまで要らないw
いつまでもSlimがどうとか言ってばかりで、 スレのゲームを作ろうって話はいつになったら始まるの?
スレのゲームって、どのスレ?
スレのゲームっていったい何の話だ?
>>931 MDXがあったところでSlimDXのところがそのままMDXに置き換わるだけだよ
他のはどっちみち必要
んぁでいいじゃん
そろそろDirectX9を切り捨ててWindows API Codepackにしてしまうとか
切り捨てたところでslimdxの方が全然マシだよ・・・
>>938 MDXになればSlimDXとVC++ Runtimeが不要になるから、それだけ楽になるだろ。
943 :
名前は開発中のものです。 :2010/09/06(月) 22:04:18 ID:QbiA981K
1000
>>942 必要項目の「SlimDX」が「MDX」になるだけだし
ぼくのかんがえたみらいのMDXがVC++ランタイム不要になる保証もないでしょ・・・
少なくともC++/CLIで実装する限りは漏れなくついてきちゃう
まずは面白いゲーム作ってから心配しろよ
うむ しかしMDXの利点はDirectX入れると一緒に入ってることだったけどな
C++/CLIで作ったものはCLRのバージョン間の互換性が無いから MS自ら今MDXを提供するなら必然的に.NET4専用になるわけで 現状、要件としてはSlimDXよりもはるかに厳しいと思うよ
結局現時点で一番良さげなのはXNAっぽいな もちろんゲームの種類やらプレイヤー層にもよるけど
C++/CLIは排除して、純粋なアンマネージC++でラッパー書いて C#でdllimportするのが一番良い形なんだけどな なんせめんどくさい
SWIGを使うってのはどうだろう? 完全じゃないがめんどくささは軽減されそう。
まぁ素直にC++で作った方がいいと思うね。後々を考えるなら。 あと2年もすれば2000、XPは少数派になってDirect11が主流に。C++ + Direct11みたいな感じになるでしょ? 逆に2年以内のことを考えたら別にMDXでいいじゃないとか思うけど。
XNA はなんかちょっと DirectX とノリが違うのがなぁ。
XNAはXNAスレへ池よ
XNAは中途半端だよなあ クロスプラットフォームというなら機能削りまくっていいからSilverlightと統合するくらいやってほしい
Visual Studioで適当にボタンはりつけ 適当にランダム配列用意して ジャンケンゲームの出来上がり 簡単
出来上がりか。もうこのスレは必要無いな
なんだ結局C++かよ。
はいおわりおわり
>>959 Win7だけど、MyDocumentsにファイル生成はされるけど
その後音沙汰がない。
OOBのウィンドウは真っ白のままで、Game.exeはダブルクリックしても動かない。
DXLibのC#のソースが多くあるなら置き換えて動かすやつ作ってみるのも 面白そうだが、動くものほとんどなさそうだな。 Cならソース公開されてるの多いのかな
。。。
パクリありきの生き方
そうじゃねーよ DXLibのC#版と同じインターフェースの純粋.NET版を作れば そのままSilverlightで動かせるだろ? でもそのDXLibのC#版で作ったコードが少ないんじゃしょうがないなと
まあこれは
>>959 のレスから考えただけですがね。
自分でDXLibで書いたコードをXNAに移植するのは結構簡単だったんで
もうそういう口だけの話はいいから
久しぶりにwikiのほう見てみたら、更新されてるのに更新履歴に反映されてないな・・・なんでじゃろ。 気がつけばSlimDX結構情報つみあがってきてるじゃないか。
DXライブラリのC#インターフェイスをそのまま移植するよりも、 C#で使いやすいようにラップしたものを作ってその実装をXNAなりSilverlightなりDXライブラリなり 差し替えるようにした方がいいと思う。 そのまま使うにはあまりにも汚すぎる。
それと、Silverlightサポートを前提にするならかなりフレームワーク的な感じにしたほうがいいと思うよ。 更新→描画→ウェイト→ループ のような流れを陽に書かれるとSilverlightへの移植が難しくなる。 描画も毎フレーム描き直しじゃなくて、スプライト置いといて勝手にフレームワークがそれを 描画するようなスタイルの方が移植しやすいはず。
971 :
名前は開発中のものです。 :2010/10/11(月) 07:34:06 ID:GQ+fbaoC
972 :
名前は開発中のものです。 :2010/10/18(月) 05:40:00 ID:0qyQudr3
C#でゲーム製作をしたいと考えているのですが、今時はXNA使うのが常道なのでしょうか? 作りたいゲームは2Dの単純なシミュレーションです よろしくおねがいいたします
はい、XNA一択です。
まぁXNAでしょう。自分はManaged DirectXだけど、XNAのほうが無難だと思います。 あと、C++ + Directxに比べると速度がでないのも覚悟しておきましょう。
2Dならよほど大量のスプライト使わん限り速度面でもXNAで十分だと思う
Managed DirectX は終わったコンテンツ。 はっきりいって今からだと開発環境を整えることすら難しい。 後継のXNA一択だって。
しかし、ユーザーに対するXNAインストールの壁はでかい
どうせ趣味なんだろうし、自分が作り易いと思う環境でやるのがベスト 完成する当てもないのに配布のこと考えてもな
ClickOnceとか有るけどどうなんだろ
XBOX用に作ればいいから
DXライブラリでいいんじゃね SlimDXから移行したけど 意外と使えるよ?
そういえばC#+managedDirectXよりC++ +DXライブラリのほうが早いって噂を聞いたことが。 2Dと割り切ってるならC++ + DXライブラリのほうが全てにおいて楽そうだ。
痛いな