×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Voxel.js: Minecraft-like Browser-Based Games, But Open Source

timothy posted about a year ago | from the blocking-things-out dept.

Games 110

Paul Fernhout writes with a snippet from Joystiq: "Voxel.js is a new open-source project designed to allow anyone to create 3D games that run directly in a browser. Created by Max Ogden and James Halliday, Voxel.js is based on JavaScript and WebGL, and makes it relatively easy to build Minecraft-like games that play in browsers like Chrome." Paul adds a link to this interview with Max Ogden about the creation of Voxel.js in 22 days. The main site is at Voxel.js.

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

110 comments

ChromeOS criticism got knocked down a bit (4, Insightful)

eksith (2776419) | about a year ago | (#42702307)

Call me silly, but I think there is something to this "everything through the browser" malarkey. That's not to say everything should be on the cloud, but I don't see why we can't push non-critical functionality on rendering engines. A lot of mobile apps are just native interfaces to webservices anyway.

Re:ChromeOS criticism got knocked down a bit (1)

Anonymous Coward | about a year ago | (#42702493)

I don't see why we can't push non-critical functionality on rendering engines

Because it's a sad waste of system resources.

Re:ChromeOS criticism got knocked down a bit (3, Insightful)

Anonymous Coward | about a year ago | (#42703115)

So is everything that's not hand coded in assembly language.

Which is to say, so is very nearly everything.

Re:ChromeOS criticism got knocked down a bit (0)

Anonymous Coward | about a year ago | (#42712497)

Compilers can do a better job at optimizing assembly than most humans these days.

Re:ChromeOS criticism got knocked down a bit (0)

Anonymous Coward | about a year ago | (#42715001)

And the Internet can do a better job at optimizing deployment procedures than most humans these days.

Re:ChromeOS criticism got knocked down a bit (1)

DavidClarkeHR (2769805) | about a year ago | (#42702557)

Call me silly, but I think there is something to this "everything through the browser" malarkey. That's not to say everything should be on the cloud, but I don't see why we can't push non-critical functionality on rendering engines. A lot of mobile apps are just native interfaces to webservices anyway.

Wait, you want everything to run on a common software platform? How revolutionary. We could call it "Doorways", because the browser would provide a path to see into the possibilities. We could have a common add-on called "Glimmer" that provides additional functionality.

I can't picture any problems with such an approach.

Re:ChromeOS criticism got knocked down a bit (0)

Anonymous Coward | about a year ago | (#42703099)

Woosh!

Re:ChromeOS criticism got knocked down a bit (2)

Jane Q. Public (1010737) | about a year ago | (#42703281)

"How revolutionary."

Haha. I also like the subtle little plug: "... browsers, like Chrome."

Chrome. Not Safari, or Firefox, or Opera, or Konquerer.

Re:ChromeOS criticism got knocked down a bit (1)

knuthin (2255242) | about a year ago | (#42705579)

If it's about the engine, anything that works on Chromium should also work on Safari and Konquerer.

Also I have got several of these "works only with Chrome" webapps working just fine on Firefox.

Re:ChromeOS criticism got knocked down a bit (1)

Anonymous Coward | about a year ago | (#42702567)

You're silly

Installation is the big bottleneck these days (1)

Paul Fernhout (109597) | about a year ago | (#42702661)

The cross-platform install process is easier with Javascript than just about anything else. That is the biggest win here -- beyond the idea of open source virtual worlds which others have done before. Perhaps that didn't used to be the case years ago, but it is now for any software that is going to quickly get mass adoption. Still, it's true that Android and iOS both try to make that easy -- if you've bought special hardware. HTML5 and related technologies like WebGL are trying to create standards for being able to use back-end engines, and Voxel.js taps into that.

Here is Alan Kay talking about why Dan Ingalls started working on the next generation of Squeak (the "Lively Kernel") in Javascript:
http://bitworking.org/news/290/JavaScript-is-the-new-Smalltalk [bitworking.org]

Still, I tried to run Voxel.js in Firefox 18 on the Mac, with having to turn on "experimental" (for my mac) WebGL support just for this, and it crashed my browser every time. Nonetheless, it's only a matter of time before good 3D support is in browsers everywhere. Personally, I'd have rather seen a well-sandboxed virtual machine as the standard in the browser (whether Java, Parrot, Lua, or anything else), but Javascript is what we got.

Actually, I've been wondering if I could run Voxel.js on top of Java running a Javascript engine that talks to a 3D backend? As a software developer, I'm willing to go through more install hassles, even if I know most people aren't.

Re:Installation is the big bottleneck these days (1)

msclrhd (1211086) | about a year ago | (#42703257)

For me, Firefox 18 was unresponsive for a minute or so while loading one of the voxel.js demos. It eventually loaded. I have reported the issue as https://bugzilla.mozilla.org/show_bug.cgi?id=835076 [mozilla.org].

Re:Installation is the big bottleneck these days (2)

maxogden (844677) | about a year ago | (#42703555)

Sorry about this, in that demo we are using a few very computationally expensive functions to generate the world. The problem you experienced can be solved through the user of HTML5 Web Workers but we have not yet implemented them at this time.

Re:Installation is the big bottleneck these days (1)

msclrhd (1211086) | about a year ago | (#42704545)

I reported the issue to Mozilla (as per the link in my previous post) so they can investigate and improve things on their end. This should then benefit other complex JavaScript/WebGL applications, especially if the voxel.js code is used in web-based games and other applications.

Works fine in Chromium (1)

Paul Fernhout (109597) | about a year ago | (#42703573)

Thanks for the info. I ended up installing Chromium to run it.

As "eksith" points out in another reply, everything has hiccups at first. The important thing is that this is working with technology that is based around open standards. And the design is modular and expandable.

Re:Installation is the big bottleneck these days (1)

eksith (2776419) | about a year ago | (#42703409)

Everything has hiccups at first. I think we'll see more of this as WebRTC takes off.

Re:Installation is the big bottleneck these days (2)

Paul Fernhout (109597) | about a year ago | (#42703603)

Good points. I've been feeling more-and-more lately that "if something does not have a URL, it is broken". :-)

And Minecraft worlds don't have URLs. Voxel.js world do. A simple seeming difference, but the implications are huge about sharing, discovering, mashups, archiving, expanding, and so on.

Here is a discussion where I explain that idea in more detail, that it's not so much the idea of a desktop app that is broken as the idea of an app without book-markable exchangeable URLs:
http://barcamp.org/w/page/61193582/CapCamp2012_Open_Data_Standards [barcamp.org]

Re:ChromeOS criticism got knocked down a bit (0)

Anonymous Coward | about a year ago | (#42703187)

Maybe because I don't want to run your spyware that calls itself a browser?

Re:ChromeOS criticism got knocked down a bit (1)

eksith (2776419) | about a year ago | (#42703403)

Chromium, Firefox (and kids), Opera, WebKit (and co)... pick your poison. My point was that the browser is a handy tool to publish applications and a lot of native applications can be made more easily cross-platform through web standards.

Think of it as the corollary to "everything is a file": "Everything is a service*" to be consumed by the browser.

*And by everything, I mean what makes sense to be on the browser. I.E. Documents, chat etc...

Re:ChromeOS criticism got knocked down a bit (-1, Offtopic)

niyagamu (2825201) | about a year ago | (#42703493)

http://www.cloud65.com/ [cloud65.com] before I looked at the bank draft 4 $8145, I didn't believe ...that...my neighbours mother woz like realie making money part-time at there labtop.. there sisters neighbour started doing this less than 15 months and recently paid for the loans on there appartment and bought a great new Chevrolet Corvette. this is where I went,

Re:ChromeOS criticism got knocked down a bit (2)

hairyfeet (841228) | about a year ago | (#42703797)

Because the carriers are gonna buttfuck us with ever worsening caps instead of spending any of their massive profits to lay the lines we already paid 200 billion plus [pbs.org] to have laid down?

All this "in the cloud" horseshit requires that we have a steady, reliable, fast and CAP FREE net connection or at least caps that are sane and which go UP in time. What we are seeing is the exact opposite with many places giving crappy caps to start with and as they oversell the shit out of their lines the caps get smaller NOT bigger. Everybody said "Oh the carriers won't want to lose all that business with the 6 strikes law" bullshit the carriers WANT THE EXCUSE because it gives them a legal reason to punt anybody that dares uses even half of what they pay for since they can just say "Oh he's a pirate...what? Prove me wrong!" and will kick you to the curb.

All this cloud shit is gonna die a VERY ugly death as the carriers cut the bandwidth, in my own area the carriers steer the shit out of you, use THEIR VoIP? NO cap, Vonage? Cap. Use THEIR PPV? NO cap, Netflix? Cap. These carriers, who ALL have interest in media companies BTW, sure as fuck ain't gonna want people spending all their time on the net instead of buying TV packages so any of this stuff that they don't get a check from is gonna be so bandwidth starved it'll end up costing you more to play some game in the browser than it would to just go buy a fucking boxed game and have it shipped.

I have seen the future that this corporatism shall bring and it does truly suck. i know I ended up paying more in bandwidth charges than I did for the fucking games i bought during the big Steam Xmas sale, I don't even want to know how much of a bill I would have gotten if everything was run over the net.

Re:ChromeOS criticism got knocked down a bit (1)

Crosshair84 (2598247) | about a year ago | (#42704153)

Well what did Congress honestly expect? They did the same frigin thin in the 19th century. Subsidized the fark out of the railroads. Remember the transcontinental railroad? What the history books don't mention is that it was so poorly constructed that it was next to useless. Once completed it had to be completely rebuilt in order to actually be useable, a process that took over half a decade. Even then it was so inefficient that turning a profit was difficult

Compare that with James J Hill, who built his railroad completely with his own money. It took him decades to build out to the west coast, but the reward for that was that he had the most efficient railroad in the country. in 1893 when virtually every other railroad went bankrupt, Hill turned a profit.

Politicians who think they can pass regulations that don't make things worse combined with a lack of competition caused by those regulations make for a messed up network. Sure there's obvious stuff, like don't steal stuff, but at work we have to route customers phone calls across state lines because interstate is so much cheaper than intrastate because the way the regulations on rates are done.

Re:ChromeOS criticism got knocked down a bit (1)

hairyfeet (841228) | about a year ago | (#42705211)

Funny Crosshair as I would say it is LACK of regulations that caused this mess. When the fed forced ma bell to open up their lines suddenly dialup went from an expensive hobby VERY few could enjoy to something so cheap many places would give you free time limited dialup in the hopes of selling you other services.

Then along comes Reagan and the DEregulators and suddenly it isn't illegal for these corps to just buy up the competition, or to buy services and media cartels that would put them in obvious conflict of interest and WHAM...now instead of competing they just buy out the competition and close it down or do like AT&T has done in most places which is divide the place up with the cablecos so they "cherry pick" the places they give a shit about and the rest? Fuck 'em if they don't like dialup. When my mom built her place she was less than a block from the cable junction, guess how many feet they've run since then? ZERO.

ALL of the places that have truly crazy speeds the lines were NOT done by private corps they were done by governments, either nationally or local co-ops. As we saw during the age of the robber barons a "free market" simply cannot exist as those with money without regulation will simply buy up all competition until they are the only game in town. And if the rumors are true that AT&T is thinking about walking away from landlines (since they can assrape much more with wireless than they ever could from landlines) then things will only be getting worse from here on in.

What we NEED is a national broadband initiative where We, The People have it laid down just like we had freeways built and then the various corps can COMPETE by leasing the line and selling us service. If they want a monopoly? Then they better lay FTTH to an area before we get there and they'll be given X number of years as the only game in town in return for laying the lines, otherwise they can fuck right off.

But we already tried completely unregulated markets, in the late 1800s you could do whatever you wanted, dump toxins, work children, hell there wasn't jack shit for regulation...what happened? A handful of rich scumbags got together and formed trusts and carved the entire country up. For a truly free market to work you'd have to have players that AREN'T sociopathic scumbags but history proves that is never gonna be, the more regulations you remove the worse things get, NOT better. Perhaps Cornel West [youtube.com] can explain it better.

Re:ChromeOS criticism got knocked down a bit (1)

SteveFoerster (136027) | about a year ago | (#42705247)

The problem here is that legislation and regulation doesn't come about for the benefit of you and me, it's designed to benefit the policy makers and corporate executives who work hand in hand for mutual advantage. And the only way to avoid that is for there to be less political power for them to grasp.

Re:ChromeOS criticism got knocked down a bit (1)

Crosshair84 (2598247) | about a year ago | (#42711573)

I think you and I are both agreeing on this subject, we're just interpreting it differently. You see it as a lack of regulations. I see it as too many ineffective and special interest regulations mixed in with politicians who think they're smart enough to understand all this. I would agree that things need to be setup to have the barrier to entry be set as low as possible. Relying on regulators is a fools errand because they face no repercussions for failure.

What I think should be looked at is how the telephone service contracts are done in the jails I work in. Every 3 to 5 years the contract comes up for renewal. If you're doing a good job you get renewed, if someone else comes in with a better bid and a better service contract, then they get to have the contract. Whatever the solution, we're not going to be able to just copy what another country does. (Especially not South Korea's internet police state.) We're going to need to look around and customize what works for each individual situation.

That being said, Midco has great internet service here in North Dakota.

Re:ChromeOS criticism got knocked down a bit (1)

eksith (2776419) | about a year ago | (#42704245)

That's not to say everything should be on the cloud, but I don't see why we can't push non-critical functionality on rendering engines.

Seriously, clam down. :/ I mentioned cloud once and I understand the pitfalls. Outside the U.S. ulimited data is very rare and in the UK especially it's bad.

Re:ChromeOS criticism got knocked down a bit (0)

Anonymous Coward | about a year ago | (#42705337)

Uhh...I think Australia, New Zealand and Belgium were the last three places in the world without unlimited (usage, not rate) internet connections. I know we have them in Australia now. Not cellularly but I don't sew that as restrictive.

Re:ChromeOS criticism got knocked down a bit (1)

fireylord (1074571) | about a year ago | (#42706443)

. Outside the U.S. ulimited data is very rare and in the UK especially it's bad.

Want to cite some sources for this? Coz i'm in the UK, and this is utter horse shit

Re:ChromeOS criticism got knocked down a bit (1)

robsku (1381635) | about a year ago | (#42706685)

...and here I thought it was pretty much the norm, at least in 1st world (and well, anything not 3rd world), for internet connections - I know it is in Finland, and we don't have no stinking data caps either.

WebGl (0)

Anonymous Coward | about a year ago | (#42702361)

needs webgl to run, I think that would have been more important to mention than the whole js thing?

Re:WebGl (1)

Paul Fernhout (109597) | about a year ago | (#42703635)

AC wrote: "needs webgl to run, I think that would have been more important to mention than the whole js thing?"

Good point, AC. I should have mentioned WebGL in the article summary. That is the probably the biggest stumbling block for lots of people running this. That was a problem I myself encountered with a crashing problem with Firefox 18 when I enabled WebGL, and worked around that by trying Voxel.js in Chromium, the open source version of Chrome. Still, in another couple of years, I would think WebGL might be fairly well supported in lots of browsers?

hurrah its like the 90's again (2, Insightful)

Anonymous Coward | about a year ago | (#42702365)

this comment is best viewed in ________

and they recommend you install a web browser that is made by the largest advertising company in the world.

this generation is nuts

Re:hurrah its like the 90's again (1)

Anonymous Coward | about a year ago | (#42702535)

Those who do not forget the past are doomed to be ignored by those who do.

Re:hurrah its like the 90's again (3, Insightful)

petsounds (593538) | about a year ago | (#42702615)

DHTML wars -> HTML5 wars
rinse, repeat

Flash took us out of the browser ghetto. Now we're back in it.

Re:hurrah its like the 90's again (0)

Anonymous Coward | about a year ago | (#42705091)

Oh, go get fucked. Flash was the biggest CPU-sucking ghetto to ever exist. Yes, past tense.

Re:hurrah its like the 90's again (0)

Anonymous Coward | about a year ago | (#42703507)

and they recommend you install a web browser that is made by the largest advertising company in the world.

this generation is nuts

Chrome is mostly open source, and Chromium (which I use, with firefox) is totally open source. That matters a lot

Looks they they are using standards to me (4, Informative)

Paul Fernhout (109597) | about a year ago | (#42703527)

First, they say "Chrome version 23 or above or Firefox version 17 or above are recommended." So, you can try either.

I had problems using Voxel.js in Firefox 18 on the Mac, so I downloaded Chromium (the open-source fork of Chrome) from FreeSMUG , and Voxel.js ran fine it it. It was actually snappier than Minecraft on my machine, but that may just be because of a smaller world?

I feel I'd probably rather download Chromium once and then surf to web pages than download a Java application like Minecraft and deal with all sorts of issues when trying to use Minecraft add-ons (given Minecraft has not prioritized supporting community add-ons). It has been a pain to manage lots of incompatible Minecraft add-ons (my wife even wrote a tool to help our kid deal with that). Also, when you download Minecraft addons, they presumably with full permissions and so could do anything to your system like read or delete files. I presume that web pages in Chromium are much more limited in what they can do (even though I have heard about theoretical WebGL exploits).
http://news.slashdot.org/story/11/06/17/121236/microsoft-brands-webgl-a-harmful-technology [slashdot.org]

Here is a pre-built download link for Chromium if Mac users need it:
http://www.freesmug.org/chromium [freesmug.org]
Or people can build it from source:
http://www.chromium.org/ [chromium.org]

It would probably be fair to say WebGL is not that well supported everywhere. I had problems with it in Firefox as above. Still, it seems to me like this group is trying hard to use open standards with JavaScript and WebGL, so I'm not sure your criticism is fair in that sense. WebGL is supported by multiple browsers, but probably just not very well yet:
http://en.wikipedia.org/wiki/WebGL [wikipedia.org]

Still, give it time, and I expect WebGL (or something similar) will run most anywhere.

Anyway, this generation may be "nuts" in their own way, true. :-) The question is, is the "nuts" of a bunch of people across the planet getting together virtually to write free and open source software (for shareable virtual worlds of abundant virtual resources) more "nuts" than a bunch of people getting together to give us, say, the "Cold War" and the artificial scarcity of software patents and endless copyrights etc.?

Blog post with more background info (5, Informative)

maxogden (844677) | about a year ago | (#42702395)

Hi, I'm the Max mentioned above. Here is a post I did yesterday with more background details on the project: http://maxogden.com/bringing-minecraft-style-games-to-the-open-web.html [maxogden.com]

Thanks, Max! (2)

Paul Fernhout (109597) | about a year ago | (#42702861)

Great blog post, Max. Thanks for chiming in. I've enjoyed your previous instructional materials about CouchDB and other things like "JavaScript for Cats".
http://jsforcats.com/ [jsforcats.com]

So far our cat has only expressed limited interest in that website, but maybe over time interest will pick up? :-)

For some reason, I think it would be really cool to put some sort of Couch-like database backend to this, even though I can't think of what it could be used for? :-) But that is the beauty of your well-architected modular approach to Voxel.js (which you mention in comparison to other systems out there). It should be relatively easy to make an interface to any data source (whether hosted using CouchDB or anything else) using standard web protocols.

An example of that is what you did when you made a module that "dynamically renders any area of San Francisco into a crude voxel world". My wife worked towards doing that with data from the USGS for Minecraft, but there were various difficulties trying to transform the data. As a trustee of a local small community historical society, which has trouble competing for attention of the younger crowd against the web and apps and such, I've been thinking that it would be great if communities could make virtual worlds that local residents could visit. There could be different versions of these worlds, for the past, the present, and the future. Then people could discuss history, current issues, and long-term planning in them.

Although there is a lot to be said for face-to-face get-togethers too, like with your Gather project.
https://gather.at/ [gather.at]

This modular extensibility of Voxel.js seems like a huge win long-term, as does being easy to install as more and more browsers improve their support for WebGL. I feel it also might be cool to run Voxel.js on Java using the Rhino JavaScript engine and some Java 3D backend, for people to use if their web browser still struggles with WebGL.

Anyway, thanks for making this fantastic hopeful project! I hope being on the front page of Slashdot brings in more developers and users.

Re:Thanks, Max! (1)

maxogden (844677) | about a year ago | (#42703663)

Thanks, Paul. Hopefully the cat will submit some voxel.js modules and get on Github soon! I'm definitely interested in the real-world data application that you explained in your comment. Some of the new fellows this year at Code for America are working on importing Open Street Map data into Voxel.js as a matter of fact. One idea I had was an app to let kids design and add voxel trees (or other public objects) to their city/neighborhood.

Re:Blog post with more background info (1)

Cerium (948827) | about a year ago | (#42702923)

"Reeks of Java"?

I stopped reading and started skimming there. Can't take you seriously when there are subtle jabs at a tool with no justification for your disposition.

I have other gripes with the article and project as well, but I can't think of a way to word them in a way that they can be perceived as constructive criticism, so I'll just leave it at that.

Re:Blog post with more background info (1)

maxogden (844677) | about a year ago | (#42703057)

Someone else called me out on that as well, my response was: "Sorry about the tone, I definitely could have said that part more nicely. To me Java smells like too many abstract interfaces, lots of boilerplate and hard to use build tools. Java was the first language I learned so I may very well be scarred from the experience." from http://news.ycombinator.com/item?id=5119259 [ycombinator.com]

Re:Blog post with more background info (0)

Anonymous Coward | about a year ago | (#42703095)

There is no need to apologize when you speak the truth.

Re:Blog post with more background info (1)

Cerium (948827) | about a year ago | (#42703199)

Well, the statement itself wouldn't have been bad if you had linked to something else (as you had done quite a bit in that article).

In any event, it's still a bit silly to me that your opinion on the matter is based on (what seems to be) others misusing it. Moreover, that said opinion makes you more partial to other languages and platforms that give you more rope to hang yourself with (and, in this case, require more work to achieve any semblance of stability/consistency), is even stranger to me -- it seems like it's a self-perpetuating problem. But, to each their own, I suppose. :)

Re:Blog post with more background info (1, Insightful)

sproketboy (608031) | about a year ago | (#42703167)

His justification is that he's retarded and doesn't understand Java.

Re:Blog post with more background info (1)

Cerium (948827) | about a year ago | (#42703285)

And statements like that are just as bad as his, and mister AC above.

No language is safe from misuse and shit code. Some are simply more prevalent, and thus, have more opportunities to be bastardized.

Re:Blog post with more background info (1)

robsku (1381635) | about a year ago | (#42706741)

And statements like that are just as bad as his, and mister AC above.

Worse. A simple sentence implying the writer does not like particular language without giving any explanation in article where it's not really even the subject is minor flaw, if even that. Calling someone a retard for this is sign of some major behavior issues.
I know I would be slightly annoyed if someone said the same, but about perl - I would not automatically think that the person is retard or even that he doesn't understand perl (although it's a possibility). All in all it would be of very small significance.

Re:Blog post with more background info (-1)

Anonymous Coward | about a year ago | (#42708589)

No, his justification is that Java is a shitty language with shitty abstractions. Even C# has Java beat by a huge margin. Deal with it faggot.

Slow as hell. (0)

Anonymous Coward | about a year ago | (#42702641)

Slow as hell.

Faster than Minecraft for me (2)

Paul Fernhout (109597) | about a year ago | (#42703699)

You may have found it slow, but I have found it faster than Minecraft on a desktop (Mac Pro with eight 2.8 Ghz Intel Xeon cores, where only 60%-75% of one core seems to be used by Voxel.js under Chromium). Granted, Voxel.js may be doing a lot less than Minecraft, or the demo worlds may be smaller, I don't know, so this is not a comprehensive comparison. But at least for something simple, Voxel.js seems very useable on a Mac desktop that is more than four years old and does not have especially fancy graphics cards in it. I have not seen any lag in it.

Which demos did you try from here?
http://voxeljs.com/ [voxeljs.com]

What browser, OS, and hardware did you try with?

I have noticed an issue where I don't see a hand or pointer. I'm not sure if that is a limit in the software or an issue with my configuration.

I don't get the blocks (1)

terec (2797475) | about a year ago | (#42702703)

In terms of graphics, it wouldn't be so hard to make surfaces a little bit more varied. Why the blockiness in Minecraft? Why not give people roundish and triangular things to play around with too?

Style. (0)

Anonymous Coward | about a year ago | (#42702843)

It's 8-bit retro.

Re:I don't get the blocks (1)

bWareiWare.co.uk (660144) | about a year ago | (#42702863)

The goal of Minecraft et al. is to provide very large (or sometimes truly infinite worlds). To achieve this you have to use extremely efficient memory storage. I don't know the actual figures but I assume Minecraft stores one or two bytes per voxel, which are approximately 1 cubit-foot, so a very efficient representation.
This simply isn't enough memory to store more then a few shapes (though a sphere dose seem a good choice).

Re:I don't get the blocks (0)

Anonymous Coward | about a year ago | (#42703101)

Minecraft must be populated with REALLY tiny people if they can fit in a 2'x1' space.

Re:I don't get the blocks (1)

Tatarize (682683) | about a year ago | (#42705787)

They would be really flat people too.

Really it's 1.6 tall. And it's in meters, which is actually legit.

As XKCD teaches us 1.6 meters is about a CD diameter shorter than Summer Glau and about doorway width longer than a light saber blade.

Re:I don't get the blocks (1)

zippthorne (748122) | about a year ago | (#42703107)

A cubic meter, actually, I believe.. two blocks are just bigger than the player.

But that's not really all that efficient of a storage representation. By far, most of the blocks in the game are of two main type - air and stone - and almost every structure in the game is composed of some volume of mostly homogeneous blocks with perhaps smaller volumes of homogenous blocks suspended almost vacuole-like inside it - It might well be possible to more efficiently describe the landscape using the surfaces rather than the volumes.

Of course, then it's not really a voxel game any more, but was it ever? Isn't it really just that voxel games seem like the simplest to implement 3D deformable terrain games?

Re:I don't get the blocks (1)

Lehk228 (705449) | about a year ago | (#42703119)

it would not take additional memory to have other shaped blocks, that goes into the rendering not the memory, there are already various shapes of flowing water and lava, and fences glass panes etc.

the blocky appearance of everything is a style choice

Re:I don't get the blocks (1)

Agent ME (1411269) | about a year ago | (#42702893)

The same reason legos are square / rectangular. It's much easier to build with squares than spheres or whatever.

Re:I don't get the blocks (1)

terec (2797475) | about a year ago | (#42703405)

individual Lego blocks still come in a variety of shapes other than rectangular.

Re:I don't get the blocks (0)

Anonymous Coward | about a year ago | (#42715137)

They didn't use to, and it was more fun back then.

Re:I don't get the blocks (0)

Anonymous Coward | about a year ago | (#42703067)

Voxels are meant to be 3d Pixels. Its not just the style or memory concerns, its a design choice. Squares make building things a lot easier for most people.

Re:I don't get the blocks (0)

Anonymous Coward | about a year ago | (#42703133)

In terms of graphics, it wouldn't be so hard to make surfaces a little bit more varied. Why the blockiness in Minecraft? Why not give people roundish and triangular things to play around with too?

Remember that Minecraft is a huge matrix of "3D pixels" -- voxels. Keeping track of, allowing free modification, and presentating that is a resource-intensive process already.

Re:I don't get the blocks (1)

dissy (172727) | about a year ago | (#42703551)

In terms of graphics, it wouldn't be so hard to make surfaces a little bit more varied. Why the blockiness in Minecraft? Why not give people roundish and triangular things to play around with too?

If you don't want to play the game, that's perfectly OK. Not every game is everyone's cup of tea.
But you could at least look at it before passing judgement.

There are far more shapes in Minecraft than just blocks. In fact of all the items, blocks are a minority.

Look at the bottom of this wiki page: http://www.minecraftwiki.net/wiki/Items [minecraftwiki.net]
Each and every one of those things is a non-block shape!
Or here for larger icons of items (including blocks):
http://www.alymma.com/minecraft_icons/ [alymma.com]

Slimeballs and snowballs are spheres, tools look roughly the shape of the tool they represent, food is pretty much all irregular shaped except for the cake, which is not only a lie but a circle!

Only the world itself is subdivided into a grid of blocks, and even then it's far from "one grid square, one item/block"

In fact it's not that much different from any other game, except where in most games each voxel is a single pixel and you are limited in the total number of pixels allowed in the game world, a Minecraft voxel represents 1 meter cubed of world space and uses a stacking addressing scheme so as to be infinite yet your save files do not grow insanely huge.

Re:I don't get the blocks (1)

Bing Tsher E (943915) | about a year ago | (#42703891)

Minecraft isn't infinite. You can build up to 256, dig down to bedrock (near zero) and travel x and y to new sectors.

Re:I don't get the blocks (1)

omglolbah (731566) | about a year ago | (#42704257)

Not infinite in vertical space no, but practically infinite in horizontal plane.

Y is vertical (0 to 255), X and Z are north/south, east/west axis.

Re:I don't get the blocks (1)

omglolbah (731566) | about a year ago | (#42704241)

The rudimentary blocks are just a few bytes each.
But there are a lot of them.

Just one player has about 4 million blocks around them loaded, more if they're moving around a bit. Then there are all the entities, light values, special blocks and such. The world is split into 'regions' and 'chunks'. A chunk is 16x16 blocks, from 0 to 255 height.

The blockiness is to make it a hell of a lot easier to modify the environment in predictable ways. It also lends itself to modding.
You get things like 'Feed the Beast', a modpack which seems to be taking off quite well at the moment. I have clocked 200+ hours in the past few months...

As you can see at this url there is a lot more than simple square blocks here: http://omglolbah.net/ksh/minecraft/ [omglolbah.net]
Redpower2 (a mod) introduces 'microblocks' which allow you to do all sorts of things. In one of the screenshots there are narrow white 'bars' separating the redpower alloy wire on the wall (red wiring). These microblocks come in a variety of sizes and shapes. For simplicity all of them are rectangular in shape, but with the different sizes you can build quite complex shapes out of them :D

Re:I don't get the blocks (1)

terec (2797475) | about a year ago | (#42704553)

All you would need to make it look smoother is diagonal, corner, and rounded blocks. There are maybe 64 or 128 different types of those, so less than a byte per block.

Source Code (0)

Anonymous Coward | about a year ago | (#42703085)

Did anyone else look through the examples on Github? There are basically 0 comments within the example source code.

Re:Source Code (1)

Anonymous Coward | about a year ago | (#42703431)

Yeah but most of the examples are only like 200 lines of code. Do you really need comments? Also most of the examples have readme files.

Re:Source Code (2)

Jmc23 (2353706) | about a year ago | (#42703473)

The code is pretty straightforward. Horribly, imperatively, straightforward in fact. With good Readme's and docs. The main modules even seem to have some comments. What more do you want?

Re:Source Code (0)

Anonymous Coward | about a year ago | (#42703937)

It not being written in Javascript. Better yet, nothing being written in Javascript.

Very Good Work. However .... (0)

Anonymous Coward | about a year ago | (#42703415)

The author has made it fun for a lot of people to mash up and build their own Minecraft like games with it.

Unfortunately, we are better off putting these innovations in a generic format, as opposed to a Minecraft like one. E.g.: Handling of spatial/streaming data, LoD/rendering optimizations for big 3D games, Libraries for efficient sparse representation of world/multiplayer data ...

I think the idea itself is so-so, but the potential of useful code coming out of it are huge.

Re:Very Good Work. However .... (1)

maxogden (844677) | about a year ago | (#42703525)

I agree. If you look more closely you will see that many of the modules associated with the project are in fact very generic.

Re:Very Good Work. However .... (2)

Paul Fernhout (109597) | about a year ago | (#42703899)

Max, on voxeljs.com, there are two demos which work fine but have broken source code links to go to missing GItHub pages (the first and eighth demo):
http://maxogden.github.com/voxel-engine/ [github.com]
http://shama.github.com/voxel-drone/ [github.com]

Anyway, it's been great fun playing with the demos -- especially the surprising voxel-portal one. At first I thought the behavior was a bug, and then I realized it was a feature -- wow! :-)
http://substack.net/projects/voxel-portal/ [substack.net]

It's just amazing to think I can, as above, supply people with URLs that with one click will put them in a virtual world of some sort.

Well, assuming their browser supports WebGL well, but that will just get better over time. I downloaded Chromium just to run this since Firefox 18 had problems on my Mac with WebGL. I've tried WebGL before, but never had seen anything really compelling to use it for. Voxel.js may just be the breakthrough app for WebGL -- you and James Halliday have put together something that amazing.

Re:Very Good Work. However .... (0)

Anonymous Coward | about a year ago | (#42707853)

I envision minecraft-like 3D file indexes for web servers. It's Unix!

Tee hee! I felled out of teh world! (0)

Anonymous Coward | about a year ago | (#42703943)

I was messing with the Voxel Forest one, and I wanted to see where digging got me. Needless to say, I squealed with delight when I realized "OHSHI-! I'm FALLING!!!!!" I wonder when you stop falling though because it would seem you keep falling forever. Where's a space-time loop when you need it? :-P

Re:Tee hee! I felled out of teh world! (1)

Tatarize (682683) | about a year ago | (#42705671)

I'd figure your position might overflow at some point and plop you back on the world. Whether it occurs in your lifetime is something that the source code could tell you.

Re:Tee hee! I felled out of teh world! (1)

chronokitsune3233 (2170390) | about a year ago | (#42706839)

Ideally, yes. However, what if it's like many games that detect you're out of bounds and force you back in at the closest point possible? In the simplest case, it would just keep resetting Y to 0 while X and Z would remain constant as long as you're not moving. I'd look at the source code, but I don't care about it. I love the ability to be able to see how it works, but sometimes not knowing is more fun. :-)

I don't really see the point (1)

devent (1627873) | about a year ago | (#42704045)

I don't really see the point. it's nice, but it's not novel.
Why not just a Java Web Start with http://jmonkeyengine.com/ [jmonkeyengine.com]
You could even run that in the web browser with a Java Applet.
It would run with 200 fps (or more) and not with the lousy 22 fps what I get in the browser. And it would be cross-platform, too.

Sorry, I don't really see the point to re-implement everything we have on the desktop now in the browser. It's like we throw everything we achieved in the last 25 years on the desktop in the trash for what? For iPhone? Instead that we use what the desktop have (OpenGL, Java, VLC, etc.) we implement now everything in the browser (Pdf, WebGL, sound, etc.). Mozilla team couldn't be happier of course. But now I have a clone of my system, done badly and ugly, as my browser.

Re:I don't really see the point (1)

ravenlord_hun (2715033) | about a year ago | (#42704377)

Given Java's recent track record with security, I'd rather advise to keep java the hell away from any browser...

Re:I don't really see the point (2)

pjr.cc (760528) | about a year ago | (#42704623)

Lets ignore the fact that its 3d for a moment and concentrate on your main points... Is it novel? yes i personally thing so, but novel is in the eyes of the beholder. Is it awesome? absolutely from a developer point of view... is it cross platform - yes it is. Chrome and firefox can both be downloaded for every platform that oracle java can be (and probably built for many more too).

Then theres the version dependency fun. Consider i wrote a RTF document editor as java applet, im faced with the scenario of 3 very annoying dependencies i have to code for - first the browser version, next the java version and lastly the OS itself. The browser and version of it in that case can be problematic in some cases, but largely they just fork off to java, and this is where the real fun begins because the current version of java out there still rotate around 1.6 and 1.7 and sadly I still have 1.6 because apps written for 1.6 often have problems in 1.7... Next lets just consider windows and macos and the fun (which still exists) of making a java app run on both systems - throw linux into the mix (and i do) and it gets far worse... These days, your chances of the end user actually having java or flash or some other add-on to support your app aren't always the best odd's either.

But now the browser itself is becoming capable enough of replacing that middlewear dependency. Consider simply this, how many websites do most people go to today that have java applets on them? the answer is so very very small its really not funny. Take a look at google docs for example, how much of that would have to be written in some other addon-required code (such as java) if web browsers didnt become fundamentally more capable at doing things which java does?

When you add something like 3d into that scenario, your pain levels go up orders of magnitude. How many 3d java app's are there out there? well, theres minecraft and.... 3d in java is painful when you start trying to do something even remotely complex, minecraft is by design very simple in its 3d implementation, it barely uses more then the primitives and so its relatively easy to make work almost anywhere, but you wouldn't have to add many things to minecraft for the 3d cracks to start to appear (shaders for example).

Lastly, take a look at the code that was written to make the 3d stuff in the article work - if you can do the same with a java applet anywhere near as simply as this has been done, i'd be very very surprised.

But does it run in ScriptCraft? (0)

Anonymous Coward | about a year ago | (#42704127)

This really makes http://games.slashdot.org/story/13/01/21/1843232/javascript-comes-to-minecraft much more interesting.

Well, then again I'm pretty sure ScriptCraft does not support WebGL. But the idea would still be kinda cool...

Looking good (0)

Anonymous Coward | about a year ago | (#42704165)

As someone trying to get voxels to work in another engine (CryEngine), this might actually be right up my alley. All I'd need to do is code in atmospheric simulation and variable gravity (no mean feat) and then it'd be off to the races.

(I'm one of the many people interested in bringing SS13 [nanotrasen.com] to 3D.)

ROTFLMAO (1)

Corwn of Amber (802933) | about a year ago | (#42704481)

And they would go about securing JS code how, exactly? It's cleartext to the browser! You just can't protect that. I just thought of three ways to get the source, in the time it took me to type this sentence.

Re:ROTFLMAO (0)

Anonymous Coward | about a year ago | (#42707399)

What's the material difference between minimized JS and a disassembled executable?

Re:ROTFLMAO (1)

Corwn of Amber (802933) | about a year ago | (#42707933)

Oh, lots. It's much easier to reorganize minimized JS than to figure out disassembled code. Javascript runs several layers of abstraction above the CPU, and every call belongs in a tiny namespace, compared to what happens in assembler. It's comparing apples and industrial orange juice.

Let's be nice today shall we? (1)

UnresolvedExternal (665288) | about a year ago | (#42706063)

Seems like a few guys did a nice hack - more power to them - I look forward to a Sunday I waste messing about with it when I get the chance.

Extremely slow (1)

loufoque (1400831) | about a year ago | (#42707473)

I just tried it.
It barely runs at all. It's extremely slow. At 20-25 fps, walking feels more like crawling, and it uses all my computer resources, fans running as loud as they can, showing 100% CPU usage on two threads + GPU usage.

There is no point if the experience cannot at least as smooth as Minecraft.

What hardware/OS/browser? (1)

Paul Fernhout (109597) | about a year ago | (#42710969)

Can you say what browser, OS, and hardware you tried it on?

Voxel.js was snappy when I tried it with Chromium on a Mac Pro desktop (vintage about four-five years ago with 2.8 Ghz Intel Xeon, fairly stock graphics card). It seemed to run even faster than Minecraft (granted it was probably doing a lot less with demo worlds).

Re:What hardware/OS/browser? (1)

loufoque (1400831) | about a year ago | (#42711135)

Google Chrome 24, Linux x86_64.
Recent high-end Intel processor and NVIDIA graphics card.

add Inflatable Icons (3D shapes from 2D images) .. (1)

the agent man (784483) | about a year ago | (#42708945)

... to get supercool authoring. As part of AgentCubes, a 3D creativity tool supporting Casual 3D design, we have created a new kind of a 3D authoring tool. Casual 3D, similarly to Voxel or Minecraft is not aimed at Pixar animators but at people who have not done any 3D authoring before and would not want to spend more than a minute to get started. Imagine combining Inflatable Icons with Voxel. One could build some pretty cool worlds and program them. You can see an early draft of a short demo video below. I am guessing that AgentCubes may be using similar technology as Voxel. Every game/simulation is turned into a HTML5/WebGL version using the Three.js game engine.

draft of AgentCubes video http://www.youtube.com/watch?v=85CMrbvIYc8&feature=youtu.be [youtube.com]

The programming built in to AgentCubes is accessible even to young kinds. You can see and run some samples here (the WebGL part is still alpha). The 2D games are Java, the 3D ones are in Javascript and WebGL: http://scalablegamedesign.cs.colorado.edu/arcade/ [colorado.edu]

These are not voxels (0)

Anonymous Coward | about a year ago | (#42712139)

One glaring problem, I don't believe large(relatively) textured cubes can be considered voxels.

Re:These are not voxels (0)

Anonymous Coward | about a year ago | (#42712525)

I think voxels refer to the way they're stored in this case. They're equivalent to 3D pixels.

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...