Hacker News new | past | comments | ask | show | jobs | submit login
Shadama: A particle simulation programming environment for everyone (tinlizzie.org)
146 points by lloydatkinson 5 months ago | hide | past | favorite | 25 comments



I really applaud the developers of this for choosing to develop a programming language with its educational utility as a top priority along with a strong visualization component. As someone who got started programming around 2012 because of wanting to make “cool weird art” with Processing, I at least have strong anecdotal experience which biases me to appreciate that these kinds of endeavors exist. People have their whole lives to learn how to implement eg bin-lattice spatial sorting or the discrete element method or SPH or whatever other three letter CFD acronym you might choose, so even if there are lots of abstraction layers on top, getting these sorts of tools into people’s hands at an earlier age is awesome. Hopefully many people will get hooked on programming, CFD, scientific computing, accelerated computing etc simply because the devs of this thought it was worthwhile to make an accessible fun way to “make particles go brrr.” Very cool!


I mostly agree with you. However I'm frightened of every step of ease we take. Will people really then go farther to end up understanding what's really going on and become physics engineers, or will the hidden detail be to solid and high a wall, much like modern devices, the app-based world, modern mobile games, etc.

I agree that getting more people in on it can be good, but every simplification scares me. What if that's knowledge we never get back? Who among us


My guess - lowering barriers to entry is usually a good thing. Maybe you've got someone with the potential to be a low-level engine wizard who just doesn't know they're interested yet because they haven't seen the potential. Maybe someone getting to play with things at a high level starts thinking "but how does it work and dives deeper. Or maybe you have someone who can make something cool, but was never going to slog through the "physics engineering" to get there - and there's one more cool thing in the world because we knocked a limitation out of their way.

I think your concern is a valid one - but I also think it's worth the "risk" to bring concepts up to accessibility and widen the funnel that leads to depth.


I see your point, it seems like this has been a concern since calculators allowed us to stop doing arithmetic.

I think the key is to make sure that when our brains get to “skip” one level of intellectual challenges that we replace it with new challenges.

Put another way, we have finite time and capacity to learn, so what no longer occupies as much of our thinking at one level, hopefully is replaced with something even more useful to focus on at a new level.


I'm frightened of every step of ease

You're frightened by 'ease'? Do you think this is a real problem?

Will people really then go farther to end up understanding what's really going on and become physics engineers

Who cares, that's up to them.

but every simplification scares me

This is irrational

What if that's knowledge we never get back?

That hasn't happened for the last 50 years and there have been a lot of toy languages that no one ever used. I don't think this niche side project is going to somehow erase the decades of global computation progress.

Who among us

What?


It's really cool to see that this project has its evolutionary roots in Extempore. Andrew Sorensen's project does not get enough love.

Extempore/xtlang is an incredibly versatile tool for live coding, I highly recommend taking a peak: https://extemporelang.github.io/docs/overview/philosophy/


Andrew Sorensen is awesome. This video of one of his presentations on Impromptu is one of my all-time favorite programming talks:

https://www.youtube.com/watch?v=yY1FSsUV-8c


I show this video to anyone who makes the mistake of giving me their time. Such a great buildup.

Extempore is a joy to work with. Haven't touched it in two years, but I hear the call.


I really need to get emacs set up again and give extempore a go. I had a blast playing with Overtone (Clojure bindings for supercollider) a few years back.


It's touch and go with VSCode. Just about the only reason I'd touch VSCode.


Apparently I don't know what touch and go means. What I meant to say is, it's very straightforward to get the VSCode extension set up.


Super cool. The video is 6 years old and looks like the development mostly stopped 3 years ago?

https://github.com/yoshikiohshima/Shadama

While it makes sense for students, I feel like for anything coding related to succeed today it must target VS Code as a top target environment.


I've watched the video in the page, but unclear what's the advantage of making it a language / environment vs. using Phaser.js

The code structure feels quite similar with setup / step -> create / update.

eg: https://labs.phaser.io/view.html?src=src\physics\arcade\500%... -> [source]


Edit: This post needs a (2017) in the title :)

Interesting!

I worked on something similar a few years ago. I think I had some good concepts from a long term usability approach, but your engine looks far better.

Demo: https://simoji.treenotation.org/

Source: https://github.com/breck7/simoji


Cool read, I wonder how this handles large 3d simulations like the airflow through a system, or a detonation cannon simulation when it comes to performance.

Syntax seems to be like someone mixed elements of C and python in a big kettle, and this syntax was the result.


What a cool project - getting to build an educational particle simulation system that is fun to play with and possibly inspiring ideas and career directions of who knows how many others.

For me and I bet of lot of others it’d be a dream to work at a place like HARC.


Can you make cool explosions with this. I was looking at spelunky 2 and was wondering how they made the bomb simulation to loos like lava.


Always nice to see particle simulations: did an all-GPU N-Body code for my Masters, back in the day before CUDA ;)


This is cool


Impressive


Kind of disappointed to see that the language is not at all Logo.


How about a logo-inspired python-based library for making embroidery files to brighten your day? https://github.com/TurtleThread/TurtleThread

https://www.youtube.com/watch?v=OcuhrDIrblo


Which hardware can "stitch" (I don't know the print equivalent) this? This looks interesting!


Most digitally controlled sewing/embroidery machines have some form of embroidery CNC-like file that they can accept, and as far as I am aware it’s easy to convert to other formats for different machines. I picked up an entry-level Brother (same as the printer company!) machine for a friend recently who wanted to start trying some digital design stuff with it. Was my first exposure to that world!

See eg for a list of the common file formats, mostly associated with specific hardware manufacturers I believe.

https://support.brother.com/g/s/hf/htmldoc/ped/im/ped11/en/P...


Well there is still StarLogo. Looks like it's even been rebooted: https://www.slnova.org/




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: