313 karma · joined September 6, 2010
I've done quite a few iterations of the speed at which they get uncovered, and it's definitely tricky to nail down. I've tried to find a middle ground between something that's rewarding/satisfying (so should take 1-2 seconds, long enough to be enjoyed), but also doesn't block you (so should be instant). And that animation would need to very different if it's revealing 10 tiles or less, or 500+. I realize this still isn't quite right.
So thank you for saying that, I'll try and improve it.
I've tested on an iphone mini, and even though the dialog is quite big on it, so I should indeed try and shrink it, it doesn't prevent completing the tutorial. But it looks like I wrongly assumed this would be the smallest phone I could test it on.
And as far as I know, the empty tiles only gets uncovered if you uncover another empty one, so I followed this principle. If that was also the case when you uncover a number, this would reveal too much.
And you're right for "lose 60s", It's not the ideal wording. I was thinking it in terms of the less time you end up with, the better your score is. But "gain 60s" wouldn't work either. I'll have a think, but curious to hear if anyone has suggestions for this.
And I poked around your source, and it's nice to see how you've created the levels ( https://www.thomasfriday.com/cuboid/levels.js ).
It won't generate a function, though. Instead it creates a 3D texture which is used inside the raymarching material. In my experience this is much more performant, and also art-directable.
(disclaimer, I'm building Polygonjs)
The biggest win really is to avoid allocating memory when the scene plays. So as you set up your scene, I have all sorts of tricks to pre-evaluate what the scene will need, and allocate that once only. That's probably what made the biggest difference to keep a smooth FPS. But that's only on the javascript side, there is more pitfalls when generating shaders.
And for the CAD part, it's powered by opencascade/wasm, so that's reasonably fast for now. But I'm sure this will get battle tested soon, with larger models and nodes setups.
So it won't be just for CAD, but more general 3D (material creation, physics, particles, etc). And it is very early in my research, so I'm still unsure how far things can go, or how usable could a scene created by this technique be. But it would at the very least help discover features, and try ideas even faster.
For context, Polygonjs is a design & animation tool for WebGL. It is based on the popular threejs library, and allows artists and designers to create interactive experiences without any coding. It's is also procedural and node-based, which means everything is created by linking nodes together. Your scenes are then fully procedural, you can always go back at any node and tweak things and see your changes propagate. It's great to experiment.
There are several examples scenes you can start from [1]. Those shows how to setup basic or custom material, procedural geometry, particles, raymarching, states & events, computer vision. There are examples for every taste, and more to come.
Even though the visual editor is not open source, the core library is [2]. So if you are a coder and would like to add nodes to your projects, you can perfectly do so, via the plugin system [3]
It is inspired by visual effects tools like Houdini and Nuke, which I've used for years when working in films like Gravity, Avatar and The Martian. One of my goals is to bring the power of those tools to the web.
Finally, this is all from bootstrapped effort, I'm not a funded company, so I'll take all the support and love you're happy to send my way! While the app is free to use for unlimited time, I encourage you to purchase a license, it's a lifetime one with 12 months upgrade (similar to jetbrains IDE) and you'll always own your files. There's no tracking (except for one license check when the app starts), no lock-in. And it's currently at a reduced price.
[0] https://twitter.com/fradingue/status/1634604273433563137
[1] https://polygonjs.com/docs/examples
It's a channel where I showcase 3D WebGL works and tutorials made with Polygonjs[0], a design tool I created.
I'd love to try and make it usable in Polygonjs ( https://polygonjs.com/ ), so it could be part of a non-destructible workflow.
It is inspired by Houdini/Nuke/Unreal. The main engine is open source ( https://github.com/polygonjs/polygonjs ) and there are more and more examples ( https://polygonjs.com/examples/ )
(edit - oh, it was already there! thank you!)
When I used to be a VFX artist, we were using Houdini, which gives as much power as writing code, but with instant feedback and the ability to quickly iterate. This software has gained popularity over the years because it makes you so efficient. You get the same power as code, with added speed and no friction. Exchanging ideas and setups with your peers is so easy.
It's based on those principle that I think the 3D on the web is still lacking this kind of tool, and the reason I'm building polygonjs [1], a node-based editor, which takes inspiration from Houdini/unreal and others and bringing this to javascript.
And the debate of code vs node-based is very subjective. Always interesting to hear people's take on why they love or hate it.
It's also interesting to look at how those apps have evolved over the last 20 years to get a sense of where we might be in the next 20. For instance, even though Houdini has always be a very open package, it's user base exploded when it explicitly created Houdini engine to integrate with Maya/Unreal/Unity. So integration is a key factor and we can hope to see apps become even more interchangeable.
Marketplaces, like blender's ( https://blendermarket.com/ ) or Houdini's ( https://www.orbolt.com/ ) will also grow, increasing collaboration between artists and developers, just like github increased collaboration. That should be accelerated as teams become more and more remote-only.
Then I'm curious to see when AI will make a dent in 3D creation, just like we have seen for 2D works with midjourney. Maybe there will be a github copilot for 3D?
And maybe in 10-20 years, we'll arrive at a combination of those items, as in an AI powered marketplate that guesses tools the community may need.
I've had all sorts of gaps in my career. 6 months, 1 year and more, to explore different domains. I'm in computer graphics/front end, pretty fast paced.
Nobody ever asked.
Please, never feel guilty about taking a single month off. If your body needs rest, you need to listen to it.
[1] https://github.com/polygonjs/polygonjs
[2] https://polygonjs.com/docs/integrations/vue
[3] https://polygonjs.com/docs/integrations/react
[4] https://polygonjs.com/docs/integrations/react_three_fiber
https://polygonjs.com/particles-music
And it's done with a visual node-based editor I'm working g on. Here is a tutorial of it in action.
https://m.youtube.com/playlist?list=PL2WfjN_pVGgj32-ZJc_VNaZ...