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

#21 ByteTroll   Crossbones+   -  Reputation: 1311

Like
3Likes
Like

Posted 05 October 2013 - 12:18 PM

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, 05 October 2013 - 12:23 PM.

▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬
I see the future in 1's and 0's
▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬

"This is called programming. The art of typing shit into an editor/IDE is not programming, it's basically data entry. The part that makes a programmer a programmer is their problem solving skills." - Serapth

Sponsor:

#22 SimonForsman   Crossbones+   -  Reputation: 6041

Like
3Likes
Like

Posted 05 October 2013 - 01:27 PM

 

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.
I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

#23 ByteTroll   Crossbones+   -  Reputation: 1311

Like
0Likes
Like

Posted 05 October 2013 - 01:43 PM

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, 05 October 2013 - 01:43 PM.

▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬
I see the future in 1's and 0's
▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬

"This is called programming. The art of typing shit into an editor/IDE is not programming, it's basically data entry. The part that makes a programmer a programmer is their problem solving skills." - Serapth

#24 ScottK   Members   -  Reputation: 255

Like
1Likes
Like

Posted 05 October 2013 - 01:52 PM

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. 



#25 Angus Hollands   Members   -  Reputation: 713

Like
0Likes
Like

Posted 05 October 2013 - 02:27 PM

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.



#26 TheUnnamable   Members   -  Reputation: 788

Like
0Likes
Like

Posted 05 October 2013 - 02:40 PM

My two cents on the topic:

He's young. He's ( probably ) easily distracted. He won't do this just because he decides it ( i.e. out of commitment ), he will do it because it's interesting for him and he likes coding.

This means that he needs motivation to get him through this. He needs to see the results of his work fast, and he needs to get some success now-and-then.

 

At least, that was my experience. I've started with Game Maker when I was 11, and started scripting at 12. I did it because it was interesting, and I really wanted to create something interactive. And I've got pretty good at GM, so later on I've tried PHP and other webdev stuff, even later C++.

 

I'd recommend Game Maker, but the key things are: fast feedback and motivation ( which comes mainly from solving problems ). Also, be there for him when he gets stuck. He's 12, so he won't really be into maths, and that's probably where you can help him the most. Otherwise, I'd say, let him explore ideas.

 

Also, general, simple applications are a NO-NO! Well, that's not exactly true. Let him do what he likes to do. I was interested in games, so I tried to make games. Although he's probably interested in games too, just let him do whatever he's interested in. And try to show him programming methods/ideas through the topic he's interested in. It makes a difference how you explain for example the length of a vector: you can explain to him it with vectors and dry math, or you can explain it to him showing how to check if an enemy is in range or he's too far to see the player. Both need to know how long is a vector, but the second one is probably more useful if he's interested in games.

 

Also, if he's talented in some kind of art, that's a big plus! I tried to be a one-man army, and had already some talent in drawing. So as time was passing by, I've learnt to draw and make models for my games. I guess he'd do the same. But if he won't, it's not a problem. Maybe he could find a team? I'm not sure how would he find a group of 12-13-14 year olds, but if he can, it'd be great.



#27 Shane C   Crossbones+   -  Reputation: 1179

Like
1Likes
Like

Posted 05 October 2013 - 03:00 PM

My two cents on the topic:
He's young. He's ( probably ) easily distracted. He won't do this just because he decides it ( i.e. out of commitment ), he will do it because it's interesting for him and he likes coding.
This means that he needs motivation to get him through this. He needs to see the results of his work fast, and he needs to get some success now-and-then.
 
At least, that was my experience. I've started with Game Maker when I was 11, and started scripting at 12. I did it because it was interesting, and I really wanted to create something interactive. And I've got pretty good at GM, so later on I've tried PHP and other webdev stuff, even later C++.
 
I'd recommend Game Maker, but the key things are: fast feedback and motivation ( which comes mainly from solving problems ). Also, be there for him when he gets stuck. He's 12, so he won't really be into maths, and that's probably where you can help him the most. Otherwise, I'd say, let him explore ideas.


