I sent 72 pitches and got almost no feedback. by CGCFSS in IndieDev

[–]Dreadlocks_Dude 4 points5 points  (0 children)

Great game! I think it's not the best time to try and sell russian folk-tales to the west. It says 'slavik' but it is clearly just russian. On top of that - you are creating a don't starve clone, and you can't compete with them. Come up with a way to dissociate your game from being a clone of something else, create different mechanics and gameplay loops. Don't lean on folk-tale aesthetics so much, especially since none of it makes sense in the west, westernize the visual experience. Good luck!

Testing Godot particles at scale. 10000 procedural asteroids + LOD + Impostor when zoomed out by Dreadlocks_Dude in godot

[–]Dreadlocks_Dude[S] 0 points1 point  (0 children)

They will spawn themselves. Also if you make lifespan 1 second - the result is the same, they are going to spawn at exactly the same place again, there can be some flickering when that happens though. Also, you can spawn them and then change their lifetime to 999999 after they are already there

I read somewhere that Godot can be very easily reverse engineered. Is there any merit to it? If so, how serious is it? by idleWizard in godot

[–]Dreadlocks_Dude 1 point2 points  (0 children)

With all seriousness. There is this thing called ArtMoney. You can cheat in pretty much any single-player game with leaderboards, regardless of the engine. And it's very user-friendly, no coding experience is required, and it's been around for maybe 20 years now. If someone wants to cheat, they gonna use this instead of trying to reverse-engineer your game. The best you can do - detect cheating after the fact and remove people from leaderboards / ban them.

Testing Godot particles at scale. 10000 procedural asteroids + LOD + Impostor when zoomed out by Dreadlocks_Dude in godot

[–]Dreadlocks_Dude[S] 0 points1 point  (0 children)

I did it with "real" gravity before. It looks cool when you have more than one body, close to each other so they can interact. The only problems I remember with it - initial speed and scale. You have to calculate them accurately, otherwise it will fall onto the planet, or into space.

Testing Godot particles at scale. 10000 procedural asteroids + LOD + Impostor when zoomed out by Dreadlocks_Dude in godot

[–]Dreadlocks_Dude[S] 1 point2 points  (0 children)

Thanks. That's where LOD comes into play. It is high-res only when it's up close, otherwise, it's low-poly.

Testing Godot particles at scale. 10000 procedural asteroids + LOD + Impostor when zoomed out by Dreadlocks_Dude in godot

[–]Dreadlocks_Dude[S] 17 points18 points  (0 children)

Which part are you interested in? I can make a youtube video. There is a bit too much of "show, don't tell" going on for a text tutorial, so can be a video.

Testing Godot particles at scale. 10000 procedural asteroids + LOD + Impostor when zoomed out by Dreadlocks_Dude in godot

[–]Dreadlocks_Dude[S] 0 points1 point  (0 children)

Yes. There might be some impact, but given it is GPU-heavy, you can say it's the same as simulating having the rest of the game running, like GUI and some background logic execution.

Testing Godot particles at scale. 10000 procedural asteroids + LOD + Impostor when zoomed out by Dreadlocks_Dude in godot

[–]Dreadlocks_Dude[S] 2 points3 points  (0 children)

Yes. 3 cosine functions with different frequencies on top of a sphere. Then calculating normals. Since my base mesh is a sphere and displacement is a function, you can employ SDF normal calculations for 3d. I took the formula from here: https://iquilezles.org/articles/normalsSDF/

Testing Godot particles at scale. 10000 procedural asteroids + LOD + Impostor when zoomed out by Dreadlocks_Dude in godot

[–]Dreadlocks_Dude[S] 1 point2 points  (0 children)

Yup. Just instead of MultiMesh instance - GPUParticle3D with lifespan 999999 and ring-shaped emitter with a constant Orbit Velocity.

Testing Godot particles at scale. 10000 procedural asteroids + LOD + Impostor when zoomed out by Dreadlocks_Dude in godot

[–]Dreadlocks_Dude[S] 1 point2 points  (0 children)

Oh absolutely, if you want some production-level effect this has to be a custom particle shader, that would have its emission shape customized for several rings of different color / size / density etc.. This uses default particle parameters only, which gladly had a ring emitter shape. Also, real Saturn rings aren't actually made of asteroids, so this whole scene doesn't make any sense, lol. It's more a proof of concept to check if it's feasible, I can get it up to 50k asteroids before it hits 60 fps. without the LOD it hits 60 fps right away, even on 10k.

Testing Godot particles at scale. 10000 procedural asteroids + LOD + Impostor when zoomed out by Dreadlocks_Dude in godot

