@slembcke@mastodon.gamedev.place
@slembcke@mastodon.gamedev.place avatar

slembcke

@slembcke@mastodon.gamedev.place

Open source he/him, making Veridian Expanse (https://fosstodon.org/@vexpanse). I made the Chipmunk2D physics engine, and some other fun libraries. By day, I do a lot of game adjacent work like therapeutic VR, real time drone mapping, and math for heavy machinery.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

slembcke, to random
@slembcke@mastodon.gamedev.place avatar

Happy 19th birthday Tigger! First he slept in, then began his usual morning routine. Eat breakfast, beg to go out on the deck to groom himself, beg to go out on the porch to sun himself, sniff the bush where that rabbit lives, then finally try to eat grass and get brought back in. A busy morning.

image/jpeg
image/jpeg
image/jpeg

badlogic, to random
@badlogic@mastodon.gamedev.place avatar

Feels like I'm installing a root kit. I probably am, given who Unity merged with. God fucking damn it.

slembcke,
@slembcke@mastodon.gamedev.place avatar

@badlogic Actually… they used to install a kernel extension based DRM back in the PPC Mac days.

TomF, to random
@TomF@mastodon.gamedev.place avatar

We have a bunch of electrically-heated cat blankets, and I mentioned that hey it doesn't matter if we leave them on even when there's no cat on them, because fundamentally they also heat the house.

But I'm having trouble convincing my wife that they're literally 100% efficient. Because they are. I mean... how else would they "lose" energy, except as... you know... heat?

slembcke,
@slembcke@mastodon.gamedev.place avatar

@Humus @TomF and the efficiency of the electric generation +transmission. It’s why we still use gas for heating directly in the north. (Though electric heat pumps are becoming pretty compelling now)

BartWronski, to random
@BartWronski@mastodon.gamedev.place avatar

Time to vent: The state of dependency management, especially on mixed Python and C++ projects, especially on Windows, in 2023 makes me want to change my profession.

Guaranteed problems with CMake, dependencies, github (like some build scripts assume by default I have ssh and GH public keys, wtf). Throw in it some random crap with MSVC versions and conda containers. Eigen or anything from Google? Guaranteed to break on Windows!

PS. You don't ship Windows binaries? It's a huge FU to your peers.

slembcke,
@slembcke@mastodon.gamedev.place avatar

@BartWronski @SnoopJ Uff this is hard to swallow. I’ve maintained projects myself, and used to be a big Mac guy. The verbally abusive posts were almost always people telling me that I was a moron for not providing projects for their preferred version of MSVC. Didn’t I know it was the best and most popular IDE for the best and most popular platform? How it was a disservice to them that I didn’t buy a Windows machine and MSVC license to provide them free support for a free library. :-/

slembcke,
@slembcke@mastodon.gamedev.place avatar

@BartWronski @SnoopJ It was plain C code with no dependencies. I even spent a long time making workarounds for the ancient version of C that MSVC supported. It also predated the community edition of MSVC, when project files were apparently wildly incompatible between versions. When I did have working project files it was because someone contributed one, but I’d still get a flood of complaints that I didn’t support the version from 5 years prior.

slembcke,
@slembcke@mastodon.gamedev.place avatar

@floooh @BartWronski @SnoopJ Yeah, I dunno. CMake is weird and often gross, but we've all had open ears waiting for something "better". It's the classic state of C/C++ build tools being a mess that nobody likes, but we keep putting up with it because the languages will never go away.

slembcke,
@slembcke@mastodon.gamedev.place avatar

@floooh @BartWronski @SnoopJ Yeah, to your point the build requirements for most projects is just to compile all the files with a recent enough language standard, and then "linked somehow". Heck, it's why headerlibs are becoming so popular IMO.

slembcke, to random
@slembcke@mastodon.gamedev.place avatar

Have you ever wanted to watch Star Trek, but couldn't decide which episode? Well NOW YOU ARE! http://files.slembcke.net/temp/StarTrekRoulette.html

With technology like this it's almost like the 24th century!

jonikorpi, to random
@jonikorpi@mastodon.gamedev.place avatar

Is there a way to install Chrome (not Edge, Vivaldi etc.) on macOS without all the creepy background daemons it comes with?

slembcke,
@slembcke@mastodon.gamedev.place avatar

@jonikorpi Eh, maybe. On my last Mac I remember there was a way to disable the updater and such, but that was ~6 years ago. They were super obnoxious…

demofox, to random
@demofox@mastodon.gamedev.place avatar
slembcke, (edited )
@slembcke@mastodon.gamedev.place avatar

@demofox So I was able to imagine what happened for circles the same size, but trying to visualize the 3:1 ratio was blowing my mind. I would have failed it. >_< No college for me apparently!

slembcke,
@slembcke@mastodon.gamedev.place avatar

@demofox Related, did you see @3blue1brown's new videos on refraction? My DSP brain had this vague hunch that it was something about phase/frequency response of material resonance. More proof that (almost) everything is waves! :)

wolfpld, to random
@wolfpld@mastodon.gamedev.place avatar

I'm looking for solutions to problems with Meson, and fuck, this is so miserable and soul draining.

Let's say you have Android NDK or vcpkg or whatever installed somewhere on the system. One user will have it in C:, another in Z:\dev, and someone else in /home/user/sdks/, or I don't know, /opt/ or /usr/local/. It doesn't matter.

What everyone does is set up an env variable pointing to the SDK dir that can be picked up by the build system, and everything works no matter what setup you prefer.

slembcke,
@slembcke@mastodon.gamedev.place avatar

@wolfpld I gave meson a try on a recent project after repeated advice that it's better than CMake. My take was that it was less "weird" than CMake, but I dunno. It still felt very fiddly, and the documentation wasn't as mature as CMake's. Meson's biggest selling point seemed to be that it's syntax isn't as bizarre. :-\

NovaSquirrel, to random
@NovaSquirrel@chitter.xyz avatar

Since Second Life represents its world as a huge ocean with islands and continents scattered around, it'd be cool if you could actually wander that ocean, though I guess if you could that would mostly just amount to holding forward to move across very large spaces of nothing.

What I should try doing is clicking on random points of the map and teleporting there, which would be kind of like that minus holding forward a bunch.

slembcke,
@slembcke@mastodon.gamedev.place avatar

@NovaSquirrel The sailing was my favorite part of Wind Waker. :) It was maybe “boring”, but it was scenic and relaxing too.

demofox, to random
@demofox@mastodon.gamedev.place avatar

A really cool video showing the details of electricity flowing through wires that are connected vs disconnected. It's measured and graphed and is real interesting.
https://youtu.be/2AXv49dDQJw?si=hmQUVOJNcCwQ--ZA

slembcke,
@slembcke@mastodon.gamedev.place avatar

@demofox Yes! Everything is waves! (Well… almost everything :p)

birdibirdson, to pixelart
@birdibirdson@mastodon.gamedev.place avatar

light (now with shadows)

slembcke,
@slembcke@mastodon.gamedev.place avatar

@birdibirdson Nice! Is this something you are implementing yourself? If you you might like my article on a sorta-mostly straightforward extension of the usual hard shadow algorithm.

https://slembcke.github.io/SuperFastSoftShadows

NovaSquirrel, to random
@NovaSquirrel@chitter.xyz avatar

lol PocketSprite is still calling itself the smallest gaming handheld when Thumby exists

slembcke,
@slembcke@mastodon.gamedev.place avatar

@NovaSquirrel The Thumby is such goofy fun. Unplayably small for anything other than puzzle games, but I love the gimmick anyway.

slembcke, to random
@slembcke@mastodon.gamedev.place avatar

Oooooh. I've just been offered an Apple //e, LC III, and PowerMac 6100. I... probably can't pass that up. >_>

lisyarus, to physics
@lisyarus@mastodon.gamedev.place avatar

How do you compute the forces in a system of connected beams? I have no idea, so I tried the stupidest options and wrote a blog post about it. It has an interactive playground where you can test the algorithm yourself :)

https://lisyarus.github.io/blog/physics/2023/10/15/structural-mechanics.html

slembcke,
@slembcke@mastodon.gamedev.place avatar

@lisyarus This was the linear algebra post I needed today. :) Reminds me I need to finish my interactive fourier lightfield post this year...

lisyarus, to random
@lisyarus@mastodon.gamedev.place avatar

Folks, what's the proper way to do a least-squares solution for an underdetermined system? I'm doing gradient descent on (Ax-b)^2 + x^2 but it seems to converge to something that isn't a solution to Ax=b

slembcke,
@slembcke@mastodon.gamedev.place avatar

@lisyarus I’ve just used pseudo-inverses in the past. I forget off the top of my head how it works though… you multiply it by its transpose to make it square, then invert that, and then do… something to get the original dims back.

slembcke, (edited )
@slembcke@mastodon.gamedev.place avatar

@lisyarus @BartWronski Ah sure. In my case n was 3-5 or so. Pseudo-inverse was fast enough and simple.

slembcke, to random
@slembcke@mastodon.gamedev.place avatar

Had to reinstall Unity to fix a build issue on a contract project and it decided that everything needing reimporting... again. I'm now an hour into a multi-hour build while Unity consistently sips much less than half of my available CPU cycles. They really really really need to import assets in parallel. Multi-core CPUs have been a thing for so long at this point. :( Since the editor runs the build, you can't even do anything else while it runs.

slembcke,
@slembcke@mastodon.gamedev.place avatar

@erin_catto It's everything though. We have a ton of audio and that's straight up single threaded. We have a ton of videos, and that's kinda multi-threaded, but averages ~30% CPU utilization for an hour. Texture compression is kinda multi-threaded, but only saturates the CPU for large enough textures like light maps (average utilization is usually < 25% when it hits that phase). It really really just needs to run jobs in parallel. :(

slembcke,
@slembcke@mastodon.gamedev.place avatar

Over 2 hours of thumb twiddling later the build finished, but the Quest2 I was supposed to test on decided to auto-update, and now I can't do anything on it without reactivating the headset with Meta. Problem is it's not my headset, and I don't have any of that information so I get to twiddle my thumbs even more. -_- This version of the future really sucks.

erin_catto, to random
@erin_catto@mastodon.gamedev.place avatar
slembcke,
@slembcke@mastodon.gamedev.place avatar

@jesta88 @erin_catto Bah! Someday. Hopefully sooner than later since it seems like maybe they just forgot to package the header. >_<

karl_zylinski, to gamedev
@karl_zylinski@mastodon.gamedev.place avatar

New blog post: "Hot Reload Gameplay Code: What, why, limitations and examples!"

What is hot reload? Why use it? Are there limitations & caveats? I present tips, tricks and an example implementation in Odinlang!

http://zylinski.se/posts/hot-reload-gameplay-code/

slembcke,
@slembcke@mastodon.gamedev.place avatar

@karl_zylinski Yup, it's super handy! In @vexpanse I use the logo button on my gamepad. Then you don't even need to take mouse/keyboard focus away from your editor. Just look at the game window, and pick up the controller. Bam! :) To work around the debugging issue on Windows I build the lib, copy it, and load that. (https://github.com/slembcke/veridian-expanse/blob/master/src/base/drift_app.c#L87) As for function pointers I extensively use enum indexed tables of data for all sorts of stuff, and just put pointers into those when possible.

slembcke,
@slembcke@mastodon.gamedev.place avatar

@karl_zylinski I have a much more boring hotloading article for C here: https://slembcke.github.io/HotLoadC :)

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • khanakhh
  • DreamBathrooms
  • everett
  • magazineikmin
  • osvaldo12
  • InstantRegret
  • Youngstown
  • mdbf
  • slotface
  • rosin
  • thenastyranch
  • kavyap
  • tacticalgear
  • Leos
  • cisconetworking
  • Durango
  • GTA5RPClips
  • ethstaker
  • provamag3
  • ngwrru68w68
  • normalnudes
  • cubers
  • tester
  • modclub
  • megavids
  • anitta
  • lostlight
  • All magazines