
Show HN: A Forth-inspired game to teach kids programming - hillaryan314
http://www.matchthestack.com/
======
hillaryan314
Thank you for all the comments. I've got to run off to work, but I thought I
would give some quick responses to your thoughts: 0) The general idea here is
that there aren't instructions, tool tips, or other helpful hints. You learn
as you go by clicking around. 1) In my own testing of the game, I've found
that kids like it this way and I've been surprised by how they can pick things
up. Even my mother was able to make it through the game and she hasn't written
a line of code in her life. 2) That being said, I've also tested the game on
professionals and found that they don't perform much better and sometimes are
worse than the kids. They seem less willing to play around and make mistakes.

Just my two cents...

------
claystu
I don't think any kid--or adult for that matter--without experience in Forth
would be able to figure this out. Even if they did, it wouldn't teach them
programming.

All I saw were stack manipulation puzzles. Granted, I quit at the (oddly
depicted) swap puzzle, so maybe it gets better, but I didn't see any sign of
that.

At a minimum, provide help, hints, points for passing a level, and some kind
of roadmap of what I will accomplish if I finish the game.

Edit: If you want to find out more about Forth, here is a tutorial from the
One Laptop Per Child site:
[http://wiki.laptop.org/go/Forth_Lesson_0](http://wiki.laptop.org/go/Forth_Lesson_0)

~~~
tekromancr
I have no experiance with forth, and I had a really fun time puzzling out the
rules for the game.

------
radiowave
I've sometimes wondered about using Forth-style stack manipulation as the
basis for a game, and it's nice to see someone do it.

These are the things that weren't clear to me, and that I had to spend a
couple of minutes randomly clicking around to figure out (bearing in mind I'm
somebody who already knows what a stack machine is supposed to be doing):

\- "proceed to the next level" means: click the up-arrow at the bottom right
of the window.

\- Levels are completed by filling in the grey tiles in the centre of the
window, and running the program.

\- Filling in those tiles is done by draging smaller grey tiles from the top-
left corner.

\- The program can be run by clicking the right-arrow at the bottom of the
window.

\- The first proper level (called "0_0", as far as I can tell) is already
complete, the reason you can't do anything is because there's nothing to be
done.

~~~
deskamess
Thanks... was lost without these instructions.

------
Tinyyy
As someone who doesn’t know Forth and is relatively new to programming, I have
no idea what is going on here.

~~~
TheOtherHobbes
I vaguely remember a little Forth, and I had no idea what was going on either.

~~~
gravypod
This does not seem to have anything to do with forth. This seems to be a game
about manipulating a stack.

~~~
Dylan16807
A stack machine running a series of operations like drop, dup, pick...

------
Angostura
So clicked randomly on the icons on the first page and having clicked all of
them discovered that that the up arrow 'started' the game.

I randomly clicked on the stacks, tried to drag the stacks, clicked on all the
icons, found that the right arrow seemed to move the left stack towards the
right. After several clicks I apparently won.

I will not be showing this to my kids.

------
littlebeep
Enjoyable! I like it more as a work of graphic design than a "teaching game"
\-- it's remarkable how much can be done with shapes and without words. I
think "teaching programming" is something that should be done with words, but
getting kids interested in sequential, programming-style puzzles is also worth
something.

What would be a good place for a kid to go after finishing the game, that
would carry forward what they saw on MtS?

------
shaunst
Yeah, this is weird, my son loves games, and he would be frustrated quick with
no instructions or hovers on action buttons. No idea what the point of this
game is, what the rules are, how to score points, why somthing is right or
wrong. You need to improve the experience here.

------
edtechdev
"please proceed to the next level"

And no instructions on how to even do that. Plus it's an image, instead of
text. This is not for kids.

------
Temjin
It took me a lot of random clicking to even get to stage one. Then after some
more random clicking and some blocks moving around I got to stage 2.

You really need to consult a graphic designer for the UI.

Also, explain more. As an adult I was ready to give up by stage 2, how are
kids going to figure this out.

I hope you find this feedback helpful.

------
tekromancr
This is really cool! I really had a blast with it. I think it is just missing
a few points on the ui side, but like I said, I am just in love with this game
right now. I kinda wish I could play this on the train. Is source available? I
would kinda like to poke around a bit.

------
senorsmile
This is pretty awesome. Confusing at first, like any good puzzle should be. My
wife is already to 1_14 and I plan to install gforth, fire it up and show her
how transferable everything she just learned is.

------
protomyth
Nice, but the whole operation on the bottom of the stack as opposed to the top
really made it hard. Great work and thanks for trying to bring something
simple to kids.

I'm thinking of doing a stamp, move, spin type programming for an pre-intro
course in programming.

------
SixSigma
I like the principle, but sorry to be neg, but the execution is awful.

Stacks don't slide sideways.

They pop and push and operate. That's what you should animate, the _actions_.

Having the operator in the top left is very odd.

What's that number for? The speed of the animation. Why bother, it is
meaningless.

~~~
arethuza
I didn't think it was _that_ bad - just needs a tutorial or at least some kind
of explanation. And some tooltips... I kind of enjoyed it in a weird way.

Disclaimer: have done a few years of PostScript programming.

~~~
SixSigma
Still nope. The things it animates and has big buttons for are not the things
it is trying to teach - the operations of a stack.

I think the idea of a stack based "game" is a good one. Though as a Forth
programmer I already play that game :)

------
monkeycantype
just been playing this with my 6 six year old who has no experience in forth
and she figured out 'the anchor' (drop) and the 'printer' (duplicate). I
suspect this happened quicker for her than it might have for some adults
because she was quite happy to click on everything until stuff happened and a
pattern emerged. though eventually (level 1_6) the sequence of operations got
too long for her

