   XNA vs C++
  Yeah I know what you guys are all thinking... use the search right? Well I did and my case is particularly unique because the programming language that I've been learning at uni has been java, not c# or c++. I've already decided that since I am dead set on going into game programming it is absolutely imperative that I learn C++ eventually and hopefully soon so I can develop an impressive level of skill by the time I graduate. However from looking around I also get the impression that XNA/C# is much easier to use to make solo projects, and that having an impressive portfolio is the number one thing that companies look for. Using java to make games is out of the question for me, since I'll be using it anyway for the rest of college and I need to start picking up another language soon. I'm very close to signing up for a curriculum at gameinstitute.com that includes C++ and directX training, but I figured I'd get all of yall's opinion first before I made any move. Considering that I'm a pretty skilled programmer (at least for someone of my experience), do you think I'd be able to use C++ and make some good solo projects that I could showcase to companies once I seek employment? I still have at least two years before I graduate. The only thing that holds me back from choosing it over XNA is that I've been told by a friend that XNA has a HUGE bank of tutorials and other things of that nature to make solo projects easier, while C++ doesn't and I'd struggle a lot more. What do you guys think?   
  If you already know Java then you pretty much know C# already. They are almost exactly the same.Get a decent book on C# (I used Professional C# 2008) and you will be up and running in no time.Having said that, if you are a reasonably competent programmer it should not take long to get the hang of C++ either. Obviously there is more to learn but you will be able to get up and running with it pretty quickly.   ;Quote:Original post by ahung89Yeah I know what you guys are all thinking... use the search right?No, personally I was thinking "damnit, another newb who can't even be bothered to use paragraphs."Quote: Well I did and my case is particularly unique because the programming language that I've been learning at uni has been java, not c# or c++.Unique? That applies to damned near every college computer science student in the country.Quote:I'm very close to signing up for a curriculum at gameinstitute.com that includes C++ and directX training, but I figured I'd get all of yall's opinion first before I made any move.Don't bother, it's a waste of money. Your options are:1) Use C++. This will involve writing console programs for a while to learn the language, then slowly learning how to get some basic graphics going, then trying to figure out how to actually build a game in C++. 2) Use XNA/C#, and probably modify the sample games for starters, learning C# while you do. Then learn to build your own games from the base up, and eventually transition to C++ with a pretty good idea of where you're going.Your call.   ;  Everyone thinks their case is unique. It turns out that, in almost every case, they are wrong. I'm not sure what you're expecting out of this thread, but everything you could possibly hope to obtain from GDNet in terms of advice related to learning languages and future career choices can easily be found in the uncountable number of preexisting threads on these topics.There's a reason that GDNet keeps an archive of all of its old thread, and a reason that they provide a search feature for convenient access to all of that knowledge.Even if you're particularly lazy, you're still in luck. A kind soul has done the work of doing the search for you, and has archived a nice list of them for your viewing pleasure. Expecting people to repeat themselves over and over even when you know that such information has already been given and is readily accessible is quite arrogant and will put people off from helping you in the future.   ;Quote:Original post by Mike.PopoloskiEveryone thinks their case is unique. It turns out that, in almost every case, they are wrong. I'm not sure what you're expecting out of this thread, but everything you could possibly hope to obtain from GDNet in terms of advice related to learning languages and future career choices can easily be found in the uncountable number of preexisting threads on these topics.There's a reason that GDNet keeps an archive of all of its old thread, and a reason that they provide a search feature for convenient access to all of that knowledge.Even if you're particularly lazy, you're still in luck. A kind soul has done the work of doing the search for you, and has archived a nice list of them for your viewing pleasure. Expecting people to repeat themselves over and over even when you know that such information has already been given and is readily accessible is quite arrogant and will put people off from helping you in the future.That was a very helpful link. Thanks.   ;  I give the same advice to everyone, but I'll give it again.Make games with XNA while you learn C++ on the side. It will make learning C++ seem like less of a chore. XNA wasn't around when I was learning to program. All I wanted to do was make games, but with C++ it's a bit of a long process. These days while I work with C++ (and actually love working with C++), I do all sorts of small games and prototypes in XNA at home.XNA allows you to get quick results that will help to offset the slow results you'd see with making games using C++.   ;  Thanks for the information. Looks like I'll be going with C#. I'll just take the C++ course at my school (one hour a week) to supplement it.I'll make better use of the search in the future. Apologies to anyone who was annoyed by this thread.[Edited by - ahung89 on May 31, 2009 1:48:01 PM];  Just a note...Why not use python?The future of Java and C# is pretty uncertain in terms of commercial game development (And indie game development for that matter), and you already know how to use one of them...plus the other is pretty similar. Python on the other hand is a scripting language. Something with different pitfalls and advantages. Not only has python been used in MANY more games (Both indie and commercial) than both those languages put together, but it's a heckovalot easier, and has more libraries.Plus you can easily integrate it with C/C++.Google and check out pygame, numpy, and panda3d.My only real complaint against python is the difficulty in distributing a standalone package (Although technically you can just cheat and include the python distributable with a batch file to run your main script)   ;  I've been thinking about this a lot today. I've been reading a lot about C# and it sounds like a great way to get started making games. Just one last question though.How realistic would it be to try to learn both C# and C++ at the same time? I still feel like it's really important that I know C++ by the time I graduate. I could work mostly on the C# and take an online course in C++/take the C++ course at school on the side... I think I can manage it, since I'm a very disciplined and responsible student. Unless the nature of the languages would make it very hard to learn them both at once.   ;  Learning both at the same time is very feasible. You learn multiple languages in first year university (in my case Java, C and C++), and it wasn't difficult to balance them.   