Browsed by
Category: Technical

Database Normalization

Database Normalization

I had forgotten the rules for the levels of database normalization. Not surprising since I last had the class over 20 years ago. Those problem sets immediately came back to me.

Imphobia demoscene magazine

Imphobia demoscene magazine

The 90’s were an amazing time to learn to code. Especially in Europe, hundreds and even thousands of people would gather for weekend-long, round-the-clock caffeine fueled coding sessions to flex their latest graphics programming tricks on Amigas, Commodores, PC’s, and other hardware.

Imphobia was the leading PC demoscene diskmag of the first half of the 1990s. Founded in 1992, it issued until 1996. In that period, 12 issues were released. 

Early issues of Imphobia run in DOSBox except issues 6 and beyond where the graphics are not displayed correctly, probably because of the use of an obscure video mode. Nevertheless it’s possible to read the articles. All Imphobia issues are available at scene.org and can be seen at Demozoo.

Reducing tree rendering bandwidth

Reducing tree rendering bandwidth

AMD researchers have published a VRAM-saving technique that leverages procedural generation techniques to eliminate the need for sending the GPU 3D geometry altogether. The GPU utilizes work graphs and mesh nodes to produce 3D-rendered trees on the fly at the LOD (Level of Detail) required for the current frame.

Instead of requiring massive amounts of geometry, the only thing transferred is the code needed to generate the trees in the scene – code that is only a few kilobytes instead of megabytes or even gigabytes.

Read the paper here.

Another article here.

Zelda’s sound rendering mechanism

Zelda’s sound rendering mechanism

Game audio has come a long way from the days of Pac-man. Those original games could manage some beeps and bloops from a single channel speaker. As time went on, sampled sounds and stereo allowed for more realistic material sounds and music. Then was the introduction of surround sound systems and directional effects.

Like most modern games, The Legend of Zelda: Breath of the Wild relied on a standard library of sound effects blended into the gameplay. But this would not work for The Legend of Zelda: Tears of the Kingdom. It needed a much more complex system to meld sounds together and interact anywhere in the game world. It would simply become to much work to simulate an arrow shot in all the different environments found in the game. Caves need to echo, desert sands absorb sound, and what if the arrow lands in water, or ice, or on stone? Further, all of this must be attenuated based on distance and obstructions so players can tell where things are coming from and how far away they are.

Junya Osada, the lead audio engineer for The Legend of Zelda: Tears of the Kingdom, started sharing the mechanisms of how they achieved this. They use a variety of specialized filters that were attached to informational voxel geometry under the map used to describe the environmental characteristics above it. Those voxels were used for game mechanics – and were co-oped to also help the sound. This environmental information is then combined with the players distance and direction from the sounds using their unique method to create some interesting emergent properties.

The system isn’t a full-fledged sound rendering system that has been explored before, but it’s a very interesting halfway ground from what we have today to such a system. It’s definitely worth a listen (which happens after the equally interesting talk about the physics engine):

(Gamedev link)