Posts by eniko@mastodon.gamedev.place
 (DIR) Post #B2DPGZlr1wtM603HAe by eniko@mastodon.gamedev.place
       2026-01-08T22:35:05Z
       
       0 likes, 0 repeats
       
       Had an idea to try tomorrowOnly render occluders nearby the camera and skip depth culling, because far away occluders will be tiny and unlikely to occlude muchThen depth cull far away (sub)chunks, since they're tiny and so only cover a few pixels and so are more likely to be culled
       
 (DIR) Post #B2DPGaZ84kJ6Yp6cyW by eniko@mastodon.gamedev.place
       2026-01-08T22:48:58Z
       
       0 likes, 0 repeats
       
       Actually it could be interesting to treat subchunks like mipmaps 🤔 so level 0 is 1 block per subchunk, level 1 is 2, 2 is 4, 3 is 8 and 4 is the whole chunkThen I can use lower levels up close for better occlusion and higher levels far away for quicker culling
       
 (DIR) Post #B2DPGb9dszVwO4Bmt6 by eniko@mastodon.gamedev.place
       2026-01-09T11:06:33Z
       
       0 likes, 0 repeats
       
       aha! i might be onto something! only rendering occluders into the depth buffer for nearby subchunks and only depth culling far away subchunks dropped the run time from 0.21x original to 0.14x originali bet if i reduce the number of subchunks far away by making subchunks larger i can get even better gains
       
 (DIR) Post #B2DPGbtj7eNSgzkaie by eniko@mastodon.gamedev.place
       2026-01-09T14:46:47Z
       
       0 likes, 0 repeats
       
       so uh, wow, holy shit!my new subchunk levels method (where each level is smaller) is a 7x improvement over my last attempt, and my software occluder now runs in 0.02x the time it did before i started optimizing. in other words, it runs 50x faster now! for 12 visible chunk radius its down from 155ms to fucking *4*interestingly though, even though i have 3 levels, 16, 8 and 4 blocks, i didn't even need the middle level. i just switch straight to whole chunks for depth occlusion
       
 (DIR) Post #B2DPGcbKVXFusE9PgO by eniko@mastodon.gamedev.place
       2026-01-09T14:47:02Z
       
       0 likes, 0 repeats
       
       in hindsight this makes sense. occluders should be small, since they set up the depth buffer, but then occlusion culling can be done on whole chunks since it doesn't matter how big the area you're testing at one time is so long as the occlusion map is filled up properlyso next i might try rendering single blocks into the occlusion map and depth culling entire chunks always and see how that performs
       
 (DIR) Post #B2DPGdB8MPtafGu0US by eniko@mastodon.gamedev.place
       2026-01-09T15:02:31Z
       
       0 likes, 0 repeats
       
       16 visible chunk radius now runs at 68 fps above ground (1 short of being truly nice 😔) and the occlusion culler runs in only 5ms
       
 (DIR) Post #B2DPGdkwDIXGSJebIW by eniko@mastodon.gamedev.place
       2026-01-09T22:09:48Z
       
       0 likes, 0 repeats
       
       simplified everything and split occluders from depth culling candidate chunksalso trying to be more picky and granular about what occluders to use, so now i'm rendering single blocks nearby the camera. hopefully more granular occluders will improve the culling percentage
       
 (DIR) Post #B2DPGeQlhlzoY3E0Uy by eniko@mastodon.gamedev.place
       2026-01-10T08:24:26Z
       
       0 likes, 0 repeats
       
       you can call me weird but it is very fun to build a little box around myself and watch my fps go up from 110 to 450 because of the depth occlusion system
       
 (DIR) Post #B2DPGf1zTNloPUdjW4 by eniko@mastodon.gamedev.place
       2026-01-10T08:55:50Z
       
       0 likes, 0 repeats
       
       hmm hmm so my subchunk levels go 1³, 2³, 4³, 8³, 16³but im betting anything above 2³ is gonna be exceedingly rare since a new requirement is having a block with an exposed face. though i havent tested thisbut i feel like maybe 1³, then 2²x1 4²x1 8²x1 16²x1 for each axis would probably work a *lot* better given how human construction tends to goand also ground planes/cliff faces
       
 (DIR) Post #B2DPGfGsa1gD9fbciu by eniko@mastodon.gamedev.place
       2026-01-10T18:15:01Z
       
       0 likes, 0 repeats
       
       i'm *sure* you'll all find this as riveting as i do, but while there are loads of 8x8x8 areas of fully opaque blocks with at least one visible exterior face, there appear to be literally no 16x16x16 areas of the same description in any given chunk >_>
       
 (DIR) Post #B2DPGfwM5orBEJ0kN6 by eniko@mastodon.gamedev.place
       2026-01-10T18:21:49Z
       
       0 likes, 0 repeats
       
       here's photographic evidence of all the 8x8x8 blobs out in their natural habitat
       
 (DIR) Post #B2DPGg7hPdvlnUJo3M by eniko@mastodon.gamedev.place
       2026-01-10T20:53:12Z
       
       0 likes, 0 repeats
       
       so i've tweaked all the parameters and above ground its now culling 75% ish of chunks that survive frustum culling. even at 24 chunk radius it runs in ~8ms so about half a frame (and it's threaded so that's fine)and i'm getting 75 fps above ground at 16 render dist, and 115 at 12. and indoors or in caves its more like 300-400so i'd call this feature a success and also done for the time being!
       
 (DIR) Post #B2DPGgalfZBPFdv1MW by eniko@mastodon.gamedev.place
       2026-01-10T21:20:19Z
       
       0 likes, 0 repeats
       
       being in a cave make fps go zoom! :3(lol the alt badge hides the fps counter. it reads 450)
       
 (DIR) Post #B2DPGgzaBJ24UbWq2a by eniko@mastodon.gamedev.place
       2026-01-11T15:09:25Z
       
       1 likes, 1 repeats
       
       ngl this never gets old (turning occlusion culling on and off to show how much its culling)
       
 (DIR) Post #B2M91MwmZof78UWtrk by eniko@mastodon.gamedev.place
       2026-01-16T22:07:09Z
       
       0 likes, 1 repeats
       
       My blog post about how software rendered depth based occlusion culling in Block Game functions is out now!https://enikofox.com/posts/software-rendered-occlusion-culling-in-block-game/Note! Any public or quiet public/unlisted replies to this toot will be shown as comments on the blog. If you don't want that please use followers only or private mention when replying#GameDev #IndieDev #ProcGen
       
 (DIR) Post #B2MVUazHeU9C4S2bJY by eniko@mastodon.gamedev.place
       2026-01-16T23:30:33Z
       
       0 likes, 0 repeats
       
       A 6502 cpu apparently does like 470,000 instructions per secondThat's less than 8,000 per frame at 60fpsIf I put this in block game and optimized it with a JIT compiler I bet I could totally pull that off 🤔
       
 (DIR) Post #B2Rq3PRhFQ7h1IYhbk by eniko@mastodon.gamedev.place
       2026-01-19T15:58:14Z
       
       0 likes, 0 repeats
       
       @cwebber this is so weird to read. "It's hard to say no" no it's not. Loads of us are saying no. It's as easy as saying no and not doing it, though I suppose from the vantage point of an AI addict that sounds preposterous
       
 (DIR) Post #B2cgLbcFsM1rAv5vHM by eniko@mastodon.gamedev.place
       2026-01-23T20:09:32Z
       
       0 likes, 1 repeats
       
       RE: https://mastodon.gamedev.place/@eniko/115928841888839368Also: the gay fox girl mario game works great on Steam deck
       
 (DIR) Post #B2lDRHqiqfk4g0P4nQ by eniko@mastodon.gamedev.place
       2026-01-28T20:40:07Z
       
       0 likes, 1 repeats
       
       I can't help but feel someone somewhere has already done this but I can't find anything so uh, weird request but, does anyone know how many of an 8 bit system like C64 or NES you can emulate at the same time on a modern system?
       
 (DIR) Post #B2lMlZGahUey4fFUGG by eniko@mastodon.gamedev.place
       2026-01-28T21:47:08Z
       
       0 likes, 0 repeats
       
       @asie not terribly concerned about accuracy tbh