Jump to content

  • Log In with Google      Sign In   
  • Create Account


Guidance for my son...


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
43 replies to this topic

#1 Stulos   Members   -  Reputation: 122

Like
2Likes
Like

Posted 04 October 2013 - 08:17 PM

Hi everyone. I am coming here for a bit of guidance. My son is 10 years old and is very logically inclined. He wants to be a programmer and make games. So far he has spent a lot of time making things on Roblox and has delved a little into the scripting there but not much. He has also made some games with RPG Maker. He downloaded the Unreal engine and went through some tutorials but he needed a bit more instruction there and I wasn't sure if that was any place to start.

So basically, If you had a child who wanted to focus on learning how to program games, what path would you suggest? I'm looking for a generalized path through this as well as specific instruction books/programs. He is homeschooled, if that influences your advice. Any map at all through this maze would be super appreciated.



Sponsor:

#2 Shane C   Crossbones+   -  Reputation: 1108

Like
5Likes
Like

Posted 04 October 2013 - 08:24 PM

Unity would be a good thing to get him started on: http://unity3d.com/

He can learn Javascript or C# in the process of learning the Unity engine.

#3 cardinal   Members   -  Reputation: 810

Like
5Likes
Like

Posted 04 October 2013 - 10:38 PM

Because your son is only 10 years old (that's pretty young for programming, but it's not unheard of) it's tough for me to give accurate advice, so I'll do my best.

 

