- 24
- 5 697
David Zwitser
เข้าร่วมเมื่อ 10 มี.ค. 2015
Creative technologist/ interactive installation artist doing BQN and Touchdesigner
Advent of Code in BQN day 4 (2024)
github.com/DavidZwitser/Advent-of-Code-BQN-2024/blob/main/day4/day4.bqn
Intro 00:00
Part 1 00:30
Part 2 09:20
Ending 12:53
Intro 00:00
Part 1 00:30
Part 2 09:20
Ending 12:53
มุมมอง: 64
วีดีโอ
Advent of Code in BQN (no regex) Day 3 (2024)
มุมมอง 9314 วันที่ผ่านมา
Correction, before the last fold there needs to be a rotate (⌽) so the order is correct. github.com/DavidZwitser/Advent-of-Code-BQN-2024/blob/main/day3/day3.bqn Intro 00:00 Solution 1 00:38 Solution 2 16:25 Outro 24:44
Advent of Code in BQN Day 2 (2024)
มุมมอง 22614 วันที่ผ่านมา
github.com/DavidZwitser/Advent-of-Code-BQN-2024/blob/main/day2/day2.bqn Intro 00:00 Solution 1 00:36 Solution 2 06:45
Advent of Code in BQN Day 1 (2024)
มุมมอง 11221 วันที่ผ่านมา
github.com/DavidZwitser/Advent-of-Code-BQN-2024/blob/main/day1/day1.bqn Intro 00:00 Solution 1 01:07 Solution 2 04:00
Rayed-BQN Functional-Reactive Game Programming ✨
มุมมอง 391ปีที่แล้ว
Inspiration: th-cam.com/video/Ju4ICobPNfw/w-d-xo.html Rayed-BQN: github.com/Brian-ED/rayed-bqn In this video I show the results of my exploration to find a structure to program games in in BQN! Chapters: 00:00 Intro 00:35 Part 1 08:13 Part 2 12:53 Outro Example 1: dzaima.github.io/paste#0jVRLixNBED7P/IpivSQ4aRNlZQki64MV8W18HGQZOjO9m3E703Gm3RjDwJ52dUHYi@SiBNZLAoIXcY9CcvRfzC/wJ1jVM8kk6wMhGbqqv66v...
Tic Tac Toe in BQN (1) Setting it up
มุมมอง 172ปีที่แล้ว
The language: mlochbaum.github.io/BQN/ Insides into the array world: www.arraycast.com/ The array world discord: discord.gg/AKgQU4hM
Tic Tac Toe in BQN (2) Algorithm
มุมมอง 128ปีที่แล้ว
The language: mlochbaum.github.io/BQN/ Insides into the array world: www.arraycast.com/ The array world discord: discord.gg/AKgQU4hM
Tic Tac Toe in BQN (3) Controlling the terminal
มุมมอง 91ปีที่แล้ว
Ansi escape codes: gist.github.com/fnky/458719343aabd01cfb17a3a4f7296797 System-provided values specification: mlochbaum.github.io/BQN/spec/system.html The language: mlochbaum.github.io/BQN/ Insides into the array world: www.arraycast.com/ The array world discord: discord.gg/AKgQU4hM
Tic Tac Toe in BQN (4) State Machine
มุมมอง 74ปีที่แล้ว
The language: mlochbaum.github.io/BQN/ Insides into the array world: www.arraycast.com/ The array world discord: discord.gg/AKgQU4hM
Have you ever seen code like this? Snake in BQN/raylib
มุมมอง 765ปีที่แล้ว
BQN (the language used): mlochbaum.github.io/BQN/ Rayed BQN (the library used): github.com/Brian-ED/rayed-bqn
Snake2 in BQN/Ray-lib (Part 1)
มุมมอง 155ปีที่แล้ว
BQN: mlochbaum.github.io/BQN/ Rayed BQN: github.com/Brian-ED/rayed-bqn
A game in this language? Astroids in BQN with Raylib
มุมมอง 1.1Kปีที่แล้ว
BQN: mlochbaum.github.io/BQN/ Rayed-BQN: github.com/Brian-ED/rayed-bqn The code I write in the video: github.com/DavidZwitser/rayed-bqn/blob/dd048b5bcc1f8404f4478799eaa717326666afa2/my_work/games/astroids_live.bqn The code I wrote beforehand: github.com/DavidZwitser/rayed-bqn/blob/dd048b5bcc1f8404f4478799eaa717326666afa2/my_work/games/astroids.bqn I might do more of these. I am not responsible ...
Beautiful little game network in TouchDesigner using my state machine system!
มุมมอง 150ปีที่แล้ว
Beautiful little game network in TouchDesigner using my state machine system!
A way to use TouchDesigner's powerful visual network as a State Machine
มุมมอง 483ปีที่แล้ว
A way to use TouchDesigner's powerful visual network as a State Machine
That pattern matching bit to set the 'active' state was clever. Way cleaner than ternary expressions. My Day 3 part 2 solution was much rougher than yours, where I checked positions of the mul() commands, and deleted the ones that were between the inactive offsets, pretty sure.
Cool that you watched them, your videos look cool, I’m going to watch them too :)
@@davidzwitser Thanks! I hope you upload more vids!
@@TankorSmash I hope so too haha. I luckily meanwhile have quite some other videos on BQN too
I've used double Each a few times, I'm glad I found out about the Depth modifier. I was always wondering how it would be used, because it wasn't immediately obvious to me from the docs. That under-rotate thing is incredible, because I didn't appreciate how rotate or translate worked, but knowing it just moves something to the front basically, makes it so cool.
This was cool! The solutions seem so self-evident after seeing yours
dayum never thought Id be overwhelmed by a splitBy function
Great tool thank you very much for sharing this. I was wondering if someone had build something like this after having a very long chain of timers that triggered each other and completly losing sight what actually triggers what :D
Davis Jennifer Robinson Anthony Smith Charles
How do you code so fast?
Preparation and editing 😁
Great video!
I love the way you have the editor set up and your keyboard noises
Thankyou yarrowification
Even your 50 followers are just there out of pity, not interest. You're less of a TH-camr and more of a cautionary tale-a nobody masquerading as a next big thing in a world that's already scrolled past you.
a language for masochists.
Yoo this is a cool stream. Thanks for sharing this with us.
Hey, BQN seems a nice language, I think it could be worth while as alternative to javascript, to send slim code with a lot of features in small character package. I guess creating games works aswell, I read that quite a few companies used APL in desktop application development. I want to say I was a bit surprised this language still has not 1.0 release, it's could be a bit a turnoff.
My keyboard doesn't have the characters needed to program in BQN, apparently... Is this a joke?
Haha no it’s not. You can download/ install them here: mlochbaum.github.io/BQN/editors/index.html. Or use an online editor: bqn.funmaker.moe/ where you can click on them or use \ to insert them :)
@@davidzwitser Okay, I understand that there are tools to make it possible, but the fact remains: why?! Why would you design a language to look like hieroglyphics? Why make someone learn that in order to just understand wth is going on? What's wrong with the self-explanatory alphanumerics that we have all known since first grade? Who is this supposed to be good for?! Code golfers? Masochists? The pharaoh? 80s coders with only 64k for their program? People with a broken mouse that can't scroll the screen? Coders whose attention spans have been destroyed by TikTok? Black hats and IP hoarders trying to obfuscate their code deliberately? Who?! Please tell me why!!
@@davidhand9721 Haha, I understand your confusion. It does seem confusing at first. Actually the latest episode of the array cast podcast talks about this a lot! I recommend that if you want to understand : www.arraycast.com/episodes/episode71-primitives (also listenable on other platforms). As for my own feelings about it; having symbols to represent the most common and powerful algorithms we use in programming, and making a language which makes those very composable is super powerful! Because the algorithms have their own graphic, which often is a visual representation for the algorithm, you can keep them in your head and play around with them much more easily. A big idea of languages like this is "notation as a tool of thought": dl.acm.org/doi/pdf/10.1145/358896.358899. You can think of these languages as executable extended mathematical notation. I myself notice that I can express complex ideas super quickly and expressively in BQN and then run it!! In the podcast they explain all of this way better. And any new script from another language seem super strange and foreign at first, but once you start to learn to read it, that fades away :).
@@davidzwitser I don't doubt any of that, but "any new script from another language seems super strange" has degrees. I learned BASIC as a young lad and C++ as a teen, and I've never looked at modern languages like java, typescript, python, or rust before I learned them and had no clue what was going on the way I do looking at BQN. There's another array language floating around that gives you the option to spell out the symbols as keywords, and that sounds like a decent compromise - though I suppose it hogs the namespace. I did learn a sort of visual "language" that a game used to program robots, and I was glad for the symbols then - because all the documentation and instructions were in Japanese, and I don't know 15 words of it. There was zero chance I was going to type out the keywords, but I got pretty good at arranging the symbols to get the robots to win fights. So I can kind of relate to what you're saying, a little bit. Honestly, I don't have a use case for any of this. I don't even _really_ know what array programming is. I use filter, map, and reduce all the time, but I can't really picture forcing a whole application into that, if that's even related. I'm not mocking it, it's just highly conducive to humor, and that's all I've got for it. If it suits your needs, that's great. Carry on.
FWIW, emacs has three varieties of transpose, i.e. swap. Lines, words and characters.
Aah amazing! What does it do when you have a selection? Flip the selection, move the selection or deselect and then the normal behaviour?
@@davidzwitser I believe it’s all relative to where your cursor is (called the “point”) and doesn’t involve the selection. For some of these commands (I don’t remember if swap does this) the selection stretches or shrinks according to the change of the text as a side effect. I’ve never needed this.
Lekker bezig David Ik snap er helaas niets van, maar ja dit is ook niet mijn expertise. Leuk om te zien. Wat wordt of is het uiteindelijk geworden?
Hey Jasmijn, lief dat je reageert 😁. Het wordt een live coding tool, dus live programmeren en visuals genereren als een soort performance!
Thank you for doing this. As far as I know these videos are unique. After seeing BQN/APL videos I was also wondering how a ‘real’ program looks like. There are a lot of AoC videos but almost none about how to setup an application. The only thing I was thinking about after seeing your videos; BQN is a language of ‘scribbles’ but your code doesn’t use them much (20%?). I understand where this is coming from but it is a little bit weird sight almost as if this is not BQN.
Thank you! Yea there sadly aren't a lot of videos with these languages now, especially for bigger applications like you said. I hope my videos will inspire more people to start making them :). And I understand your point with the scribbles. In this case that is probably because I my examples ware "unique object heavy" and the games themselves aren't that complicated thus there is not much "pure logic" to describe which you would normally use the symbols for (because they're amazing for that). It's also the way I chose to structure it which makes it more verbose. But I was for example also working on a particle system, and there you'd see a lot mores symbols because it is more pure logic and less unique things that need to be ordered and able to communicate with each other. :)
You are so helpful to me. Thank you for creating this. I’ve been tryna wrap my head around this very concept!
Awesome to hear!
Can you do a video about setting up a development environment for BQN? I see that you are using ms Code here but how do you get the syntax highlighting and more importantly how do you compile and run it.
That was interesting, thank you for making this series.
Really enjoying this series. Thanks!
Glad to hear it! :)
Great! I've recently started learning BQN but couldn't find too much interesting content about it (that actually shows something practical). This is perfect to play around with. Thanks for sharing!
Awesome! That was the goal 😁. I also have longer videos where I have a more realistic pace and explain things a bit more. I also fall into pitfalls and crawl out which might be helpful to see 😁
This is hell language
It is actually a love language ❤
I would've drawn the ship relative to its centre being at its 0,0 rather than drawing it relative to one of its vertices then calculating its centre each time you orient it. Which if I'm following is what I think you're doing... but I'm not sure (-:
Good feedback :). I calculate the shape center once at the start and then only use it as the origin point to to rotate around. But your idea would mean that I don't need the origin point anymore and the player would actually draw in the center (because now that I think about it, its probably centred on its first point).
Mad man
kinda sicc
I wanna see a second video where you complete the code, add score, etc :)
Haha, I’ll do it!
Sweet stuff! Happy to see more creators utilizing the Olib :)
Top Job ! I'm enjoying having a play with it ... any chance you'd be up for sharing some example COMPs to fast understanding the implementation ?
Thanks! That's great to hear :). And good one, I'll make an examples pack!
olib.amb-service.net/component/state-circuit-snippets Here is the snippet pack! :)
Link to the Toolkit: olib.amb-service.net/component/state-circuits Link to Snippets Pack to get started: olib.amb-service.net/component/state-circuit-snippets
That error with the unknown path is caused by having the parameter style be "OP" (or "COMP", etc). For parameters that can take more than one operator, you can use the style "Str" and then call the `foo.par.Things.evalOPs()` to resolve the string to a list of operators.
Aah, evalOPs is a good one! Thanks for the other suggestion aswel. The reason I didn't make it type Str is because then connecting with dropping one onto the other doesn't work anymore. @Unveil suggested to use a messageBox, which would also make the possibility to not overwrite the old connection. For now I don't think that benefit outweighs the problem though; namely it conflicts with my design goal of keeping it as minimal and native to TouchDesigner as possible. But I am still testing with that.
this is amazing, thanks for sharing!
Have you considered uploading it to the olib as well? Would be a great addition to the utility tools there!
@@FunctionStore Good one! I'm going to look into that
@@FunctionStore It is on there :) olib.amb-service.net/component/state-circuits
@@davidzwitser lovely cheers! ☺️
Really well done!!! For the warning you can maybe just use a string parameter… and check for the name of the operator and pass it if they have the state tag. Should work. Than to make the connections you can start to use the messageBox with some buttons, is a function in tdu or tdf, and for the parameters you can start to write some infos so each parameter when the mouse is over give a little description. I think the system is pretty cool… and your networks are really clean and interactives!! ❤🎉😊ps: you know me i am Simo from berlin we meet at the Td meet up
Ooh hey Simo! I didn't know it was you 😁. Thanks for the feedback and compliments! I didn't know ui.messageBox and not even the TDF library, cool! I'll try out your suggestion 😁, it might indeed streamline the connecting of multiple State or Condition COMPs to one. And the infos are written! :)
❤ is crazy how you use th network as part of your system. A lot to learn here…