5 ms·
> all of these "blocks" editors sprouted from the original one I designed for Etoys more than 20 years ago now -- most of the followup was by way of Jens Moenig
by lioeters 2y ago
> all of these "blocks" editors sprouted from the original one I designed for Etoys more than 20 years ago now -- most of the followup was by way of Jens Moenig -- who did SNAP. You can see Etoys demoed on the OLPC in my 2007 TED talk.
I was curious about this TED talk, and found the part where he demonstrates Etoys in the section called "Personal Computing & Children Today".
Alan Kay: A powerful idea about teaching ideas
https://youtu.be/Eg_ToU7m1MI?feature=shared&t=740 https://youtu.be/Eg_ToU7m1MI?feature=shared&t=740
The way he interacts with a running program, moving statements around and editing them, observing the values of variables as they change.. It's really an ancestor of Snap, and I can see its influence on Bret Victor's talks like Inventing on Principle.
---
Mike Travers' thesis, "Agar: An Animal Construction Kit" is an entertaining and thought-provoking read.
> An animal construction kit is an interactive computer system that allows novice programmers to assemble artificial animals from simple components. These components include sensors, muscles or other effectors, and computational elements. They can also include body parts such as limbs, bones, and joints. A complete animal construction kit must also provide a world for the animal to live in, and must support the co-existence of multiple animals of different species.
It reminds me of the book, Vehicles: Experiments in Synthetic Psychology. It's about modelling a world of autonomous agents with sensors and actuators, motivations and behaviors.
https://en.wikipedia.org/wiki/Braitenberg_vehicle https://en.wikipedia.org/wiki/Braitenberg_vehicle
(EDIT: This book is listed in the bibliography of the thesis, so it is a kind of precursor.)
---
> ..in SimCity, the first and most useful breakout for children would be to allow various UIs to be made that would let children find out about and try experiments with the "city dynamics rules".
> ..I'd advise coming up with a special kid's oriented language for your SimCity/Metropolis system and then render it in "blocks".
This is an intriguing idea, especially now that SimCity's world dynamics engine has been separated and compiled to WebAssembly. It will allow different views and interfaces with the underlying data, events, actions.
> it’s dawning on me that [Snap] is a full blown undiluted Scheme with continuations and visual macros plus the best ideas of Squeak!
That's lovely too, it makes sense that a visual programming language that evaluates tree-structured blocks will naturally correspond to a Lisp.
So it seems these ideas are pointing toward a visual Lisp environment that allows programming robots and interacting with a living model of a city/world.
- DonHopkins 2y agoI'm in the very early process of integrating Snap! with Micropolis (open source SimCity), so you will be able to do all that stuff Alan Kay and Brett Victor talk about. The Snap window is off the left side of the screen, and you can drag it over the map. I just snapped it in last night but haven't hooked it up to the simulator yet, that's what I'm working on now: https://MicropolisWeb.com https://MicropolisWeb.com It also has a cellular automata machine simulator ("Space Inventory") that you can toggle by pressing the space bar. Thanks to HN user lioeters's PR, we've also just added 8 alternative tile sets that you can switch between with the - and = keys! Once I've hooked up the city drawing tools, they will also let you draw into the live or paused cellular automata tiles, and even unleash disasters like tornadoes and monsters and earthquakes on the abstract tile patterns, that draw into the tiles themselves, so you can play with the tile map like KidPix! More discussion of Micropolis development plans: https://github.com/SimHacker/MicropolisCore/pull/3 https://github.com/SimHacker/MicropolisCore/pull/3 An example of what I mean about KidPix drawing with SimCity tiles (without the drawing tools hooked up yet, really just a cellular celebration of the newly added tile sets): https://www.youtube.com/watch?v=319i7slXcbI https://www.youtube.com/watch?v=319i7slXcbI Integrating Snap! with Micropolis enables procedural circuit bending: https://en.wikipedia.org/wiki/Circuit_bending https://en.wikipedia.org/wiki/Circuit_bending >Circuit bending is the creative, chance-based customization of the circuits within electronic devices such as low-voltage, battery-powered guitar effects, children's toys and digital synthesizers to create new musical or visual instruments and sound generators. >Emphasizing spontaneity and randomness, the techniques of circuit bending have been commonly associated with noise music, though many more conventional contemporary musicians and musical groups have been known to experiment with "bent" instruments. Circuit bending usually involves dismantling the machine and adding components such as switches and potentiometers that alter the circuit. Will mentions Braitenberg machines in his 1996 talk, "Will Wright - Maxis - Interfacing to Microworlds - 1996-4-26", in response to questions a student asked about modeling interpersonal interaction and I asked about storytelling: https://youtu.be/nsxoZXaYJSk?t=4466 https://youtu.be/nsxoZXaYJSk?t=4466 Student: What about from person to person, you talking about the information that's contained within the objects, so there can be information in another person, that you want to interact with in the environment. Have you looked at any reasons why you would want to do that? Will Wright: Oh yeah, I mean, that's that's the hard problem. I mean, simulating ants is hard enough, when you get to people there's really no hope. There are two issues here. You can look at this as a technology. It's not a product right now. And their are a few directions this could go. I could see this becoming, let's say, a multiplayer network MUD kind of a thing. You might have a thousand people playing SimCity from the bottom up, each person building their own house in a big multi-user space. In which case that issue is a little less important, because most of the people are real people, and you're dealing with puppets. As a standalone game, which is probably our our closer target, we have to deal with the problem you're bringing up, which is how do we deal with people to people? And it's hard, I mean there's just -- I'm sure Terry can elaborate on that more than I can. But the best thing we can do is prop up a convincing illusion. We don't have to be doing a valid simulation of human personality. What we have to do is we have to put up something that's ambiguous enough to where somebody can read in what they want. Actually in this thing what I have right now are people come up and they converse, but you don't hear what they're saying, they just gesture, and sometimes they look mad, sometimes they kind of look contemplative. It's kind of interesting how much people will read into that. This is kind of dynamic that we've seen again and again where something happens in SimCity and they said "oh I was running my nuclear reactor near the red line, and then there was so much smoke coming out of it, this plane crashed, and because of that, this and that happened", and they'll describe this long causal chain of events that I know does not exist. I designed the simulation, I know that there's no linkage between the power output of the power plant, the planes crashing, but they're convinced it exists. Don Hopkins: They're using it as a medium to tell stories about. Will Wright: Yeah! Don Hopkins: Where they're using it as a piece of paper, to write. Will Wright: Yeah, that's exactly right. There's a parallel simulation going on here in the game. Everybody's taking a linear path through this, and they're basically, most people will attempt to understand things like this with a story. They'll think about "I did this, then that happened, because of that", and so the story becomes kind of their logical connection, their logical reverse engineering, of the simulation that they're playing inside of. Now on the people's side, I think we can do a lot in this as a product, by propping up that illusion of people. Again, if this is a doll house, we don't want the dolls to be sentient things. We want the dolls to be interesting enough to where I can play games with them. There was actually a really interesting doll that this company came out with. Oh, it was Worlds of Wonder, this really cool doll, I've got a couple of them after they went out of business. It's called the Julie doll. But it was like this $250 doll with voice recognition, and it said all these things. It had just a huge amount of ROM with digitized speech in it, and so it would sit there and try and have stupid conversations with you. And really it was kind of Eliza, or had keywords it would recognize, and give you these kind of non-committal responses. But in the testing of that, well first of all it was a $300 doll. Who's going to buy the kid a $300 doll? So it was really more, it was actually the only doll I've ever seen that appealed to grown men. Grown men love this, I mean this is a hacker's doll. But I talked to the guy who was working this project, and he said they put this in focus groups with girls. And they played with it for a while, and then after about a half an hour they take the batteries out, and keep playing with it. And what was happening is that the girls were propping up this elaborate fantasy in their play, and the dolls were supposed to be a structure for that fantasy, they weren't supposed to be the fantasy. The doll was telling them what the fantasy was, and it was conflicting with what the girls were saying, and so it was interfering actively with their fantasy and their play. So in that regard, I think we can actually kind of take that path with these people. And all we have to do is deal with them at a very local kind of a state machine, Braitenberg Machine kind of level, and say that they're angry, and they're hungry, and they're sleepy. And then we can actually do some things where maybe they have a little, what you might call, structural ambiguity about what they're actually saying. One of the thoughts I had about this project in particular is that you'd see the people go up and they talk, and there would be some kind of a flavor to their conversation, but it would be more like Peanuts. When they did the TV show of Peanuts, you'd hear the adults talking, and the adults would always be like "mwa mwa mwa mwa mwa mwa", or soft, or loud. You can tell if they're mad, or angry, or what, but you wouldn't hear what they were saying. You'd have to read that into it. I think this is the area where we sidestep the issue, just because as a commercial company we have to ship a game, we're not doing a research project. So that's a long winded answer, sorry.