Turtletoy

  • If you like this project, you may be interested in a similar project that I did a while back using using the turtle interpretation of grammars to represent connections between LEGO bricks:

    https://github.com/jncraton/connectiongrammar

    The "API" is admittedly quite poor currently, as I just quickly hacked this together on top of NLTK, but I was able to put together some fun results.

  • This reminds me of a story of how Logo was implemented on 8-bit microcomputers.

    Leigh Klotz was the man who ported MIT Logo to the Apple ][ and then the Commodore 64. According to him β€œThe Commodore 64 CPU 6510 has a bidirectional parallel port at location 0 and 1, taking up 2 of the 256 "page zero" locations, which are the only ones you can indirect through. When I ported MIT Logo from the Apple II, there were lots of places that dereferenced nil without checking, and those caused crashes. Commodore gave me a chip they fabbed in qty 12 yield that brought out the I/D decide status as a pin, and we used a Nicolet-Paratronica logic analyzer to feed the address and data bus to a Pet running a BASIC disassembler. I could then set a breakpoint in-circuit to see the 256 instructions prior to or after the errant memory access, so I could go put on guard code...”

    I got it from Jamie Zawinski's weblog. Be forewarned. Following the link from Hacker News will lead to an unsavory image. Just copy & paste it, instead.

    https://www.jwz.org/blog/2018/11/weird-machines/#comment-192...

  • I'm seeing some really interesting JavaScript techniques in the turtlevm.js[1] source.

    This line in particular stands out: const code = String(work).trim().split("{").slice(1).join("{").slice(0, - 1).trim().replace("/0/", _turtlevmapi).replace("/1/", strCode);

    It looks like the author is injecting the turtle code written by the user into a "work" function that removes dangerous objects (XMLHttpRequest, WebSocket, etc).

    Can someone with experience writing a VM in JS point to a good reference on the topic?

    [1]https://turtletoy.net/js/turtlevm.js?v=56

  • Go to this one [1], change the GEAR_NUM to like 30 and enjoy the rendering

    1: https://turtletoy.net/turtle/9ddc6d4dc5

  • Ahhh, love this site. I own an axidraw pen plotter, and because I'm feeling generous, I'll print every sketch made by people in this HN thread.

    <3

  • Immediately took me back to Logo and 9 year old me trying to figure out how to move the turtle :) Great memories!

  • For anyone interested about this kind of things, I did something a bit similar for 3d voxel rendering: https://voxeltoy.com/, also inspired by shadertoy.

  • I have seen this site some days ago (reddit maybe?) and I really like the concept! The design is very clean!

    One feature I'd like: A way to slow down the render so we can see the whole generation in slow-motion.

  • I am highly impressed that some of these actually implement wireframe hidden surface removal:

    https://turtletoy.net/turtle/9ddc6d4dc5

  • Not really in the true spirit of turtle (if it doesn't "go forward" I don't count it!), but I had to make this one based on the MAD computer program discussed here yesterday.

    https://turtletoy.net/turtle/ba15abdde7

  • This reminded me of a physics toy I saw ~10 years ago where you would draw simple two-dimensional robots with legs and muscles, optimize their gait, and race them.

    If only I could remember the name of it...

  • Reminds me of https://dwitter.net: you get 140 characters to animate an HTML canvas.

  • While TurtleToy is way more advanced, few years ago I built a small webapp that uses nested CSS to make recursive images: https://zetabee.com/weave/

    Click [Help] button to get an idea of how it works. It was heavily inspired by Structure Synth but written from scratch to work with CSS3 in a modern browser.

  • This takes me back. I remember learning Logo at school when I was 10 or 11 and had a project to do using Logo. For some reason I couldn't make it into school for a few weeks, I'm not sure if I was ill or something else but was going to miss the project hand in date, so I wrote the code on paper while I was at home as I didn't have a Logo compiler or interpreter for my ZX Spectrum. My teacher put my code into the interpreter and it ended up looking exactly as I had expected. I think it was a tank and used procedures/functions which was above and beyond what we'd been taught.

    Of course Logo wasn't the most complex language ever but I remember being pretty pleased with myself having written a computer program on a bit of paper and it doing exactly what I'd visualised it to do.

  • I am so glad this exists. Turtle Graphics remains the best way to teach so many fundamental concepts. From recursion to path finding.

    One feature that I wish existed was library import. Or community accepted set of extension modules. An easy way to call polar coordinates, Spirographs, matrix transforms, etc.

  • Reminds me of Context Free Art https://www.contextfreeart.org/

    They developed their own declarative language for generating art.

  • Some of them are super impressive. Well I mean full fledged 3d renderers

  • Is it possible to get vector files of some sort out of these? .SVG, .AI, .PDF, or something similar would be awesome.

    Edit: I meant directly from the site. I could do it from my desktop using python.

    PS, this is awesome!

  • These are great!

    Also reminds me of the Forth Haiku Salon: https://forthsalon.appspot.com/

  • If you're into this, you might also be interested in robotic pen plotters. This article from last year kicked off a serious new hobby for me which combines code/art/robotics/etc and has been a ton of fun.

    http://www.tobiastoft.com/posts/an-intro-to-pen-plotters

  • If you're into this kind of thing, I made a similar Turtle clone with a simpler syntax:

    http://prismaco.de/

    But I also like the approach here of using Turtle as a way to introduce JavaScript syntax. :)

  • So many memories of using a physical robot version of this at school. Good times.

  • I suggest adding this to the title: "Create your own generative art using a minimalistic Turtle graphics API."

  • undefined

  • I won my first (and only) programming contest in Logo. Fun to see the idea alive.

  • if you want an even more minimalist API you can try out lindenmoji:

    https://twitter.com/lindenmoji

  • Love this site well done. Concept and design is pretty nice.

  • This is basically Logo in Python. Looks like a good effort.

  • undefined