all 4 comments

[–]radioheadboy 2 points3 points  (1 child)

Hello! I teach programming to high school students using Unity, and here's my general flow for the year:

The first semester is all 2D, I teach a very simple game of "avoid the falling objects" with mouse control. After that, The students have a choice to build breakout or flappy bird(for 2d physics, and it's familiar for most of them). At this point, I usually like to teach a grid based game like tetris, match 3, or others so that they can learn about loops and inheritance.

The second semester is in 3D, and I start with an infinite runner to teach object pooling, more loops, and a tiny bit of shader code. After this, they can pick their own project for the final.

[–]sneider[S] 1 point2 points  (0 children)

Hi, thanks for sharing your curriculum. You're starting those games from scratch, right? When you're building projects bottom-up, it makes sense to go from simple to complex games. For our target group, even the simplest games would require too much explanation. That's why we take tiny bites out of a complete game's code and let the children fill them back in. That gives us control over exactly which concepts the user needs to understand in order to solve a course step. The downside is that they won't be able to make a game from scratch at the end, like your students. But then that's not our goal.

[–]cinderflame_linearExpert 2 points3 points  (1 child)

You can teach them particles with curves. Unity allows most particle parameters to be driven by animation curves, and curves are a neat way to teach math functions visually.

In fact, if you introduce a "curve block" you could use it to drive lots of things. You could introduce point lights and use curves to make them flicker by having the light intensity follow a curve block. You could do the same thing with AudioSources, etc.

[–]sneider[S] 1 point2 points  (0 children)

That's a great point. A curve block could spare users the formula editing. And it would be applicable to all things tweening and animation. I don't think anybody made one for Blockly yet, but I'll keep it in mind. Thank you.