So as a kid I used to really love making ‘mini’ comics and it seems that desire to create my own small versions of the things I love is not dead in me. For this reason I am thinking of getting into the whole XNA community games creation stuff.
My question is this: For someone who doesn’t know squat about programming I would love a little advice as to what kinds of basic community college classes or intoductory books would give me enough working knowlege to get started on this.
There was a brief discussionof this in the Tech forum. It seemed that they came to the conclusion that diving in and using Microsoft’s good tutorials was the best angle. I have looked around a bit just this weekend and there is a ton of beginner information just on their sites.
No problemo. Even though there are developers-a-plenty around here, I think they go elsewhere to actually talk about the nuts and bolts. I bet come Monday, some more folks might be able to point you towards further resources as this thread is here and not the Tech forum. I do not visit it much unless I have a problem so stuff kinda gets missed in there.
The quality of your classes at a community college are going to vary wildly based on the community colleges near you and your professor. Still, they provide some structure if you have a hard time setting your own goals. I’d suggest starting by learning plain old C if you have no experience whatsoever. I don’t know why, it just seemed easier to learn C and then move onward rather than diving into a newer language.
The basics of XNA are that if you use it, your game will probably never run anywhere but on Windows and the Xbox 360.
If you’re okay with that, go for it, but keep in mind that XNA is just a set of development tools, and there are a lot of others available.
I always make sure to emphasize this point because much of my ability to get things done these days is the fact that I have this big base of game code that I have been adding to and re-using for 12 years. If you work in a non-portable language or paradigm, then you can’t really get that.
But also, maybe it doesn’t matter much when you are just starting out and learning.
Yeah, I kinda see the shortcommings that XNA will create for me, but to be honest I feel compelled to explore the idea of making a game and I have to start somewhere. To be honest Jonathan you are in a whole other leauge than I, and for me something user friendly seems a good place to start.
Anyway thanks for the word of warning, and mabye I’ll get really into it and branch out, but I figure you got to start somewhere.
Running C# on other platforms is perfectly feasible these days with Mono. Just stay away from the bleeding edge language features (most of which aren’t supported on the compact framework .NET runtime for the 360 anyway). For someone starting out now I’d argue that getting a good base of managed C# code is probably more useful for 12 years from now than starting with C++ now, particularly given how threading is going to be more and more critical coupled with the fact that writing well-behaved threaded code is so much less difficult with C#.
The XNA bits are what you have to worry more about abstracting if you care at all about platform neutrality, both because the APIs are only currently available for Windows and the 360 and because it is heavily based around HLSL.
Make sure you really want to be a programmer, though, at least at a hobby-level. To this day I think XNA is mismarketed to appear to be some sort of fairly simple GameMakerish tool and it isn’t. It certainly simplifies a lot of things when it comes to writing games that make use of modern shader engine designs, but it isn’t at all for non-programmers, or people who only want to do a light amount of programming. It is a set of APIs, really, not a rapid development tool. If you just want to do creative things but not really learn to be a programmer you’re better off waiting for Kodu (formerly Boku) or messing with something like PopFly or one of those GameMaker/GameCreator/whatever things.
PS. A lot of the time independent programmers worry too much up front about geek purity things like platform neutrality when they Ain’t Gonna Need It. Build a game for XNA, if it is good enough that anyone cares to play it, make it portable later.
(Related) PPS. Where’s the Windows release of Braid, let alone Braid for Mac/Wii/etc? I mean, I know the Windows version really exists since I played it in the beta before the 360 version even came out, but this kinda ties into my point about how platform neutrality during the initial project implementation stage often seems more important than it really will be.
I have seen indie developers complaining that XNA has compatibility problems even on windows PCs. It doesn’t do a good job telling you what other packages you need to have installed to run things in it, and has some shader requirements to even run.
I tried to learn some programming through XNA, but found it daunting how much stuff you needed to do to, say, get sprites moving around on the screen. I found GameMaker was a better way in for me. You can write decent stuff in it (eg. Cactus’ games, Spelunky).
hmmm…well what I want to make is a skiing simulation. I have some ideas as to how the combination of anolog sticks and triggers could be used to create something that actually reflect what you do with your feet to create a ski turn (turn shape and edge pressure). I really have no idea how obtainable this goal is in XNA, or another system for that matter, but I do want to have a go at it.
Coca Cola Zero is right – XNA is not a simple game creation tool, it’s a fully fledged programming environment, and only marginally less complex than C++/DirectX from a layman’s perspective. You’ll have to become a semi-professional developer to create anything useful with it. You are probably mistaking XNA for something else, perhaps GameMaker.
Also quoted for truth. Platform neutrality is just totally irrelevant if you’re a hobbyist and the platform you’re “limited” to is as massively popular as Windows plus Xbox 360.
If you know nothing about programming and just want to start making little, simple games, use Game Maker. If after a while you’re starting to feel the limitations of what you can do with the gml scripting language, then moving on to a more general-purpose language won’t be so hard, and you’ll know something already about game making and programming.
Agreed. I looked at it much of the weekend and from the cute little Creator’s Club website down to some of the tutorials they make it sound llike anyone can do it with ease. While they can, it is work.
Yep, you have to be a programmer to do this. But I think that word scares a lot of people – programming isn’t a skill some people have any exposure to but that doesn’t necessarily make it difficult.
Sort of. In broad strokes, programming is pretty simple, but I’ve noticed that when I try to talk about how .NET works to, you know, the people that I supposedly work for their eyes kind of glaze over and they go to their Safe Place, so maybe it’s just a thing for some people. I haven’t had a chance to poke around in the XNA framework, mostly because I’d rather play games in my free time than make them, but is there enough stuff in there to prevent a lot of the newbie programmer errors that everybody makes in C++ that basically comprise the entire reason every CS program I’ve ever heard of teaches primarily in C++? After the sheer volume of work that arogan had to do just to make a top-down shooter that wasn’t what I would call sellably terrific (I worked with him at the time, and got to see how long it took to progress from idea to finished…thing), I also wonder if it’s possible to realize the sort of basement game idea that an amateur developer might have without having to invest a prohibitive amount of time.
You guys certainly are right that it isn’t a simple game maker, but I want to note that I’ve found the XNA tools to offer the best combination of accessibility and price point of any environment (as far as games). I was able to get basic stuff up and running in it much more quickly than I’d ever experienced prior.