I can't help but love things like this, if for no reason other than that it makes programmers look like bona fide magicians (and thus justifies exorbitant day-rates).
Very nice! The texturing and lighting are what really makes this demo. Unfortunately, it only displays correctly for me in Firefox Developer Edition, not FF 33.0, in which the picture is skewed: http://i.imgur.com/7i74m36.jpg.
I'd say it depends on context. Historically, voxels have been analogous to pixels. This has been somewhat blurred by Minecraft, and the widespread reporting on and discussion of it.
At first, the cubes in Minecraft are analogous to tiles (as in the tiled backgrounds or maps of 2D games), but when you use them to build models and things, then they become like large voxels.
Light comes off of it. So it moves, flows and such like the water but it also has to render the lighting effects relative to all that. I could be wrong though, I know the water is difficult to render as well.
I haven't looked at the code of this demo but it seems there's no dynamic lighting at all, the "lighting" of the face of each cube depends only on which side it's facing as far as I can tell.
You can see that the underside of trees is pretty luminous for instance.
Formally speaking, both Descent and Minecraft (inspirations for each respective intro) are based on cubes, but I don't think there are many more similarities. In any case, thanks for that blast from the past!
I don't think 7-bit ASCII behaves the way you think. It's typically the same 8-bit bytes but with the most significant bit clear. So, there's no saving to be had, it doesn't "contract" the bits across neighboring bytes.
Yes but that's exactly what I meant. ASCII wastes 1 bit by character (the 8th bit isn't used). What if the source was encoded in such a way that it is "contracted" (the unused bit of the first character is the first bit of the second character, etc). Sorry for the 3 days late reply. The decoding function would have to be very small to make it worth it though.
33 comments
[ 3.8 ms ] story [ 87.2 ms ] threadhttp://birdgames.nl/2014/04/js1k-post-mortem-minecraft/
Lots of very interesting details, but surprised to see setInterval instead of requestAnimationFrame
I can't help but love things like this, if for no reason other than that it makes programmers look like bona fide magicians (and thus justifies exorbitant day-rates).
added image : http://imgur.com/9xK3JoK
EDIT: and FF 33.1.1
If you're into tiny cube-based 3D engines also have a look at this demo for the Lobster programming language (http://strlen.com/lobster): http://i.imgur.com/ZZWFkXn.jpg. Its entire source code fits in the screenshot.
Firefox 33.1 (Mac) seems to work fine....
At first, the cubes in Minecraft are analogous to tiles (as in the tiled backgrounds or maps of 2D games), but when you use them to build models and things, then they become like large voxels.
You can see that the underside of trees is pretty luminous for instance.