Pinterest Stumbleupon Whatsapp
Ads by Google

Over a decade ago, I taught myself the basics of game programming and game development through the limited tutorial resources I could find on the Internet. Since then, the landscape of game development has changed drastically, and anyone can start creating their own games within weeks with a few Google searches. But let’s say you want to start developing your own games but don’t know where to start. Where do you go?

In the world of programming, they say that once you learn one coding language, you pretty much know them all. It’s a little more nuanced than that, but the sentiment is more accurate than you think. The difficulties of programming – especially with regard to games – are not the actual coding, but learning the paradigm of how a game works and how to use those languages to organize and translate your thoughts into reality.

Therefore, when looking for a good game development tutorial series, you want one that will teach you the practices and mentality of good coding because you can then transpose those practices in any language or platform, whether it’s C++, C#, Python, Java, or whatever other language you intend to use. Here are some of the most useful tutorials I’ve found on my self-taught journey.

Lazy Foo’s Tutorials

game-dev-tutorials-lazyfoo

Lazy Foo has been around for many years, and it was one of the main resources I used when I first delved into game programming. He’s written plenty of tutorials on both SDL and OpenGL, two graphics libraries that are cross-platform and can handle 2D and 3D graphics, respectively. His tutorials are well-written, straightforward, and will get you acquainted with both libraries using the C++ language as the coding medium.

I recommend starting with his general articles, then moving onto the SDL tutorials, then the OpenGL tutorials. Strictly speaking, 2D graphics require less math knowledge and, thus, are simpler to grasp than 3D, so that’s why I recommend starting there. But if you’re confident, you can try diving right into OpenGL.

Ads by Google

Aaron Cox’s Tutorials

game-dev-tutorials-aaroncox

The tutorials on Aaron Cox’s site were another core resource that I used when learning how to program video games. His tutorials focus on 2D game programming using the SDL graphics library, so you can use these tutorials in conjunction with Lazy Foo’s above. Aaron provides his own SDL overview, and they provide a great foundation, but they’re nowhere as in-depth as Lazy Foo’s.

The reason I recommend Aaron’s site is because he has a whole section on sample arcade games that he’s created using SDL. He has full tutorials for creating a Tetris clone, a Pong clone, and a Breakout clone. These were critical for me as a budding game programmer because they taught me all about game logic, draw calls, entity classes, code organization, and more. You need to enter a “game programmer” mindset and paradigm, and these guides will help you get there.

Game Development @ Tuts+

game-dev-tutorials-tutsplus

Tuts+ is just a great resource in general when it comes to learning new computer skills, and game development is one of the things they teach. The game development section of Tuts+ has a great “Start Here” article that introduces you to the site, the kinds of articles you’ll find there, and a roundup of great links for you to check out as you learn more about game development. When you’re ready, you should also check out their roundup of fantastic game development tutorials from around the web.

Tuts+ has hundreds of game development articles that touch on topics from starting a new project, to planning and organization, to actual implementation of the code, to game balance, to actually finishing up a game before moving onto your next project. The site can be hard to navigate since it’s pretty much just a blog setup, but the articles are incredibly detailed and easy to follow. I recommend them whole-heartedly.

GameDev.Net

game-dev-tutorials-gamedev

Lastly, we come to GameDev, an online community of game developers from around the world. It would be a grave sin to talk about game development websites without mentioning GameDev, which has been a formative and central website for many novice and advanced game programmers alike. It’s been around for almost 15 years, and there’s no sign that the site will die anytime soon.

At GameDev, you’ll find lots of articles aimed at beginners, but the best way to benefit is to visit their forums. There are dozens of different sections that cover topics like “from scratch” development, beginner questions, finding helpers and other coders, the business and legal side of game development, and even workshops for honing your skills with various languages and engines. You would be a fool to pass this site by. It’s an incredible resource.

Game Development Engines

Most of the “game programming” tutorials you’ll find in the sites above get down into the nitty-gritty of engine development. They teach you how graphics are drawn to the screen, how input is retrieved from keyboard and mouse, how network packets are handled, etc. If you intend to enter the game industry as an engine developer, that knowledge will be useful, but if all you want to do is create a game, you don’t really need to know that minutia. What you need is an engine that’s already been constructed by someone else.

That’s why you’ll hear a lot of talk in the game development world about “game engines,” such as Unreal Engine, CryENGINE, Havok Engine, Unity, etc. These engines handle the behind-the-scenes details for you, allowing you to focus on the actual gameplay and content instead. I’ve covered five of the best FREE game development engines 5 Free Game Development Software Tools To Make Your Own Games 5 Free Game Development Software Tools To Make Your Own Games Have you ever wanted to create that game that's been bubbling in your mind for years? What if I told you that the possibility wasn't all that farfetched? The past decade has seen some massive... Read More out there and you should really look into those, especially if you’re a newbie to the whole game programming thing.

Conclusion

Game development is tough stuff, but with these websites and resources you’ll be up and running as fast as possible. Be prepared to sink a lot of time into the learning curve because it won’t be easy – not by a longshot – but with enough dedication and perseverance, you’ll get there. If you’re young, or if you know a young one who likes computers, game development can be a great way to get kids excited and prepared for programming 10 Tools To Get Kids Excited About Programming 10 Tools To Get Kids Excited About Programming For the average kid, computers and smartphones are fun tools. Education comes much later. Getting a kid excited about programming might take some doing because logic needs a bit of time to develop. It is... Read More as a whole, so stick with it!

Know any other good resources for beginner game programmers? Have you used these resources before? Share your thoughts and experiences with us in the comments!

  1. tahap
    August 22, 2016 at 9:50 am

    ve4nna

  2. chrissy
    July 18, 2016 at 2:04 am

    thanks for the information! i'm a fairly new programmer but picked up C++ very easily during the course i've already taken through my university. i see sites like these as being a godsend given what i want to do as a game developer or programmer when i get there (and hopefully i can get started on my end goal before graduation)

  3. Dave Allen
    February 13, 2016 at 11:43 am

    Great article. I've had a lot of success following video tutorials, one channel on youtube teaches GameMaker, a free program, where you follow a video each week to make a full game. It's really helped me get my head around the whole process https://www.youtube.com/makinggames101

  4. Michael Organ
    November 18, 2015 at 4:22 pm

    I followed this tutorial and made a Flappy Bird tutorial in less than a day: http://v-play.net/doc/howto-flappybird-game/

    It covers C++, JavaScript and QML. It also includes all the resources you need and explains everything every step of the way.

  5. Brandon Soto
    September 21, 2015 at 5:24 pm

    This article helped me with game development thanks!!!!

    • Joel Lee
      September 24, 2015 at 6:05 pm

      You're welcome, Brandon. Glad it could help! I wish you luck on your game development pursuits. :)

  6. Ashok
    February 23, 2014 at 5:49 pm

    Good Article... really interesting

  7. stepph
    December 6, 2013 at 3:55 pm

    Interesting very interesting

  8. Tom S
    December 2, 2013 at 2:21 am

    Wow, great article on my favorite subject! Interestingly, I was looking for something like this!

  9. Igor R
    November 29, 2013 at 11:17 am

    This deserves a five star,thanks for sharing..

  10. ahsan
    November 29, 2013 at 10:08 am

    Thanks for such comprehensive effort.. (Y)

  11. Scott
    November 29, 2013 at 3:05 am

    Also try http://gamefromscratch.com for dozens of massive game development tutorials aimed at beginners,

    • Joel L
      December 2, 2013 at 5:19 pm

      Oh, I remember using that site a few times. Pretty good resource!

  12. Matthew H
    November 28, 2013 at 9:42 pm

    Awesome stuff Joel. I really like reading your articles. You've got flair, man. :D

    Have you seen /r/gamedev? I've found it's a great resource for learning game programming.

    • Joel L
      December 2, 2013 at 5:18 pm

      Yeah, I recently subbed to /r/gamedev. There's been a lot of interesting discussion, which is to be expected with a sub of over 70,000 users. :)

  13. Jurmy C
    November 28, 2013 at 9:09 pm

    Thumb Up! Enjoyed the article.
    Respect.

Leave a Reply

Your email address will not be published. Required fields are marked *