Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Game Development in vb.Net

Tags:

vb.net

What are the big limitations with VB.Net that prevent people from wanting to use it as a language to develop games?

like image 886
jblaske Avatar asked Apr 30 '09 15:04

jblaske


2 Answers

Speed of higher level languages usually keeps them out of "serious" game development, where C and C++ reign supreme. However, more and more games are exposing game logic to scripting languages like Lua and Python.

I've heard of indie games being developed in VB, for instance the Zombie Smashers series was developed in VB by James Silva, who recently did the game Dishwasher Dead Samurai in C# .net.

You may want to look into the Xbox Live Arcade framework (XNA) Microsoft put out. You can use that in VB or C#.

like image 155
James McMahon Avatar answered Oct 13 '22 09:10

James McMahon


It took a long time for game programmers to even accept C++ over C due to it being "slow". I believe that soon enough the multi-core era will cause this to slowly fade because running in parallel will be a lot more important than running a single thread as fast as possible.

Keep in mind also that a lot of processing is done on the GPU nowadays with pixel/vertex/geometry shaders. So we are seeing some pretty advanced games being written in what might be considered "slow" languages.

Lastly, .NET is not slow. What makes it troublesome for game development imo is the unpredictability of the garbage collector (GC kicks in during a huge boss fight and causes lag - not so good), and any marshaling that occurs between C# and native code.

Fortunately, with a deep understanding of how .NET works, including the GC and runtimes - both these obstacles can be overcome.

If anything it would be highly recommended to prototype a game in a managed language, whether it be VB.NET, C#, python, ruby, etc... and then if it is found to be too slow you can port parts of it to C++.

.NET has managed C++ which makes interop between native and managed code fairly seamless. This allows for those really critical parts to be written natively if necessary. But I doubt this is the case. The most important optimizations at first are going to come from data structures, algorithms, and overall architecture.

like image 34
nightski Avatar answered Oct 13 '22 11:10

nightski