June 26th, 2006, 09:07 PM
Which language for game development?
I was wondering which language I should learn to get started in game development. C++ or VB???
June 26th, 2006, 09:45 PM
C++ is the most common choice, but it's becoming increasingly more viable to write a game in a .net language, such as VB.NET. You could technically write a game in one of the older VB languages, but there aren't that many engines that support it. Also the older versions of VB are slooooow.
Originally Posted by tapha
If you are interested in writng game in VB or VB.NET then Truevision is probably the best option. There are tons of examples in many languages, but especially in VB, and the engine itself is lightening fast:
But in general C++ is the language of choice. There are tons of C++ based game engines, and I'd venture to say that the vast majoirty of commercial games are created with C++ or with an engine that was created in C++.
Also see this thread for more info. You'll find some examples of game engines that use a VB style language:
June 26th, 2006, 11:23 PM
i would say c++ with openGL but thats only b/c thats what i learned it. i would stay away from .net simply b/c then u are depending on the end user have the .net framework. c++ is generally cross platform compatable and openGl is open source so what more can u ask for?
June 26th, 2006, 11:29 PM
Yes but from a development view point something in .NET would be a ton easier for someone just starting out, for a seasoned c++ then ya use that. Otherwise just for learning at least, or for your first game, a .NET program isn't so bad.
June 27th, 2006, 12:00 AM
if you know .net or have a visual basic background i would agree. but i learned c type languages first and found .net awkward and annoying.
Originally Posted by Viper_SB
i would say the bottom line is what do you have experience in? if you've got a pile of .net behind ya. go for .net if you've got a pile of c++ go c++
June 27th, 2006, 02:04 AM
Ya that's true, btw C# is pretty much another C type language, not exactly the same, but quite similar.
Originally Posted by pumpkin head
June 27th, 2006, 10:32 AM
C# is a refinement of C/C++/VB/JAVA and all other MS version of all programming language all bundled up into one ""better"" language supporting .net
Generally speaking .net although having new optimized libraries is not recommended because you have a 21 to 33% code overhead slowing down your game. Further more, it has been proven that for bigger project, object oriented is slightly slower in processing power than the good old C/C++ pointer, struct and chain structures...
Therefore, it all depends on what type of game you are doing... Big and commercial with lots of special effects, or just a first game trying to grasp the basics?
Basics? Go Flash or .NET, don't bother with engines as you need to understand the basics of tiles, vectors, 3d and 2d graphics, viewports, data structuring and such...
Complex game, you have background in game programming, then go more into the hardcore proven and effectively fast languages like C/C++...
Comments on this post
June 27th, 2006, 12:41 PM
So are you suggesting it could be better to write a game in a non-object oriented fashion? Maybe a small, uncomplicated game, but it seems almost a little ridiculous to write a major game without object oriented programming. Do people actually do that? Sounds like a nightmare.
Originally Posted by crazyone
Also we have to keep in mind that while C++ is certainly faster than .NET could ever hope to be, I think it's still very viable to write a game in C#, provided the basic rendering engine is written in C++. But I agree -- it depends on the game. I think anyone serious about making a high quality, AAA game these days probably wants to go C++.
June 27th, 2006, 02:30 PM
Quake III was written in C.
Originally Posted by MenDAKE
What is this proof you speak of? I'd like to see it. Any overhead involved with C++ OOP is so small it's hardly worth mentioning. The only major downside I can think of with such a design is if you have a large chain of inheriated classes that all use constructors, in which case you may be calling several functions to initialize an object.
Originally Posted by crazyone
June 27th, 2006, 02:55 PM
Bah proof... it's somewhere in my college notes, a teacher said that. I guess it isn't really solid proof since i can't prove it...
Althought i'd have something to say to that, if you use a language like .NET which sports fancy garbage collector, tons of interfaces, classes all interlinked, there is bound to be an overhead that is not necessary unless you are one of those new developpers that were taught that pointers is something of the past and memory allocation is not a problem since we have gigs of em and garbage collectors... I don't agree to this method of teaching, every programmer should take great care at the amount of memory he uses, the way he codes and how he manages it's resources...
Dont' take me wrong, i love APIs, Drivers and stuff that makes the hardware management easier, but i doubt memory managers, garbage collectors, exception handlers, scripts debuggers and all the new features they keep packing in our languages is for the better. The more they put in a language the more they will put overhead in it and thus slowing it...
Im going for a Game design degree at school, they are using Visual Studio 2005.
Ive tryed to learn both C++ and C++.net. Its hard for me to understand the locgic behind some of the code after being use to basic coding :\ Its also been sevral years. blah.
Anyway its good to see input
Also. is there any way of getting around having the .net framework? Why can it not be included with the install of the program if needed? (like direct x)
If you've never done any programming language, C++ may not be the best choice, I would recommend Python, as it's easy and fast to write (and learn though the syntax might look a bit weird for first-time programmer if you've done stuff like PHP)..
This game, http://eve-online.com/ was written in Python.. (Example that shows that HQ 3d games are possible to write in Python)
http://pygame.org/ Is the engine (or library(?)) everyone likes to use with Python for game writing..
C++ is used alot in games that's true (most used probably) and that will be my future language for writing games..
July 20th, 2006, 06:48 PM
For the 3d quality of a game doesn't really matter in which programming language you write it, because the textures you use need to be of good quality in order to make a high quality game. Only the speed and special effects like light and bump-mapping has a lot to do with te programming language and the engine.
July 20th, 2006, 11:33 PM
Well its pretty obvious, if you want a 3d game or just a standard computer game, use a language that compiles to get a executeable, then narrow it down, hows your experience with programming in the past? If youve programmed before in languages like PHP, or CGI, or even some form of C is even better, then programming your game in a form of C would be logical, and the overall best, but would be a great challenge, and would require a lot of learning. If your good at some form of C, then use it. If youve never programmed before, a VB .NET would be the best choice, but would be pretty tough for someone whose never programmed before.
NOTE: By "some form of C", im infering C, C#, or C++ (just so you don't think im a retard or something).