I am a technology teacher at a science museum. I teach enrichment classes: basically, I use stuff that kids are interested in as an excuse to teach them things. Currently I have a sequence of two video game programming classes (15 hours of instruction each). They both use Game Maker and target middle school students. The first mostly uses the drag and drop interface (but teaches inheritance, state machines, and of course logic), while the second is all text based coding (and covers everything you would expect, except pointers, which that language lacks). Their largest function comes in at 200 lines before I show them how to break it up into smaller function calls.
We used to have a third course on video game programming in Unity (which targeted high school students), but have had to do away with that. I am looking at UDK as the replacement, and have the majority of my time (up to 30 hours a week) until spring/summer to bring this to fruition.
However, I have serious doubts about the viability and wisdom of my plan. I started poking around in Kismet, and found everything very easy and satisfactory. However it is hopelessly proprietary and does not lend itself well to actual education. Yes, I could teach kids how to use Kismet, maybe make a Mario clone, but doing that outside of a cursory way is doing them a disservice. It is a major failing of technology teachers to teach the tool instead of the tech behind it.
So this leaves me with UnrealScript. I poked around some UnrealScript tutorials and not everything was crystal clear to me but I managed to read between the lines some. I browsed the src folder and got a rough grip on its organizational structure. I am mostly only left with one major question:
How the hell am *I* supposed to learn this? I am a self taught programmer, but not informal in my approach at all. There are gaps in my knowledge (of course). I understand everything I have read though I do not know how to approach the hundreds of thousands of lines of code I have in front of me. One tutorial on creating your own pawn (seemingly a very good UnrealScript "hello world") required that I go into some file and edit a specific setting on line 3596 (something like 78 pages in, single spaced, 12 point font). Talk about code smell!
I know that my students will not be able to fly on their own after so short an introduction to the tools, but I want to show them what the "big boys" use, and I want to edge them towards being more confident around "real" code. I would like to ask the communities help in my endeavor, since I feel a little lost today (or perhaps that is simply the second week of this flu speaking).
Violence is a no-go. Concepts I want an excuse to teach them are: application of the discrete derivative/integral (like say a mortar that is trying to hit a moving target), the merge sort and A* algorithms, pointers, and the machine code/assembler/linker/compiler relationship. I have thought of/heard requests for a class which teaches how to build a tower defense, racing, or a 2.5d platformer game. Assume a class of 6 to 9 highly motivated 16 year old students with 30 hours prior instruction, and where a 50% rate of conceptual comprehension is acceptable (that is to say, the class moves as fast as 50% of the class can handle). Class time can be either 15 or 30 hours in 3 hour chunks.
How would you do it? Is it even wise? If not, what do I do to fill the demand for more video game development classes?
We used to have a third course on video game programming in Unity (which targeted high school students), but have had to do away with that. I am looking at UDK as the replacement, and have the majority of my time (up to 30 hours a week) until spring/summer to bring this to fruition.
However, I have serious doubts about the viability and wisdom of my plan. I started poking around in Kismet, and found everything very easy and satisfactory. However it is hopelessly proprietary and does not lend itself well to actual education. Yes, I could teach kids how to use Kismet, maybe make a Mario clone, but doing that outside of a cursory way is doing them a disservice. It is a major failing of technology teachers to teach the tool instead of the tech behind it.
So this leaves me with UnrealScript. I poked around some UnrealScript tutorials and not everything was crystal clear to me but I managed to read between the lines some. I browsed the src folder and got a rough grip on its organizational structure. I am mostly only left with one major question:
How the hell am *I* supposed to learn this? I am a self taught programmer, but not informal in my approach at all. There are gaps in my knowledge (of course). I understand everything I have read though I do not know how to approach the hundreds of thousands of lines of code I have in front of me. One tutorial on creating your own pawn (seemingly a very good UnrealScript "hello world") required that I go into some file and edit a specific setting on line 3596 (something like 78 pages in, single spaced, 12 point font). Talk about code smell!
I know that my students will not be able to fly on their own after so short an introduction to the tools, but I want to show them what the "big boys" use, and I want to edge them towards being more confident around "real" code. I would like to ask the communities help in my endeavor, since I feel a little lost today (or perhaps that is simply the second week of this flu speaking).
Violence is a no-go. Concepts I want an excuse to teach them are: application of the discrete derivative/integral (like say a mortar that is trying to hit a moving target), the merge sort and A* algorithms, pointers, and the machine code/assembler/linker/compiler relationship. I have thought of/heard requests for a class which teaches how to build a tower defense, racing, or a 2.5d platformer game. Assume a class of 6 to 9 highly motivated 16 year old students with 30 hours prior instruction, and where a 50% rate of conceptual comprehension is acceptable (that is to say, the class moves as fast as 50% of the class can handle). Class time can be either 15 or 30 hours in 3 hour chunks.
How would you do it? Is it even wise? If not, what do I do to fill the demand for more video game development classes?
Comment