Nikita Lisitsa
banner
lisyarus.bsky.social
Nikita Lisitsa
@lisyarus.bsky.social
He/him

I teach C++ & computer graphics and make videogames

Working on a medieval village building game: https://youtube.com/playlist?list=PLSGI94QoFYJwGaieAkqw5_qfoupdppxHN&cbrd=1

Check out my cozy road building traffic sim: https://t.ly/FfOwR
Pinned
A new devlog about my medieval village building game! About 4 months of progress in this one!

#indiedev #gamedev #indiegames #devlog

www.youtube.com/watch?v=fymx...
Stockpiles, Roofs, and Much More! - Village Builder Devlog #10
YouTube video by Nikita Lisitsa
www.youtube.com
An obligatory better converged image (no idea how many spp lol)
November 13, 2025 at 4:01 PM
Gotta admit this noisy pixelated texture that results from raytracing discrete irradiance probes has a very interesting vibe
November 13, 2025 at 3:47 PM
First test with actual diffuse irradiance probes spawned at each visible voxel face. Need to fix a few bugs (the number of probes shouldn't keep growing...) and then I can work on speeding up raytracing & convergence.
November 13, 2025 at 2:41 PM
You know what, fuck hash tables, I'll throw a flat array and I'll store per-voxel probe indices into that array. That's a ton of extra memory but at least it's collision-free by design. Still far from trivial with all the atomics and probe allocation/recycling, but manageable.
Ok I slept over this and decided that I'll just use hash as key and ignore key collisions and hope for the best.

Also realized my pet engine's CPU hash table implementation has a bug :/
#GPU #graphics folks, say I want a GPU-side concurrent hash table, and the API only supports 32-bit atomics. It's easy if keys are also 32-bit, but what if I want some complex keys (say, a struct)? Can I do this and how?
November 13, 2025 at 12:38 PM
Ok I slept over this and decided that I'll just use hash as key and ignore key collisions and hope for the best.

Also realized my pet engine's CPU hash table implementation has a bug :/
#GPU #graphics folks, say I want a GPU-side concurrent hash table, and the API only supports 32-bit atomics. It's easy if keys are also 32-bit, but what if I want some complex keys (say, a struct)? Can I do this and how?
November 13, 2025 at 8:46 AM
Reposted by Nikita Lisitsa
Join me on the 19th of November for a free, live @d6learning.bsky.social lecture on the history of game graphics.

🎨We'll cover 50+ years of evolving tastes, techniques, aesthetics and technologies, and discuss the importance of limitations.

🖼️Register for free ⇢ www.d6learning.com/course/game-...
November 12, 2025 at 11:16 AM
Reposted by Nikita Lisitsa
Completely forgot about this video until I saw the file named "Crab Ratatouille"
November 13, 2025 at 4:51 AM
#GPU #graphics folks, say I want a GPU-side concurrent hash table, and the API only supports 32-bit atomics. It's easy if keys are also 32-bit, but what if I want some complex keys (say, a struct)? Can I do this and how?
November 12, 2025 at 8:34 PM
Testing unique face hashing. Gonna spawn irradiance probes on each face, the hash used to locate the probe in a hash set.
November 12, 2025 at 8:09 PM
Here's a better shot with 256 samples per pixel. Quite noisy, but looks already nice. Can't do that in proper real-time though 😓
November 12, 2025 at 2:29 PM
Real-time voxel raytraced GI, yay!
Well, not really 😅 It's basically 16spp, one ray per frame blended into the screen buffer, thus it smears with any camera move and looks really noisy. Might try some temporal reprojection, I guess?
November 12, 2025 at 2:27 PM
Yay, perfect hard shadows! But that's not what I actually want. Gonna read a ton of papers on ReSTIR, GI, irradiance caching, etc, and figure out how I wanna do GI on this thing
November 12, 2025 at 12:06 PM
I got quite tired from working on the village building game, so I need another small distraction project

Let's write a voxel raytracer in browser! Guess it's that time of the year again
November 12, 2025 at 10:59 AM
Reposted by Nikita Lisitsa
it's a triangular cubic bezier patch look at that
November 12, 2025 at 5:50 AM
It's so weird when you negotiate a commission with an artist only for them to say they have a lot of current projects and they're not sure when they'll be able to take yours while they continuously post on their acc that they're available and looking for work and haven't had comissions lately :/
November 7, 2025 at 12:08 PM
Reposted by Nikita Lisitsa
could you help me make my art reach more people?? 🙏🏼😭
May 20, 2025 at 11:02 PM
So I installed goggle todo list app and apparently I was using it *checks notes* 6 years ago and I have an incomplete task with completely incomprehensible title and no other details

(yeah it's probably a book name but still)
November 1, 2025 at 10:28 PM
Fixed the frustum culling bugs - turns out I forgot to normalize frustum plane equations 😅

Here's the result, this time showing the map in grid-space: terrain chunks are squares, but notice how the map itself is distorted (skewed).

#screenshotsaturday #indiedev #indiegames #gamedev
November 1, 2025 at 4:31 PM
Rewriting terrain chunks frustum culling to work in grid-space instead of world-space (chunks are less distorted in grid-space), and for some debug viz I just render the world with a fixed fake top-down camera instead of the real one!

#indiedev #gamedev #indiegames
October 31, 2025 at 7:41 PM
Realized that in the last several years wherever I'm asked how I'm doing my answer is consistently just "great but exhausted"

Idk doesn't sound like a good thing tbh
October 29, 2025 at 1:31 PM
Reposted by Nikita Lisitsa
Odd Realm is currently 50% off!

#SteamSale #ItchSale #GameSale #Games #indiedev #gamedev
October 28, 2025 at 2:54 PM
Reposted by Nikita Lisitsa
Now streaming the development of my Colony Sim + RPG game! ⚒️🤖⚔️

Going to improve the building system! Want to get all of this right before proceeding with more art!

Come join me!

www.twitch.tv/sorcerystory

#gamedev #indiedev #godotengine
October 28, 2025 at 2:46 PM
We here have a bar that specializes on Catalan cuisine, and in particular they have a ton of self-made vermouth of all sorts
Was talking with a bartender I work with who is convinced that getting really into vermouth is going to be the next big trend! Get ahead of it
October 27, 2025 at 5:22 PM
Was refactoring something deep inside my engine's math lib, launched the game and it generated this amazing fractured island 🤯 Thought I've accidentally broken something, turned out my world generator can just do that 😅

#screenshotsaturday #indiegames #indiedev #gamedev
October 25, 2025 at 1:21 PM
Bois
October 25, 2025 at 11:20 AM