How to get started in Game Development

Hey there!

I have been surfing around the internet and researching about game design. I aspire to become a game developer. However, I have nowhere to start. What do you recommend I should do to get started? Should I first dive into learning how to program in C#? If so, how do I self-teach myself for C# game programming? What books do you recommend in order to help myself improve as a game programmer? And what about learning how to do 3D modeling and textures?

Thanks.

Grab yourself a free copy of Visual Studio here:

There are various online resources to learn C#. Here’s one:
http://www.learncs.org/ (I’d recommend grabbing a good book from Amazon though)

Using Visual Studio, create a new console project, which is about as minimal as you can get and will give you a text-based platform to learn the basics of C#. Try to work your way up to doing something simple, like a guess-the-number game. Try also doing simple things like reading and writing text to/from a file.

Once you feel comfortable looking at C# code and feeling like you can at least kind of read it and understand what you’re looking at, grab Paradox and create a project using one of their samples, such as Jumpy Jet. From the solution view, you can right-click the solution and choose “open in IDE”, which will open it in Visual Studio, ready for editing.
Have a go at modifying the code a bit and maybe introducing some additional assets and features. After you start to feel comfortable with some of the basic Paradox APIs, try creating a blank project and building a simple game of your own for free.

Game development has a high learning curve so my advice is to learn only one or two things at a time so that you don’t get overwhelmed. If there’s something that a sample project is doing and you don’t understand it, skip it while you learn other aspects of the code, or ask on these forums. In a few years you’ll be doing all kinds of advanced, complicated things, but for now, just be patient and persevere at learning one little thing at a time and suffering through the inevitable frustrations that you will definitely experience as you learn, as it’s all part of the learning process.

The key is to focus on learning how to program, and then apply that to games.

You will want to start out with working demos and code, then try to make some changes, see what you can change without breaking things.

Also c# is a great lanuage to know as a life skill. I learned c# on my time as a hobby, and now its my job.
There are a ton of great resources out there. I mainly use MSDN:
http://msdn.microsoft.com/en-us/library/aa287558(v=vs.71).aspx

And I know this is a bit of an old thread, but if you ever have a hard time wrapping your head around the information in books, you can use: https://www.khanacademy.org/computing/computer-programming

It’s a very hands on approach to learning HTML5, and since Javscript is so similar in Syntax to C#, it’d be good to learn and apply towards it. After following the courses here I had a much better understanding of programming, you should definitely check it out if you’re just getting started. The knowledge here can also be used towards languages including Java, C++, ActionScript, etc. There are a lot of languages following the same syntax guidelines, so it’d be helpful to work from the bottom to the top, which effectively takes a lot less time than bashing your head into the wall because of books. (I personally haven’t had a good experience with books, and most people I’ve taught before in the past have preferred this kind of hands on method)

I hope that you enjoy your studies, and also, if you want to learn art such as making textures and 3D models, try to be patient enough to watch Youtube video tutorials on that subject. They may be hard to follow sometimes, but if you want to learn some really helpful techniques, here’s some videos that will help you:

I use Blender as my primary 3D tool because of it’s inclusion of all the primary tools for 3D model designing, including vertex editing, vertex painting, texture painting (Like Mudbox, but significantly easier, as far as I’ve seen), Sculpting (Like ZBrush), Rigging and Animation, etc. I don’t know if you’ve tried it, but it’s a pretty useful tool and there are a lot of very elaborate tutorials that have used it, making it much easier to follow and use.
And plus, it’s free, so that’s a great thing.

Anyways, hope this helped anyone in your position, also you if you’re still in the getting started stages of your career, and good luck to you in the future.

I know my way around C# and I would not have problems creating 3D models.

The hardest thing for me is to understand how to set up a basic game. Your JumpyJet game is a good example, but still too difficult to understand. There is too much going on at once.

As I posted in the forum just minutes ago (then I saw this thread), I would love to see a really, really easy game sample. Just a dot that you can move around in a two-dimensional space with your arrow keys. Without UI, without animations, without gravity, without parallax background. Very plain and simple.

Hope to see this in the future, or in the tutorial section :wink: