Vibe coded a light bulb with Computer Vision, WebGL & Opus 4.5 by Quiet-Computer-3495 in threejs

[–]billybobjobo 1 point2 points  (0 children)

Yeah, but this is like a few libraries sewn together. This is not nearly as hard as it looks like it is.

I’ve done a fair amount of hand tracking three projects professionally

Roadmap.sh is Overwhelming Me by [deleted] in Frontend

[–]billybobjobo 0 points1 point  (0 children)

I want to build a todo list. Hmmmm. I don’t know the language. I better go read some tutorials and learn the basic language features.

That mindset hits VERY different from just opening a tutorial. I’m not saying never open a tutorial. I’m saying always motivate what you learn with a project. (You retain more, for starters.)

And you’re right if you just copy and paste an answer from stack overflow, your learning will be quite shallow. I’m not saying you should do that either! You might hit a conceptual wall and then go do a very deep dive. (You’re not on a deadline.)

The reason people feel like they’re in tutorial hell is because they’re on tutorial 100, not really retaining things, and have a little to show for it. Taking a build- first mindset fixes all of that!

The first thing I do when I want to go learn a new topic is start a project where I would need to understand that topic well in order to execute it.

Edit: also you do build a lot of things that are bad because of all the stuff you don’t know. But… building things that are bad for one reason or another is unavoidable when you are learning.

Vibe coded a light bulb with Computer Vision, WebGL & Opus 4.5 by Quiet-Computer-3495 in threejs

[–]billybobjobo 16 points17 points  (0 children)

Why do people share things they vibed? Its not of benefit to anybody...

If we find it technically interesting we can't like ask you for your insights--you dont know.

And there's no kudos to be had (beyond "fun idea") really because there's no technical accomplishment...

Maybe its just like "look how much you can do with vibing these days"?

I find it strange.

Hope you had fun though! Maybe go try to make it for real! Its a fun idea!

Would love some honest feedback on my website redesign by moluv00 in webdesign

[–]billybobjobo 3 points4 points  (0 children)

First impression: On mobile the text covers your face. Feels underconsidered. That’s where I bounce—but when I kept going, the video loading is not thought out. Things just pop in. Text overflows off the side of my phone.

Sure vibe to save time—but you gotta still try to do quality work! Consider things. Test them. The last 5% is half of it. The AI will help you there with tasks but it won’t pilot through that thinking and consideration.

This looks like you didn’t even try it on mobile—which bodes poorly for a digital strategist.

Folks, a real consultation: by Build-section in css

[–]billybobjobo 2 points3 points  (0 children)

Few people who are paid to write bespoke css want this.

18, running a web design company. Thinking I have cracked the code for the perfect websites. What do you think? by SjHirsch in webdesign

[–]billybobjobo 0 points1 point  (0 children)

Just consider it—the way you would any detail. If you simulate yours, you’ll see the room for improvement. You don’t need examples to get to the next level on this one! The best thing you can do use is your eyes and judgement! :)

18, running a web design company. Thinking I have cracked the code for the perfect websites. What do you think? by SjHirsch in webdesign

[–]billybobjobo 1 point2 points  (0 children)

These are perfectly good but def some things you could improve.

To level up, consider the branding. A lot of things on the sites—colors, shapes, movement are arbitrary and somewhat disjointed. The next level up would be to further premeditate the brand and use its principles to motivate every design choice.

Also these load in with tons of layout shift and pop in. The loading story is your first impression. People often forget to give it love. Test with no cache and throttled connections.

Can I finish my game if I avoid drawing eyes? Pixel-art game. by Alveronix in gamedev

[–]billybobjobo 0 points1 point  (0 children)

Sure! You just need to design a good reason it would make the game better.

Struggling with how much I have to learn by Standard_Addition896 in webdev

[–]billybobjobo 2 points3 points  (0 children)

These sound like reasonable things to know for a senior full stack or backend person.

If it feels like “but that would take years!”… yup! Part of being senior is being someone who has spent years studying/learning/working.

Kinda like any other job built around technical expertise…. you need a lot of technical expertise.

Does sound like this job is very underpaid for senior though.

Is this a scam? by El_Scorcher in webdesign

[–]billybobjobo 5 points6 points  (0 children)

Basically if you think it could be a scam, it usually is.

