I would strongly recommend going the C#+XNA route for both 2D and 3D game programming learning. I'd go as far as saying that combination is potent enough for prime game programming. If you've had some practice with C++, moving to C# should be pretty straightforward, just little syntax relearning and Googling around for better programming practices on C# (the C++ approach might not be the best approach in C#). Then you can either take an XNA book, download it, or my favorite, just learn as you go. Don't know why, but I prefer this method, not some had guiding book which will lock you in certain design practices mentally, which might not be optimal for your own game ideas. Just think of a game, conceptualize it, and then start searching for suggestions and tutorials on how to use the provided tools for what you need. I recommend XNA, because it provides a tremendous amount of tools for algorithms, and content (sprites, textures, audio, video, models, shaders, etc) use and manipulation.
Edit
@PumpAction
Well yes, I would recommend going the best way in my opinion.
just learn as you go. Don't know why, but I prefer this method
I've never been able to learn anything from the books. Tackling a problem and just figuring out the solution by searching the web gives you a much better understanding of WHY you're handling it in a particular way. This goes for things as stupid as HTML/CSS all the way down to assembly, which I've had the pleasure of programming in as well /o\
I would strongly recommend going the C#+XNA route for both 2D and 3D game programming learning. I'd go as far as saying that combination is potent enough for prime game programming. If you've had some practice with C++, moving to C# should be pretty straightforward, just little syntax relearning and Googling around for better programming practices on C# (the C++ approach might not be the best approach in C#). Then you can either take an XNA book, download it, or my favorite, just learn as you go. Don't know why, but I prefer this method, not some had guiding book which will lock you in certain design practices mentally, which might not be optimal for your own game ideas. Just think of a game, conceptualize it, and then start searching for suggestions and tutorials on how to use the provided tools for what you need. I recommend XNA, because it provides a tremendous amount of tools for algorithms, and content (sprites, textures, audio, video, models, shaders, etc) use and manipulation.
Edit
@PumpAction
Well yes, I would recommend going the best way in my opinion.
Thanks for the tips. I was going to stay clear of xna but Ill give it a look seeing as you highly recommend it, plus Ive been meaning to look into c# for a while, so i guess nows a good a time as any.
The full object oriented approach in c# and java leads to a better and more understandable code too (imho). But I still love to fool around with javascript (Well and I have a lot of JS to do at work so ... yeah )
Am i right in thinking that most of you guys learned programming in college/uni? Thinking about going back into education myself because:
- Im fed up with minimum wage, slave labour, treat you like shit jobs
- i want to get my teeth stuck into something
ah fuck i should have made the most of school :/
God help ya, if you end up coding DB's front ends, mainstream shopping solutions for the small business, etc. it's the same minimum wage slave labour like at the factory floor but with constant overtime, and at the first sight of Indian coders quality improvement you job will be outsourced to them faster than you realize what the hell just happened
Am i right in thinking that most of you guys learned programming in college/uni?
Negative, just like PumpAction I'm self-taught for the most part. Doing Software Engineering at uni now, but they basically also go "use language x to complete the task, gl". They allow us to decide for ourselves how we learn the languages
For your paygrade though, getting a degree will be good. Only reason I'm doing it really, because it pretty much doubles the minimum I get just because of the degree
@ WhiteBarbarian: So true. I work for a web studio, and our first client came up to us going: we'll be hiring some people in India to take over maintaining and improving the website.
Still wanted to use our servers and everything, so we're still charging them for that (even though it costs us virtually nothing), and their Indians are taking weeks to do what would take us a day
Am i right in thinking that most of you guys learned programming in college/uni?
Negative, just like PumpAction I'm self-taught for the most part. Doing Software Engineering at uni now, but they basically also go "use language x to complete the task, gl". They allow us to decide for ourselves how we learn the languages
For your paygrade though, getting a degree will be good. Only reason I'm doing it really, because it pretty much doubles the minimum I get just because of the degree
@ WhiteBarbarian: So true. I work for a web studio, and our first client came up to us going: we'll be hiring some people in India to take over maintaining and improving the website.
Still wanted to use our servers and everything, so we're still charging them for that (even though it costs us virtually nothing), and their Indians are taking weeks to do what would take us a day
+1
@whitebarbarians post: +1 too ...
We had an indian in that place where I am now and it took him 2 months to do what I did in 3 days (and his version was buggy and not working )
Unfortunately, you will have to work with VS to get the most out of XNA. You can of course use something else, it is a .NET library after all, but VS does stuff which you will not be able to do easily on other IDEs unless you do it manually. For example, when you add shaders, 3D models, textures, sounds and videos, VS "compiles" them for use with XNA, and allows you to use the content manager for quick loading of cooked (or "compiled") content.
Of course, once you go Visual Studio (with perhaps Resharper addon), there is no turning back.
BTW, that racing game is open source starter kit, so you can take it and observe what they have done. I would of course suggest starting with basics and not jumping into such a complex thing.
Yes, in order to use content in other IDEs as one would use them in VS, you'd need to run a custom command line tool that cooks every content with specified content provider using the provided compiling EXEs. Not as easy as it sounds.
Edit: What's with all the ninja deletes and edits?
I've advanced somewhat from there, moved away from the whole simulation thing and more focused on the terrain rendering itself (I am a graphics programmer, not physics ). I just needed a "simulator" (with quaternion physics ) for my final project:
Signature/Avatar nuking: none (can be changed in your profile)
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum