Forgot your password?
typodupeerror
Programming Games

How To Get a Game-Obsessed Teenager Into Coding? 704

Posted by Soulskill
from the apps-and-addons dept.
looseBits writes "I have a friend whose 14-year-old son spends all his time gaming, like any normal teenager. However, my friend would like to find a more productive interest for him and asked me how to get him into coding. When I started coding, it was on the Apple II, and one could quickly write code that was almost as interesting as commercially available software. Now, times have changed and it would probably take years of study if starting from scratch to write something anyone would find mildly interesting. Does anyone have experience in getting their children into programming? How did you keep them interested if the only thing they can do after a week is make the computer count to 10 and dump it on the screen?"
This discussion has been archived. No new comments can be posted.

How To Get a Game-Obsessed Teenager Into Coding?

Comments Filter:
  • by Pojut (1027544) on Friday May 28, 2010 @03:51PM (#32380628) Homepage

    Get them started on the classics.

    • Lego Mindstorm (Score:3, Insightful)

      by mrops (927562)

      Get him one. See if you can find local clubs where they have competitions involving mindstorm and what you can do with them.

      If you can invoke the inner gamer's competitiveness in him while taking up mindstorm challenge, you have introduced him to first steps of coding. Next wipe mindstorms firmware off it and load the java firmware.

    • by elrous0 (869638) * on Friday May 28, 2010 @04:14PM (#32381148)

      10 PRINT "FUCK"
      20 GOTO 10

      • Re: (Score:3, Funny)

        by genner (694963)

        10 PRINT "FUCK" 20 GOTO 10

        That's a great way to learn about a text to speach api.

      • by bobdehnhardt (18286) on Friday May 28, 2010 @05:09PM (#32382136)

        NOOOOOOOOOOOO! "GOTO" is EEEEEEVILLLLLLLLLL!

        while (1) {
                print "FUCK";
        }

        • by firewood (41230) on Friday May 28, 2010 @05:28PM (#32382382)

          NOOOOOOOOOOOO! "GOTO" is EEEEEEVILLLLLLLLLL!

          Just the opposite. Far more kids were interested in science and programming back in the days when the chemistry set could burn or blow your fingers off, and the use of unprotected GOTO's, peeks, poke, and global variables could crash your computer a zillion different ways. Choosing safety has taken all the fun out of play.

          Teach the kid how to program in BASIC. Bill Gates and Woz can be his role models. What teenage kid has heard of or wants to be Djiskstra?

      • by adamofgreyskull (640712) on Friday May 28, 2010 @05:15PM (#32382224)
        Lesson The Second:
        10 INPUT "What is your name? : ", U$
        20 PRINT "Fuck you "; U$
        30 GOTO 20
    • by 0100010001010011 (652467) on Friday May 28, 2010 @05:07PM (#32382104)

      Tell him under no circumstances is he allowed to program. Should work with most teenagers.

      • Re: (Score:3, Interesting)

        by BLAG-blast (302533)

        Tell him under no circumstances is he allowed to program. Should work with most teenagers.

        Funny, I started programming round when War Games came out. My parents were very worry about my interested in computer programming, I was banned from owning a modem while I live at home. Or maybe it was all a ploy so I would leave home and go to college, rather than staying home and become a fisherman.

    • Re: (Score:3, Interesting)

      by kirk.ky (1089785)
      I have the same issue, with 12 and 13 year old sons. programming is a unique frame of mind and not everyone finds it as pasionate. I recently taught the oldest how to create domains and gave him access to a webserver and he is obsessed with coding html. ( www.kirkster.ky and www.simster.ky ) Dont know how much of it is original or just cut and paste but it looks impressive. With the other, being a bit more focused and detailed, i started building a graphics engine from scratch, and included him in the entir
    • Re: (Score:3, Insightful)

      Also, consider that any given teenager might not be interesting in programming (SHOCKER!) and prefers to draw. This can pretty easily lead into free 3D modeling tools like DAZ Studio, where you can make a fair bit of change just being good at crafting and skinning objects. (Don't worry about buying a copy of Photoshop, the kid'll take care of that. ;) Then there's game modding, level design, etc. etc. If an indie game catches his/her eye, they are off to the races.

      I grew up on Apple BASIC, QuickBASIC, DO

  • You don't (Score:5, Insightful)

    by elrous0 (869638) * on Friday May 28, 2010 @03:51PM (#32380630)

    Coding isn't something someone else chooses for you, it's something you choose for himself. And it has NOTHING to do with him being a gamer. Relating "He likes to game" with "He will like to code games" is no less absurd than relating "He likes to game" with "He will like to be an electrician." Gaming and coding are two completely different things, only tangentially related by the thinnest of connections. At the very most, you might tell him that there is code behind his game. But if he is 14 and doesn't know that, he's probably too stupid to ever be a coder anyway (well, he might still be qualified to code for EA).

    My advice? Politely tell your friend to ask his son what *HE* wants to do with his life. If the kid's answer is something reasonable (i.e. not "rap star," "sports legend," or "professional gamer"), then your friend should help the kid explore *that* profession, and not just assume that he's destined to be a programmer just because he likes to game. Programming is not the kind of thing you get into because some putz friend of your father's goads you into it.

    Ironically, when I got into coding, my parents tried to goad me *OUT* of it (because I would code for hours at a time and they wanted me to at least go outside). Now that is how you know you're meant to do something!

    • Re:You don't (Score:5, Insightful)

      by denmarkw00t (892627) on Friday May 28, 2010 @03:57PM (#32380796) Homepage Journal

      Or be qualified to run Activision?

      But yeah, like OP says, you can't expect him to want to code just because he loves to game. Some of the best advice ever that I hope every parent/parent-to-be out there takes from the comment would be

      Politely tell your friend to ask his son what *HE* wants to do with his life.

      It took my parents years of coming around to this - they tried getting me into sports and music (I do love music, just not what I wanted to be doing back then) before finally realizing that I wanted to work with computers, both in hardware and software, and that their best bet was to support me so that I could grow up to do something I love, not something that they wanted me to do or hoped I would do. It's fine and dandy to explore different interests with your kids, but if you don't consider what THEY want then you're just being a jackass, no matter how good your intentions are.

      • Re:You don't (Score:5, Insightful)

        by Actually, I do RTFA (1058596) on Friday May 28, 2010 @04:18PM (#32381208)

        It took my parents years of coming around to this - they tried getting me into sports and music (I do love music, just not what I wanted to be doing back then) before finally realizing that I wanted to work with computers, both in hardware and software, and that their best bet was to support me so that I could grow up to do something I love, not something that they wanted me to do or hoped I would do. It's fine and dandy to explore different interests with your kids, but if you don't consider what THEY want then you're just being a jackass, no matter how good your intentions are.

        Yes and no. Some decisions (what to eat) children just aren't mature enough to make. Other skill sets (language) are easiest learned at a young age, and pretty universally useful (if only to test out of foreign language classes later in life to take something else in their stead). Or things like some sport/exercise to build good habits that hopefully last a lifetime.

        But those should be balanced by helping, nay encouraging, the child to do something he enjoys. The best habit is to teach them to pursue their interests, and the best skillset is learning how to learn.

        • Re: (Score:3, Insightful)

          by syousef (465911)

          Yes and no. Some decisions (what to eat) children just aren't mature enough to make.

          This is the problem with modern society. We give kids no personal responsibility, declare that they are too immature to make decisions early, fail to teach them how to make good choices, then wonder why they go stupid at 18 or 21 or whatever arbitrary age we decide they are suddenly adults.

          You need to be teaching children to take care of themselves and that includes nutrition. Sure a little guidance is needed. "You can't always have icecream for dessert even if it tastes nice, because you'll get fat and unhealthy and feel like shit". What you've said is so absurd you might as well tell me a teenager is not mature enough to decide when to go to the toilet.

      • Re:You don't (Score:4, Informative)

        by Anachragnome (1008495) on Friday May 28, 2010 @04:29PM (#32381422)

        "It took my parents years of coming around to this ..."

        This.

        Don't try to force your hand in the matter. If the kid doesn't want to do it, so be it. A forced hobby is just another chore without allowance to look forward to.

        As far as how to encourage it, and there is nothing wrong about that--just know when to lay off, I would recommend playing a game (TOGETHER!!) that allows for HEAVY mod application/usage. Even something as simple as writing LUA mods for WoW might get him/her interested in more complex stuff like full Counterstrike rewrites. Many games come with Construction sets and are excellent tools for learning the mechanics of a game engine.

        Last bit of advice. Unless you plan on doing this yourself as well, don't expect your kidlet to pick it up.

    • Re:You don't (Score:5, Insightful)

      by Max Romantschuk (132276) <max@romantschuk.fi> on Friday May 28, 2010 @03:58PM (#32380818) Homepage

      Coding isn't something someone else chooses for you, it's something you choose for himself.

      I wholheartedly agree. I've been coding for ten years now, and all my experience tells me it's a calling. Either you want to and you'll find a way, otherwise you'll never "see the light".

      I've worked with coders who should never have been coders. They had the mechanical ability to produce syntax, but not the creative spart to take it to the level of art.

      • Re:You don't (Score:5, Interesting)

        by elrous0 (869638) * on Friday May 28, 2010 @04:08PM (#32381034)

        I've worked with coders who should never have been coders.

        I was in a programming class once and a fellow student asked me how I had solved a particularly difficult programming problem we had been given. I excitedly told him how I had come up with a clever solution that I was particularly proud of and about how I had awoken my roommate jumping up and down with delight when I did it. My fellow student just stared at me blankly, clearing not getting why I had been so excited at coming up with a unique solution to the problem. And that is when I knew that I was meant to be a programmer and he wasn't.

        • Re: (Score:3, Interesting)

          by Pojut (1027544)

          I had a similar thing with cars. Figuring out how to fit this part onto this car, or trying to figure out what's making that weird noise, or bending a custom exhaust out of a straight piece of pipe for a car that didn't HAVE an exhaust system on it as a guide...the whole idea of figuring it out propelled me.

          The same thing applies to my current job with mail merge programming. I absolutely love it when a client requests something that I not only haven't done, but something I never even considered doing. Th

          • Re: (Score:3, Interesting)

            by Kemanorel (127835)

            I dare anyone to name something as emotionally satisfying as facing a seemingly insurmountable problem...and then finding a solution.

            In a word: Teaching.

            I find it to be eminently satisfying to be a part of the moment where a student is struggling with some tough (for them) concept and then the proverbial light clicks on and the understanding flows in. I also feel quite good about how students will return to me after a few years, students that quite often despised me for various reasons (not the least of which is that I made them *GASP* work and held them accountable), and tell me how much they learned in my class and wish that they had

        • by nitehawk214 (222219) on Friday May 28, 2010 @04:33PM (#32381536)

          I've worked with coders who should never have been coders.

          I was in a programming class once and a fellow student asked me how I had solved a particularly difficult programming problem we had been given. I excitedly told him how I had come up with a clever solution that I was particularly proud of and about how I had awoken my roommate jumping up and down with delight when I did it. My fellow student just stared at me blankly, clearing not getting why I had been so excited at coming up with a unique solution to the problem. And that is when I knew that I was meant to be a programmer and he wasn't.

          Your classmate was probably staring blankly because they didn't understand your answer, and thus was unable to copy it properly.

    • Re: (Score:2, Insightful)

      by DeadDecoy (877617)
      I agree with most of your post but I still think the kid could be fostered into coding if they were given some exposure rather than a generic 'what do you want to do with your life' question. My best suggestion along those lines is to see if the kid fiddles with map makers (e.g. from valve or blizzard) or show them some small programs in openGL or pyOgre where there's some immediate feedback to the work they put in. Again, the poster is right in one sense, coding is hard work, and if the kid doesn't have a
      • A teenager probably won't have a predisposition to hard work, but fun exploratory studying while a student isn't supposed to be hard work. Contrary to TFS, it's easier than ever to get started programming, like in Python. If he's even remotely conscious he'll be a user of the internet, and PHP has a strong pull for new programmers because it can do cool things on a platform that everyone's familiar with.. the ins and outs are very easily inferred from what you see in the web browser. Fundamental stuff like

    • by BagOBones (574735)

      I agree, you want it or you don't.

      In my collage first year over 50% of the students left the program as they had no clue what they where getting into. Only those with real interest and understanding made it to the end.

    • by ildon (413912)

      I'd like to add that being a gamer and being a coder are completely independent. It's a bit like thinking a great football player could engineer a great stadium or come up with a great new sport. I'm not saying it's impossible, just not really any more likely than a non-gamer.

  • How do you get a kid to play football? You take them outside, throw a football to them and ask them to throw it back. If they like it, they do the same thing with their friends while you're not around.

    How do you get a kid into coding? Guess.

  • Mods (Score:5, Insightful)

    by apoc.famine (621563) <<moc.liamg> <ta> <enimaf.copa>> on Friday May 28, 2010 @03:53PM (#32380676) Homepage Journal
    Find a game with good modding potential, and show them what they can do. The early ID games were where I started my programming, with simple scripts. Once you learn you can change things, the next thing is creating new things.
    • I remember cutting my teeth on the Starfleet Command series, and of course the modders favorite the Civilization series. By kid's standards both series are playable today (I know some of us still bust out the old 8 bit consoles but not many 14 year olds do so).
    • Mutators for the Unreal series of games are like mini-mods, and they're how I cut my teeth as a game programmer. I tried learning Visual Basic on my own, and at first I found the book I was reading to be WAY too slow, so I skipped ahead. Then there was all this stuff I didn't understand, because I skipped ahead. Finally I took a CS course in Highschool and they forced me to a fixed curriculum, and I will NEVER forget that first "eureka!" moment where I began to understand the true concept of object-oriented
    • Re: (Score:3, Informative)

      by Xzzy (111297)

      Wish I had mod points (har har, no pun intended), because this is the way to go.

      Get him into a FPS that has an active mod community (TF2 would be my pick, but it's far from the only option). Even just making maps for these games is a start.. scripting game events with entities in Quake/Source based games requires a lot of if/else logic and it's a very roundabout way to get someone thinking like a programmer. From there, they'll probably want to make new guns. This will naturally lead into making mods, which

      • Re: (Score:3, Informative)

        by VGPowerlord (621254)

        Get him into a FPS that has an active mod community (TF2 would be my pick, but it's far from the only option)

        Or better yet, Garry's Mod + Team Fortress 2 [steampowered.com].

        Granted, TF2 will likely go on sale soon... it's name in the Steam store is now "Team Fortress 2 (Mac coming soon)" and the remaining Orange Box games all went on sale the day their Mac versions went on sale... Portal was on sale for 100% off for a week and a half, while HL2/HL2Ep1/HL2Ep2 are 30% off right now.

        Speaking of which, The Orange Box [steampowered.com] is $20.99 on

  • Try to get him pointed towards an addon or mod for whatever game he plays. If he writes something successful he'll start to spend more time maintaining that than playing. If he does it as a project with you or some of his peers it'll be more fun.
  • Find a problem that he likes, like Sudoku. Then help him think his way through and program a basic Sudoku solver: formalize the process of solving a Sudoku board in a way that a computer could do it, and take advantage of the opportunity to teach him things like backtracking. Work together in a language like Python where code is incredibly easy to write and readable. This will possibly not only get him interested in coding, but help him tremendously with his logic and mathematics skills.

  • by aBaldrich (1692238) on Friday May 28, 2010 @03:55PM (#32380738)
    If he is obsessed with games, then you don't have to teach him something he considers useful. Just tell him that coding a linked list will give him 200 exp points.
  • I've had great success with my teenager with Game Maker from YoYo Games.

    http://www.yoyogames.com/ [yoyogames.com]

    Windows only unfortunately, but excellent. It'll teach simple variables and loops to start with, with instant results, before leading into more advanced coding as his skills and ambition increase.

  • You can find some logo implementations online. And when he's tired of drawing things with it, move him on to something like Pascal or even Python. And if he's more into the visual stuff, throw C# at him. He'll have working applications in a few hours that can do more than the super basic stuff and there's tons of videos out there to teach him how to do even more.

    It'll give him a chance to show his friends something he did. If the games he's playing have APIs, maybe he can throw together something to utilize

  • I love playing basketball, but I have no interest in working for Spalding, Nike, Reebok or Adidas.

  • it's down right now, but when it's not, it's a very easy way to get results very quickly without, you know, wasting your time learning crap:

    http://love2d.org/ [love2d.org]

    (mod as you wish, I'm posting this now since I might forget later)

  • Buy him moddable games and show him a few good mods.
  • Mobile Programming (Score:2, Insightful)

    by dakrin9 (891909)
    Android and iPhone OS's are the new Mac's and Windows back in the day. Get him an Android Dev Phone 1 (http://developer.android.com/index.html) or buy any of the cheapo androids out on ebay and have him start learning the API. It's awesome, easy, and he can create some really nice looking apps pretty quick. It's a great way to get someone excited about programming in this day and age.
    • by EvilIdler (21087)

      A cheaper option, if the kid actually wants to code, is to just start with a game engine. Unity, UDK are free. Some games can be modded freely (any Valve game, Epic's desktop titles).

  • Depending on his skill level and interest, I would try Squeak [squeak.org]. Scratch [mit.edu] and Etoys [squeakland.org] work well with younger kids.

    Someone else said you can't force someone to program. I agree with that, but people don't always know what they're going to like. Give him things to explore and maybe he will become interested. Try not to be offended if he doesn't.

  • I am trying to get my nephew starting with programming ( okay not exactly programming but scripting ) on python. Very english-like syntax and very practical uses like auto sending emails for different tasks, logging in to websites etc etc Maybe at some point he will pick up and learn Java/C/C++ etc etc!!
  • You can try getting him to install XNA Game Studio (free). You can write some simple games with the first couple of tutorials.

    However, if he doesn't really want to program he'll quickly get bored and go back to gaming. But of course, not everyone is destined to be a programmer.

  • I too grew up with Apple II's and C64's and programming had a certain allure that it just doesnt have now. How does a kid get into this today? I don't know.

    The only thing I can think of is that my kid(s) will see that I am doing it for hours a day and wonder, what is so interesting that daddy spends all day doing it?

    They have to have their interest sparked first. It has to start with a question.

    Kid: What are you doing?
    Dad: Well, I am programming. I'm telling my computer what to do.
    Kid: Can you make a ga

  • What worked for me was my dad gave me a copy of Zork and a copy of Quick Basic.
    My thought process went:
    "This is fun, and doesn't seem so hard I can't even imagine where to start."

    If text adventures hold insufficient appeal, some more modern versions of surmountable tasks are:
    WoW mods
    Neverwinter Nights module
    Get the kid hooked on Eve and then make him learn VB to build profit & loss spreadsheets in Excel

  • by birukun (145245) on Friday May 28, 2010 @04:01PM (#32380890)

    Tell your friend to man up and be a father. My son and I are building a custom case for a file server for the house, I have no art skillz but he does. Keeps his appetite for tech up without him doing the brain drain in front of the tube.

    FYI - normal teenagers do not spend all their time gaming

  • Maybe the way to do this is to choose a problem that can be seen as interesting and then to go through coding up a solution for it together, concentrating on the algorithm of-course.

    The problem surely is finding an interesting topic. When I taught myself coding I didn't have anything better than doing it to create computer games, the kinds of games that people played on Atari or Commodore or Sinclair or Spectrum computers about 25 years ago (goddamn, that was long ago).

    I didn't have anybody to pose a more w

  • Get him hooked on a game that has it's scripting system exposed to the user.

    Just off the top of my head:

    Any Infinity Engine game (i.e. Baldur's Gate)
    Neverwinter Nights &/or NWN2
    Dragon Age
    The RPGMaker series of tools

    The thing is, if the kid doesn't have an urge to create as opposed to just consuming, it doesn't matter what you expose him to. If you don't have the creative urge, you just aren't going to be interested in coding.

  • A game in one line. Clear the screen go to the bottom, type RUN. Use shift to move your ship left and right and avoid the rocks scrolling up from the bottom.

    0 poke 32788+pos,65; pos=pos+2*(peek(151)&1)-1; print tab(rand(36)),"XXX"; if peek(32788+pos) ==32 goto 0

    Actual constants and statements may be slightly off, it is years since I went into stores and typed this and and quickly played games on the sterile display model. It was practically the same code on TRS-80s as well.

    Another good short one is the

  • Test the Waters (Score:3, Interesting)

    by KantIsDead (976477) on Friday May 28, 2010 @04:05PM (#32380990) Journal
    As others have said, if a 14 year old kid is forced to do anything they will hate it. However, I think it would be fairly easy to test the waters to see if the kid might develop a genuine interest in programming.

    I may be too old, but I think the father can test the waters with his kid in a similar fashion to how I was introduced to programming: simple programs in simple programming languages. In school I was walked through "Hello, world" in BASIC and found it interesting. There's something there in the quick feedback between coding and running the code that will either trip something in the kid's mind where he is interested in this or he isn't. I say start with BASIC, Pascal, or Java, something relatively easy. Start with simple, pre-done programs that offer a quick reward for the beginning programmer. If it sticks to the point where the kid starts reading and experimenting on his own, then great. If not, hopefully the father will be open enough to explore other possible interests with his child.

    I would be worried that the father would try and throw the kid into the deep-end of the pool right away, in which case the kid is going to develop an aversion to programming. Start simple with some basic flow-charting and some basic programs. Maybe get some electronics kits to see if hardware appeals more than software.

    One note. As the youngest of three sons, I programmed on my own and in conjunction with a few friends. Generally speaking, until the news media starting hyping programming as a great career opportunity none of our parents seemed particularly interested in what we were doing so long as our grades were decent and we weren't getting in to trouble. Whether its programming, playing basketball, or anything else, so long as the father takes the time to participate in the activity with his child and encourage the child to pursue his interests (other than pro-gamer), I think good will come of it.

  • Game Modding (Score:5, Insightful)

    by Leafheart (1120885) on Friday May 28, 2010 @04:08PM (#32381038)

    Get him into game modding. If the kid plays WoW, the modding community is great, and it was the only thing that made me endure the game for a year. WoW uses LUA, which is a great and easy to use language, couple with XML for interfaces and data transfer.

    Another option is creating mods and maps for Civilization IV. With Civ V coming this year, with even better modding potential, this is really worth a shot. Otherwise, try to check what is writable for whatever the kid is playing. Coupling the gaming experience with the more "productive" time codding, is his better shot.

  • My 14-year-old has expressed a mild interest in programming, so I'm going to load up VPython for him to try. The language is easy to learn, and he can make things "happen" on the screen very simply. It's a first introduction to watching what happens in loops, conditional statements, and then graphics terms like textures, polygons, and lighting. Sounds like a perfect introductory mix. I would have loved such a thing when I was getting started.
  • 10 REM Hello World in BASIC
    20 PRINT "Hello World!"

    Also, please teach him to hate Java and Flash. I'd consider it a personal favor.

  • by gregor-e (136142) on Friday May 28, 2010 @04:10PM (#32381084) Homepage
    Writing software requires a peculiar temperament. One must enjoy solving puzzles, be relatively immune to repeated assaults by frustration and failure, and be willing to sink your teeth into a problem and not let go until you've solved it. Then there's the whole 'thinking logically' and breaking bigger problems down into a structure of smaller nested problems thing. Some folks just can't do it. Their brains simply do not work that way. If the kid in question isn't already curious about programming, I'd bet money he won't ever be. It's not something like encouraging him to take up playing the trumpet.
  • Playing games and wanting to program are 2 different things. Heck, using a computer and wanting to program are certainly NOT related. So, if you want to know what is a good way to get to introduce your kid to programming, see if he's even willing to learn to program and if he had a choice, what would he want to do? (meaning what type of program he would want to write) so, if it's a no, stop wasting your time. Truth is, in my honest opinion, all kids should know some basic form of programming, at least t
  • by j-beda (85386) on Friday May 28, 2010 @04:13PM (#32381136) Homepage

    If he has any interest in creating something (game, interactive story, animation, etc.) it might be worth having him check out "Scratch" from MIT.

    My pre-teens have played with it a bit - it can be pretty fun, and one can see how it introduces a lot of coding thoughts.

    http://scratch.mit.edu/ [mit.edu]

    "Scratch is a programming language that makes it easy to create your own interactive stories, animations, games, music, and art -- and share your creations on the web.

    As young people create and share Scratch projects, they learn important mathematical and computational ideas, while also learning to think creatively, reason systematically, and work collaboratively. ...."

  • PyGame (Score:3, Interesting)

    by steveha (103154) on Friday May 28, 2010 @04:25PM (#32381348) Homepage

    I agree with the other comments: if he doesn't have the interest, or if he doesn't have the aptitude, then trying to push him into coding is a waste of time.

    That said: check out PyGame. PyGame is a set of libraries for Python, specifically intended for creating new games.

    http://pygame.org/ [pygame.org]

    Hmmm. I just went there, and it says that PyGame has now been ported to JavaScript. That probably makes sense, given the major efforts to speed up JavaScript in the new-generation web browsers.

    At the PyGame web site, there are a bunch of games people have written, with source code available; and some of these games are half-done and half-broken. If he has the inclination to code, he might get interested in a half-done game and start fixing it up. Or even take a game that isn't half-baked, and start adding new features to it.

    steveha

  • A choice (Score:4, Interesting)

    by PNutts (199112) on Friday May 28, 2010 @04:31PM (#32381486)

    Give him the choice between: A. Writing pseudocode to mow a yard and see if *you* can "execute" it; or B. Mow the yard himself. Bonus: Either one can generate a living wage.

  • by blackfrancis75 (911664) on Friday May 28, 2010 @04:43PM (#32381716)
    I really think that Borland C++ Builder is a great way to start, because you *start* with a GUI designer, and add event-handlers, and eventually extend funtionality.
    It's a really easy way to lower the bar and you could get some simple UI-based games up & going with a minimal amount of (non-generated) code.
  • Where do they game? (Score:3, Informative)

    by DdJ (10790) on Friday May 28, 2010 @04:48PM (#32381798) Homepage Journal

    On the XBox 360? Look into "Kodu Game Lab" and maybe eventually XNA.

    World of Warcraft? There's a rich XML-and-LUA-based modding system; you can start with "hello world" apps and produce richly customized user interfaces with complex tools added to them.

    The Wii? Install the web browser, and show them a bunch of the games that are optimized for the special version of Flash that the Wii has, and then poke at one of the dev kits that works with that.

    Really, just knowing that they're doing "gaming" doesn't tell us enough to know what might best serve as a bridge to other things.

  • It's way too late. (Score:4, Insightful)

    by tlambert (566799) on Friday May 28, 2010 @04:49PM (#32381822)

    It's way too late.

    The time to get someone interested in coding was when it was possible for them to sit down with a computer and a copy of Compute! magazine, type in a game program source code, and then play the resulting game.

    Without the tie in between coding (work) and the reward (gaming), the coding doesn't become fun, unless you are already bent in that direction.

    That level of game, where you are pushing 8 bit pixels around, is, frankly, no longer interesting. At the time, however, it was state-of-the-art, and you could get your head around it easily because it didn't require a lot of abstract complexity to modify the programs. In fact, you usually typo'ed typing in the program, and it didn't do what you expected, so you learned to compare the source with what you had put in the machine, and got some debugging skills out of it and a working game as the reward. Constant exposure to this type of thing, and you can't help but absorb some of the syntax and code flow understanding necessary to take the next step and make the bad buy look different than they way the original programmer intended. Or change the game logic to the point that the game play is different, or you're getting huge scores compared to your friends because you did the right button/joystick sequence early in the game and activated the "cheat mode" you built into it.

    Those days are pretty much gone. There is a very large divide between a small amount of ability and an interesting result, because the state-of-the-art has moved on, and there's now a big divide.

    I find it really ironic that the most valuable programmers you can hire these days pretty much come from places where their idea of interesting is one generation back because the hardware and software they had to play with is one generation back, and they have a decade difference between our "old school" and theirs.

    -- Terry

  • hm. . . 14? (Score:4, Interesting)

    by jafac (1449) on Friday May 28, 2010 @05:10PM (#32382160) Homepage

    This is the age where boys seem to be "lost" the most, and parents seem to get the most concerned about them.

    I work with boys (save the jokes), and I've seen it happen in several cases, right around this 13-15 age range. They suddenly find something they're interested in, and they just DO it.

    In one case, it was a kid who just suddenly found video games boring, and moved on to photography and writing. He's very creative, and he found this very rewarding.

    My own son; was a Guitar Hero monster. And I told him (joking): "if you spent this much time playing a REAL guitar, you'd be a really kick ass guitarist, instead of just beating your friends at a video game that will be obsolete in 2 years. Which do you think you'll be thankful for, when you're my age?"
    He sold his xbox360, and all his games, (I miss Halo 2. . . ) and instead of spending 6 hrs a day playing video games, he plays his guitar for 6 hours a day. And he's pretty amazing. Even if his dreams of rock stardom don't work out, he's going to have a skill and a developed talent he's going to use the rest of his life.

    So - don't "push" him in any direction. But DO expose him to other things. (I think it helps if some of the exposure happened before video games came in). He'll push himself in whichever direction works for him.

    My armchair-psychologist idea of why this happens, is they're still searching for an identity. They're trying to figure out who they are. You can also make them somewhat accountable for the decisions they make too. (ie. there are consequences to spending all your time on video games. . . failing at real life).

  • Why coding? (Score:3, Insightful)

    by Fishbulb (32296) on Friday May 28, 2010 @05:12PM (#32382186)

    Just because he plays on a computer doesn't mean he has any sort of knack for programming.

    Better than coding might be buying him an X-acto set, some Duco Cement, some Testers paints, and some various model kits - a rocket, plane, boat, car, etc. Mix it up and get him a four-channel R/C setup and let him tear some s#!t up!

    Building stuff you can play with is immensely rewarding and not confined to coding games (or other programs).

    Hell, even something really useful like a carpentry class. My school system had them starting in 8th grade.

  • Cube 2: Sauerbraten (Score:5, Interesting)

    by SheeEttin (899897) <sheeettinNO@SPAMgmail.com> on Friday May 28, 2010 @05:16PM (#32382234) Homepage
    Cube 2: Sauerbraten [sauerbraten.org]. Give it to him.
    It's a free and open-source Quake-like FPS. Usually the progression goes like this: Playing -> Mapping -> Scripting -> Coding. I've seen that progression played out several times in the community and myself (full disclosure: I moderate the forums and Quadropolis.us [quadropolis.us], the primary source for maps, mods, etc.).
    Mapping is done in real time and in-game. A mere tap of the E key will switch between editing and playing, so you can see and test what you're doing immediately.
    It's also designed to be light on resources. I use the (very underpowered!) open-source radeon driver to drive my Radeon X1600 Pro, and I can get a consistent 30 FPS with the eyecandy barely dialed back.
    For a little more detail, here's the description from cubeengine.com [cubeengine.com]:

    Free single and multi player 1st person shooter game with some satisfying fast oldskool gameplay. A large variety of gameplay modes from classic SP to fast 1 on 1 MP and objective based teamplay, with a great variety of original maps to play on.
    Level editing has never been so much fun: a press of a key allows you to modify the geometry / textures / entities in-game, on the fly. Even more novel, you can make maps together with others online, in the unique "coop edit" mode (!)
    The engine, though designed for simplicity and elegance as opposed to feature & eyecandy checklists, still competes nicely thanks to its novel "6-directional heighfield deformable cube octree" world structure that is the basis for its in-game editing. Occlusion culling, pixel & vertex shaders, very accurate lightmapping, robust custom physics system, network system, models, sound, scripting...

  • Go straight to 3D (Score:3, Informative)

    by Locke2005 (849178) on Friday May 28, 2010 @05:17PM (#32382240)
    Have you tried Alice [alice.org]?
  • by mwvdlee (775178) on Friday May 28, 2010 @06:03PM (#32382942) Homepage

    I enjoy my regular trips to the toilet thoroughly. Every time I feel relieved afterwards and I tend to go several times each day.
    Doesn't mean I want to install toilets for a living.

    Just because the kid wants to play games doesn't mean he wants to make them.

    Quite honestly, if the kid wouldn't get excited about his first ever computer program counting to 10 and dumping it on screen, then perhaps he's not the type.

Real programmers don't write in BASIC. Actually, no programmers write in BASIC after reaching puberty.

Working...