Generating a Disk Drive Landscape

What kind of world could we generate from your hard drive?

What kind of world could we generate from your hard drive?

So I’ve had a few days to think about how I’d like to see a modern realization of Operation: Inner Space‘s disk drive world work — and of course, I thought I’d share it here. (I’d also be very interested to hear other takes on it, if anyone’s interested in sharing in the comments!)

Inner Space didn’t do a lot, probably for the sake of speed. It looked at your directories, determined the number of icons it could find in each file (at least one, but sometimes more) and then threw a theme on to that folder — like virus infected, race track, or asteroid field or what have you.

I’d rather think of the disk itself as a single large place, which brings me to one of the first problems to undertake — in order to comprehensively generate a landscape from the contents of a disk, I imagine a fairly intensive process would have to be run in order to analyze the disk, so this would be done once at the start of a game, and then either updated each subsequent play, or never if the update process takes too long (perhaps the player can be given an option).

Now, I was saying, I imagine the disk as a single large place; perhaps an island or a cave. So, the first thing I’d want his generation process to do would be to determine my land mass — the basic disc of the island would be determined by the total size of the disk and any breaks, rivers or lakes in that basic disc would be determined by the amount of free space on the disk. Thus, a full hard drive becomes a large continent, where a sparsely populated disk would be more like a series of smaller island clustered together (like Japan or Hawaii).

Next would be the individual areas of the island, determined by folders — each of the disk’s root folders would be one territory, and sub-folders would be smaller areas inside those territories. We’d determine a semi-random way to choose if any given sub-folder should be at any particular elevation, so that folders would ultimately form the overall topography of the generated world. And of course, the folder names would be used to name parts of the terrain — expect to come across oddities like the town of System32 and the evil infested lair of My Documents.

Now, the meat of those areas should be determined by their contents and, as before, the scale of everything is determined by file size. So we get in to looking at individual files. Now, with possibly a few exceptions, I feel that the analysis of files should stop with size and type. File type, like JPEG or MP3, or what have you, could happily correspond to a type of terrain — more than ‘grass’ or ‘snow’, but more like ‘long jumping puzzles’ and ‘trap filled chambers’ — stuff on the large scale. Series of files in a folder would then be assembled in a single large area, based on their types. We could predetermine a large number of file types and associate them with kinds of terrain, or make groupings based on types of file types (audio, video, text, database, etc). Additionally, we’d have to have a fail-safe for untyped files or unexpected types — there’s a few options; assume it’s like similar/near files, randomize, pick by the letters used in the extension.

Then, once we’ve put together this elaborate world of folders and files, we need to find something for the player to do — this I’ve thought less about, because there are a lot of options. It could be amazing, in fact, to offer a number of possible game types so that each time you start a new game (and thus regenerate the world) you may be offered a totally different objective.

This all of course just generates an environment. To really get this rolling you’d need to determine the specifics of how all these generated bits interact, what types of areas you want it to create, how the player is going to interact with things in both a trivial and non-trivial way, but that’s where the real game comes together.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: