This summer I gave myself a goal of learning as much as I can about making games independently as possible. I was wondering where is the best place to start (programming wise.) I spent some time on XNA studio a few years ago, but I never finished the 2D tutorial. Is there a better place to start or is XNA it? Thanks for any help.
The Quest to Make Games
ActionSctipt 3 in flash is a fantastic place to start scripting, as it's objective based and quite flexible.
Now, should access (or ability to create) art be an issue, look into some super basic C++ or Java tutorials, and from there you can make some ACII games or text adventures to start you off.
I must say I personally think that Unity3D is the best place to start. It contains a dialect of JavaScript (UnityScript), Python (Boo), and also C#. It is a fully featured engine, with a physics engine, sound, skinning and much more. There are many great places to find tutorials for it, such as Unity3DStudent.
@AquaGeneral: Thanks for the link. Unity looks awesome. Double thanks for the link to the Tutorial site!
I'd absolutely say C# and XNA 4.0 are a really good place to start for 2D coding. After that I'd advise moving onto Java, C++, DirectX and UDK among other tools, you need to learn as much as you can as fast as you can but make sure you have the fundamentals down and that at no point is there a major gap in your knowledge. If you do want to know everything about how to develop a game then you've got some serious work cut out for you. You'll have to be able to design, code, program, make music, make sound effects, voice act, organise testing, possibly lead a dev team, etc. If you're genuinely looking into a career in games development then I strongly advise you to pick one path and go with it, and to spend your time not only learning but also building contacts with other potential indie devs and building a portfolio.
If you haven't done any programming at all, you should learn that first before attempting to make a game (it's difficult). If you want to make stuff kind-of from scratch (if you want to code more or not bother learning how to use engine tools) just use something like SDL with C++ or XNA (C#).
If you want to use engines used for current games (basically do what modders (and most devs) do) you should check out Unity as mentioned above, also www.udk.com (Unreal Development Kit, arguably the best free tools available, extremely powerful), or if you have a source engine game, you could look at the Source SDK.
If you want to code games you really need to enjoy logic problems and at least to an extent, maths (although programming isn't maths, unless you're making a graphics engine or something), you might find it boring if you don't enjoy such things.
I think you understand that with your ultimate goal of becoming a video game luminary what you're essentially trying to do is learn as much as is humanly possible about video games and how they are made, as well as acquiring the skills to make them. Personally, as well as researching and analysing within the world of video games I think looking into subjects outside of video games and applying them back is also a big part of teaching you about games, see how real-world architecture and level design interact, see how cinematography has a place in video games, etc. As well as researching, making games, building a portfolio and making contacts I also think a good route to go might be trying to write articles about the various aspects of video games, it gets the creative juices flowing and really makes you think about and analyse the subjects within games you're tackling.
If you want to keep up with games at an industry level then I'd suggest reading Gamasutra on a regular basis and if you're looking for insightful articles analysing games as a whole then The Escapist is a great place to check out. I'd also recommend watching Extra Credts and The Game Overthinker (start from the beginning with this one) which have provided some of the most intelligent commentary on video games I've ever seen, the former especially. As for working your way up to a position like Levine's, while you'll constantly want to be learning about all aspects of games the way you're going to get your foot in the door won't be at a high up creative director position, you'll start lower down and as such you'll need to figure out how you're going to enter the industry, be it as a programmer, an artist or whatever you choose. If it's of any help I've also written a series of blogs on becoming a game designer ( part 1, part 2, part 3, part 4, part 5). Anyway, I wish you the best of luck and hope you make you make it in your chosen profession.
P.S. On the subject of games programming, programming games, paradoxically, may not be your first port of call. You'll want to make sure that you're familiar with doing more simple jobs within the code and understanding the fundamentals before you can apply them to something more complex like a video game.
XNA is a great place to start. It will teach you a lot about the process of creating something, defining what happens and when, and how to draw it. The hardest part about XNA is its very bare bones. Its not an engine, just a framework. Things like collisions, physics, etc. are not simple toggles like in engines but things you will have to implement yourself (either by yourself or through libraries you might find.)
These are some great tutorials to get you started: http://www.xnadevelopment.com/tutorials.shtml
I also highly recommend the ones on Microsoft's site especially for collisions and their screen manager class: http://create.msdn.com/en-US/education/catalog/sample/game_state_management
http://create.msdn.com/en-us/education/gamedevelopment
The "problem" with using XNA however is you're limiting yourself to 360 and Windows Vista/7 (and Windows Phone 7.) The important thing is that concepts are almost always the same no matter what framework or engine you use. In the end the language/engine/framework should never be more than it is, a means to an end. Once you understand the concepts its very easy to move between different environments.
Other than XNA I've used Unity 3D which is really nice and full featured. The free version is free which is a steal.
2D or 3D from the design or programming perspective, art assets are the worst setback. Find a friend or realize how the game looks doesnt effect how you have to program it otherwise you'll spend a bunch of time creating assets when you're not trying to be an artist.
If you're a student, MS has free visual studio and 1 year free for xna creators club https://www.dreamspark.com/default.aspx
@KarlHungus said:
@Driadon: Thanks for the tips. Where do I find ActionScript 3 though. I know it is an Adobe software, but I can;t find it on their website. Is it part of a software package?
Actionscript 3 is part of Adobe's recent releases of Flash. They have a 30 trial for Flash, just download it and check it out.
Please Log In to post.
Log in to comment