Game programming is really only a specialized type of general programming. Programming has a lot theory involved, but at 10 that's probably a little dry and would go over his head (and is something you will learn in university anyways). When I was young and programming (I started around 14) it was a bit frustrating because I didn't want to read boring books that weren't really about games, so I really just spun my wheels for a few years (game programming tutorials didn't really exist online at the time) until I could take some high school classes in programming. In class, having a teacher to help out (even if they generally didn't know what they were doing) and having assignments I needed to do helped me learn a few things.

 

Seeing results of your work is very important, especially at a young age, which is why you generally learn input and output streams first, since you can quickly write code and see the effect on screen.

 

I think you should try giving him lessons on general programming, this way he'll learn conditional branching, looping, functions, etc. that he'll need to program in most languages. If your son can grasp these concepts pretty easily you can start expanding from there by letting him build text based games, then he can learn some 2D framework to build small 2D games like pac man, etc. If your son can handle those projects at this point then he can probably direct his own learning from this point and make his own decisions about when to delve into 3D.

 

At 10 years old (good) programming books are probably pretty dry, but they are good reference material. There are also lots of websites with programming information these days if he gets stuck. I've programmed professionally on games for 8 years now and I still get stuck, there is a ton of help on the internet via google. Sites like this one are also very useful when you have a more specific question to your current project/task, or just want to start a discussion on a topic.

 

As Shane C suggested, using an existing game engine can help by allowing your son to build games with less programming. This will help make games faster, and might be what your son is really looking for, but if he really wants to program, he should probably learn the concepts first, even if it's not too exciting. I find that it's a better way to learn the fundamentals.



#4 cardinal   Members   -  Reputation: 810

Like
4Likes
Like

Posted 04 October 2013 - 10:41 PM

As for a career path to be a game programmer, anything your son learns pre university is a bonus.

 

A bachelor's degree in computer science (or equivalent) is the common way to go. You will learn the basics, fundamentals, theory, and even some specialized topics in a proper CS degree.

 

This is obviously something for your son to decide much later on though.



#5 gchewood   Members   -  Reputation: 236

Like
0Likes
Like

Posted 04 October 2013 - 11:30 PM

I'd second Unity 3D, given it's fairly easy to learn and also used quite widely in the industry!

 

If that's too big a jump, I'd definitely say do as much as possible on RPG maker (that's what I was doing about a decade ago). And if you want to move that into 3D without any programming, try 3DRad (www.3drad.com). That's a great place to start because you can accomplish quite a lot without any code. When you're familiar with it's general workings, there's a 'script' object (in a C-like language) that you can use to start getting more advanced.


Edited by gchewood, 04 October 2013 - 11:33 PM.


#6 Stulos   Members   -  Reputation: 122

Like
0Likes
Like

Posted 04 October 2013 - 11:32 PM

Thanks guys, that is super helpful. Going to check out Unity and see what some good courses are for general programming knowledge. Once again, I do appreciate it.



#7 Stulos   Members   -  Reputation: 122

Like
3Likes
Like

Posted 04 October 2013 - 11:42 PM

By the way, my son is 12, not 10. I know how old he is I promise :) Not sure how I got that typed in wrong. Anyway, just saying that in case it changes anything.



#8 legitninja   Members   -  Reputation: 146

Like
2Likes
Like

Posted 05 October 2013 - 12:08 AM

By the way, my son is 12, not 10. I know how old he is I promise smile.png

 

That's what they all say.... that's what they all say... hah

 

No worries my friend. I'm 15 and also want to take up a career in game development/ game programming. I just started learning how to code 3 weeks ago. I've accomplished a simple text game about escaping a spaceship. It was difficult but once you get it and see all your hard work payed off. It's marvelous.

 

I'm learning the C# programming language so I bought a "for Dummies" book. 

 

The best advice I can give for you and your son is it depends on his learning style and how he wants to go about it.

 

Also programming does require some wicked math knowledge so, he should get good in math if he isn't already. Although most of it is theoretical and probability. A computer science major in college often has you taking "2" math courses usually Calculus.

 

As stated earlier the more knowledge pre- college the better really. Good luck to your son and may his programming dreams come true :D 


Lost between the semicolons. 


#9 HappyCoder   Members   -  Reputation: 2358

Like
1Likes
Like

Posted 05 October 2013 - 12:13 AM

I started doing some simple programming when I was around 12, mostly programming TI calcualtors. As I got older I got into more complicated stuff and was doing what some would concider college level stuff when I was still in high school. I didn't think of it as college level at the time, I just enjoyed doing it and wanted to develop my skills further. What I did wasn't all that well done but it challeged me and it worked. The point is don't hold back because something is not "fit" for his age, rather allow him tackle challenging projects based on his current skill level. Those are some of my thoughts.

#10 Godmil   Members   -  Reputation: 744

Like
1Likes
Like

Posted 05 October 2013 - 01:06 AM

JavaScript is a nice language for starting on and it is also used in Unity, so could have immediate gameprogmming use. You and your son should check out Codecademy, it's got a nice bite size course on JavaScript that will teach you everything you need to know very quickly.



#11 3Ddreamer   Crossbones+   -  Reputation: 3052

Like
1Likes
Like

Posted 05 October 2013 - 02:25 AM

Hi,

 

 

For a ten year old student of game development, I would encourage very simple application development first, especially programs which would be similar to those found inside of software games.  He should be developing applications like indexers, general user interfaces, simple vector graphics word games in console application form, and learning basic compiling into executable programs and files.  There are fun books which teach these things in simple game form to young students.  Most developers would highly recommend that the young pupil stay in the 2D graphics gaming area for a good 1-2 years minimum before getting to 3D graphics game development.  Jumping directly into 3D development would almost certainly result in many bad coding habits to be started which are difficult to retrain to good ones for a beginner or even intermediate level programmer.

 

Secondary, I would encourage an interest in math which can spare many lines of coding and also serve to teach the development of good coding framework upon which later coding is added. For example, a few lines of algorithm can set a pattern for efficient coding that plugs into it.   One good algorithm might spare the coder in thousands of lines of coding later with many benefits to it.

 

Eventually the game developer will need to consider how to expand in the 2D and 3D graphics art areas of game development. You may help your son to discover his own artistic strengths and weakness.  Each can be improved with practice. There are many paths to pursue such as art classes, tutoring, or assigning project yourself.  As for game development, the key is to assemble a work pipeline of software and tools to make game art and use a game engine to bring them into a game which was coded by the student.

 

Remind your son that above all he should nurture already existing passions and talents in game development to have fun with it.  This is the key to staying with it.

 

 

Clinton


Edited by 3Ddreamer, 05 October 2013 - 02:56 AM.

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software.  The better the workflow pipeline, then the greater the potential output for a quality game.  Completing projects is the last but finest order.

 

by Clinton, 3Ddreamer


#12 Malabyte   Members   -  Reputation: 587

Like
6Likes
Like

Posted 05 October 2013 - 03:13 AM

I thought I'd just reply with some thoughts I have about learning in general here, since others have already answered you excellently:

 

I think the big mistake to risk making here is to think that programming is somehow unsuitable for people below a certain age. Well ok, if you're 3 years old and still using the pottie, then maybe you should wait with programming. It's definitely true that age factors in, but I still think a lot of people overestimate it. Especially when talking about 9+ years of age.
 

Throughout my own learning process (and believe me, I'm relatively new to the coding bit, not to mention I'm a total manchild), I've found that - at least for me - it's not as much a question of age or IQ. It's much more important to have patience and diligence. And, if you want to be successful to boot, an ample supply of open mind, social skills and general life experience and scientific literacy.

 

Furthermore, kids are actually much better learners than adults - a well established fact (or at least a strongly documented and consensual hypothesis). Kids don't have the life experience that would otherwise produce patterns and biases that outright hamper your learning ability. The only real problem with low age is the reduced ability to process the information and seeing the bigger picture (again because of lacking experience). But as your son is learning the stuff, the bigger picture will just naturally come to him in time. That comes with learning and age, and it might even go faster for him than other kids of his age because he's constantly honing it through programming.

 

Well, in either case I think Unity sounds good. Good luck. :)


