Skip to content

Comment on Exploring Euclideon's Unlimited Detail Engineparent

Comments

I thought I'd read the whole article since some are still commenting on it. First of all, if someone were to post an article on HN about a new technology that gets recursive compression (you can compress something 80%, and then do that again and again) because "they have a new algorithm", they would be laughed off the front page. Some people just don't know that that is impossible. Is this is what is being claimed here? There are three ways to get "unlimited detail" in computer worlds. 1) magical compression. 2) algorithmic generation 3) hierarchical composition, and as we know, 1 doesnt exist.

Looking at the article, this is clearly using method 3. Lets look at this "new" hierarchical composition. Hiearchical composition is when any given space is composed of smaller objects, and those smaller objects may also be composed of smaller objects.

When you do this in 2D games from 1980, we use the technical term "tiling the crap out of everything". You have a bunch of obviously repetitive pieces. If each tile is 16x16, and there are 256x256 tiles on a map, then one could say that there are 16 million pixels in the world, on a computer that had only 1Mb of memory.

So that right there is your clue that this guy is a fraud. 42 trillion voxels? Are they 42 trillion unique voxels, or are they tiled? [1] Right. (a "voxel" is the 3d equivalent of a 2D pixel).

The thing about tiling is it doesn't just apply to pixels or voxels. Tiling is just a spatial subdivision algorithm that splits space up in to 2d or 3d grids. You can store a color in each grid cell, and then its a voxel. But you can just as easily store the head of a linked list of polygons. And you can also store a pointer to another tile array, and that tile array can then store voxels, or polygons, or more tile arrays. When you do this, its a hierarchical data structure.

Do games/graphics programmers know all about this? Yes. Do we use hierarchical composition? Yes! All the time! Do we use axis-aligned hierarchies? Yes, e.g. octrees? Do we use regular grid composition all the way down? Fuck no. Why not? Because splitting up space along predetermined, regular, axis-aligned divisions is fucking awful for modeling interesting 3D worlds [3]. What you get is a brick world: [2]. Such rigid, regular, axis aligned hierarchy fits the real world poorly.

[1] http://media1.gameinformer.com/imagefeed/featured/gameinform... [2] http://media1.gameinformer.com/imagefeed/featured/gameinform... [3] Ok, minecraft being the exception =)

Minecraft demonstrates that (despite its possibly-inefficient coding) unique voxel based geometry is cpu heavy, and to pretend otherwise is fraud. From the outset it's obvious that recursion is affording the 'infinite' tag for this technology.

Interestingly this technology or even this idea isn't anything new. A nice way of summarising it is 3d fractals, sure it's infinite and richly detailed. But it's the same thing over and over again.

No it doesn't. It demonstrates that Minecraft's solution is heavy. Minecraft is a cellular automaton. That's why its slow. It would be a mistake to believe that minecraft demonstrates the effectiveness of voxel technology.

Try to reply with examples(and when you do avoid choosing examples that follow confirmation bias) instead of broad-unbased refutations.

Minecraft clearly demonstrates the comparitive heaviness of using voxel arrays to represent a world in contrast to a polygon mesh. This point is trivial, and is not unique to Minecraft.

Additionally I'm finding a large number of comments that begin with "No it doesn't", then either stating an identical argument to the parent, or not attempting to refute the parent comment at all. If you're doing this for "points" then shame on you.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.