To VB or *NOT* to VB...?
timbo152kThat is the question. I have been writing games in VB for a while now, and am starting to crave more then the language has to offer... (ei. more raw power, higher framerates, more low-level control) I'm getting rather handy in C++ and am starting to find myself working with that language more then VB, and honestly loving the flexibility and power that C++ afords, but at the same time I miss the faster development cycle, the easy-enough-for-kindagarten syntax, etc. that VB has offered through the years. I find myself wondering if I should abandon my long-time favorite language in favore of the more muscular C/C++ languages, and a little voice in my head also seems to be saying you're not making *real* games in VB, *real* games are made in C or C++ which makes me want to move on, as one day I hope to develop games as a career - and these are, of course, the languages of choice. Has anyone else experienced these symptoms? What are your oppinions? - Timothy Patrick
Eric ColemanThe people that play video games really don't care what language you use. Games programmed in VB [b]ARE[b/] real games. The best selling game of all time was programmed in HyperCard, so saying C++ is the best language for video games is just stupid. The langauge you choose should get the job done, plain and simple. That one completed game that was created with HyperCard is worth more than all of the unfinished games in C++ or VB. If you want to be a game programmer professionaly, then C and C++ are definatly the langauge of choice in the industry. However, you may want to look at the credits for whatever game you happen to be playing at the moment. Chances are it is an extremely long list of people with only 2 or 3 programmers out of hundreds. The chance of actually getting a programming job at an estabilshed publisher is pretty much zero. If you still want to be a *real* programmer making *real* games, then you need to play to your strengths and do everything yourself. You won't be creating the next Everquest or DOOM type game, so you need to find something that's within your grasp. It is nice to have dreams, but it helps to ground them in reality.
VBBRI guess anyone who uses VB and then learns C++ gets that damn voice. I got on mine too. And mind you, I just learned the basics of C++ and use it nearly never. I may be a little tied to VB however, because the (paying) project I'm currently working on is CERTAINLY much more easy to do in VB, as it heavily uses things like ActiveX (specifically, RealPlayer and Flash), UI, much debugging, etc. I admit though that I should start working on something C/C++ if I want to learn it well, and I want, because it will be needed in the near future. I just started being interested in PalmOS development, which is much more well diffused in C/C++ (I even downloaded the palmsource SDK and I'm taking a look at codewarrior) compared to VB or the like (AppForge, HB++), and I pretend to be a games programmer in the future. (PDAs included [:D]) EDIT: Somewhat OT now, but recently I managed to learn JavaScript in 20 minutes... dammit I'm still impressed. I guess once you learn the basics of programming itself, any language can be learned fast. It just doesn't apply too much to lower-level ones like C/C++ or even ASM, but if you know VB well, something like JavaScript, Python or Pascal is a piece of cake then. (in my case VB is already part of me, I guess I couldn't forget it even if I wanted to)
PeterI found going from VB to C/C++ really easy in terms of just learning the language. It probably helped that I was forced to take a class on it but even so, I coasted through it ;) The only real new thing (sort of) are pointers and then not even really since you sort of use them in DirectX (plus VB does have the varptr function). I mean you also sort of use pointers implicity when you pass variables as ByRef or ByVal so its not too big of a jump. Classes you're already familiar with in VB, structs=types, namespaces are a little foreign to vb. Basically you just have to pick up on some little things so all you really need to do is skim a C++ book and get started.
SionThe exactly same voice that timbo152k speaks of, also appeared in my head telling me to take the leap from VB to C++. Actually that voice has been speaking to me for quite some years, but untill recently I've been able to tell it off by saying C++ is way too huge and complicated for me, and the syntax is nothing but symbols and strange characters and dosn't make any sense. Ever since I found out that the "real" games were made with C++ I've been wanting to harness that language. Now I finally started learning C++ and I've chewed my way through a 1000-page beginning C++ book. Even though I have 6 years experince with programming in VB, and year in Java and a bit VB .NET, I've still found learning C++ to be quite hard. There are so many small things that you have to keep in mind, and so much more is left fully up to you without any of VB's safety nets. That being said C++ gives you very much more power than VB ever could. Being fluent in C++ also enables you to read and understand game development articles, tutorials and books, most of which are aimed at programmings who's using C++. And hopefully being able to understand and use C++ will prove to be a key-card in getting a job in the game development industry. I'm not abandoning Visual Basic, but for developing games I'm going to use C++ from now on.
Eric ColemanI guess I'm the only one left that uses VB, LOL
timbo152k*pats* not at all, we wouldn't visit this site so regularly if we dont still use VB... my entire point of discussion was to ask how valuable VB really is for game programming. *Not* to sound like one of *those people* who says 'Game's cant be made in VB' - but I am saying, is it really practical - I believe in some cases it is, as you stated Eric, the user doesn't care what language it is made in, as long as it plays well and runs smoothly...
ZarnethNooo! Don't leave VB! I've never used C/C++ myself but perhaps a combination of VB and C++ dll's may be worth considdering? VB doing the general stuff and make a C++ dll for whenever you need some number crunching power?
timbo152kThat seems like alot of unnecissary overhead when I C++ by itself can accomplish much more for much less CPU power... just might use a little more brain power =P
PeterWell, problem with C++ is it's a bitch of a language that bites your hand every chance it gets ;) Of all the languages I've ever used, VB is by far the nicest, shame Microsoft messed it up with .net
masterboodaI am going to put my 2c's into this argument and point out the one thing that eric pointed out. The language does not make a good game... I have played a lot of crap that was programmed in C++.... A good game has nothing to do with power or speed or muscle, but ideas which cannot be measured in programming value... I have programmed c++, vc, and even assembler, and this gave me an appreciation for vb and taught me good programming habits...(even though I do not use them...lol), so learn them to expand your knowledge.. why vb for games, because you can actually concentrate on making the game... which is the fun part... saying c++ is better than vb in making games is an ignorant statement... a reevaluation needs to be done when you switch to another language... is your love really for making the game or just plain programming.. Think about it.. Also I hear all this stuff about c++ having more muscle and speed, and I will admit it does... but code with some work can be optimized to work great in any language. Also with computers being the state they are now, you can make great games in vb and speed really isn't an issue anymore. c++ is good, and probably outshines vb tenfold, but I prefer the ease of vb, because making a game in this environment is fun, but of course I am not into this for money, but as a hobby, and to believe you can just simply get a gaming job, by knowing the language is kind of naive and unrealistic...just like eric said, anymore gaming teams aren't made up of programmers... DaBooda out... I will remain a dedicated vb'r till the end of time...
Zarneth
quote:
Originally posted by Peter <br> Of all the languages I've ever used, VB is by far the nicest, shame Microsoft messed it up with .net
Exactically what does everyone have against VB.net? It's got a few problems but overall it easily makes up for it in other areas. I tried edeting one of my old programs in VB6 the other day and it was hell. 'least as far as the dev environment went.... Though it was pretty freaky to be able to edit the code wihle it was still running. *giggles*
reindeer hornsI have programmed with VB6 for living the last 5 years. I tried Microsoft DirectX7 SDK for 2D stuff some years ago, and didn't feel it would give a boost when compared to pure GDI API. I thought one needed C to make good games. Those SDK examples were real bad. When I recently bounced to DaBooda Turbo, I realized that I had really overlooked the boost which DirectX gives to VB6. Reading the DaBooda tutorials I got the feeling that it would be better if I did my own engine just for my needs (I feel DaBooda has TOO MANY features! It somehow feels like it distracts me). I gave a look for all kinds of DirectX for VB6 tutorials, and found this great Hybrid.zip example by someone. I was shocked by the simplicity of the code and the great performance the example gives. I am now even more thrilled by the capabilities of VB6 + DirectX than I was when I found DaBooda a week or two ago. Now knowing the power that lies in the combination, I am very surprised that there aren't more games made with VB6. It's so simple to create very good looking & fun games! I am certainly going to have a go with VB6 game development. I wouldn't imagine going for C anymore. I can't see any reason for C, as long as we are talking about 2D stuff. I get more than enough power with VB6. Going for C would only make things so much more complicated which is totally unnecessary. Perhaps one day when I have made games that need that extra punch that C gives, but until then VB6 is definately the best tool for really making 2D games.
reindeer horns
quote:
Originally posted by Zarneth
Exactically what does everyone have against VB.net?
I don't know about others, but for me the runtime is simply too large. Adding 20 meg (?) runtime to the download is simply too much!
Struan
quote:
Originally posted by reindeer horns
quote:
Originally posted by Zarneth <br> Exactically what does everyone have against VB.net?
I don't know about others, but for me the runtime is simply too large. Adding 20 meg (?) runtime to the download is simply too much!
You dont need to add 20 megs to the download. You can just tell people to get the .NET framework from MS. Not to mention its estimated that 90% of Windows gamers have the framework already. And Longhorn will be almost entirely .NET. Although it may not be "ideal" to make games in .NET right now its only gonna get better in the future. So why not start using it now?
Almar JolingThe people at .a..e in washington convinced me to try C++ , but I still prefer VB. :P
VBBR
quote:
Originally posted by Struan You dont need to add 20 megs to the download. You can just tell people to get the .NET framework from MS.
And that's so easy for us to do, but too much complicated for the usual user. They would prefer to look for something that does the same and doesn't require them to go over to another website to do some 20MB download. That isn't even mentioning that in the case the user doesn't have a connection, or has dial-up (just ask masterbooda) it won't be very easy to download a 20MB file. The biggest reason I'm hesitating to move to .NET is because of this huge framework runtime. I'm also right in thinking that .NET doesn't work in win95? Because unfortunately some of my end users do use win95 yet, and I "need" to make something that will run (at least) in 95% of the PCs it is distributed to. My main (and only =p) programming *job* currently isn't something that is sold on stores or websites, but a CD with content to be distributed to specific groups of people, hence the worrying with compatibility. If someone has problems, that's negative propaganda.
timbo152kI keep changing my mind about .NET - from what I've seen and heard, it is not a platform with performance-optimization in mind, but rather, it has functionality in mind... In theory, .NET has the *potential* to create applications that run MORE optimized on each different system they run on - programs in .NET could play on each PC's strongpoints and optimize themselves when the application is "compiled" on the fly. BUT.. so far, it just hasn't proven itself - I think the next big jump in home computing will be the common use of 64 bit processors AND multi-core PCs... BOTH of these features have virtually no support in VB6 and thus I think the use of that language will die out. My own oppinion though.
Zarneth
quote:
They would prefer to look for something that does the same and doesn't require them to go over to another website to do some 20MB download.
Considdering most downloads these days an extra 20 megs isn't all that much bigger. People on modem's should be more than used to annoying downloads of that size by now. I doubt very many of us are proffesionally distributing applications in VB.net yet, and when the time comes I would think by then the .net framework would be well distributed enough for this not to be a major issue.