Math for Game Programmers: Fast and Funky 1D Nonlinear Transformations

preview_player
Показать описание
In this 2015 GDC tutorial, SMU Guildhall's Squirrel Eiserloh takes a dive into the world of 1D nonlinear transformations to help game programmers make better games.

GDC talks cover a range of developmental topics including game design, programming, audio, visual arts, business management, production, online games, and much more. We post a fresh GDC video every day. Subscribe to the channel to stay on top of regular updates, and check out GDC Vault for thousands of more in-depth talks from our archives.
Рекомендации по теме
Комментарии
Автор

Shame, he should have more time for these kind of presentations. His work is priceless.

graphics_travelers
Автор

What a legend
He doesn't even waste time to tell me what his name is. So I had to go back and look it up to look up his other talks.

awoidf
Автор

Quadradic is 2nd degree... because it comes from quadrado(square). Thats not a bad nomenclature, the confusion is caused by english mixing germanic and latin words...

thiagooliveira
Автор

the more i rewatch this, the more valuable it appears to be to me.

Dspectre
Автор

Dude, this is great for figuring various jump arcs for a 2D(or 3D I guess) Platformer inorder to implement Variable Gravity. You just implement where you are in _dt in the jump over all and you would get your perfect Gravity value so your player moves in whatever arch you define. Very nice talk.Simple and easy enough that a cave man like me could understand it.

seditt
Автор

Squirrel Eiserloh was my game programming professor at SMU Guildhall. He was the best teacher I ever had. The most amazing person, who explained complex concepts in such a cool, interesting and easy-to-understand manner. Everyone has their No. 1 teacher that they remember fondly for the rest of their lives. For me, that teacher is Squirrel Eiserloh.

KKomalShashank
Автор

you guys should check out the 'tunable normalized sigmoid function'. It can represent most of these shapes with just a change in a constant. Can be very usefull

primevst
Автор

Small error in the BellCurve6 tween - you need to Flip(SmoothStop3) instead of just using SmoothStop3 otherwise you get a cumulative function (an S curve looking thing).

cdanek
Автор

Excellent talk, especially when you pause it and code it live as well. Thank you!

davidpike
Автор

What great timing this got recommended to me. Just finished programming almost all the linear transformation stuff for my game and a non-linear tutorial appears

youtubehandlesux
Автор

Excellent! I was exactly looking for some of these functions, and the performance update on power with mix is really nice to know. I am doing procedural generation for creating galaxies, and I needed something very specific (the Arch namely). The added toolkit will be very helpful in general, as I use all sorts of such functions a LOT. Plus now I know inserting 2 inverse-functions (1-x) is actually not obscene.

brianviktor
Автор

12:05 didn't noticed this last time I watched. Now I understood the purpose of this talk.

KimboKG
Автор

Congratulations 🎉 You have discovered Modulation.

DobinSergei
Автор

13:14 I think it should be opposite for higher powers (say >4). pow(x, n) function will do the calculation in O(logn) time but x*x*..x will do it in O(n) time.

gurkiratsinghbajwa
Автор

Smoothstart2.2's relative error compared to x^2.2 just explodes as it narrows zero and is even for like 0.2 15% off. This wrecks total havoc with your color reproduction, in particular given the fact that the x^2.2 is already a quite poor approximation to the sRGB gamma transfer function, which already suffers huge relative errors.

hanflingch
Автор

lovely accurate, effective efficient math for curves, thanks ^^ its hard to find better concepts than old dated ones ^^

synystersocks
Автор

like the math but i really expected to see some code with the math applied to some game examples. example, vectors, lerping, shooting projectiles, closest neighbor etc etc..

markemerson
Автор

It is surprising how much personality non-mathematicians often attach to such abstract concepts as multiplication or power functions. This is an interesting perspective on how to achieve fast and ‘good-looking’ transformations, but I am slightly worried about the attachment to particular cases for educational purposes and not recommending any general ideas as further reading or at least references. I would be happy to hear some remarks about division vs multiplication (powers are expensive, but what about reciprocals?) because this basic operation enriches the non-linear set a lot.

ffs
Автор

14:18 in Russian "quadrat[ic]" means "a square", so for us it doesn't actually sound weird, since X quadratic means literally "X squarish".
I don't really know why it's called quadratic in English though, - since you call a square "square", not "a quadrat" like we do, so you should be actually calling it:

x² = x squarish
x³ = x cubic
etc...

jerrygreenest
Автор

Really good channel. Happy that I followed you guys, good work GDC.

shanmukhag