• Advertisement

Archived

This topic is now archived and is closed to further replies.

Moving to VC++.NET or not?

This topic is 5715 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, I''m an experienced VB/VB.NET programmer for win and web apps. I''m pretty new to making games, so I have a few questions. Is VB.NET(with DirectX) a good language to make games in? Or do you recommend me to learn VC++.NET? I know that each .NET language is equally powerfull for win and web apps. Does the same apply for making games? Should I stick with VB.NET....with the advantage of being able to use my current knowledge? Or do you recommende me to learn VC++.NET? Andy advice would be great! Thanks. Ben

Share this post


Link to post
Share on other sites
Advertisement
VC.NET is a much better language for game developing, because you can controll all of the low level stuff by yourself. Also it''s much faster.
But be aware that it''s much more difficult to use and you need more time to do the same in VC than in VB.

Share this post


Link to post
Share on other sites
Probably no one will reply because this may end in an C/C++ VB war.

Use the language which you like more

Share this post


Link to post
Share on other sites
I''ve no intention to start a language war. I just want people''s honest advice.

Thanks for the replies.

Share this post


Link to post
Share on other sites
well, you need people''s advice, i''ll give you mine.

i was an experienced vb programmer a year ago. i covered subclassing, directx, and all those hardcore stuff, and i had a lot of fun with vb. however, i knew people used c/c++ in making games, but i still used vb. articles, sample codes on the internet (about making games and directx) all are written in c/c++ language, and it really pissed me off.

at that time, i knew C already, but i didn''t know how to program in windows using C language. so, i stick with vb. but then, there was a time when i fully decided to move to c++. i was forcing myself to learn all those API jargons nonsense, just for the sake of making games in the future. and now, i''m a completely c/c++ programmer (abandon vb 100%) and use directx.

let me be honest with you. if you want to be a game programmer, you HAVE TO learn c/c++ no matter what. the reason is: that''s the language that game companies need from their prospective developers. even though you''re applying for a playstation game developer, they need c/c++, not Basic.
so, my advice: move to VC.NET to practice your c/c++ skill. if you don''t know c/c++, you have to learn it from DOS/UNIX first, that''s the risk you have to take. don''t hang around in DOS for a long time, just grab the basic, and move to windows. after getting the concept of using API, move to DirectX, and you''re done. seriously, it''s worth it to learn C++ and using VC.NET.

Share this post


Link to post
Share on other sites
We''re a C/C++ house here, using MSVC 6.0, and I''m still evaluating the move to .NET. VS.NET uses the next rev of the compiler, which has bug fixes, efficiency improvements, better error reporting--all plusses. Unfortunately, MS also rev''d up the CRT and MFC looks like it underwent drastic changes, so we''re probably not going to move to .NET any time soon (maybe by end of year?).

Share this post


Link to post
Share on other sites
I don''t want to make games for my profession, just for fun. But I suppose I need to switch to VC++.NET.
I probably gonna do that I guess.

Thanks for the replies.

Share this post


Link to post
Share on other sites
quote:
Original post by benhus
I don''t want to make games for my profession, just for fun. But I suppose I need to switch to VC++.NET.
I probably gonna do that I guess.


for fun? here''s some more suggestions:
what''s your dream profession? web developer? server administrator? whatever it is you know what you need to fill in those jobs. if you think that you need C/C++ language in the future, go ahead move to C/C++. but if you dont, don''t bother learning C/C++. you know vb already, and if you say that you make games for fun, go ahead and make it in vb. the greatest thing for a game programmer is to see his game works. instead of spending your time getting comfy with VC.NET features and the language itself, it''s better for you to start writing the actual game in the language you know.

Life is fair.
-Albert Tedja-

Share this post


Link to post
Share on other sites
By "for fun" I mean it''s not gonna be my profession, however I intend to spend a lot of time on it. Years ago I started with VB for fun. I mean when I''m gonna do something...I''m gonna do it good! Even if it''s gonna cost me a lots of lots of time, and even if it means I gonna have to curse a lot;-) So, I''m willing to learn C++.

Some of you say VB.NET is much slower than VC.NET
But does using VB.NET result in a big big big lack of performance?

Share this post


Link to post
Share on other sites
Hey,

Firstly, VC++.NET and VB.NET are the same speed. Everything is compiled down the the CLR, so it means if you do the same thing in the two different languages, it will end up pretty much the same when it goes down to the CLR, which is then dynamically optimized for the cpu/hardware and will run VERY quickly.

This is of course theoretical, I don''t think enough games have been made in either C++.Net or VB.Net to be able to fairly judge this. As you are just programming for fun, stick with VB, you already know it and you will be able to make games a lot quicker, which is far more fun than learning a new language!

On the other hand, I don''t believe many game companies are giong to switch the .Net just yet, and if they do, I am sure they will stick with C++ as that is what most of the ''gurus'' are adept in. If you were wanting to develop as a profession then C++ is the way to go I believe, but as anyone that has done both VB and C++ before, VB is far more "fun" anyways.

Doolwind

Share this post


Link to post
Share on other sites
quote:
Original post by Doolwind
...I don''t believe many game companies are giong to switch the .Net just yet, and if they do, I am sure they will stick with C++ as that is what most of the ''gurus'' are adept in...



Visual C++.NET is just an IDE. Switching to .NET doesn''t mean changing the language. The language is still the same (C++) but the environment is different. .NET has all these CLR thingies and of course, the compiler is a lot better than VC6.

benhus, you have chosen your path. good luck! Remember, you''re going to spend a lot of time.....

Life is fair.
-Albert Tedja-

Share this post


Link to post
Share on other sites
Some clarification here:
VS.NET supports languages like C++, C#, java-script and VB.
You can CHOOSE to compile your C++ to CLR (basically byte code), or to object code like good ''ole-fashioned VC6.0. C++ when compiled to the CLR might be comparable to VB compiled to CLR, but the same old arguments apply when C++ is compiled to object code. Frankly, I still find it all pretty confusing; I''ve just been using C++ compiled to object code.

Share this post


Link to post
Share on other sites
I think the IDE is technically called Visual Studio - which means... that... Visual C++ no longer… exist... EoL''ed right under our noses!

You can make a game in VB, people have (Nes8Bit comes to mind immediately). You’re not going to make something with the performance of Quake3 or the magnitude of EverQuest – but you certainly can making something more reasonable in scope.

It’s hard to say right now, but odds are good DirectX9 will have better .Net support than prior versions had VB support.

Where you get boned, is when performance matters – e.g. physics simulation, or sophisticated object & polygon culling – or when you want to use a feature of DirectX not exposed to VB. Then to continue, you need to make a VB friendly dll in C++, or a COM dll, or now you could use managed C++ and make a .Net assembly for use in VB.Net.

(C is officially DoA in the PC gaming arena, ever since ID gave it up for DooM III in favor of C++).

...
P.S. They made changes to the ATL as well as MFC.

Share this post


Link to post
Share on other sites
All of you people, thanks for your advice! It's kind of you to clarify some things.

Well, I will start developing with VB.NET. But hey, may I encounter performance problemens in the future, problems that can only solved by using c++, then I will set my first steps in the c++ arena, but for I stick with VB.NET.

Do you know where I can find some good "beginning DirectX 8" tutorials?

[edited by - benhus on May 30, 2002 3:59:20 AM]

Share this post


Link to post
Share on other sites
Carmack still uses C for the main engine code. C++ is used for the game code and things like that.

Share this post


Link to post
Share on other sites
quote:
Original post by Magmai Kai Holmlor
I think the IDE is technically called Visual Studio - which means... that... Visual C++ no longer… exist... EoL''ed right under our noses!


There is a Visual C++.NET Standard.



Share this post


Link to post
Share on other sites
Guest Anonymous Poster
noVum, if you read carmacks interview on gamespy he explicitly states that the entire engine is written in C++ and he had ported much of the quake3 engine as he was using it when he started working on the doom3 engine before he rewrote the different parts of the engine. The doom3 engine is entirely C++. Heres the link:

http://www.gamespy.com/e32002/pc/carmack/

Share this post


Link to post
Share on other sites
Upgrading VB would be great, its about time they overhauled that language. All the old 16bit legacy functions should be removed!!!

I would still stick with the current VC++ though. I like machine code better than any p-code language

I never liked C for any substantial program, putting all the functions into classes is much more intuitive than having a million separate functions to do everything

Share this post


Link to post
Share on other sites
Stoffel has it right.

It''s a little confusing because both the tool and the platform share the name ".NET". However, they should not be confused. Visual Studio.NET is a development environment, and the .NET platform is defined as "the Microsoft platform for XML Web services" (see http://www.microsoft.com/net/defined/faq.asp ).

With Visual Studio.NET you still have traditional C++ compilation, i.e., small, fast code. In addition, you have the option to work with the .NET stuff.

Share this post


Link to post
Share on other sites
quote:
Original post by Doolwind
Firstly, VC++.NET and VB.NET are the same speed. Everything is compiled down the the CLR



Not entirely true. Only Managed C++ is compiled to the CLR, unmanaged C++ (which is most likely what you will use for games) compiles to native code.

-----------------------
"When I have a problem on an Nvidia, I assume that it is my fault. With anyone else''s drivers, I assume it is their fault" - John Carmack

Share this post


Link to post
Share on other sites
er..... has anyone suggested using both? That''s one of the reasons .NET is so neat.

Should you find yourself needing low level C++ things, use C++ for those things. VB will work nicely as a high level "glue" language to manage all the components.

I''m hip because I say "M$" instead of "MS".

Share this post


Link to post
Share on other sites
Not sure if this is possible but I wish vc++ .net would come with windows form designer and that the .net layer could be used w/out garbage collector using c++ .net. C# and .net is out of the question for me because of lack of speed in dx8 and 3D engine/tools. Basically I just want .net to be native because the api has lots of very useful functions that I wish were in the mfc but aren''t.

Share this post


Link to post
Share on other sites
I just want to point out a really cool feature on Visual Studio .NET. You probably already know this, but what the heck, no one mention this before.
In VS.NET you can work in multiple languages. You can actually create a program written in both C++ and VB without using dll or stuff like that. A class declared in C++ can be used in VB without having to compile it first to an external file, such as a dll.

So, if you have this:

      
// in C++ project

class MyClass {
...
};

'in VB project
Dim Something As MyClass


I never try this, but it's possible (I saw a Microsoft programmer did that, but he used C# and VB -- promotions --). But I don't know if this is good for games or not.


Life is fair.
-Albert Tedja-

[edited by - nicho_tedja on June 1, 2002 12:34:23 AM]

[edited by - nicho_tedja on June 1, 2002 12:34:53 AM]

Share this post


Link to post
Share on other sites

  • Advertisement