• Advertisement
Sign in to follow this  

Guidance for my son...

This topic is 1562 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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.

Share this post


Link to post
Share on other sites
Advertisement

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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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 

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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/).

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

I also started programming at the age of 10.  Firstly, I don't know if it will work for everyone, but I started programming in BASIC on a Commodore 64.  BASIC is an easy language for a young mind to wrap around, but it contains a substantial deal of the thought process needed for other programming languages.  Looking back now, I also owe almost all of my knowledge of writing good code to programming on a Commodore.  A lot of new programmers today don't have the slightest idea what it is like to have to erase comments to write more code... memory limitations at its finest!  I also second the basic application design.  Everyone will recommend different languages to start with, but if you do end up going a route like C or C++ first, I would emphasize programs like a text based RPG, or a calculator.  I would also pick a weekly topic (such as if, else control logic) and have him write a program using only this logic.

 

 

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.

 

 

I know several young programmers.  I have found that it usually is not the fact that they can not understand the logic; it is the fact that they can not understand the logic in the current context.  You have to find creative ways of expressing the logic in ways that they can understand.  Granted, game programming does require math and in some areas the math is pretty advanced, but last time I checked, you don't need Algebra or Geometry to create a simple text based RPG, learn control logic, or start building good programming habits.

Edited by ByteTroll

Share this post


Link to post
Share on other sites
 

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.
 

I had allready completed my first graphical game and started on my 2nd when i was 12(started programming at 10/11 in BASIC with nothing/noone to guide me except the manual that came with my families computer(computer manuals were a heck of alot better in those days), my lack of more advanced math knowledge wasn't a big problem for the type of games i was making. I think the most important thing for anyone starting out in game development, regardless of age is to get their expectations straight.

If the OPs son can see a simple snake or pong clone as a challenge and a huge accomplishment to be proud of when finished he'll be fine, regardless of his age, if he keeps comparing his own results to todays AAA games he will struggle.

Share this post


Link to post
Share on other sites
started programming at 10/11 in BASIC with nothing/noone to guide me except the manual that came with my families computer(computer manuals were a heck of alot better in those days)

 

 

Ah yes, that manual... what a wonderful friend he was.

Edited by ByteTroll

Share this post


Link to post
Share on other sites

I would suggest you stay away from anything that shortcuts the basics. Yeah Unity and other such programs are great and can teach him a lot. But, can cause a lot of harm at the same time. What I suggest is you get him interested in just pure programming. Java would be an excellent language for him to learn as it is not terribly difficult to learn and it can be treated as a blank canvas for his imagination. Also understand that he may not want to be a game developer in the future, and by teaching him Java you can open him up to a much larger world outside of games. 

Share this post


Link to post
Share on other sites

I hope this isn't too late, but I have a few things to contribute regarding game design.

 

I started programming around 2009. Before then I'd experienced web languages, and at a shallow level. The one lesson that I think I've learned is how to think like a programmer. Once that mindset is established, you need far less outside help in completing a task.

 

I started programming as a path to realise multi player in a game engine I'd found. About 4 years later and I'm nearly there. I'm going to base this in the context of the Blender Game Engine, because it's free and it offers different levels of intricacy regarding logic systems and its other features. It's easy to get started, but requires greater thought to create true masterpieces. 

 

The most important thing for a new developer/ game designer is interest. It's far quicker to learn about a new subject (or an old one for that matter) when you're invested in the education because it is the means to the end. Doing exercises is all well and good, but unless you have a natural interest in the topic in question (which I'd argue most programmers will eventually find) you don't make the same head way. So, when someone on the forums for Blender (blenderartists.org) describes their plans for a large game, unless it's an MMO (which is just too great a task for any programmer, besides an inexperienced one) then the journey is worth its time invested. I started out with the ambition to create an FPS, and I put it on hold, but only after learning a great deal. So this is my first point; Let ambition drive the learning process

 

Furthermore, it's important to understand that a game is divided into many different "components" that together comprise the experience. There are visuals; audio and game play mechanics, all of which have their own fields devoted to them. As a game designer, when working by one's self it can be a challenge to remain focussed on one of them. Sometimes, you needn't enforce that practice, but ultimately it's a choice most of us make. So, I would ask what interests your son has in the process of creating a game. It's often the process that enthrals us as much as the end result. There are many game engines that don't require any coding (the Blender Game Engine being one of them) but offer it if needs be. These shift the focus to the game assets, and the experience rather than the structure of the game logic (but this is not entirely the case). Conversely, focussing on the programming of the game logic can lead to great skills in mathematics, programming concepts and many other skills, but to the detriment of the assets of the game. It's not necessary to make the choice early on; it simply influences how long the game will take to make. 

 

It's also important to consider the support network behind the path he chooses. Blender's community is its strong point, and on the whole I believe we are supportive in every aspect. But this is definitely the case for other engines, it's just a point to consider. Working with others can really spur your development, and gives the experience a greater sense of value and depth than working by one's self. 

 

I think it is a good idea to create small games at first, which somewhat contradicts my earlier point. This is a different method of learning; an iterative process that best suits those with shorter patience. It's just as effective though, in its own way.

 

A quick response to the above; I started writing Python inside the Blender Game Engine, now I've branched off to C, C++ and found it a relatively painless (as painless as differing type systems can be) experience. I think it depends on the individual.

 

Simon Forsman has a very valid argument. Modern day games are the products of large swathes of developers working on all aspects of a game. The best advice to give a new developer is find your own niche, your own style that is within reach. And do this from the start.

 

I wish the best of luck to your son, as well as yourself! I hope you have a wonderful experience of it; it's added a depth to my thinking and feelings about many different aspects of thinking and knowledge, so I'd consider it time well spent.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement