http://advsys.net/ken/download.htm
You type in some C-ish code, it gets immediately executed and drawn. Instant feedback was a winner feature here. Graphing y=f(x) was AFAIR as simple as typing "(x)" in the first line and writing an expression in the next. "(x,t)" for time-varying singals, "(x,y)" for 2-d functions with values viewed as colors, "(x,y,z,&r,&g,&b)" for full-voxels, etc.
I don't even remember how this little program found its way to my hard drive, but I had a lot of good times with it.
Me and my boyfriend are both math nerds and will both love this :)
It was as game-like as most entertainment software of its time, but it subtly forced me to learn some math in order to create complex shapes.
I think of Minecraft as a similarly clever idea.
The physicality of the Logo turtle robot we had at our school back in the eighties was what made it "click" for me. Playing with something connected to the real world takes it to another level.
It allows extensions in the form of Lua scripts. There is an extension [2] that opens up a TCP socket which can be used to modify the environment in any language across the network. There is an accompanying Python library [3] that is quite accessible (I had to use the 2to3 tool to seamlessly convert it to Python 3 because of some dependency problem).
I've been trying to get it to work in WebAssembly (some notes here [4]) and maybe connect Blockly / Scratch to it, but unfortunately the WebAssembly shared memory model is postponed due to the Spectre and Meltdown debacle [5].
[2] https://github.com/sprintingkiwi/pycraft_mod
[3] https://github.com/sprintingkiwi/pycraft_lib
[4] https://news.ycombinator.com/item?id=14855176
[5] https://github.com/WebAssembly/meetings/blob/master/2018/CG-...
My son and I made a minecraft version of snake/tron where each player would leave behind a trail of TNT blocks as they ran around a closed arena. Hitting a TNT would set off such huge chain reaction of explosions that the raspberry pi couldn't handle it. After a few rounds of these explosions the minecraft world looks like a total wasteland.
https://minecraft.makecode.com/
It's a scratch like programming environment that lets you do all kinds of cool things in Minecraft.
ProgKids is a Russian site that integrates Snap! (and Python) with Minecraft, so kids can visually program 3d turtles that move around in the world and build things!
ProgKids. Строим дом, а потом ещё пару (Building a house, then another couple)
https://www.youtube.com/watch?v=muNpsk4UH7c
ProgKids. Куда же без зверей? (Why do you not have animals?)
https://www.youtube.com/watch?v=1iBFwaUSDYI
ProgKids. Как работает Snap? (How does Snap work?)
It's a text-based protocol, so you can even use via telnet/nc. The python API included with pi is also just a thin wrapper around this.
Links:
What are some decent general tutorials for programming voxel games?