Skip to main content
MyCraft Engineer 4

Write code in your own language, and build a game with it

The hard part of programming is not typing. It is not knowing what that line on the screen actually does. Here the explanation sits next to the code, and changing one number changes the picture straight away.

Three things that make code readable

Commands in words you already know

To draw a circle you write _circle. To branch you write _if. No vocabulary to memorise before you start — you look for the word you were already thinking of.

The left panel never stops explaining

Put the cursor on any line and the panel says what that line does, what each number means, and which step you left out that keeps it from showing up.

Change a line, see it immediately

Code and game sit one above the other. Change 300 to 500 and the circle moves right. Lower the gravity and the character falls slower. Cause and effect, side by side.

This is real, runnable code

The code on the left, the editor’s explanation on the right.

_setup = _ => {
   _createCanvas(800, 600)
   hero = _sprite(400, 100, 50, 50)
   hero._color(255, 180, 84)._gravity(1200)
}

_draw = _ => {
   _if( _keyPressed('space') ){
      hero._jump(500)
   }
}
  1. Set the width and height of the canvas
  2. Make a character at X 400, Y 100, 50 wide, 50 tall
  3. hero: change the colour to orange → give it gravity 1200, so it falls
  4. Runs about 60 times a second. Anything that moves goes here
  5. If "_keyPressed('space')" is true, then: hero jumps up with a force of 500

What is inside

435
documented commands with examples
6
examples you can edit right away
4
interface languages

Switch language, and the code switches too

Every command has four spellings that all point at the same function. Learn the idea in the language you think in, then switch to English and you are already writing something close to ordinary code.

About licensing

The runtime uses Phaser 3 and the editor uses Monaco. Both are MIT licensed and free for commercial use.