Live at:
simondev.io/lessons/
@simondev.bsky.social
Live at:
simondev.io/lessons/
๐ 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? ๐
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! โจ
Check out the site:
simondev.io/lessons/shad...
๐ 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 ๐
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)
08.07.2025 17:10 โ ๐ 1 ๐ 0 ๐ฌ 0 ๐ 0Hah that's what they're there for! So when's v2 come out?
02.07.2025 18:21 โ ๐ 2 ๐ 0 ๐ฌ 1 ๐ 0Between 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?
02.07.2025 18:13 โ ๐ 1 ๐ 0 ๐ฌ 2 ๐ 0Stunning
02.07.2025 18:12 โ ๐ 1 ๐ 0 ๐ฌ 0 ๐ 0"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
"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
11.06.2025 16:14 โ ๐ 16 ๐ 1 ๐ฌ 0 ๐ 0Just 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
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.
23.05.2025 12:40 โ ๐ 5 ๐ 0 ๐ฌ 0 ๐ 0Fiddling 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
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.
15.05.2025 15:06 โ ๐ 2 ๐ 0 ๐ฌ 0 ๐ 0๐งต 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!
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
๐ก Automate all the things! Automate your build pipeline, from mass exporting .blend files to rendering lightmaps. All of this can be done programmatically with Blenderโs scripting interface.
๐ Want to be notified? Sign up here ๐
simondev.teachable.com/p/games-thre...
Early access is underway! Shader course students are already helping test the new GameDev course.
Look for a broader announcement shortly. All the project demos are live too!
simondev.teachable.com/p/games-thre...
#threejs #gamedevelopment
NEW tutorial: Common Shader Mistakes!
mini.gmshaders.com/p/mistakes
How to avoid the most common pitfalls in graphics programming
Siteโs basically done, just filling out a few last pieces for the course.
Had a minute, so I filled in trigger #3. A few people asked for rain. โ
Good excuse to implement:
- Velocity-locked particles
- Positional audio
- A flexible animation system for cameras, lighting, and sound
#threejs
That is beautiful
16.04.2025 19:16 โ ๐ 2 ๐ 1 ๐ฌ 1 ๐ 0