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."

30 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 Rhalin · · Score: 2

      I have to second Kodu. Very minimal learning curve, easy to make relatively fun games in a short amount of time. Options like Unity, Torque, and XNA are reasonable if you have the time to invest in teaching them programming on top of teaching them how to make a game (or need the advanced features, such as cross platform dev, which it sounds like you don't).

      With Kodu, you can focus on the game development and/or production, rather than the programming behind it. There are some limitations, such as being stuck with the 3d models and assets Kodu gives you (unless this has changed recently), so consider that when making a decision.

    4. Re:Best suggestion is Kodu by hawguy · · Score: 2

      How much does Microsoft pay you? Considered getting a real job?

      What is your point? It seems that he made a very good suggestion, it sounds like Kodu is just what he's looking for:

      Kodu lets kids create games on the PC and XBox via a simple visual programming language. Kodu can be used to teach creativity, problem solving, storytelling, as well as programming. Anyone can use Kodu to make a game, young children as well as adults with no design or programming skills

      And there's a free download. If you have a better suggestion, go ahead and suggest it, but don't claim he's a microsoft shill by pointing out that MS has a product that does exactly what he asked for.

    5. Re:Best suggestion is Kodu by poly_pusher · · Score: 2, Informative

      Unity: As well as working on IOS and Android if exporters are purchased. Want to get a kid interested? Tell them that they could put it on their phone and/or sell it in the app store...

      It is by far one of the most straightforward applications for game development. The demo scene loads a fully completed level. Press the play button and the map is playable. Press pause and you go back to editing mode. Move some stuff around add or delete lights and press play again to see your changes. There are start to finish level design and mechanics tutorials, a great community, and it is highly intuitive.

      This is perfect for teaching a kid how to make games.

    6. Re:Best suggestion is Kodu by Lawrence_Bird · · Score: 2

      I think a bigger disservice is in fact focusing on code. Instead focus on what are the elements that make a good game? What makes for a good user interface? Physics (ie, reality) based or fantasy based and what are the difficulties of both? It is always better to think first (a lot) on what it is you want to accomplish than to jump in and start coding.

    7. 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 claytongulick · · Score: 2

      Boneheaded malformed link. *sigh*. Here: Unity

      --
      Drinking habits can be dangerous. You can choke on the cloth and the nuns will wonder where their clothes are.
    2. 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. Re:Unity3D by Canazza · · Score: 2

      I *work* with Unity3D. I love it.
      For our 3D projects in the past we've been the long suffering slave of Shockwave 3D. Now all of a sudden our portfolio doesn't look like it's stuck in 2001. Plus, with Pro, (And about $2000) we can port to Droid/iOS in no-time, using 99% of the same source code.

      --
      It pays to be obvious, especially if you have a reputation for being subtle.
  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. Gamemaker by mrbill1234 · · Score: 2

    http://www.yoyogames.com/make

    There is a free version - and paid for. You can code via their visual tool - or on the command line. My 11 year old son makes fine games using this!

  6. Slashdot def of "game" by vlm · · Score: 2

    The dominant /. mindshare definition of gaming is that it is exclusively 1:1 mapped to 3-d FPS.

    If you're willing to break out of that ultra-narrow mindset, there is a possibility of RPGs, text adventures, maybe hex based wargaming, (semi)numerical simulations... A whole world of human computer interaction exists, but only for the open minded.

    Reimplement Oregon Trail as a flash game? (try not to get sued)

    Supposedly HS kids like vampires and zombie books, so write a text adventure fanfic in the anne rice or twilight universe (try not to get sued). Make all your game lines less than 160 char and play over twitter?

    Stock trading game using real stock market data? Or YetAnotherRealWorldFuturesMarketImplementation? Maybe give it a modern twist by implementing it over text messages or whatever?

    Hex based wargamer vampire vs zombies? or plants vs zombies? (again try not to get sued)

    Actually, "try to write Fing anything without getting sued for copyright and patent violations" might make an interesting and informative meta-game?

    --
    "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    1. Re:Slashdot def of "game" by oneiros27 · · Score: 2

      My first thought when I saw this was the Adventure Construction Set.

      And wasn't Myst originally written in HyperCard?

      If you're looking at writing text-based games, there's MudOS and other MUD/MOO/MUSH engines out there, most of which are free.

      --
      Build it, and they will come^Hplain.
  7. 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.

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

  9. How about 50 bucks? by roman_mir · · Score: 2

    In fact $49.

    It's called 'impact' and games like this are made with it.

  10. Re:first principles by nessus42 · · Score: 2

    You don't teach mathematics by finding out the most popular calculator of the day and making sure your class knows how to use it, do you? Advanced courses change with the times, but fundamentals settle as a field matures.

    This is completely wrong of course. Programming is best taught by doing .

    So is math, by the way.

    |>ouglas

  11. 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.

    1. Re:Game programming is complex by alteveer · · Score: 2

      +1 to this, start small with simple mechanics in a 2d space. Flashdevelop is a great, free tool that is easy to setup and use.

      If you want to try using a Flash game framework, try something like Flixel.

  12. Pygame by marcosdumay · · Score: 2

    I think it would be advisable to start with something 2D, that is simpler to understand and to code. On their first game the kids will have too much to learn, so not making them learn analitic geommetry, lightining, all the tools you'd need for 3D, and lots of other stuff (like "why is my game that slow?") is a good thing. First focus on general programming and basic I/O.

    Now, if you take that advice, you'd need a good library for general I/O that is available in a good language for novices. Well, here I can recomend Pygame, on Python.

  13. Re:No good ideas - by Richard_at_work · · Score: 2

    The Visual Express versions have no "can't sell" limitation.

  14. UDK and a few other options by Tronster · · Score: 2

    Speaking as a current indie & AAA gamedev who has built game-related curriculum for 3 schools (middle school through college)...

    Because of the diversity of student types (artist vs game designer vs programmer, etc...) I recommend teaching EPIC's Unreal Development Kit (UDK).
    The tools are mature and will immediately offer something to every role on a game project.
    As for yourself, the UDK uses Unrealscript which is based on a C++/C# syntax.
    There is a wealth of knowledge via books and internet tutorials. (e.g., Just typed in "UDK tutorial" in YouTube and received over 4500+ results!)
    A nice bonus is that learning UDK is something the kids can actually put on a resume and/or help them get an internship.

    Milage will vary with other pre-built gamedev environments.
    Below are a few all-in-one-solutions that have editing features, based in a Windows environment:

    App Game Kit (AGK) - http://www.appgamekit.com/
    Construct2 - http://www.scirra.com/construct2
    Game-Editor - http://game-editor.com/
    Game Maker - http://www.yoyogames.com/make
    Game Salad - http://gamesalad.com/
    Scratch - http://scratch.mit.edu/

    Good luck!

  15. Measurable Learning Outcomes: Scalable Game Design by the+agent+man · · Score: 2

    Most people speculate about motivational and educational benefits of certain tools and programming activities. We actually measure them. Scalable Game Design, using AgentSheets, teaches kids how to make games starting with simple 1980 arcade games such as Frogger and them gradually move on all the way to modern SIMs like games including sophisticated AI. With middle and high schools all around the US we have a close to 50% participation of girls. And don't think this is just for K-12. The curriculum + tool includes activities for ugrad and grad level education as well.

    - Don't think this is possible? See some teacher tranining in action: http://www.9news.com/news/local/article/202987/222/Teachers-play-video-games-for-science-

    - check out research data: http://scalablegamedesign.cs.colorado.edu/

  16. paper by Tom · · Score: 2

    Do you want to teach games or programming?

    If you want to teach games, the first one should not be a computer game. Make it a board game, a card game or something else that you can create with paper and pens.

    Anything beyond that adds complexities that distract from the game design itself. There is very little design-wise in a computer game that you can't have in a board game.

    And yes, I am a (hobby/indy) game designer. I've made some board games, a card game, a play-by-mail game, two pen&paper roleplaying games and a bunch of computer games. Largely in that order.

    --
    Assorted stuff I do sometimes: Lemuria.org
  17. Free Legos by ratail · · Score: 2

    Contact lego. They might even sponsor the school. The game is Soccer

  18. Re:No good ideas - by rabbit994 · · Score: 2

    Actually, there is nothing in Visual Studio Express licenses that forbid programs being developed in it being released using any license, open source/free/commercial.