ページ 1 / 1
できるんですか?
Posted: 2006年1月04日(水) 20:30
by 井上翔太
MMORPGってActiveBasicでもつくれるんですか?
まだぼくは、そこまで技術がないのですが・・・
がんばればつくれるか教えてください。
Re: できるんですか?
Posted: 2006年1月04日(水) 20:48
by Mario2
> MMORPGってActiveBasicでもつくれるんですか?
> まだぼくは、そこまで技術がないのですが・・・
> がんばればつくれるか教えてください。
結論から言えば"作れる"と思います。
でも、作るとなると、とても難しく、C言語で作ったほうが、速度的にも作るのにも最適かと思います。
速度とか遅くても、作成が難しくてもABで作る。と言うのなら止めはしませんが、お勧めはしません。
Posted: 2006年1月04日(水) 21:47
by ゲスト
> でも、作るとなると、とても難しく、C言語で作ったほうが、速度的にも作
> るのにも最適かと思います。
え、でも "ActiveBasicはC言語並みの処理速度を有するソフトウェアを開発できます。" じゃないの。
速度はやっぱりfreeのC言語を使ったほうがいいのかな?
Posted: 2006年1月04日(水) 22:42
by hira
うたい文句はそうなっていますが、現在のActiveBasicは速度的にはC言語には及ばないレベルなんです(^^;
(原因は
http://d.hatena.ne.jp/dai_optimistic/20050928)
64ビット版の制作にあたってこの辺りは改善されていくようですので、お急ぎでないならActiveBasicを使ってみてもいいかもしれません。
※64ビット版制作のタイミングで(32ビットも含めた)コンパイラが改善されていくという意味であって、64ビットPCで開発しろということではありません(誤解を招きそうであるため)。
Posted: 2006年1月04日(水) 23:11
by マティ
ABは最適化を行ったC言語には負けますね!(完璧に!)
なんせ1パッスですから・・・
hiraさんからの指摘通り
レジスタベースの演算コード生成は行っていません。しかしMSのFreameworkで生成するコードはスタックベースなのです。
もしかしたら、
AB6ではMSIL対応のコンパイラが出るかも・・・
その前に、
レジスタベースの演算コード生成を行えって話も・・・
今後の山本様に、ご期待って事で・・・
Posted: 2006年1月04日(水) 23:17
by イグトランス
皆さん遅い遅いとは言いますが,たしかに速いに越したことはありません。
しかしそもそも現在のPC自体が十分に速いですし,本当に遅くて困る場面と言うのは意外と限られます。
普通のプログラムでは気にするほどのことではありません。
ABは遅くて困ると思われても困るので弁明のようなことを書いてみましたが,
MMORPGが速度面において普通のプログラムと同列に扱えるかというとたしかに返事に困ります。
それにC/C++は市場原理での競争があるので最適化技術が進んでいるのは確かですし,
それに比べればABの最適化は発展途上だということは否めないでしょう。
大切なのは様々な言語を上手に使い分けることです。
Posted: 2006年1月04日(水) 23:37
by マティ
ごめんなさい私の書込みが不適切であった事をお詫びします。
MMORPGにおいても、速度を重視する部分と、さほど速度を問題としない部分があります。
イグトランスさんのご指摘どおり、速度を重視する部分をアセンブラ等の言語で作成し、基本部分をその他の言語で作成するのが最適です。
また、速度を重視しないのであれば、より保守性の良い言語を使用する事が最善になります。ABは、程よいレベルで保守できるような気がしましたので・・・
今後ABが発展すると、『性能が改善する可能性が大と思われます』って、個人的な考えでした。
なんでですか?
Posted: 2006年1月10日(火) 21:01
by 井上翔太
なぜみなさんは、C言語のほうがいいとおもうんですか?
開発が、早くなるんですか?
Re: なんでですか?
Posted: 2006年1月10日(火) 23:12
by hira
私はC言語のほうがいいと言うつもりはありませんが、私の考えを。
確かにC言語はActiveBasicよりも高速であるというのも理由の一つでしょう。しかし、C言語の方が後からソースを見たときに読みやすいんじゃないかと思います。
ActiveBasicでは「End ~」というフレーズが大量に出てくるのでProjectEditorの色分けを使えば読みやすいのですが、メモ帳などからでは読みにくいこともあります。C言語では分岐やループを閉じるのはたいてい } の1文字ですんでしまうため、メモ帳で見てもスッキリした感じがする、というところでしょうか。
あとはC言語がプログラムでは主流であるが故に、ネットで検索すると出てくるサンプルコードなどもC言語のものが圧倒的に多く、参考にしやすいというのもあるかもしれません。
ActiveBasicではC言語のコードを移植するか、VisualBasicのものを使う(それでも少し修正が必要な場合あり)ことになりますので、その作業が面倒だという気は私もしています(^^;;
いくらくらいかかりますか?
Posted: 2006年1月11日(水) 17:20
by 井上翔太
ActiveBasicなら平均で何日くらいかかりますか?(MMORPGのこと)
それと、C言語ならなんにちくらいかかりますか?
話がかわりますが、
>速度はやっぱりfreeのC言語を使ったほうがいいのかな?
フリーのC言語ってあるんですか?
あったらダウンロードできるアドレスを教えてください。
(自分でも探します)
Re: いくらくらいかかりますか?
Posted: 2006年1月11日(水) 18:59
by hira
何日ぐらい…それはやってみないとわかりません。
プログラムの技術にもよりますし、内容にもよります。
それからフリーのC言語ということですが、私がインストールしているのは「Visual Windows for BC++」です。
BCC(コンパイラ)が付属している(付属しないバージョンもあり)ので、B○rlandに個人情報を登録しなくても使い始められるということで(何
色分け可能なエディタも付いています。
※コンパイラだけをダウンロードしても、使おうと思えば使えます。ただし作業が面倒です
アドレスもわかっているのですが、ここはActiveBasic板なので記載は自主規制です(^^;; 検索してみてください。
比較すると?
Posted: 2006年1月11日(水) 20:27
by 井上翔太
比較すると、
C言語とActiveBasicならどちらが性能がいいといえますか?
ぼくてきには、ActiveBasicのほうが、使いやすくいいとおもえるのですが・・・
あと1つ聞きたいことがあるんですけど、ActiveBasicには、作れないものは、ないといいけれるほど、すごいものなんですか?
それと反対に、
例
ActiveBasicに作れないものがあったとします。
でもC言語なら作れるということはあるんですか?
それだけ教えてください。
山本大祐さんへ
山本大祐さんのプライド?にかかわる話ばっかりして本当にすみません。
Posted: 2006年1月11日(水) 21:00
by マティ
井上翔太 さんが書きました:
ActiveBasicに作れないものがあったとします。
でもC言語なら作れるということはあるんですか?
基本的に、ActiveBasicで作成出来ないプログラムはありませんが・・・現状ではC言語で作成する方が、より高速に動作します。将来的には改善するでしょう・・・
hiraさんとは矛盾しますが
個人的な意見です
VBやABの良い点は、
End ...で構造が明確になる点が良い点だと思います。
(C言語は、エディタで開始と終了を調べる事が出来るので便利ですが・・・)
コード: 全て選択
for i=1 to 1000
do
while 条件1
if(条件2)then exit for
.
.
(処理)
.
.
wend
loop until (条件2)
next
のようにコードを組むと、exitで抜ける範囲が分かりやすい。
(C言語では、組んだ人しか分からないようなロジックも作れるので、コーディング規約を徹底する必要がある。)
各言語によって一長一短があるので、他の言語を勉強するのも良いと思います。
Re: 比較すると?
Posted: 2006年1月11日(水) 21:20
by hira
ActiveBasicはベースがBASIC言語です。BASIC言語は「Beginners All purpose Symbolic Instruction Code」というだけにもともとプログラムの学習用に作られたため、初心者であればBASICのほうが理解しやすいでしょう。しかし、実際は人によると思いますので、ご自分の使いやすいほうを選択されるとよいと思います。
それからActiveBasicの機能ですが、C言語やC++スタイルのステートメントなどが導入されてはいますがまだまだできないこともあります。とはいっても、無理矢理コード(APIの宣言も含めて)を書けば可能なことも多いです。
但し、私もよくわかっていないのですが、オーバーロードという機能があります(これがないと、OLEドラッグ&ドロップが実装できないのです)。このオーバーロードはActiveBasicでは現在開発中で、まだ我々は使えません。
その他、Visual C++ではインラインアセンブラが使えますが、ActiveBasicにはありません(まあ、なくても普通は困らない機能ではありますが)。
Posted: 2006年1月11日(水) 21:55
by マティ
あくまでも、個人的な意見です。
hira さんが書きました:但し、私もよくわかっていないのですが、オーバーロードという機能があります(これがないと、OLEドラッグ&ドロップが実装できないのです)。このオーバーロードはActiveBasicでは現在開発中で、まだ我々は使えません。
オーバーロードはクラスを使用するプログラムを使用しない限り必要ありません。
ロールプレイングを作成する際に必要になる機能とも思えません。DirectXを使用するならインラインアセンブラを使う必要があるようなクリティカルな処理は無いと思うのですが・・・
また
hiraさんのおっしゃるとおり、ActiveBasicはこれからも、C言語等の他言語の良い点を取り込んで進化して行くと思いますので期待したいですね!
あくまでも、個人的な意見です。