Game Programming Classes — help?

Posted by (twitter: @caranha)
July 25th, 2012 9:30 pm

Hey Guys!

Recently the university I work in was asked to prepare a two-day intensive course on game programming to a small group of high-school kids. Of course I offered to organize that. (Even though I’m not an expert in the field)

I really like to use hands-on approach, so I thought do it kind as a half LD-half class. I plan to use the first two hours to teach them some basic concepts on game design, and help set up their development platform. After that we’ll use the rest of the time to let them prepare their own games, LD-style, while I coach them. Maybe with some breaks to give some quick lessons on animations, event handling, etc.

Does anyone with similar experience can give me some ideas, tips or pointers? If anyone has any material that they would let me use, it would be awesome.

(unfortunately, the course will be late September — I would love having them participate on LD24 as the final assignment :-D)


Tags: ,

24 Responses to “Game Programming Classes — help?”

  1. TehSkull says:

    Considering it’s a short programming class, having the time spent on animation and game design would be unwise.

    If you’ve already weighed out that possibility, I’m a big fan of Corona SDK. Easiest game platform I’ve used, but that’s in lua, I’m not sure what programming language your class is expecting to learn.

  2. Daemonic Daz says:

    Could you make the resources you use public?

    I’m always looking for to keep the basics fresh in the back of my mind, especially when looking at new stuff. :)

  3. KevinWorkman says:

    Do they have prior programming experience? If not, you’re going to be lucky if they produce anything by the end of two days, let alone something they can enter in a contest. I’d weigh the stress that entering them in a contest (even a laid-back one) adds against the time you could spend helping them work their way up to the bare minimum (think of how much time you’re going to have to spend with the slowest kid in the class).

    I’d try to have them work their way up following a set guide so they’re all making a similar game, then at the end of the class let them know about LD and that they can contact you with any questions after the class ends.

    • caranha says:

      Yeah, I’m concerned about that. I’m not sure what are the programming backgrounds of the students: they could know nothing about programming, they could have more experience than me. I’m trying to prepare to all contingencies.

      The thing about contest is exactly as you said in the second paragraph. I’m going to coach them during the two days, and as the “closing statement” of the class, make an introduction to the many indy dev communities/contests.

  4. digital_sorceress says:

    I remember when I was at high school, and we had a few weeks where an outside teacher came in, and we’d work on extra-curricula projects.

    My lasting memory of those projects was that most of the class didn’t really get what the new teacher was talking about, so despite the opportunity to skip normal lessons, the projects were boring. The expectations of us was too high, so it was all a bit of an anticlimax.

    If we were tasked with making things out of paper straws, pva glue, string, and marker pens, we’d have done okay, because that was honestly about as much as we could manage…

    So in my opinion: Using an editor for an existing game would be okay — the children could have fun editing graphics, changing the stats for player and mobs, and designing new levels. No code in sight. No programming. Having the children create a game from scratch sounds too ambitious. If this is at a school for gifted children, or if it is specifically aimed at those already studying programming, then that does move the goal posts a little.

    • caranha says:

      Well, they are in high school, so I guess they are a bit above “put paper and glue together”. Also, it is not like I will talk to the entire class — the group is small, just 4 students. The high school made similar requests to different departments of the university, based on what each group of students wanted to experience (to there is a similar small group going to the medicine school, a similar small group going to the antropology school, etc).

  5. mohammad says:

    dont think as me of a troll but as a last resort you can start working with gamemaker as it has an unlimited use of features all easy to learn! however the full version gamemaker standerds with twice as much funtion than normal is 40.00 USD or probibly 20 EUR/pounds even though, it is a good way to get a good start!

  6. gavin5564 says:

    Have you thought about using Garry’s mod, I’m sure you and most likely most kids will have heard of it..

    My university (Deakin University Australia) actually uses it quite a bit in their games design course for the first year students to try to teach them basic concepts of level design and event driven concepts..

    It also allows programming via LUA..

    You could also give them a run down in the freely available Blender which has a game engine built in… Blender is a heap of fun to learn and has a tonne of high quality professional and community resources.. They even make short films with it..

    • tunnel says:

      I probably don’t get how that would work, but gmod sounds horrible for teaching students how to make games. It doesn’t support the things you would want to teach to make a game from ground up, sure it would be ok for teaching how to do storyline maybe, but raw code would probably be best. My opinion as3 and flashpunk is a great thing to learn with.

    • mohammad says:

      gavin, im not being mean here,but these are GREAT ideas but sadly non of these would fall under the good curricula as there both ENGINES. i know hes trying to teach game-making here,but garrysmod is good for MODDING and blender is made for RENDERING. true gamemaking would require a good scripting language, where all games start off. not that im mean at this point, but doing this for high-school students would make me wanna teach them roblox.

    • caranha says:

      Garry’s mod sounds like a really cool tool, but even before we get to the goal of the classes (it is a 48h intensive mini-course), I have the problem of the ENVIRONMENT.

      Available for us I got either powerful CentOS machines without superuser privilege (programming lab), or Ubuntu Laptops with superuser privilege (borrowing laptops from the school and flashing them) — so installing steam on 5 machines and getting Gmod for each student won’t be an option.

      But I’ll be sure to mention it. Thanks!

  7. gavin5564 says:

    Further to my above comment.

    Have you looked into Microsoft’s XNA Framework (Free). Its for programming with C# and it can be used with Microsoft Visual Studio express edition (Also free).

    I and alot of other people in the ludum dare community use it for our games as its super fast to get things drawing to the screen as you don’t need to worry about any of the low level DirectX calls.(XNA wraps DirectX 9 so its fast aswell)..

    Just for note Re-Logics Terraria is written using XNA C#, So is the Xbox360 version of Minecraft.

    You can literally get a image to draw onto the screen in less then 30 seconds of development with only 6 lines of code (or less depending on if you want to create the variables)..

    XNA automatically implements the Initialise, Load, Update and Draw calls for you.

    If I was in your situation I would personally go down the XNA route due to its simplicity. The kids will be super happy and impressed if they can get at least something drawing to the screen and moving around with the keyboard and mouse.

    They would also find it cool the fact that the language that you are teaching was used to make the games they play and love (Terraria, Minecraft).


    • caranha says:

      Minecraft was actually made in Java 😉

      And my current idea for the “programming” part of the mini course is to have a very simple Java game, and let them hack at it with Eclipse.

  8. tunnel says:

    your students might not like this but it would be nice if you could record this so we can learn to, or just replicate the course again for the public/internet 😀

  9. RadthorDax says:

    I would say that if they are completely new to programming, that you should teach them C#, and walk them through making small casino-like games, such as a slot machine, a roulette table etc. Then challenge them to design and code the betting portion, and a monetary display. Using C# will be quick and easy as it has a drag-drop UI so you don’t need to to teach them any gui code, which is a good thing for new programmers considering you have a 4 hour class only, and I’ll presume that they are at least reasonably good at interacting with and learning new computer programs, which is all you need to make a UI in C#. The code is simple enough and doesn’t contain too many arbitary symbols, and the casino-games won’t require any more than simple math that I’d be terribly shocked if they didn’t know. Towards the end, you could spend 10 minutes or so telling them about XNA or Unity as game engines that work with C#. I would lean more to XNA, as the documentation is easier to follow, it has a goodly amount of samples and there is an official forum that is very helpful to newcomming game programmers.

    If they already know programming, I would suggest it is in your interest to find out what language(s) they know, and either formulate a class specifically around that language, or to pick a language that is new to them, and give them a footing in a new langauge. Part of being a well-rounded programmer is being competant in several languages, so introducing them to a new language is possibly one of the best things you could do for them in the 4 hours you have.

    • caranha says:

      Uh, I don’t think I said anything about 4 hours. The students will be visiting my university for two days for this, so probably I will have 2 mornings and 2 afternoons for playing with them, probably divided into some theoretical classes (talking about indie game dev, and cool game techs/research) and some practical classes (programming) + free time for hacking.

  10. KevinWorkman says:

    You might also want to try out Processing. It’s super easy to dive into and export (as a jar, applet, application, or Android app!). Check it out:

    I also offer free Processing hosting at – would be cool to have the kids upload their games to somewhere that other people (parents, friends, other teachers) could see.

Leave a Reply

You must be logged in to post a comment.

[cache: storing page]