Game Maker is pretty good, it teaches you its own programming language and ways, that mirror some real programming conventions. An alternative on the opposite end of the spectrum is Construct 2 (https://www.scirra.com/), an engine which doesn't require programming (uses an easy events based system) but can produce similar results. Performance is a little worse, though.

#28 Ectara   Crossbones+   -  Reputation: 2914

Like
0Likes
Like

Posted 05 October 2013 - 03:27 PM

When I was a kid, my interest in making games really took off when I got my hands on Graal v1.3. For those of you who don't know, it is a game for Windows that is very similar to The Legend of Zelda: A Link to the Past, and it has a built-in level editor where you can design your own maps, NPC's, items, weapons, quests, etc. It uses a scripting language based on C++, and it allowed for a huge amount of flexibility in what you could create, while retaining gameplay that was very familiar to me. My friends and I had a good time making maps and building a large world together, with all sorts of neat scripted weapons and items.

I always look back with fond memories. The new versions of Graal suck, by the way. They tried to modernize the game and make it like currently popular MMORPGs, and they lost the spirit of the game. The best version was Graal Classic; it was the latest version that still had local multiplayer.



#29 dejaime   Crossbones+   -  Reputation: 4002

Like
1Likes
Like

Posted 05 October 2013 - 05:32 PM

Hi,

 

First off, congratulations on actually trying to help him (instead of dissuade this idea).

 

As your son is 12yo, and he'll probably start working (if everything goes well) around 18, he'll have a lot of ground ahead of him.

I say this because some of the technologies we use today to make games actually came to life in the last 6 years, so it is possible that some of them will fade as well, giving room for something even better.

This takes me to my point: don't focus on one specific technology, but on the general knowledge for now.

 

Some programming basics with Python or other higher level language would be a great starting point. You could take a look on pygame, or even Flash, to create this basics on what's a game, how it works by a bird's eye and then move up to something more complex.

 

This way he can then decide if he actually want to be a programmer or a game designer or maybe something else; as he probably doesn't understand the difference yet, as I didn't when I started as a kid.


Edited by dejaime, 05 October 2013 - 05:33 PM.


#30 farmdve   Members   -  Reputation: 194

Like
0Likes
Like

Posted 06 October 2013 - 06:49 AM

Hi,

 

First off, congratulations on actually trying to help him (instead of dissuade this idea).

 

As your son is 12yo, and he'll probably start working (if everything goes well) around 18, he'll have a lot of ground ahead of him.

I say this because some of the technologies we use today to make games actually came to life in the last 6 years, so it is possible that some of them will fade as well, giving room for something even better.

This takes me to my point: don't focus on one specific technology, but on the general knowledge for now.

 

Some programming basics with Python or other higher level language would be a great starting point. You could take a look on pygame, or even Flash, to create this basics on what's a game, how it works by a bird's eye and then move up to something more complex.

 

This way he can then decide if he actually want to be a programmer or a game designer or maybe something else; as he probably doesn't understand the difference yet, as I didn't when I started as a kid.

I don't have anything to add, but never do Flash it's a technology that should die, it's a resource hog and has horrible performance even on high-end machines. Hopefully it will be replaced by HTML5.



#31 dejaime   Crossbones+   -  Reputation: 4002

Like
1Likes
Like

Posted 06 October 2013 - 09:55 AM

I don't have anything to add, but never do Flash it's a technology that should die, it's a resource hog and has horrible performance even on high-end machines. Hopefully it will be replaced by HTML5.

 

As I said, lots of technologies will die, and it doesn't really matter since what should be focused is the general inner workings of a game. HTML5 is, imho, way superior to flash, but also harder. My first games were made on flash5 and I learned a good lot doing them. Today I don't use flash, nor html5, but C++; still, I can't argue against the fact that I learned the basics on flash.



#32 Petrov_VA   Members   -  Reputation: 592

Like
0Likes
Like

Posted 06 October 2013 - 05:50 PM

If he intends to use Visual C++ he may start with

http://www.gamedev.net/page/resources/_/technical/opengl/concentration-of-all-the-lessons-in-common-library-glsummary-in-mfc-r3375



#33 Alessio1989   Members   -  Reputation: 1926

Like
-1Likes
Like

Posted 06 October 2013 - 06:20 PM

python, flash or even Microsoft "toys" (smallbasic, kodu) could be a good point to start...

 

 

To be honest, I don't think C++ could be a good point to start for a 12yo kid.. 


Edited by Alessio1989, 06 October 2013 - 06:23 PM.

001100010010011110100001101101110011


#34 Ravyne   Crossbones+   -  Reputation: 7116

Like
5Likes
Like

Posted 06 October 2013 - 06:57 PM

First of all, props for being an involved parent, too often so-called parents can't be bothered enough to even learn the first thing about what their kids are into, or to the other extreme, force their kids into re-living the life they had, or wish they had had. It sounds like the your kid will turn out alright whatever he ends up doing.

 

Don't worry about whoever says your son is too young for X or Y. In kids especially, simple curiosity and a logical mind are an astonishingly good substitute for a proper education. Besides that, we tend to limit kids by thinking of them as being similarly intelligent to their peer-group, but the factory-model education system cages in most of that potential so that they don't wander too far away from the others. As a result, we think of kids in general as far less capable than they actually are. All kids have awesome potential, but schools can't cope because it's directed in every which direction -- just encourage and facilitate him following his interest and prepare to be amazed.

 

I started with BASIC--we didn't have fancy Lego robot sets, Roblox, or Minecraft back then-- when I was around 10, and the only resources I had were the 4-5 dusty programming books in my rural school system's library, and an equally-dusty Apple IIe (we had much newer computers, but none with Basic). That was enough to set the hook in me, and I started working summer jobs about as soon as I could so that I could buy my own computer and continue learning to program. At some point in the late 90s we finally got internet at home, and I started visiting this forum and other sites. By the time I graduated high school in 2002 I had written about half a dozen substantial programs (games and game tools), and probably 2 dozen other smaller programs. There's quite a high concentration of well-known programmers who had a similar experience starting young, so your son is in good company. Its fairly uncommon, I think, to find people who self-identify as starting their path at a young age in just about any other field.

 

I'm going to second love2d that someone mentioned above. Lua is a great beginner-friendly language, the love2d community seems pretty friendly, and Lua is widely used in the games industry so its a practical skill too. Other options would be something like pygame or pyglet, or maybe something like Cinder if your son is interested/becomes interested in C++ (although that end of the pool is probably not a good place to start without guidance). Unity is also pretty good, but it can also be distracting, if not difficult, to mold it into something that's not supported out-of-the-box -- for example, its fairly well known that doing a 2D game in Unity proper is not terribly straight-forward (although, Unity 4.3 should be out soon and includes proper 2D support, so that'll probably change. Its currently in Beta.)

 

Anyhow, there's a lot of great frameworks out there, just beware that the ones that might look most flashy and professional aren't always the best choice, because sometimes there's a big nest of circuits behind it that has to be rewired before you can do anything simpler with it.



#35 Promit   Moderators   -  Reputation: 6611

Like
4Likes
Like

Posted 06 October 2013 - 08:14 PM


To be honest, I don't think C++ could be a good point to start for a 12yo kid.. 
Agree but for a different reason -- C++ just isn't a good starting point independent of age. It's healthy and useful to work with languages like VB, C#, Lua, Python etc for a couple years first.

#36 Ravyne   Crossbones+   -  Reputation: 7116

Like
0Likes
Like

Posted 06 October 2013 - 09:32 PM

 


To be honest, I don't think C++ could be a good point to start for a 12yo kid.. 
Agree but for a different reason -- C++ just isn't a good starting point independent of age. It's healthy and useful to work with languages like VB, C#, Lua, Python etc for a couple years first.

 

And I'll agree with your conclusion, but partially-disagree with your reason.

 

I don't think C++ is insurmountable as a first language *if you have the benefit of someone guiding you through it*. If you don't have a teacher, buddy, or online pal who's willing to show you the ropes and is themselves already competent, then C++ is sufficiently hard to use correctly, and incorrect information too common, for it to be useful as a beginner's first language -- If that's not the case, then I defer to your reasoning that C++ is not a good beginners' language.

 

The biggest systematic shortcoming of C++ as a language, I think, is that straightforward code is most-often not correct in the strictest sense -- Its not exception-safe, its not thread-safe, memory-management. The great thing about C++ is that you can do everything yourself; the not-so-great thing about C++ is that you have to do everything yourself. Lots of things make this easier, including the standard containers and smart pointer types, but its really all sufficiently above baseline that no beginner can actually grok it all, and even using it blindly often can end in pain.



#37 3Ddreamer   Crossbones+   -  Reputation: 3133

Like
2Likes
Like

Posted 07 October 2013 - 05:36 PM

Game engine should determine the coding language in most cases, but a beginner should avoid C++ and 3D issues for at least 1-2 years, instead making 2D games like console application types (not to be confused with "console" type video games created for PS, Xbox, Wii, and so on) or settle on a 2D game engine and build game using it.

 

This is the crux of the issues.

 

 

Clinton


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


#38 Ectara   Crossbones+   -  Reputation: 2914

Like
1Likes
Like

Posted 07 October 2013 - 06:43 PM

I, for one, had a _much_ easier time learning C than C++. As I've said in other threads, sometimes trying to learn object-oriented design right off the bat is tough for people who tend to think procedurally by nature. It wasn't until I was basically recreating the features that C++ had for years that I finally made the switch, more for the ease of managing objects than anything.



#39 Alessio1989   Members   -  Reputation: 1926

Like
0Likes
Like

Posted 07 October 2013 - 09:39 PM

If you don't know nothing about programming, understand C++ is not just learn what int and std::vector<int> are with over 1300 pages of details.. yes lot of details (cit. Bjarne Stroustrup).

Without a decent understanding of computer organization and a little of operating system, you will never understand what tool (C/C++) are you using.

That's for a 12yo kiddo it's a huge pain, without counting he would see too few appreciable results in too much time.

 

PS: don't misunderstood me, I'm not a C/C++ hater, rather I really like C++ and it's my favourite language.. But I would never suggest to anyone to start programming with C++ or even C.


Edited by Alessio1989, 08 October 2013 - 11:01 AM.

001100010010011110100001101101110011


#40 Petrov_VA   Members   -  Reputation: 592

Like
-2Likes
Like

Posted 07 October 2013 - 10:32 PM

python, flash or even Microsoft "toys" (smallbasic, kodu) could be a good point to start...

 

 

To be honest, I don't think C++ could be a good point to start for a 12yo kid.. 

In the link sugested the source codes are ready working Visulal C++ projects. Just follow a few instructions provided and 7yo child can do ( just true version of MS Visual Studio required)






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