Please create an account to participate in the Slashdot moderation system


Forgot your password?

Voxel.js: Minecraft-like Browser-Based Games, But Open Source 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.
This discussion has been archived. No new comments can be posted.

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

Comments Filter:
  • by eksith ( 2776419 ) on Saturday January 26, 2013 @03:27PM (#42702307) Homepage
    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.
    • by Anonymous Coward

      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: (Score:3, Insightful)

        by Anonymous Coward

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

        Which is to say, so is very nearly everything.

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

      • "How revolutionary."

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

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

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

          • Browser sniffing, without feature sniffing always drives me crazy...

            Opera has a built-in User Agent switcher... And I find myself using it much more commonly than I would like.

    • by Anonymous Coward

      You're silly

    • 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

      • 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 [].

        • 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.
          • Thats a solution to the side-effects, not the problem.
          • 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.

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

      • by eksith ( 2776419 )
        Everything has hiccups at first. I think we'll see more of this as WebRTC takes off.
        • 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:

    • 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 N

      • 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
        • 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 conflic

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

          • 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 te
      • by eksith ( 2776419 )

        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.

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

        • by robsku ( 1381635 )

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

  • by Anonymous Coward

    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

    • by Anonymous Coward

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

    • by petsounds ( 593538 ) on Saturday January 26, 2013 @04:05PM (#42702615)

      DHTML wars -> HTML5 wars
      rinse, repeat

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

    • by Paul Fernhout ( 109597 ) on Saturday January 26, 2013 @06:08PM (#42703527) Homepage

      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). []

      Here is a pre-built download link for Chromium if Mac users need it: []
      Or people can build it from source: []

      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: []

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

  • by maxogden ( 844677 ) on Saturday January 26, 2013 @03:34PM (#42702395)
    Hi, I'm the Max mentioned above. Here is a post I did yesterday with more background details on the project: []
    • Great blog post, Max. Thanks for chiming in. I've enjoyed your previous instructional materials about CouchDB and other things like "JavaScript for Cats". []

      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 a

    • by Cerium ( 948827 )

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

      • 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 []
        • by Cerium ( 948827 )

          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

      • Re: (Score:2, Insightful)

        by sproketboy ( 608031 )

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

        • by Cerium ( 948827 )

          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.

          • by robsku ( 1381635 )

            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 signifi

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

    • by pushing-robot ( 1037830 ) on Saturday January 26, 2013 @04:32PM (#42702815)

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

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

      • 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 t

      • by Lehk228 ( 705449 )
        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
      • Minecraft blocks are 1 cubic meter.
    • The same reason legos are square / rectangular. It's much easier to build with squares than spheres or whatever.

    • by dissy ( 172727 )

      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: []
      Each and every one of those things is a non-block shape!
      Or here for larger icons of items (including blocks): []

      Slimeballs and snowballs

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

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

        • This is true. So play minetest with mesecons, moreores and moreblocks (At least)

    • 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',

      • by terec ( 2797475 )

        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.

  • I don't really see the point. it's nice, but it's not novel.
    Why not just a Java Web Start with []
    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

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

      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

      • by devent ( 1627873 )

        The Google Docs is a very good example for what not do to in the browser. Sure it can open Odf files, but for what? The time when you need to pay 300$ or more for a good Document Writer are long over. LibreOffice or OpenOffice are at least 50 times more capable then Google Docs and are not depending on a good internet connection.

        The problem with the midleware of Java is only because of the Browser (and Sun) developer. They chosen long ego to not support Java as good as Flash in the Web browser. My browser i

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

    • What's your point exactly? The source is intentionally available.

      • My point is, JS code is open source in fact, in all cases ever. Legality notwithstanding, it's just there to read and modify and stuff.

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

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

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

        • Thanks. Don't know what to make of that, except maybe the Mac has better 3D WebGL support in Chrome/Chromium somehow?

          If you really wanted to get it to work, you could try it in another browser perhaps (Chromium or Firefox) or maybe with some 3D system options changed (perhaps even under VirtualBox emulation).

  • ... 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 I the only one who caught the names and the tie to "Ready Player One"? [] James Donovan Halliday and Ogden Morrow are characters in that book. Audio book narrated by the inimitable Wil Wheaton. Good book.

The world is coming to an end--save your buffers!