Etoy issues -- Keyboard Control of etoys / Alice

Jahanzeb Sherwani jahanzeb
Fri Apr 18 14:54:42 PDT 2003


>You could also try a joystick player. Look in the supplies bin to see 
>what they do.

Yes they tried that... but such a control mechanism isn't what kids are
used to. In traditional games, it's either a point-and-click interface, or
the mouse controls your first-person perspective completely, or you use the
keyboard. Even though the kids are using these joystick objects, the
consistency with which the question 'can I use the keyboard?' comes up
makes me believe that they would really prefer that.

Alice '99 is implemented in Squeak, but its greatest strength -- the
drag-and-drop interface -- is missing. I was glad to see a Teddy-like 3D
object creator in OpenCroquet though. Any plans to implement Alice's
easy-to-use interface in Squeak?

Have you guys checked out Alice2 (www.alice.org)? It's extremely slow and
made in java, but the interface is really slick in the sense that it
follows the same tile mechanism for programming, and also has a couple of
other neat features (arrow keys/mouse controls for objects such as '*mouse*
controls *car*', for/while loops, do-together/do-in-order options for
multiple actions).

One thing I particularly liked about Alice's interface was what the team
themselves summed up in http://www.alice.org/stage3/lessons.html where they
talk about controlled exposure to power:

==
We can use function overloading and optional keyword parameters in a
programming language to mask API complexity until the user is motivated to
learn it.  Users start by learning the simple versions of commands, and as
they themselves become more sophisticated they learn the more complex
variations of commands.  

Ex.   bunny.move(forward)  
        bunny.move(forward, distance=2)  
        bunny.move(forward, distance=2, duration=4)  
        bunny.move(forward, distance=2, duration=4, asSeenBy=helicopter)  
        bunny.move(forward, distance=2, duration=4, asSeenBy=helicopter,  
        style=abruptly)  
==

This in my opinion is good because it allows the user/child to progress
from a simple idea to harder ones gradually, as required. Even though
Squeak has no ceiling, the jump from novice to anything higher is
humongous. One step has you dealing with a limited number of tiles that can
do a limited number of things, and the next step requires you to get into
technical code to do anything more complex like using a keyboard or
creating an error-free pac-man type game. Ideally, this should be a
gradient/continuum of increasing complexity.

In Squeak, I believe the different levels of power are 1) etoy classic, 2)
etoy 'universal-tiles', and 3) text-based programming. However, I couldn't
really figure out whether there were any real differences in *power*
between the first two levels other than different names for the same tiles.
If this is true, then there are really two levels, etoys and superusers...
which means that the 'no floor / no ceiling' concept is there, yet the link
between these two paradigms is so immense that its almost like two entirely
different environments that have no obvious link, at least for the users of
the simpler environment. Any comments?

Jahanzeb




More information about the Squeakland mailing list