SimonDev
@simondev.bsky.social
880 followers 26 following 88 posts
Posts Media Videos Starter Packs
🔔 Quizzes are live now! Integrated right into each lesson and covering all #gamedev and #threejs sections. These will count toward your completion certificate when it launches.

It's been a while, but homework and tests were the best part of school, right? 😅
Reposted by SimonDev
Almost done updating my Graveyard Kit, I've remade every single 3D model in this #gameassets pack. It'll release (probably!) near the end of the week, free for everyone and can be used for any purpose.

Thank you for all your support all these years! ✨
🔔 Site update: new SimonDev site is super functional and getting better.

Latest addition: integrated shader homework - edit GLSL in-browser and match target output. It’s a polished evolution of my 2023 GLSL site.

Reminder, teachable students can access same content (and more)

Link below 👇
Reposted by SimonDev
Recreated my game jam entry in C using @flohofwoe.bsky.social's awesome Sokol graphics library. It was a great learning experience! Implemented camera movement and various tweaks using imgui. Lighting based on @simondev.bsky.social's GLSL course.
Link: github.com/yhutter/soko...

#c #sokol #gamedev
Yep, recording that this week (hopefully)
Hah that's what they're there for! So when's v2 come out?
Between heatwaves and summer camps, getting back to adding to the gamedev course heh. Shot from an upcoming section explaining spatial hash grids, and other acceleration structures.

#threejs #gamedev
They look great, you generating these?
Reposted by SimonDev
Xor @xordev.com · Jul 2
"Phosphor"
for(float i,z,d;i++<8e1;o+=(cos(d/.1+vec4(0,2,4,0))+1.)/d*z){vec3 p=z*normalize(FC.rgb*2.-r.xyy),a=normalize(cos(vec3(4,2,0)+t-d*8.));p.z+=5.,a=a*dot(a,p)-cross(a,p);for(d=1.;d++<9.;)a+=sin(a*d+t).yzx/d;z+=d=.05*abs(length(p)-3.)+.04*abs(a.y);}o=tanh(o/1e4);
Putting together a boids and flocking section!

#threejs #gamedevelopment
A little followup to the last section: If you understand heuristics and admissibility, you can tweak A* to run much faster! If you're willing to sacrifice perfection, faster still.

Learn about it in my latest section on graph traversal.

simondev.io
Reposted by SimonDev
Xor @xordev.com · Jun 11
"String Theory"
for(float i,z=fract(dot(FC,sin(FC))),d;i++<1e2;){vec3 p=z*normalize(FC.rgb*2.-r.xyy);p.z+=9.;for(d=.7;d<4.;d/=.9)p+=cos(p.yzx*d-t/vec3(2,1,5))/d;z+=d=.002+abs(p.z)/2e1;o+=(sin(z+4.*p.z+vec4(0,1,5,0))+1.2)/d;}o=tanh(o/1e4);
This looks seriously awesome
I made this planet shader after completing @simondev.bsky.social's shader course, and now he has a new bundle including more advanced techniques and maths ? Let's do this ! 🚀

Give me just 10 years to complete all the courses I bought, and I should come up with interesting stuff...
Just added the next part of the graphs and data structures section, covering traversal and pathfinding!

Combined they're about 2.5 hours of new content, live now!

simondev.io

#threejs #gamedevelopment
Just added a new hour long section to the course: Graphs and Data Structures

This is just the intro, planning on expanding it soon. It's already live in the course, if you grabbed the early access!

simondev.io
SimonDev.io
Learn from an industry veteran. From fundamentals to advanced techniques, build projects that perform, scale, and stand out.
simondev.io
I'm probably going to include in my course. Might make it to Youtube, I've been thinking about a performance video for a while.
Fiddling around with octahedral imposters. The tree is actually just a sprite (intentionally low res).

Shader is doing all the work, and blending between frames. First pass, probably not super robust.

#threejs
Reposted by SimonDev
Xor @xordev.com · May 19
NEW Mini: Design Choices

The guidelines I use to visually improve my shader art
mini.gmshaders.com/p/design-cho...
Thanks! It's surprisingly cheap, it's a trick from an old Crytek paper from 20 years ago, and I combine that with the default envmap from the scene.
🧵 TSL is looking pretty awesome, but I got you covered until then.

I just hit publish on ~2 hours of new content to the course, covering how to dig into Three.js's internals, and we cap the project off with some terrain with erosion and scattering tricks.

Live in the course, so check it out!
Reposted by SimonDev
I implemented Homeworld 2 style sky meshes using baked vertex colors in @threejs.org. Reduces VRAM usage from 200mb (2k x 4k UASTC GPU compressed) to a lowly 4mb! For reference, iOS Safari used to crash web pages at 256mb, so this a big win :)

#threejs #gamedev #IndieGameDev