The one hashing scheme should be technically better.
That said, I suspect you could avoid the coprime partitions and the issues they cause with semi-correlated permutations over block partitions and avoid hash collisions in the process.
Something like this? 64-bit hash, 9 bits to address all the bits in a 64-byte cache line, so 7 hash functions addressing the bits in a cache line can be extracted from a 64-bit hash?
First off - I'm a senior dev with ~30 years of experience in graphics engines, game dev, web dev, WebGL stuff, blah blah. I am generally skeptical of AI, but... after reading the top of every thread in this comment section, I feel like people forgot that they could zoom in on the cities to see all the details.
The amount of _stuff_ crammed into each little city is almost unbelievable. Drawbridges open and close, glowing lines sketch patterns, camels walk across a tiny desert. Buildings fade into existence and then burst in a shower of sparks. Flags fly, smoke drifts, buckets cause ripples as they dip into underground pools. The city made of plumbing has tiny people in the bathtubs! There's a freakin' roller coaster with moving cars and a ferris wheel!
I absolutely understand the AI hate that's being commented here, but... in this instance, I just can't feel it. I keep finding more and more little details every time I click on a city, and I am astounded. I just now noticed there's a little guy in the city of strings hanging up new strings at the top of the hill. Damn. My favorite is Marozia, where dark buildings open like treasure chests and release shining towers and flocks of glowing birds.
Yes, there are also a lot of stupid AI errors - every spoked wheel has the spokes off-center for example. But holy crap, I just can't hate this. I don't care about who built it or the random bits of jank - this thing is _beautiful_ in a way that I haven't seen from AI before, and it warms my old GPU-powered heart.
But who cares about those details if they're just random? Why are they there? What do they mean? What was the intention? Sure it's jaded, but just cramming in elements doesn't necessarily impress, other than technically it's better at not overlapping random stuff.
Even as I was writing this I kept finding more things I didn't notice on my first few passes through the cities:
Phyllis fades from color to black and white except for two houses.
The fairground has a big top with tiny bleachers and a guy inside.
The happy city has people with their arms raised in a V.
People in the marketplace city wear hats and some are carrying bundles on their heads.
There are weird cactus plants in the hanging city.
In the half-fairgroud city, there's a statue on one of the trucks.
The city that copies the dead has a set of pallbearers carrying a wrapped corpse down the stairs.
The people on top of Argia are laying with their ears to the ground, listening for the animated sound waves coming from below.
There's a tiny cat on one of the roofs in Raissa!
The rats in Marozia hop along their paths!
The center of Theodora has bookshelves with individual books!
For me, it was all clearly based on Amazon purchases from the last couple of years. I expected to be appalled by the privacy implications but, actually, it seemed fine to me - pretty much what you'd expect if you asked an LLM to summarise my recent orders.
Ah nostalgia. I started in the games industry doing N64 programming, and our devkits looked similar to those flash carts but there was a big SCSI cable connector that went to the host PC.
Later on we had some "debug" cartridges that sat in between the console and a flash cartridge and intercepted reads/writes to a single address and replaced the data with whatever came in over a serial port back to the PC. That was enough of a backdoor to implement very basic dynamic reloading of art assets - I wrote a Photoshop plugin that added a "send to N64" button and some game-side support code and the cycle time for artists trying to see their work on a TV went from 30 minutes to 10 seconds.
(source - I wrote MurmurHash/SMHasher and have used the above in my own bloom filters and cuckoo hash tables)
reply