Presenting: Simon Says

I’ve been holding onto this idea for a while, and I got around to writing it yesterday. It’s a very simple game that you probably have seen in many different forms. This week, I present Simon Says.

Use the arrow keys to repeat the sequence created by the computer. Get any part of the sequence wrong and the game ends.

I wasn’t planning on releasing this one to the forums at first. I came up with some extensions, though, that might be interesting for students to pursue.

  • The game as-is might be fun to customize. Create new graphics and tones to suit your style.
  • The game uses four colors, but MakeCode Arcade supports six buttons (or seven if you include the menu button). Alter the game to use more than four colors by changing the NOTES, SPRITE_IMAGES, and NUM_COLORS “constants.”
  • Create different game modes by, say, only playing the notes without displaying the colors for an added gameplay challenge.

I’m sure there are other customizations that you could come up with.

I was originally planning on using this game to introduce arrays. After creating the game, though, I think it’s a better game to use for introducing functions. Still looking for a game that I can use to introduce arrays…

Have fun! Happy Friday! Have a great weekend!


P.S. Yes, the game works just fine on hardware. :slight_smile: You may notice that it also uses my Info Screens extension in Blocks mode (for the splash screen). I’ll probably make an official post about that extension next week sometime. I think I still want to make some adjustments to it first.

I definitely should mention MakeCode Arcade’s built-in game, Memory, which is found in the Blocks Games section. It’s a similar game, but takes a different approach. It may be interesting for students, as well, to compare and contrast the two games.

1 Like

I’m a little confused with this game, Alex. Since I don’t know much about it, could you mention why the “on game update” part of the program has an empty “if” action when the gameMode equals 0 ? Is that standard when 0 is the amount of the variable? Thanks.

That’s part of my Blocks template, Frank. When gameMode is zero, the game is in “normal” or “main game” mode. When it’s 1, the game is in “attract” mode (i.e. the splash screens are running).

In this specific game, the game loop doesn’t need to actually do anything … no sprites to move, no enemies that need to fire, nothing like that. So, the on game update loop is pretty boring for this game.

Hey Alex,

I was wondering if you could help converting Simon from arcade to the microbit using makecode. Someone did it, but used python and I am a little lost on the conversion. I am middle school teacher and I would love to use the game as a teaching point for functions and/or arrays. Here is a link to the video demo

Any help would be greatly appreciated!

Hi Ryan,
I made you MakeCode version of Python game you shared:


Hey bosnivan,

  Thank you so much! This is great!