- Awl you're base are belong me! -

- I don't know, I'm just a noob -


#13 Lodeman   Members   -  Reputation: 678

Like
1Likes
Like

Posted 05 October 2013 - 03:49 AM

I think an interesting first step into game programming could be using SDL to program a tile-based game. This would link nicely to the tile-based gameplay he's been used to from RPG maker. To achieve this, first teach him some general programming concepts, read enough C++ tutorials and try to grasp the concept of pointers.
Once that's done, there's plenty of decent SDL tutorials online. One I found particularly useful when I started out with SDL (and C++) was this one:

 

http://lazyfoo.net/SDL_tutorials/

 

Should be a decent foundation to getting acqainted with the game loop and 2D rendering concepts, as well as some basic game entities.
3D game programming would then be the next logical step, but will require alot more time since it relies on more advanced maths/algebra concepts.



#14 DareDeveloper   GDNet+   -  Reputation: 914

Like
1Likes
Like

Posted 05 October 2013 - 04:17 AM

I suggest trying different programming languages with the goal of writing "Hello World!" programs.

Aiming for Unity right away is a little too much (the expectations would be too high).

 

Just installing IDEs, understanding the build process well enough to get a result and getting to compare the different approaches to similar problems ...

those things will show your son pretty soon if he has what it takes and if that is really something that he wants to get into.

He will get stuck, have to deal with outdated tutorials and figure out why he gets error messages. Starting with convenience products gives a false impression.

Programming is frustrating at times and a lot of research is required when you are stuck.

 

It also helps with the big picture thinking. It is totally possible to approach the topic from the wrong angle and not make any progress at all (while it feels like you do).

I think that is what talent is about. If you lack in that department then guidance / the chosen path will make a huge difference.

That is why I also suggest reading more general books (like "Clean Code") that give an idea of how programmers think.

And, of course, being a regular at Gamedev.net helps with that as well.

Once he picks a programming language for a larger project he can look for communities like "JavaCodeGeeks". Those have invaluable articles.

 

Last but not least even more general books like "The Seven Habits of Highly Effective People" or about learning (e.g. "The First 20 Hours") might help as well.


Edited by DareDeveloper, 05 October 2013 - 04:19 AM.

Given enough eyeballs, all mysteries are shallow.

ProcGames.com


#15 dr01d3k4   Members   -  Reputation: 402

Like
2Likes
Like

Posted 05 October 2013 - 04:31 AM

You mentioned he's been scripting on Roblox, which is where I came from (I also started at 12). Because he has some Lua experience, I'd recommend looking at http://love2d.org/ which is a simple to use game engine for Lua.


Falling block colour flood game thing I'm making: http://jsfiddle/dr01d3k4/JHnCV/


#16 ActiveUnique   Members   -  Reputation: 795

Like
0Likes
Like

Posted 05 October 2013 - 04:39 AM

There's no nice way to say this. I see a lot of people on the forum who can't commit to making one game, and even admit to it.

 

If someone decides they want to do something around 3 - 6 years old, it becomes them. Children at this age will also experience augmented reality so whatever they think of becomes well-ingrained.

