Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: ClojureScript pixel game engine with Blender live-reloading (mccormick.cx)
285 points by chr15m 59 days ago | hide | past | web | favorite | 30 comments

This is by the way how everything with clojure is developed (If you use the repl/figwheel/shadowcljs/combination of all of these) !

Instant changes and no reload/recompiles.

Clojure is the only language I've been excited about since the early days of Ruby. I wish so much that it would catch on, and especially I wish it would supplant Javascript.

Clojure is such a sane, elegant, and expressive language. Elixir is pretty ok, especially on BEAM, but it looks like Perl compared to Clojure. It's just a tragedy that for the best career options one must basically choose between Python or Javascript. (js because that's what everyone uses for front end, and python because that's what's apparently eating the world via AI, ML, etc.). To be nice to Python, it's a very practical language. It just is completely inelegant compared to Ruby and especially Clojure (and even Elixir).

Every couple of years I tell myself, "I'm going to do my next project in Clojure; reality be damned!". But always I give up and fall in line.

Try Hy (http://hylang.org) for a Clojure-ish Python.

Without maps or persistent data structures, it won't feel Clojure-ish beyond simple examples. But a lisp on top of the Python ecosystem is an exciting project.

Without maps? What's wrong with a Python dict?

This is by the way how everything with Lisp is developed.

I suggest some reading about Interlisp-D, Lisp Machines and Common Lisp commercial IDEs.

Everything with Lisp is developed is a bit of a stretch. This isn't the way e.g. Racket is usually developed IIRC.

Racket is a Scheme variant and Dr Scheme, now Dr Racket, is a kind of interactive development environment similar to the above ones.

However when I talk about Lisp I seldom think of Scheme, due to their differences, in spite of the common parentheses.

I've barely used Dr Racket and even then it's been years so I might be misremembering, but I don't think it comes with any hot swap capabilities (the main point of this demo) out of the box, even though it had a REPL.

Yeah I was about to say, I can't think of any Scheme implementations or descendents with robust support for hot swapping.

The current transition to Chez Scheme might allow this in the future.

Yeah okay that's sick, I'm building a Peggle clone in Unity with Clojure/Arcadia at the moment but this looks like it has the potential to be more accessible

sounds interesting, is the development of that something joe public can look at? :)

I don't want to just pile on with praise spam, but this is really cool. It's great to see people building more tight, simple integrations with Open tools.

Agreed! Blender is so good and widely used now that it makes perfect sense to tightly integrate with it for your assets creation pipeline.

The most popular Blender-connected game engine around right now is Armory3D. There is an early WIP successor to that being built in Rust by a former Armory developer: https://github.com/katharostech/arsenal

I am constantly surprised and delighted by what the folks over in the Clojure world come up with.

Yeah, Clojure community probably has less active members than a number of engineers working say for Google or Facebook. But the awesome stuff and ideas it generates all the time is really surprising.

Site seems to be struggling, think this is the repo: https://github.com/infinitelives/px3d

This is one of those "exciting mix of tech terms" submissions. Really well done!

Guess I will take a look at this, cause this sounds interesting as a casual game jam participant myself

I am just learning about cljs landscape. Any reason someone would choose figwheel over shadowjs.

none, shadow cljs does everything and seems so far to be easier to get running with full emacs repl-y goodness

I think creating libs is one reason, Iirc was not supported by shadow.

This is true. I’ve asked shadow-cljs creator directly and he recommended using leiningen for library creation.

This is great. Always amazing where clojure can put a repl

This is very nice and cool.

Would like to try it out sometime.

As far as I could see there’s no open source license in the repo though.

If I may I would like to suggest that you release it under the terms of the ISC license. It’s a highly permissive and very short and simple license.

Really cool project. Nice work!

And this guys seems to have made his own font

Really cool, keep up the good work!

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