Robbie the robot is a small, html based browser game for 3-6 year old children. Its aim is to help children develop a feeling for executing certain commands in advance before running them.
It is influenced by Scratch which however proved to be too tricky for my little kids.
You can see a live demo on robbie-the-robot.herokuapp.com/
Graphics from freebies @GameArt2D.com
Requirements:
- node/npm
- typescript
- itbldz
run watcher with tests while deving
npm start test
build it and run it
$ build-it && npm start
To make the game more extensible, the game comes with a very simple programming language called robbielang. For a future version it is planned this language can be used directly in game.
robbielang is designed to be easy to understand, fault tolerant, and as verbose as possible. The language capabilites are currently only developed as far as needed for this game.
The language was designed after a short discussion with an elementary schoolkid who was complaining about what is unnecessary difficult in todays programming languages.
The specification has not been formulated thoroughly and may (and most probable will) change.
An example of the usage for this language as used in the game itself for movement is:
then move in the direction up
then move in the direction right
The first part the robot is...
represents an assignment of the variable robot with a datastructure Robot
, the same is done for Position
.
Next a function move
is created with a parameter direction
. direction
is compared and matched against strings. Note that in robbielang, strings do not have to be enclosed by "
or '
(except for multiline strings). It is up to the compiler to identify the intend of the user.
At arbitary positions in the code, a variable can be exported. The code afterwards is still executed.
robbielang can (in reminiscence to vb) be implemented in multiple languages. The only other language supported is German.
In german, the language sounds like this:
dann bewege in die Richtung hoch