I'm thinking of devoting some spare time to learning game programming. I've coded only a tiny little bit, so I guess I have a few questions: a) Is XNA (and the C# language) a good place to start learning to programme games? b) Is the XNA system (Visual C#) actually a good IDE? c) Is anyone here part of the XNA Creators Club, and is it worth the money? Is it a good, helpful community? d) This is perhaps a bit far-fetched, and perhaps missing the point, but I'll ask anyway. I'm a bit of PlayStation fan and was wondering whether I could use XNA (or Visual C#) to program PlayStation games? Does Codewarrior (or any other PlayStation IDE) support C# or only other languages? Would I be better off learning C++? How much more difficult is it? I know these are fairly broad, general questions, but as a starting point.... Thanks in advance. Dave.
There are many more qualified members here than I, but I think we all agree that starting in game coding is best done on a PC. It's the cheapest way and you don't need to bother yourself with thinking about this and that. As a bonus, anything you do through DirectX can be ported pretty easily to the 360 when you decide that you ve got enough experience under your belt to show the world what you can do =)
The Playstation uses C++ and I THINK (I'm not sure) Visual basic. it's also Linux based. you'd be best off tracking down one of those PS2 linux kits if you wanna do PS2 games.
Visual Basic on a Sony games console? Nope. By the way, a console can use any language you want, as long as you have a compiler to turn that code into an execuatable that the system can run. Jak and Daxter, for example, was coded in Lisp.
I'll be blunt: if you are an inexperienced programmer, than any language/API could be difficult to learn. If you know Java, or at a minimum object-oriented C++, then it is easy to transfer into C#. I do think that the XNA framework makes implementing games faster and easier than some other solutions, especially for 2D games. The advantages of using the content pipeline to automatically load content (textures, models, audio, etc.) is by far one of the greatest benefits. However, while XNA handles some things more easily, things like 3D movement and rendering still have to be handled manually. XNA is really just a set of references and assemblies on top of C#. In other words, you will be using the regular Visual Studio IDE for programming. Some people like it, some don't. I happen to like it, though I would like some integrated GUI support for XNA games. The CC forums are definitely a great source of information (and do not require a paid account). The starter kits can be useful, especially if you have little experience. You do need to have the membership in order to use XNA on the Xbox though. Nope, not a chance. I have to counter with a question: what is the extent of your programming experience?
While XNA/C# might make it easy for you to get into the game, It's not the best language I would learn off the bat. Other then windows & xbox 360, no other system supports that language (unless you want to learn how to write a compiler ). Personaly I recomend learning on a PC in C/C++ with OpenGL. It's simple and complex enough to let you do a lot of things. As well most games are coded in C/C++. To get started in OpenGl, I recomend nehe.gamedev.net but before you start. FIND A GOOD BOOK ON C++ CODING!!! Without a foundation in C/C++ first, you're not going to go anywhere. Small FYI, It is posible to lern on your own. I'm actualy a self taught coder (never took a course in my life) and now I program games for a living.
I have the linux PS2 kit, and I have Ubuntu 7.10 and the Cell SDK installed on my PS3, but haven't really the first clue about what to do with it. I can't find any specific guides for coding the PS3 and PS2, whereas there are beginners books for XNA and Visual C#.
If you want to learn how to work on sony platforms you're going to need to learn C/C++. There are tons of beginners books on either one. Once you have a book that teaches you how to program (period), then you can move on to more spacific books or documents for working on ps2/ps3/psp. Again the thing you must learn first is not coding for platform X, its learning how to write code.
Thanks subbie. Point taken. I guess what I was after was some "relatively" quick way of seeing some results of my coding effort, without having to plough through 800 pages of textbook before seeing "hello world" come up on screen...! I had interpreted XNA and Visual C# to be a more simple path to my goal (which is just to see a game I made being played on a console, it's not to become a professional) than learning C++, although I get the point about learning to walk before you run... And because of my sort-of love for all things PlayStation, I was hoping than there existed an XNA-equivalent for the PS2/PS3, rather than having to learn it all the hard way...!!!
If you want a simple route then you could always go Lua for PSP. It's a simple and easy to use scripting language where you could see results up and running with in a week. Still you're not going to be doing anything near comercial quality but you might pull off something just good enough to make you contemp. C/C++/C# are definantly not a quick route. You're looking at 1/2 year to a year till you actualy write something worth wild.
Pick up Deitel and Deitel "C++: How to Program". It can be expensive since it is considered a college textbook, but it is definitely worthwhile.
Yeah, I've mucked around with Yabasic, but it never really was supported (and I need support) after launch like it could have been. I'll pick up a couple of C++ books, and I've downloaded Visual C++ Express, so we'll see how I go. If I have any probs, can anyone recommend a good forum where beginners are helped out (and not flamed...!)...?
Deitel and Deitel is always noted as a good bunch. I, however, love the book 'Accelerated C++: Practical Programming by Example' by Koenig and Moo. As for game development - 'Introduction to 3D Game Programming with Direct X 9.0c: A Shader Approach'by Frank Luna is well regarded in Game Development uni courses.
There is also this, which at the risk of being laughed at loudly, is where I am starting from at the moment. Having neither programmed anything (other than a washing machine) since the days of BASIC, nor really given it much thought until I started collecting development systems, it's an ideal solution for someone starting on the very first rung of a very long ladder! The idea for me being that as I learn it I can start to perhaps teach it at a far flung point. Another string to the bow when going for lecturing positions. It's also good if you are a parent and have kids you want to share your obsession with: http://phrogram.com/ Looking forward to seeing what you come up with SB, IF you do any work on the PS or PSP.
Depends on what kind of Support you need, really. If you are taking the proper route and learning C++ before trying to do games dev, then usually a quick google will sort out most of your trouble. If you are using VC++ Express and such, then the MSDN forums usually provide good answers, depending on questions. The problem with programming is that when you get stuck, it can be for a myriad of different reasons (Linker Errors, Syntax Problems, Runtime errors, Theoretical understanding of code, understanding types, etc..). I hesitate to say it, but if you are really stuck you are welcome to PM me and ask for help, as I did support Visual C++ and the linker, runtime libraries and such in my previous position, so I should be able to help.
Thanks for the offer regarding support (as a last resort), it's most appreciated. It's offers like this that makes these forums great.