Begin game programming basics [closed]
Asked Answered
S

12

17

My 11 year old kid brother wants to learn to program games. He has never programmed but would like to learn programming. His interest lies with games and game programming and he understands that it can be difficult but he wants to do that. So, obviously, I turned to SO folks to know what you feel on how he should go about it. Remember, please suggest on

  • Areas that beginners can choose,
  • how to begin in that area,
  • what to read in the beginning,
  • initial languages in the beginning etc.

Once the beginning part is taken care of, you may also suggest the intermediate and advanced stuff but this question is about very beginning level. If there are areas like Web games Vs. console games Vs generic computer games, then please advice on the areas. As I said he has never programmed, he might want to try all the areas and choose the one he likes the best. I hope this is not too much to ask for someone who is in this field but if this question is huge, please advice on how to break it into multiple questions. ~Thanks.

Semiliterate answered 8/1, 2011 at 19:46 Comment(2)
Might be more appropriate for gamedev.stackexchange.comSelfimprovement
I would very much suggest you go to the Raspberry Pi foundation website. Their entire enterprise is to support people like your brother. raspberrypi.orgFerromagnetism
S
25

I started my programming career writing games when I was 15 and it was a lot of fun (even though I wrestled with C++ for 3 years just because "that's what's used for writing games"). My two cents:

  • Start with a programming language that is easy to use (NOT C or C++)
  • Get a beginners book for that programming language (not directed at games)
  • Decide on some API or environment that provides what's needed for writing games. I started out by doing snake, space invaders etc in the console, but any 2D-environment will do (stay way from 3D for as long as you can; there are much more important things to learn first). SDL/GLUT for OpenGL has bindings in almost any language. Pygame for Python looks promising too. Using HTML5's canvas-element, you could even write the programs in the browser using JavaScript. Im not sure what's best these days, but there you have some suggestions.
  • Find a community for inspiration and help when stuck. I used gamedev.net. Since we're on stackoverflow, gamedev.stackexchange.com should also be a natural choice :)
  • Start small. Very small. I mean really tiny. Then take small steps to new challenges. Please don't write an MMORPG.
  • The game design and graphics are fun, but focus on the programming (for now at least). When you've written a simple game, learn how to do the same thing better.
  • Set a goal. Imagine the game that you'd want to make. Don't try to make that one immediately, but make sure that each new thing you learn or make takes you one step closer. Don't learn what you don't need so to speak (there's simply too much too learn).

I wish you and your brother the best of luck, I never regret going down the path he's about to take!

Smoker answered 8/1, 2011 at 20:10 Comment(0)
A
5

For a beginning game developing enthousiast I think you can't go wrong with the combination Python + Pygame. Python is a great, elegant (and easy to learn) all-round language and lots of great tutorials are available for Pygame which explain the basics of (mostly) 2D game programming.

Algae answered 8/1, 2011 at 19:51 Comment(0)
D
3

There's this post on Gamedev stackexchange where the poster is in literally the same position.

Quoting my answer from there:

I'm also 15, so I guess that could help? :P

I've recently started learning Python (been doing C++ for a year or so), and I'm finding it much easier to learn than C++. There's a lot less pitfalls, and you need little code to get something on the screen - what I find makes you want to continue.

And there's wrappers like Pygame and Pyglet over SDL/OpenGL for the graphics side.

And before he starts making simple games, I would advise learning a language for at least a couple of months. (Of course, text based games like guess the number and hangman are good exercises during this time)

And for what to read; I can advise Invent With Python. It goes from learning the language in a very gamedev way - which is a good step to making sure he stays interested; I doubt many kids his age are going to want to learn all about variables and loops, moreso being able to make a game - all the way to seamlessly introducting PyGame and graphics.

Dialectics answered 8/1, 2011 at 20:37 Comment(0)
E
1

It could take some time until he can program a proper game...

But as I see it, he should start with Java as it is easy to learn and good for basic games.

Starting out he wouldn't be able to do much more than a guessing game, but he shouldn't get frustrated, this will take time.

I think you should buy him a book on java, and start from the basics.

You would get many different answers on this one as it is mostly personal opinion...

Eldin answered 8/1, 2011 at 19:52 Comment(0)
T
1

Teach him the basics of programming: variables, declarations, properties, methods, arguments, classes, arrays, loops. I suggest C# as a starting language, it seems simpler than C or C++ to start with, in my opinion. Once he understands those concepts it shouldn't be extremely hard for him to jump in and follow some XNA tutorials on a simple game like pong or something.

Twylatwyman answered 8/1, 2011 at 19:53 Comment(0)
M
1

Game Development, part of the Stack Exchange, is a great resource for these types of things. It's loaded with posts like this one.

Meandrous answered 8/1, 2011 at 19:55 Comment(0)
A
1

How about instead of forcing him to learn a language first, get him involved in using a framework where he can readily see results to maintain an interest. Something along the lines of RPGMaker could be sufficient.

My reasoning for this would be that, yes, you want him to learn the basics of making games and introduce programming as well, but you don't want to burn him out on the formalities of a language.

If he is 14, then he is of high school age (assuming US based...), and there is a good chance that there are programming courses available to him there. Let him whet his teeth on those to grind out the difficulties of introducing programming, and then once he is interested in expanding beyond the bounds of the toolset introduce him to the answers posted by the other users.

My two cents...I've seen kids give up on programming before because they jumped right into game making and quickly got frustrated...

Anethole answered 12/1, 2011 at 13:18 Comment(0)
T
1

In the beginning, make sure you keep it fun. Try mocking old games like 1-stage of contra or air hockey. And use a programming language with easy implementation of timer. Because timers, I think are the easiest way to show some visible effects. I would recommend visual basic or objective-c (I know many people won't agree, BUT it is that damn easy with the power of Xcode). Thumbs up ! Have fun.

Tintoretto answered 25/11, 2013 at 22:27 Comment(0)
I
1

I agree with ChristopheD about Python and Pygame. When it comes to languages Python is great for beginners because it is very high level therefore so easier to understand and the syntax is clean and simple. And Pygame is a great library for learning game programming.

Eventually he'll want to move into C++, which as I understand is the go to language for game development. But Python and Pygame would be a better start, especially for an 11 year old.

A good series of easy to read online books are the following three:

http://greenteapress.com/thinkpython/thinkpython.html to learn Python http://inventwithpython.com/ this site has two books, what to make games in plain Python and the other to make games using the Pygame library for Python. Once he gets through these three books he should be able to start making his own games in Python using Pygame and then eventually move on to more serious game development langauges/tools.

Indefatigable answered 18/10, 2014 at 19:42 Comment(0)
L
0

Write some simple scenarios for a game such as Wesnoth is maybe a good start.

Learning basis of programming is also important. A langage such as python is probably a good start. The language is clear and easy to learn and teach. And it is very extentable.

Libre answered 8/1, 2011 at 19:53 Comment(0)
M
0

This is a -very basic- game source code (Butterfly adventure 1.0) made with javascript to start learn programming. Only basic codes (variable, if, switch, function, event, etc.) used.

It may be useful to start learning game development.

  • Play the game link
  • Source code link
  • Video tutorials (Only in Turkish) link

Screenshot

enter image description here

Have fun.

Mayday answered 18/8, 2016 at 19:55 Comment(0)
A
-3

IMHO he should start learning C. then switch to OpenGL later once he has the grip of basic C constructs.

Adenoid answered 8/1, 2011 at 19:53 Comment(2)
My son is also 14 and I am really unsure that's a good start! python is far more easy to understand.Libre
Wow, that's a lot of linear algebra and cumbersome programming for a fourteen year old who's never written any code.Meandrous

© 2022 - 2024 — McMap. All rights reserved.