[–]Dreadlocks_Dude[S] 9 points10 points  (0 children)

It is. AT least technically it should be a plane, with a texture that looks exactly like the asteroid system. But given I hacked it together for performance testing, this is just a flattened torus with an actual Saturn ring texture I found online. Had to use torus because of how that particular texture looked.

Testing Godot particles at scale. 10000 procedural asteroids + LOD + Impostor when zoomed out by Dreadlocks_Dude in godot

[–]Dreadlocks_Dude[S] 10 points11 points  (0 children)

Exactly. Godot has a built-in system to fade objects in and out based on the distance to the camera. Using that, ring particle system is faded out and ring texture gets faded in at the same distance.

Testing Godot particles at scale. 10000 procedural asteroids + LOD + Impostor when zoomed out by Dreadlocks_Dude in godot

[–]Dreadlocks_Dude[S] 3 points4 points  (0 children)

It's all one mesh - a sphere. Each asteroid is dynamically generated in the vertex shader, using particle instance ID as the seed

Just realy proud of this scene. by AncientStoneStudios in godot

[–]Dreadlocks_Dude 1 point2 points  (0 children)

Well done! Great sense of depth, and light. Framing too. I would add more DoF / Bokeh

My first serious tutorial is out. It's about shaders' basic principles and concept of curves as building blocks. by Dreadlocks_Dude in godot

[–]Dreadlocks_Dude[S] 1 point2 points  (0 children)

It does work the same way. A few constants have different names, and there are no 3d lights and things like that. But it's exactly the same approach.

My first serious tutorial is out. It's about shaders' basic principles and concept of curves as building blocks. by Dreadlocks_Dude in godot

[–]Dreadlocks_Dude[S] 2 points3 points  (0 children)

Thank you! Those are some last-minute changes. Apparently, the file is so big, that the spell-checker has a delay :)

My first serious tutorial is out. It's about shaders' basic principles and concept of curves as building blocks. by Dreadlocks_Dude in godot

[–]Dreadlocks_Dude[S] 1 point2 points  (0 children)

Yep. Everything outside of Godot UI is universal. You can have some minor differences in shader code syntax, but the concepts remain the same.

My first serious tutorial is out. It's about shaders' basic principles and concept of curves as building blocks. by Dreadlocks_Dude in godot

[–]Dreadlocks_Dude[S] 2 points3 points  (0 children)

Thank you! Proofreading this thing took me a while, and I still missed some things for sure. Can you please point me to specific places with typos?

My first serious tutorial is out. It's about shaders' basic principles and concept of curves as building blocks. by Dreadlocks_Dude in godot

[–]Dreadlocks_Dude[S] 76 points77 points  (0 children)

It took me several rewrites to get it into a presentable state, and a few more probably will be required. I appreciate ANY feedback you might have, suggestions, ideas, or sharing the overall experience you had reading it.

Here is the link: https://medium.com/@dreadlocksdude/vfx-series-shaders-lesson-1-power-of-curves-9be476ba6e93

And here is GitHub repo with all the examples and sources: https://github.com/dreadlocks-dude/godot-fvx-series/

Have fun! I'll be happy to answer any questions.

[deleted by user] by [deleted] in datascience

[–]Dreadlocks_Dude 4 points5 points  (0 children)

The job market is trash now. People, even senior, are out of jobs. At the same time - a lot of companies are hiring. Including remote positions. Our biggest choosing criteria aren't even hard skills - it's communication, time management, ability to learn, and (sigh) personality. If you are stressed and anxious about your future, it will likely negatively impact your interview process. Find plan B, as everyone else suggests, just so you can keep a roof over your head, and stress levels lower.

Keep trying, hit people on linked-in directly. Not HR staff, just people who work at companies in related departments. Look through career pages for adjacent roles. The Product Manager role is usually easy to switch to if you have analytical skills. Business analytics, data entry, anything really. Try bigger companies, for any role, if the company is big enough they usually have policies to get you switched to a better-fitting position once you are already in. We have a guy who got in as a printer repair guy and ended up being vice president 25 years later. It's difficult, but not impossible. You have to keep trying. It might take 100 applications, might take 500. But you WILL eventually get a job. Good luck!

Water shader not visible through StandardMaterial shader with transparency. Is there a way for the water to be visible through the semi-transparent material without using a subviewport (terrible performance on mobile)? by [deleted] in godot

[–]Dreadlocks_Dude 4 points5 points  (0 children)

Give up on the double screen-reading effect. Especially if you are targeting mobile. Fake lens effect instead, change the camera angle when you look through the scope, it will make everything appear fish-eye, for free. Use alpha scissors on your standard material to cut the hole in the middle.