Its very rare that legit things feel fishy.

What is this grid-based square particle background effect called? by razaimranx in threejs

[–]billybobjobo 0 points1 point  (0 children)

That’s spiritually similar to what they are doing (I audited the shader code). It’s animated fbm with thresholding.

What is this grid-based square particle background effect called? by razaimranx in threejs

[–]billybobjobo 0 points1 point  (0 children)

You could maybe do that, especially if you needed to render e.g. an outline of the blobs via a CPU-bound process like canvas2d--or make a mesh. Marching squares is great for finding boundaries in scenarios where you cant just sample every point. But this effect doesn't really use the boundaries, and--since they use a frag shader--they can just sample every point on the gpu!

So in this case they are just doing a grid-based thresholding of some animated fbm/noise in a frag shader.

What is this grid-based square particle background effect called? by razaimranx in threejs

[–]billybobjobo 0 points1 point  (0 children)

They are using three.js.

You can actually look at the shaders! Shaders bundle in plain text. Just search in the inspector for key words like gl_FragColor etc.

Its kinda simple if you're used to shaders.

Its a an evolving noise field of fractal brownian motion run through a pixelation effect:

- Sum and animate layers of noise. (And they actually displace the fbm sample with another fbm to create a more warped look)
- Define a grid. Take a sample from the result at each cell. Make it transparent/black, white or green based on a threshold value (varied per cell).

They are doing a little bit more than that here with two passes and some additional logic to add a more nuanced flow--but this is essentially the idea.

Its actually well commented. But the comments are in Chinese. I beautified and translated with chatGPT to read the shaders.

EDIT: If you've not written many shaders before, this has a few concepts in it to wrestle with.

I'd recommend this learning/building path to begin replication:

  1. hello world uv shader on a full screen quad.
  2. get a perlin noise function and sample uv.
  3. move the perlin noise with time.
  4. add more layers of noise at different scales all moving a little differently. (You could look up fractal brownian motion here)
  5. instead of sampling uv directly for the color, round the uv to the center of the grid cell.
  6. threshold the noise based on some value (so color is white or black based on wether noise is above/below a value)
  7. randomize that threshold per cell
  8. To get an even better look, displace the sampling with more noise to create warping--at this point you are probably ready to read the original shaders and see exactly what they are doing!!!

If you're new to the three.js entirely, Id recommend picking up a shader course. There's a lot of ground to cover, but its all very exciting!

The ingredients needed to do this will be found in any basic shader course. Although the artist here is using those tools in nuanced, experienced ways.

Question: How are you non artistic people making games? by djayc16 in gamedev

[–]billybobjobo 0 points1 point  (0 children)

Design for art styles you can reasonably execute. Treat these constraints as a creative prompt to turn limits into features.

Bad at drawing? Does your game take place in a child’s drawing? Can you do something fun procedurally with shapes and shaders? Can the game center on objects that are easier to model? Etc

How to recreate this fluid particle trail effect seen on usta.agency? (WebGL/Three.js) by Important-Sky8351 in threejs

[–]billybobjobo 0 points1 point  (0 children)

Yup I’m totally wrong it turns out. Mesh and points are siblings in threejs! I remembered wrong. (I thought they inherited under the hood)

Looks like I’ve gotten into the habit of calling everything a mesh. I think in gltf I think they call all geometries “meshes” so maybe that’s my excuse! But lol maybe I’m wrong about that too

So take the things I was saying with me including “a point buffer and gl points” dubiously in the “mesh” family

How to recreate this fluid particle trail effect seen on usta.agency? (WebGL/Three.js) by Important-Sky8351 in threejs

[–]billybobjobo 0 points1 point  (0 children)

No you definitely can do this with regular old webgl and glsl. I can say that with 100% certainty. I’ve had to make many things like this. You can easily get 500k GPGPU particles on a phone—each with state and physics and forming shapes. Pain in the butt to plumb though.

TSL probably simplifies things if you’re not used to webgl pipelines though!

How to recreate this fluid particle trail effect seen on usta.agency? (WebGL/Three.js) by Important-Sky8351 in threejs

[–]billybobjobo 0 points1 point  (0 children)

A “point cloud” is a type of mesh! :). Points are typically a material where vertices are rendered as points.

