[HN Gopher] Fluxus - A 3D game engine for live-coding worlds int...
       ___________________________________________________________________
        
       Fluxus - A 3D game engine for live-coding worlds into existence
        
       Author : joubert
       Score  : 167 points
       Date   : 2021-02-14 07:14 UTC (15 hours ago)
        
 (HTM) web link (www.pawfal.org)
 (TXT) w3m dump (www.pawfal.org)
        
       | podiki wrote:
       | Cool! Take a look also at CEPL [0] an OpenGL environment for
       | Common Lisp. Bit more low level, but you can have an OpenGL
       | window open and make live changes in the code, just like anything
       | else in Common Lisp. I can't imagine coding graphics any other
       | way, and is a lot of fun that way too.
       | 
       | [0] https://github.com/cbaggers/cepl
        
         | matheusmoreira wrote:
         | So how does it work?
         | 
         | I imagine there are two concurrent threads: one receiving input
         | from the programmer and another running the graphics and window
         | event loop. How do these two communicate? I tried writing
         | something similar as a teenager and the multithreading work
         | quickly overwhelmed me. Perhaps there's a better approach?
        
       | i_don_t_know wrote:
       | There's also Impromptu: http://impromptu.moso.com.au/
       | 
       | https://en.m.wikipedia.org/wiki/Impromptu_(programming_envir...
        
         | jsilence wrote:
         | Unfortunately OSX only. Too bad.
        
           | arabelladonna wrote:
           | Its successor, Extempore, which was mentioned by n3k5, is
           | available for Windows, Mac, and Linux.
           | 
           | https://extemporelang.github.io/
        
         | n3k5 wrote:
         | That project obviously has been dead for a long time, but its
         | successor Extempore [0] seems to still be in somewhat active
         | development. And btw. it runs on Linux, MacOS and Windows.
         | 
         | [0] https://extemporelang.github.io/
        
         | pygy_ wrote:
         | Impromptu was pretty nice as a scripting env for Core Graphics
         | (I sued it as such at some point).
         | 
         | I also coordinated an effort to save it from being deleted from
         | Wikipedia, along with Andrew Sorensen's "Study in Keith" video.
         | 
         | Andrew who's also the author of Impromptu and Extempore, had
         | gifted the recording of a live coding performance to Wikipedia,
         | under a CC license. Some editors wanted to have it removed
         | because it was "personal research". Go figure... Sanity
         | prevailed thankfully.
         | 
         | Edit: also, you should listen to "A study in Keith", it's a
         | damn good piece. You can follow along as Andrew tweaks the
         | grammar/Markov chains that make up the music, but it isn't
         | necessary. The music starts at 1:56 (since the piece is written
         | from scratch, there are a couple minutes of silent video while
         | the author sets up the initial code).
         | 
         | https://upload.wikimedia.org/wikipedia/commons/c/c5/Study_in...
        
       | pikseladam wrote:
       | I didn't understand. Can anyone help me out? What is that?
        
         | jsilence wrote:
         | It is a Scheme REPL focussed on 3D graphics where the
         | programming result is displayed as the background behind the
         | code. Code can be made invisible with hotkey.
         | 
         | It is a live coding environment for visuals. Used it for a
         | project back in 2014 / 2015. It is really fun once you get to
         | terms with LISP.
         | 
         | Edit: typos
        
       | vanderZwan wrote:
       | It mentions WebGL as one of its targets. Would it be possible to
       | run Racket in the browser and have a fully browser-based live-
       | coding environment?
        
         | shadowgovt wrote:
         | It would have to be done carefully, but it doesn't strike me as
         | strictly impossible.
         | 
         | The challenge for a live coding browser environment is proper
         | partitioning of the environment running the editor from the
         | environment running code under development. The JavaScript
         | environment in the browser is not multithreaded, so if the code
         | under development hangs forever (and thanks to the halting
         | problem, you can't guarantee it won't), you'll have a bad time
         | because you can't access your tools to stop the code or modify
         | the behavior.
         | 
         | However, that doesn't mean it's impossible. There are multiple
         | avenues I would suggest exploring that might ameliorate that
         | problem (web workers, wasm, possibly iframes).
         | 
         | As for the question of running racket in the browser in
         | general, there are options.
         | https://cs.brown.edu/~sk/Publications/Papers/Published/yk-wh...
        
           | vanderZwan wrote:
           | > _The JavaScript environment in the browser is not
           | multithreaded_
           | 
           | Well, there's WebWorkers. They're a bit limited due to the
           | whole message passing thing but still quite powerful.
           | 
           | Aside from that: could whomever downvoted the person above me
           | explain what's misinformative about their comment?
           | 
           | https://developer.mozilla.org/en-
           | US/docs/Web/API/Web_Workers...
        
       | juliendorra wrote:
       | Live coding is great for beginners to discover and enjoy that
       | programming is writing that makes things happen.
       | 
       | I have had consistent success with design and communication
       | students using LiveCodeLab [0] as the first step in our creative
       | programming classes (ending with either Processing and Arduino or
       | P5js/JavaScript)
       | 
       | First they get the magic of it, summoning a cube with just 'box',
       | animating it, playing with colors, then they ask 'can we use that
       | for...' and we can go to step 2
       | 
       | [0] https://livecodelab.net/
        
       | jsilence wrote:
       | Another fun live coding environment is IBNIZ.
       | http://viznut.fi/texts-en/ibniz.html
        
         | carapace wrote:
         | Also, Enu: "A Logo-like DSL for Godot, implemented in Nim"
         | 
         | https://github.com/dsrw/enu
        
       | CyberDildonics wrote:
       | Which part "live codes world into existence"?
        
       | guytv wrote:
       | "screenshots and video" YouTube link is broken for me. Anyone
       | managed to watch it? what am I doing wrong?
        
       | jarmitage wrote:
       | By the same author (David Griffiths), who is a creative genius
       | and runs the FoAM Kernow studio with his partner Amber:
       | 
       | Pattern Matrix, tangible live coding interface w/ magnetic tokens
       | and AR overlay: https://www.youtube.com/watch?v=pLpHBUmwGCk /
       | https://penelope.hypotheses.org/2232
       | 
       | Viruscraft digital/tangible platform for exploring viruses:
       | https://fo.am/activities/viruscraft/
       | 
       | Swarms of live coded robots doing maypole dancing (yes):
       | https://penelope.hypotheses.org/1512
       | 
       | Scheme Bricks, 3D visual live coding in Scheme:
       | http://davesblog.fo.am/?s=bricks /
       | https://github.com/nebogeo/scheme-bricks
       | 
       | Al-Jazari: Minecraft meets Fluxus / Scheme Bricks
       | https://www.youtube.com/watch?v=r8Mp6f65nWM /
       | http://davesblog.fo.am/2013/02/al-jazari-2-minecraft-meets-f...
        
         | ArtWomb wrote:
         | I like the choice of name. Fluxus was probably one of the most
         | influential conceptual art collectives of all time ;)
         | 
         | https://en.wikipedia.org/wiki/Fluxus
        
       ___________________________________________________________________
       (page generated 2021-02-14 23:01 UTC)