Slashdot Mirror


Ask Slashdot: Tools For Teaching High School Kids How To Make Games?

First time accepted submitter nzyank writes "The other day I bravely (foolishly?) volunteered to conduct a video game development workshop at my boys' HS. This in Smallsville, Vermont with an average graduating class size of about 20. The idea is to meet once a week and actually create a game, start to finish. It will be open to would-be programmers, designers, artists, etc. I worked on a bunch of AAA titles back in the '90s, but I'm pretty much out of touch nowadays and I'm trying to figure out the best approach. The requirements are that it has to be one of either Windows/XBox or Android, since those are the platforms that I am current on. It has to be relatively simple for the kids to get up and running quickly, and it needs to be as close to free as possible. Teaching them to use stuff like Blender, C#, C++, Java, XNA, OpenGL and the Android SDK is probably a bit much. I was thinking of something like the Torque Engine, but they want $1000 for an academic license, which is never going to happen. I simply don't know what's out there nowadays and could really use some suggestions."

11 of 237 comments (clear)

  1. Best suggestion is Kodu by InterestingFella · · Score: 4, Informative

    For programmers best suggestion would be XNA and C# as it is really powerful while still being to program with, and you get support to all Windows, Xbox360 and Windows Phone 7. However, you noted that even XNA is probably a bit much.

    However, MS Research also has come up with Kodu which is basically XNA and C# in even more suited package for kids. It's really easy to use and you can actually modify your game a lot. It's fully interface based, so there is no need for coding, but it is still fairly powerful and the best of all, you see

    1. Re:Best suggestion is Kodu by aretae · · Score: 3, Informative

      I've been teaching programming for a bit...For kids' learning there's a pretty clear top-of-the-list set Kodu -- XBox -- my 5 & 7 year old enjoy making these games a lot. -- Scratch -- My teen has used it. Logo -- I loved it as a kid, and it has fabulosu learning, but low video-game capabilities Lego Robotics -- Very good for learning programming, less so for video games. Android programming seems pretty easy for kids (My teen)...can use any dev environment you like. Eclipse, Android SDK, Java, you're ready to go. And you can put the results on your phone immediately.

    2. Re:Best suggestion is Kodu by Canazza · · Score: 3, Informative

      You get the same thing out of Unity3D + C#. with the added bonus of it working on OSX, and it's free.

      --
      It pays to be obvious, especially if you have a reputation for being subtle.
    3. Re:Best suggestion is Kodu by arth1 · · Score: 3, Interesting

      I say you start in the wrong end. When I was younger, high school kids made demos in assembly language. Quite impressive ones too. Without toolkits, IDEs, or any kind of pre-chewed food.

      IMNSHO, schools should always teach low level fundamentals, never high level implementations, no matter what classes. Because the latter will change, while the fundamentals will still be valuable ten years from now when they hit the job market, as they can be applied to any high level implementations.

      This teaching kids solutions that will be outdated by the time they graduate, and not the background needed for them to derive answers themselves, is, I believe, part of what's wrong with schools today.

  2. Unity3D by claytongulick · · Score: 5, Interesting

    Unity is pretty much the best option. It is cross platform, easy to develop in, and has everything you need to get started fast. The documentation is excellent, the community is supportive and the entry-level version is free. Unity

    --
    Drinking habits can be dangerous. You can choke on the cloth and the nuns will wonder where their clothes are.
    1. Re:Unity3D by NoSleepDemon · · Score: 5, Interesting

      I agree with this, the University I work at runs a game development workshop for 12-17 year olds(ish) that runs for an entire semester, we bring in a lot of big guns from the industry to give them talks as well and next year we're thinking of giving some of the better developers internships at our studio. We've found that Unity3D is a pretty excellent tool for people learning to program, it's also a pretty excellent tool in general, and we use it for our commercial projects as well. I do of course have some gripes with it, for a start the interface is pretty awful (prefabs aren't at all intuitive and nesting them doesn't work right) and source control is a NIGHTMARE - you pretty much need to have the pro version which allows you to turn on the "make my unity project not cause my version control system to tear its eyes out" option or your project's associations will break each time you distribute a new build. - most of the youngsters won't care about that but you're almost guaranteed that one of them will :)

  3. javascript tetris by larry+bagina · · Score: 4, Insightful

    HTML 5 canvas + javascript runs everywhere that matters. Old basic games (cards, gorillas, donkey, snakes, etc) should be a good target.

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

  4. Scratch (scratch.mit.edu) by andi75 · · Score: 4, Informative

    Check out http://scratch.mit.edu/. It sure looks like kiddy stuff at first glance, but its awesomeness cannot be described, you have to try it yourself.

    Since scratch takes care about all the nitty-gritty details, you can focus on actually *designing* good games, which is awfully hard.

  5. Re:Games are pretty much complex PROGRAMS by InterestingFella · · Score: 4, Insightful

    No, because that isn't fun and will just drive them away from programming. Nobody picks up a hobby or starts learning about something because of the technical details of it. They start doing it to accomplish or make something they want. Coding some fun little games (and tons of unfinished ones!) is the best way for kids to keep interest in programming. When I was a kid and also as teen, I really didn't care about algorithms or making myself think about programming as logical way. I wanted to make fun stuff. Everything else came later, after I've already established that programming was fun and I wanted to learn more about it. This included tons of reading and learning which I wouldn't had done without the initial spark in it.

  6. Python + Pygame by sharp3 · · Score: 3, Informative

    Pygame is a pretty nice little package for quickly building 2D games. Fairly decent documentation and best of all, free! http://pygame.org/

  7. Game programming is complex by Hentes · · Score: 3, Insightful

    Game programming would be the last thing I would teach to novice kids, as it has several different parts, from low-level hardware-oriented code to networking, high-level scripting, databases and map design, not to mention a non-programming parts like the graphics.

    If you really want to create a standalone game I would suggest something simple using Flash. But if you want to get them into game programming (and teach them actual techniques that it needs) get them into modding. There are many games designed to be easily moddable, the instant feedback and success will be a great motivation, and the kids will learn plenty of stuff they can later use.