教えてください、よろしくお願いします。
VC++とVC#を比べた場合、
VC++のほうが配布しやすくて一般的なのでしょうか?
VC++で作成した場合、exeのみでOK
VC#で作成した場合、exeと.netフレームワークが必要
とありました。
最近のXPなら.netフレームワークは標準で入っている。。。ような気がしますが、
VC++のほうが配布しやすいでしょうか?
また、VC++.netでの配布を考えた場合、VC++と違って
exeと.netフレームワークが必要
となるのでしょうか?
現在所有しているのはVisualStudio2003.netです。
VC++(VC++.net?)で勉強しようか、VC#(VC#.net?)で勉強しようか悩んでいるところです。
よろしくお願いします。
ゲームの配布について
Re:ゲームの配布について
VC#とVC++/CLRは同じ.netフレームワーク環境を必要とします。
古いVS2003時点の.netフレームワークならたぶんXP以降なら入っているとは思いますが断言は出来ません。
なので再頒布前提で「.NET Framework の再頒布」と言うページがあるので読んでみてください。
http://msdn.microsoft.com/ja-jp/library ... 80%29.aspx
それとVS2003はかなり古いので、ExpressEdtionで良いので2008版を使う事をお勧めします。なぜかと言うとC#とC++/CLRの完成度がVS2003ではかなり低いのが問題だと思いますので。
で、ゲームの話ですがDirectXを直接使うならC++/CLIをXNA GAME STUDIOを使うならC#を選択してください。
XNA GAME STUDIOの方がDirectXを直接使うより難易度が低いのとXbox360でゲームを販売出来たりするおまけもあります。
DXライブラリはC++/CLIでも使えると思いますがチャレンジした人がいるのかは私は知りません。C++を使ったほうが無難だと思います。
古いVS2003時点の.netフレームワークならたぶんXP以降なら入っているとは思いますが断言は出来ません。
なので再頒布前提で「.NET Framework の再頒布」と言うページがあるので読んでみてください。
http://msdn.microsoft.com/ja-jp/library ... 80%29.aspx
それとVS2003はかなり古いので、ExpressEdtionで良いので2008版を使う事をお勧めします。なぜかと言うとC#とC++/CLRの完成度がVS2003ではかなり低いのが問題だと思いますので。
で、ゲームの話ですがDirectXを直接使うならC++/CLIをXNA GAME STUDIOを使うならC#を選択してください。
XNA GAME STUDIOの方がDirectXを直接使うより難易度が低いのとXbox360でゲームを販売出来たりするおまけもあります。
DXライブラリはC++/CLIでも使えると思いますがチャレンジした人がいるのかは私は知りません。C++を使ったほうが無難だと思います。
Re:ゲームの配布について
[color=#d0b0c0" face="monospace]
>VC++のほうが配布しやすくて一般的なのでしょうか?
[/color]
Windowsでゲームで一般的というならネイティブ(非.Net)だと思いますが……。
ただ、ネイティブアプリも設定や使うライブラリによってはランタイムを
要求することがあるので、.Netと同じようにランタイムをインストールする必要が
ある可能性があります。
どちらにしてもランタイムが入ってなければ入れてもらえばいいだけですし、
インストーラに組み込んでしまって未インストールであれば入れるようにすれば
配布のしやすさはさほど変わらないと思います。
ちなみに .Netで作る場合 VisualStudio2003では .Net 1.1までの対応になるので、
Windows98/ME/NT/2000/XP/Vistaと一通り動くので対応 OSの少なさの心配は
さほどないと思います。
[color=#d0b0c0" face="monospace]
>最近のXPなら.netフレームワークは標準で入っている。。。ような気がしますが
[/color]
市販の PCを購入したときはいろんなソフトに混ざってプリインストールされてる
可能性はありますが、XPの OSそのものには入っていなかったと思います。
>VC++のほうが配布しやすくて一般的なのでしょうか?
[/color]
Windowsでゲームで一般的というならネイティブ(非.Net)だと思いますが……。
ただ、ネイティブアプリも設定や使うライブラリによってはランタイムを
要求することがあるので、.Netと同じようにランタイムをインストールする必要が
ある可能性があります。
どちらにしてもランタイムが入ってなければ入れてもらえばいいだけですし、
インストーラに組み込んでしまって未インストールであれば入れるようにすれば
配布のしやすさはさほど変わらないと思います。
ちなみに .Netで作る場合 VisualStudio2003では .Net 1.1までの対応になるので、
Windows98/ME/NT/2000/XP/Vistaと一通り動くので対応 OSの少なさの心配は
さほどないと思います。
[color=#d0b0c0" face="monospace]
>最近のXPなら.netフレームワークは標準で入っている。。。ような気がしますが
[/color]
市販の PCを購入したときはいろんなソフトに混ざってプリインストールされてる
可能性はありますが、XPの OSそのものには入っていなかったと思います。
Re:ゲームの配布について
ご教授ありがとうございます。
C++がC++/CLRにパワーアップしていたのですね。。。知りませんでした。
書き込みの内容から、
C#を選択する理由はないような気がしてきました。
C++とC++/CLIについて調べてみようと思います。
ありがとうございました。
C++がC++/CLRにパワーアップしていたのですね。。。知りませんでした。
書き込みの内容から、
C#を選択する理由はないような気がしてきました。
C++とC++/CLIについて調べてみようと思います。
ありがとうございました。
Re:ゲームの配布について
C#を選択する理由というと、個人的な意見ではありますが、C++より分かり易いと思います。
特に.NETを使用するのならば、C++よりC#をオススメします。ただ、.NETを使用するのならば、コーディング的な部分から言えば、どの言語を使おうが大きな違いはありませんけどね(^_^;)
C#の文法は、VBとC++の中間のような感じですので、C#をある程度勉強しておけば、応用が利きやすいような気がします。更に言えば、JAVAを勉強しておけばなお理解が早いかと思います。(C#って、C++とJAVAの良いとこ取りな言語だと思いますので)
単純に速度が必要で、かなり切り詰めていく必要でも無い限りはC#で良いんじゃないでしょうか?
特に.NETを使用するのならば、C++よりC#をオススメします。ただ、.NETを使用するのならば、コーディング的な部分から言えば、どの言語を使おうが大きな違いはありませんけどね(^_^;)
C#の文法は、VBとC++の中間のような感じですので、C#をある程度勉強しておけば、応用が利きやすいような気がします。更に言えば、JAVAを勉強しておけばなお理解が早いかと思います。(C#って、C++とJAVAの良いとこ取りな言語だと思いますので)
単純に速度が必要で、かなり切り詰めていく必要でも無い限りはC#で良いんじゃないでしょうか?
Re:ゲームの配布について
書き込みありがとうございます。
仕事関係でVBA、JAVAでの開発(というより元々あるソースの修正、バージョンアップ)を
多少行ったことがあります。
また、VS2003購入時に付属してきた入門本でVC#を多少触ったことがあります。
という経験も考えるとVC#もアリかなぁという気持ちになっちゃいます。
でも龍神録の講座を見るとVC++なのかなぁと考えたり。。。
仕事関係でVBA、JAVAでの開発(というより元々あるソースの修正、バージョンアップ)を
多少行ったことがあります。
また、VS2003購入時に付属してきた入門本でVC#を多少触ったことがあります。
という経験も考えるとVC#もアリかなぁという気持ちになっちゃいます。
でも龍神録の講座を見るとVC++なのかなぁと考えたり。。。
Re:ゲームの配布について
C#だと、DirectXを使ってる参考サイトってあんまりないと思います。(調べてないですけど・・・)
書籍でもDirectXを使う場合C++が多いんじゃないでしょうか。
でもC#,JAVAを使ってるなら、C,C++は文法を勉強するだけでもちょっと時間がかかりますよね。
僕もC#のほうが分かりやすいと思うんで。
C#だと、XNAがほとんどな気がします。
(DirectXやC#版のDXライブラリもあるみたいですけどね)
もちろんXBOXの環境があるなら、XNAが簡単でゲームプログラミングに集中できていいとは思いますけど、グラボがないとPCじゃ実行できないんで、配布はかなりしにくいですかね。
解説サイトも多いわけではないですし・・・
もし、C#じゃない言語で書いてある参考コード(龍神録の講座など)をみて、C#版のライブラリに書き換えるのがわからなかったりするなら、C、C++を勉強するほうが逆に近道かもしれません。
書籍でもDirectXを使う場合C++が多いんじゃないでしょうか。
でもC#,JAVAを使ってるなら、C,C++は文法を勉強するだけでもちょっと時間がかかりますよね。
僕もC#のほうが分かりやすいと思うんで。
C#だと、XNAがほとんどな気がします。
(DirectXやC#版のDXライブラリもあるみたいですけどね)
もちろんXBOXの環境があるなら、XNAが簡単でゲームプログラミングに集中できていいとは思いますけど、グラボがないとPCじゃ実行できないんで、配布はかなりしにくいですかね。
解説サイトも多いわけではないですし・・・
もし、C#じゃない言語で書いてある参考コード(龍神録の講座など)をみて、C#版のライブラリに書き換えるのがわからなかったりするなら、C、C++を勉強するほうが逆に近道かもしれません。
Re:ゲームの配布について
C# で DirectX を扱ったゲームを開発する場合、XNA を利用しないといけません。
(Managed DirectX で開発することもできますが、すでにサポート(開発)は中止されており、 XNA を利用するように推薦されています)
XNA なら、 XBOX でもゲームが出来る形なので、それを目的とするなら C# で開発してもいいでしょう。
(MSDN に日本語リファレンスがあるので、読める力があるのならそんなに難しくはないです)
ゲームというジャンルの開発が初めてなのであれば、 sizuma さんの通り、 C、C++ でゲームの知識を覚える等していった方が良いと思いますよ。
(Managed DirectX で開発することもできますが、すでにサポート(開発)は中止されており、 XNA を利用するように推薦されています)
XNA なら、 XBOX でもゲームが出来る形なので、それを目的とするなら C# で開発してもいいでしょう。
(MSDN に日本語リファレンスがあるので、読める力があるのならそんなに難しくはないです)
ゲームというジャンルの開発が初めてなのであれば、 sizuma さんの通り、 C、C++ でゲームの知識を覚える等していった方が良いと思いますよ。
Re:ゲームの配布について
なるほどっ
たくさんの意見、アドバイスありがとうございます!
ゲームというジャンルは初めてなので、
何から手を付けたらよいのかよくわからない状態でした。
ここで質問して、たくさんの方からの回答を頂き、
ある程度方向性が見えてきました。
ありがとうございました!
VC++2008 ExpressEdtionで龍神録の講座を勉強してみようと思います!
たくさんの意見、アドバイスありがとうございます!
ゲームというジャンルは初めてなので、
何から手を付けたらよいのかよくわからない状態でした。
ここで質問して、たくさんの方からの回答を頂き、
ある程度方向性が見えてきました。
ありがとうございました!
VC++2008 ExpressEdtionで龍神録の講座を勉強してみようと思います!