Encoding seeds


I was discussing procedural generation with one of my students when he brought up The Binding of Isaac, that delightfully quirky and creepy rogue-like game. One of the interesting features of the game is that the dungeons are randomly generated and that you can get the seeds for the dungeons and share them. A typical seed looks something like this:


So what does it encode?

Read the rest of this entry »

UEID (Unique Enough IDs, part 2)


As part of an open-source project I’m working on (right now, we are still at the technical feasibility stage where we explore and eliminate technical risks, full disclosure will come later) we have to issue session numbers. They’re not session numbers in the usual sense, but they still need to be unique, and not amenable to simple attacks.

There are a couple of ways of generating unique session numbers. RFC 4122-compliant unique IDs is one possible way.

Read the rest of this entry »

UEID: Unique Enough IDs


Generating unique, unambiguous, IDs for data is something we do often, but we do not always know what level of uniqueness is really needed. In some cases, we want to be really sure that two instances of the same ID identify two copies of the same object or data. In other cases, we only want to be reasonably sure. In other cases, yet, we just assume that collisions—two different objects yielding the same ID—are very unlikely, and, if the need be, we can proceed to further testing to establish equality.

There are many ways of generating IDs, each with varying levels of confidence on uniqueness and differing applications.

Read the rest of this entry »