Slashdot Mirror


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

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.

16 of 110 comments (clear)

  1. ChromeOS criticism got knocked down a bit by eksith · · Score: 4, Insightful

    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.

    --
    If computers were people, I'd be a misanthrope.
    1. Re:ChromeOS criticism got knocked down a bit by Anonymous Coward · · Score: 3, Insightful

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

      Which is to say, so is very nearly everything.

    2. Re:ChromeOS criticism got knocked down a bit by Jane+Q.+Public · · Score: 2

      "How revolutionary."

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

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

    3. Re:ChromeOS criticism got knocked down a bit by hairyfeet · · Score: 2

      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 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.

      --
      ACs don't waste your time replying, your posts are never seen by me.
  2. hurrah its like the 90's again by Anonymous Coward · · Score: 2, Insightful

    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

    1. Re:hurrah its like the 90's again by petsounds · · Score: 3, Insightful

      DHTML wars -> HTML5 wars
      rinse, repeat

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

  3. Blog post with more background info by maxogden · · Score: 5, Informative

    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

  4. Re:I don't get the blocks by pushing-robot · · Score: 4, Funny

    And why was Schindler's List in black and white, anyway? Couldn't they afford color film?

    --
    How can I believe you when you tell me what I don't want to hear?
  5. Thanks, Max! by Paul+Fernhout · · Score: 2

    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/

    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/

    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.

    --
    A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.
  6. Re:Source Code by Jmc23 · · Score: 2

    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?

    --
    Don't complain about syntax, grammar, or spelling. There is no.hell like input on android.
  7. Looks they they are using standards to me by Paul+Fernhout · · Score: 4, Informative

    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

    Here is a pre-built download link for Chromium if Mac users need it:
    http://www.freesmug.org/chromium
    Or people can build it from source:
    http://www.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

    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.?

    --
    A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.
  8. Re:Installation is the big bottleneck these days by maxogden · · Score: 2

    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.

  9. Re:Installation is the big bottleneck these days by Paul+Fernhout · · Score: 2

    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

    --
    A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.
  10. Faster than Minecraft for me by Paul+Fernhout · · Score: 2

    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/

    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.

    --
    A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.
  11. Re:Very Good Work. However .... by Paul+Fernhout · · Score: 2

    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/
    http://shama.github.com/voxel-drone/

    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/

    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.

    --
    A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.
  12. Re:I don't really see the point by pjr.cc · · Score: 2

    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.