At any other age they might just be thinking, oh this will be a trial run to see if I can do it and enjoy it.

 

I'd say the hardest part is appreciating undeveloped games. Picturing one game in your mind, that impossible goal, and keeping it in your head for a decade, barely changing. Continuing to learn normally is a trivial matter, and for me it is merely a means to an end.

 

Like you were asking, if I had a child who believed they wanted the same path, I'd expect this much. 

 

Programming can be a handful to get started. I recommend teaching someone how to do some or all of the following:

1 type on a keyboard

2 compile and run their first high level programming language - some compiled languages need so many files and environment variables I still am not sure why

3 avoid infinite loops

4 guard against crashes, saving frequently, backing up saves in the same location

5 create backups, hard drives do die

 

Other than that, introduce them to new topics as usual, let their creativity blossom. A common thing game thinkers will do ( I always do, but now I try not to for longer than a few seconds) is they'll see something new and wonder what a game adapted version is, and they can have a lot of fun talking about it and making stuff up.


I've read about the idea guy. It's a serious misnomer. You really want to avoid the lazy team.


#17 Secretmapper   Members   -  Reputation: 862

Like
0Likes
Like

Posted 05 October 2013 - 05:03 AM

This is coming from a person who started programming at 10 because he wanted to make games.

 

If I can go back in time, I would tell myself to "stop making games on your own stupid!" Most people will tell you "Make him download this" "Tell him to learn that". I think this is ill-advised. For example while it is possible to learn programming and game making by trying to do so with practice (I'm going to make a game in Unity!) It's going to be inefficient. Trust me, I've been there. I learned a lot, but if I had someone guide me, I would have learned a lot better.

 

I would personally recommend to have your son consider taking this course from Harvard provided by Edx: https://www.edx.org/course/harvard-university/cs50x/introduction-computer-science/1022 (It's free and online)

 

The reason is that CS50 does not only teach you how to program, it also inspires you. A person above stated that it is important to see results of your work. The people at Harvard know this, and they give you a lot of 'early wins' (The first problem set is a Scratch game! You could show him mine, might get him inspired:http://scratch.mit.edu/projects/2995632/).



#18 farmdve   Members   -  Reputation: 194

Like
-2Likes
Like

Posted 05 October 2013 - 06:15 AM

My suggestion is to take it easy, a 10 year old is what, 3rd grade? Making games involves math that is more complex that I who am 20 can't do. Plus, being 10 his mind is not developed enough yet, the scope of what could be understood and comprehended is small.

 

Hell, I only understood the meaning of some events that happened in my life when I was 15-16 let alone if I was 10.



#19 Shane C   Crossbones+   -  Reputation: 1108

Like
3Likes
Like

Posted 05 October 2013 - 08:28 AM

My suggestion is to take it easy, a 10 year old is what, 3rd grade? Making games involves math that is more complex that I who am 20 can't do. Plus, being 10 his mind is not developed enough yet, the scope of what could be understood and comprehended is small.
 
Hell, I only understood the meaning of some events that happened in my life when I was 15-16 let alone if I was 10.


He's actually 12, not 10. And I know a 12 year old who can script or program and catch on about as well as I can, and I'm an adult. So he should be fine. I know it sounds strange, but it is possible. 12 year olds can do more than you think, not everything but they seem to be able to do some things about as well as adults.

#20 arcademissile   Members   -  Reputation: 515

Like
2Likes
Like

Posted 05 October 2013 - 09:59 AM

I started making games when I was 12 using GameMaker, which is kinda like Unity but 2D so it's simpler.

 

It's nice since you can get results much faster and more visually than with the other engines and a lot of the heavy weight stuff is abstracted away.

 

It helped me a lot anyway.

 

The only catch is that it now costs at least $50 if you want to do anything bigger than Pong with it, so if money is an issue I'd recommend him to learn C# first and then afterwards learn Unity.

 

EDIT: And also, and this may sound obvious, regardless of what he chooses, praise for even the simplest looking accomplishments is nice since it's actually pretty hard, so when he excitedly shows you a ball that bounces around or a square you can move with keys, congratulate him on it.


Edited by arcademissile, 05 October 2013 - 10:08 AM.





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS