Archived

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

PhiberOptic

VB vs Cpp and CLOD?

Recommended Posts

PhiberOptic    128
I have some questions.. 1. First of all.. I have figured it out that almost every Game developmet team uses C++ as language. Of course C++ is a very great and powerfull language for commersial products but what about VB? How much real difference is it in a d3d app VB vs C++? Or is it just the memory-handling advantage in c++ that increases the speed? I though of this when I realised that VB would decrease the Development time on smaller 3D games.. true? 2. CLOD: When you do an outdoor game with a "height map" base on like a BMP picture.. You might want to get some optimizations, what is the best CLOD technique to do? (Might not be CLOD but something similar like Geometric-optimizations). I would be glad to get an answere =) // Petter

Share this post


Link to post
Share on other sites
thona    100
quote:
I though of this when I realised that VB would decrease the Development time on smaller 3D games.. true?


Yes, for VB.NET with DirectX 9 - otherwise IMHO the language is just too limited to make a lot of things comfortable.

quote:
When you do an outdoor game with a "height map" base on like a BMP picture.. You might want to get some optimizations, what is the best CLOD technique to do? (Might not be CLOD but something similar like Geometric-optimizations).


It is definitly asking intelligent questions. First you ask for the best CLOD technique, THEN you say "may not be CLOD". Can you please send me a program, but nothing that was programmed?

CLOD is constant level of detail - IMHO a very bad way, simpley because of the power of graphics cards. I would go for Gsome sort of GeoMipMap - better render some patches at too high a detail level, than having to recompute everything constantly.


Regards

Thomas Tomiczek
THONA Consulting Ltd.
(Microsoft MVP C#/.NET)

Share this post


Link to post
Share on other sites
Lupin    122
Hey, I''m an VB programmer (please don''t hurt me, seems like I''m on the wrong place here )! I''m using VB6 and I noticed that you could do some real nice stuff (check out matrixvb.da.ru, I''m currently working on an Quake3 BSP renderer and I could get 30FPS on my PC!). VB.Net kicks C++''s ass! But I''m not going to use it because not everyone already have the .Net framework installed

I will change over to .Net when I think the time has come, I will stay with VB6 for now...

Share this post


Link to post
Share on other sites
wolliwer    122
I got my start programming games and DirectX in VB. From my experience the only thing that VB is limited to is performance, everything I''ve been able to do in C++, VB could do easier.

On the one hand, VB is a very forgiving language, it is quick and easy to learn, and is compatable with DirectX. I recomend it to get your start learning programming concepts, and directx.

However, if you really want to make a respectible game, VB is not really an option. The memory management overhead is not the only problem here. Just try to run through a simple loop a thousand times and compare the speed difference. VB just doesn''t go as fast as it takes to make cutting edge games.

If you intend on pursuing game development as an amateur or hobbyist, I reccomend VB because cutting edge stuff doesn''t really matter - you are making it however you want. For stuff that needs to sell in stores, though, the minimum standard is a little more than I think VB is able to achieve.

Share this post


Link to post
Share on other sites
PhiberOptic    128
I can see your point with VB as a simple language that you can make powerfull things on with DX.. But the whole question was if VB is much slower than C/C++? Like what difference is there between a vb loop and a cpp loop compiled to assembly?

In matter of coding, the BASIC language makes me sick. I''ve done TicTacToe in QBasic once.. ohh that was easy but damn, it feels like writing an English paper. Horrible!

The whole question was for a friend as a matter of fact. I''m not so found of DX coding. I prefer AI coding in C++. For AI I think I don''t want to change to VB.. I''m already using some advanced features in C++ that I don''t think VB can provide me with. STL for instance.

Share this post


Link to post
Share on other sites
thona    100
Well, my advice is C# ir VB.NET (depends how "professional" you develop - especially when making something like a 3d engine, I would not work without opeator overloading, and this is not possible in VB.NET) in combination with DirectX 9 rocks.

That is DorectX as it should be - SIMPLE. Really simple.

You guys should have it latest in 4 weeks.


Regards

Thomas Tomiczek
THONA Consulting Ltd.
(Microsoft MVP C#/.NET)

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
quote:
Original post by thona


CLOD is constant level of detail - IMHO a very bad way, simpley because of the power of graphics cards. I would go for Gsome sort of GeoMipMap - better render some patches at too high a detail level, than having to recompute everything constantly.



Don''t knock it ''till you''ve tried it. Software LOD techniques are still very valuable on machines that don''t have the latest 3d hardware, which is still a pretty signifigant portion of the market.

Share this post


Link to post
Share on other sites
DirectXXX    151
i vote for C#. because it is modern. I think in future microsoft will support it as primary language. After all its syntax style is lot like Java. microsoft will have good support for DX9 with C#/.NET too. and DX9 will be more easy to use in C#.

Share this post


Link to post
Share on other sites
liquiddark    350
Just so''s you know, C#, like Java, is intended only for application programming, not for systems-level programming, which would in the case of games pretty much equate to time-critical code (such as core engine code).

For time-critical areas neither is likely to ever be as good as natively-compiled code. Hence, unmanaged C++ for engines, Java, C# or what have you for the application - Java if you''re worried about vendor buy-in, C# otherwise. With the advent JNI and the native interop abilities of .NET, they''re pretty much balanced, if not precisely equivalent, for app stuff.

ld

Share this post


Link to post
Share on other sites
digitec devil    206
I would say that although C# is more modern, its microsoft specific, and still might not be all that better for video games, as far as VB, even with respect to the obvious speed differences, I dont think code should always be as straightforward as most of the basic languages, e.g. the dim keyword, begin, end, sub. I can''t imagine seeing all those mostly useless words in a project with 6 million lines of code, "int a1 = 5" says everything im doing, declaring an integer with the name a1 and giving it a value, what would I want to add. just my opinion of course. What I can see in .NET is writing the interfaces and everything in C/C++ and using it VB(or C#), possibly implementing a scripting language through VB also, when you''re doing high level things, a high level language looks fine. But there are plenty of things I would never want to see done in VB.

Share this post


Link to post
Share on other sites
Lupin    122
VB6 is much slower than C++, but you could work around this using good code, precalculating everything where posible and try to call non-VB functions wich do everything wich would be slow in VB (an C++-Dll sometimes helps a lot, e.g. I''m using one for MD2 KeyFrame interpolation).

VB.Net speed is very close to C++/C#, it''s very fast, but as I said, I won''t use it because nobody has the framework installed (no normal user, I know most of you have )

Share this post


Link to post
Share on other sites