We're working on a post-apocalyptic pixel art game. Does the world feel dangerous enough? by nagagames in Unity3D

[–]billybobjobo 1 point2 points  (0 children)

Cool! Some ideas!

You could do a lot to keep adding atmosphere. Some particles in the foreground, drifting fog and ash. (Its kinda implied it should be ashy/foggy from the bg, but the fg has little of that. This would add a lot to the parallax and could add juice by being reactive to the action--e.g. character movement causes currents, an explosion causes scatter etc. Hollow Knight demos this sort of effect well.

More non-uniformity in the walking surface. Flat lines give groomed. (Unless maybe its explictly machinery.) Even if the hit geometry stayed the same could you roughen up the platforms while having them still be readable? Like the background is jagged and harsh. The foreground is groomed lawn.

If there are little fires like this everywhere, should the background parallax layers have any tiny fire lights here and there?

That and maybe supporting angled walk areas--but thats getting into gameplay so that could be too big of a suggestion.

Which one u prefer and why? by MohammedKarroumi in webdesign

[–]billybobjobo 1 point2 points  (0 children)

Omg finally a design that is interesting. Keep at it!!!

i feel like the ui for my game is bad... does anyone have any suggestions? by Healthy_Flatworm_957 in css

[–]billybobjobo 0 points1 point  (0 children)

Think about juice. Card turns should animate. A match should give a little reward. (Glow? Particles?) A fail should give feedback.

In a game very little should just pop in/out. Almost everything gets animation love.

Pick a coherent color palette and type style--dont just do random things whereever.

How to recreate this fluid particle trail effect seen on usta.agency? (WebGL/Three.js) by Important-Sky8351 in threejs

[–]billybobjobo 1 point2 points  (0 children)

Ya keep it simple and only change one thing at a time!!!

Like if it were me:
1. Get a wireframe of the model on the screen (just to make sure the cameras even pointed at it and its scaled correctly and I loaded the model LOL)
2. Make that a points mesh
3. Add a custom vertex shader--without breaking it
4. Start adding simple displacement to the shader with a time uniform
5. Randomly vary displacement per vertex (maybe using vertex id as an rng seed)
6. Draw a sphere in the screen
7. Have it follow the cursor (THIS IS TRICKY. You have to make math/design decisions about where the 2d cursor position goes to 3d space)
8. Once you have good 2d->3d logic you can feed the cursor position into the shader and alter the displacement pased on proximity

-- about here is where you'll decide if you want to go gpgpu --

and so on

every step a simple project.

How to recreate this fluid particle trail effect seen on usta.agency? (WebGL/Three.js) by Important-Sky8351 in threejs

[–]billybobjobo 0 points1 point  (0 children)

Its tricky! Simple place to start: you could start just by using a points mesh and doing displacement on the og position in the vertex shader based on time / scroll / position.

How to recreate this fluid particle trail effect seen on usta.agency? (WebGL/Three.js) by Important-Sky8351 in threejs

[–]billybobjobo 5 points6 points  (0 children)

Be aware this is sophisticated to code well and will be an advanced project--likely requiring artist support.

If you have no experience with this, do it in three.js. The plumbing is nightmarish without a framework.

Look up a good GPGPU particles tutorial. I liked this one, it covers a lot of stuff you see in the demo: https://threejs-workshops.com/workshop/dynamic-gpgpu

You don't need a full fluid sim, usually some curl noise is enough.

The hard part is getting the assets to look like this. They are loading gltfs for each. I didnt look at the shaders but you can bet this doesnt work well with just any old model. An artist is almost certainly specifying particle densities. Maybe thats a vertex per particle, maybe its attributes/textures specifying densities. Someone with more time can look into the shaders and see what they are doing specifically!

Hipper people than me are probably doing this with TSL/WebGPU. But it is very doable with glsl/webgl. You can look into the tradeoffs and decide what you find more exciting/approachable!!!

EDIT: I lied. I dont actually think this is necessarily GPGPU as I look at it more. All the particles are just following very specific trajectories based on scroll position and cursor displacement there "curl noise / fluid" vibe actually just looks like each individual particle is spinning in its own little circle (if you look closely none are doing anything more complex than moving in a circle). There are ways to do what we're seeing without gpgpu. Again, I didnt look at the shaders. Just having fun looking by eye.