10 ms·
Skycraft: Minecraft clone in WebGL
- luisbebop 13y agoNice work. I really enjoyed the description about your infrastructure: http://haeric.github.io/2013/05/26/under-the-hood-of-skycraft/ http://haeric.github.io/2013/05/26/under-the-hood-of-skycraf...
- RKoutnik 13y agoAs an avid Minecrafter, I don't see what this adds to Minecraft. Sure, there's more blocks (I actually see that as a downside, increased block resolution means that it takes more work to build something) but what's the killer app? It's also annoying that it requires fullscreen to play. Why can't I multitask? It's worth noting that one can play Minecraft in a browser [0], so Skycraft doesn't have that as an advantage. Yes, Minecraft requires Java, but that won't get me to buy a poor clone of a game I already have and love. [0] http://minecraft.net/play http://minecraft.net/play
- zachlatta 13y agoThe selling point of Skycraft is that it's build with WebGL. Minecraft requires Java to run in the browser.
- UnfalseDesign 13y agoThe selling point of a game is never what language it was written in. That is one of the last things (if it ever is) on a consumer's mind when deciding whether to spend money on a product. It mostly comes into play when considering modding.
- MatthewPhillips 13y agoThat I can run this in a browser without plugins is definitely a selling point for me.
- jimmaswell 13y agoThat you can run it in the browser without plugins at 40% the speed of native code, probably without offline support, need them to be online to do multiplayer, have to redownload the whole thing every time you clear your cache and want to play it again, have to deal with browser quirks and the browser adding a level of instability? Doesn't sound attractive to me. I don't like the obsession with moving things to html5 that have no place in a web browser, at least as far as implying it's a legitimate goal for serious production. It results in apps that lag generations behind in performance just so we can say "look ma, no native code!"
- MatthewPhillips 13y ago> That you can run it in the browser without plugins at 40% the speed of native code, Minecraft isn't written in "native code" either. Have you noticed any problems with this demo? I haven't. > probably without offline support Wrong. > need them to be online to do multiplayer ? Of course you need to be online to do multiplayer... > redownload the whole thing every time you clear your cache and want to play it again What cache are you referring to? The normal browser cache won't affect this at all. Sure, you can remove appcache, localstorage, indexeddb data, but why would you? That's the equivalent of uninstalling a game. > have to deal with browser quirks and the browser adding a level of instability What does that have to do with you as a user? The developer has chosen to work around such issues because he/she sees benefit to being in the browser.
- throwaway2048 13y agoMinecraft uses a lot of native libraries via JNI[1]. Specificly the openGL rendering has been pushed out to native code due to both Java speed issues, and support for opengl features beyond OGL 1.1. As essentially all skycraft entails is a rendering of a pregenerated map with some minor UI and deformability, the parts of Minecraft this compares to are infact largely native. [1]http://en.wikipedia.org/wiki/Java_Native_Interface http://en.wikipedia.org/wiki/Java_Native_Interface
- jimmaswell 13y ago
- tmzt 13y agoMeaning it runs on a Chromebook, for instance, and other mobile devices without (Oracle) Java
- zachlatta 13y agoI'd hesitate to call Skycraft a game geared towards consumers, despite the developer's intentions. It feels geared toward the hacker crowd because of what's going on under the hood.
- JeanPierre 13y agoWell, there are some comments just about that in the "coming soon" part, and it seems that the selling point is about making multiplayer easier for you compared to Minecraft. Whereas you have to host a Minecraft server yourself (or host a world on a LAN) in order to play multiplayer, Skycraft doesn't require you to do that. All you have to do is share a link with your friends. In addition, you can "[i]nvite anyone to fly or walk around in your world in spectator-mode", which I optimistically intepret as "walk around in my world without buying the game". (Of course, that's my take on it.)
- wwwtyro 13y ago> It's also annoying that it requires fullscreen to play. It's probably because Firefox currently requires fullscreen in order to engage pointer lock.
- haeric 13y agoYou, sir, are correct! :)
- shocks 13y agoHit "Play Demo" and it went fullscreen with no indication of loading. Nothing appears to happen even if you wait. What is going on? Firefox Nightly 24.0a1 (2013-06-02)
- zachlatta 13y agoIt took quite a while on my machine to load. The green rotating block on the right shows the loading progress. If you don't see that, chances are that WebGL is disabled or not supported.
- hkmurakami 13y agoI thought that green block filling up was a really nice playful touch. Letting us get closer to the game during a loading screen with an in game element gave me some positive anticipation for when the load would finish.
- dmd 13y agoThe green block filling up is all I ever got. It consistently stalls at about 50% for me.
- pdknsk 13y agoHow did you submit this? http://news.ycombinator.com/item?id=5738984 http://news.ycombinator.com/item?id=5738984
- hkmurakami 13y agoHN allows duplicate submissions after some period of time has passed. Maybe the current threshold is 2 weeks.
- r4vik 13y agoI didn't know HN would let you submit dupes either, I just came across it on my tumblr dash and thought it was quite cool.
- hkmurakami 13y agoI'm on a 30 inch monitor (and whatever the standard resolution is) and when the game was loading in full screen, the explanation text went way into the white clouds and it became very difficult to read. An edge case, but wanted you to be aware of it. (Firefox 21.0 + Ubuntu fwiw)
- DigitalSea 13y ago29 inch monitor here on Google Chrome (latest) in Windows 7 and no problems here. Looks great having all of that extra screen space with that background.
- hkmurakami 13y agoThought I'd share a SS. I used Firefox's full screen mode since WebGL's fullsceen mode would exit to normal mode when taking a SS. http://i.imgur.com/UpNjiBJ.png http://i.imgur.com/UpNjiBJ.png you can see how the last 2-3 lines are low contrast and hard to see
- lucb1e 13y agoWeird that FF's FSM works while WebGL's FSM exits to NRMLM when taking an SS.
- haeric 13y agoThanks for taking a screenshot; I'm only on a 1680x1050 22", so I really have no good way of testing large resolutions! :) What's your resolution? Is it any better now, care to take a new screenshot? (Proxy debugging/designing through HN ftw)
- lgieron 13y agoYou can create a virtual machine with arbitrarily large resolutions (VMWare supports it) and test there - The vm's screen will be rendered into a window with scroll bars.
- deleted 13y ago[deleted]
- recursive 13y agoThis is a very minor point, but it's difficult for me to move around in a first person environment without an inverted mouse.
- stephengillie 13y agoI agree, and I would like to be able to bind EDSF to direction keys when possible. But it IS just a tech demo. Changeable settings I would expect by mid-beta at least, but this is probably late alpha.
- RobotCaleb 13y agoI have long fought the battle by spouting the many advantages of ESDF, but WASD is just too ingrained in people's heads.
- stephengillie 13y agoI'm not sure of many advantages, other than having an extra button or 2 available for the pinky finger. Otherwise it's basically just a matter of shifting your keyboard about an inch right or left. I started as a WSAD user in 1999, but I turned EDSF in 2004. (And I'll argue the letters should be arranged in "up-down-left-right" pattern, not "up-left-down-right" :p )
- RobotCaleb 13y agoMore keys available on the left side. Easy to find by feel given the tick on the F, not to mention (but I will) that it's the natural location for your fingers to return to. I'm more about the speed of things. I played a ton of twitchy 1v1 UT2k4 and had all weapons that would see real use mapped to a key right around my left hand. Also, jump on right click. Jumping was crucial to movement and the throw time for the spacebar had an (to me) noticeable effect.
- haeric 13y agoAh, yeah, there isn't really a settings page yet. But you can invert the Y-axis by pressing F4! :)
- itafroma 13y agoEdit: I just wanted to preface this by saying I think this is a very cool demonstration and a great first step towards a game: I should've made that clearer in the rest of my comment which continues below. The state of the demo is about where Notch was about this time in 2009: http://www.youtube.com/watch?v=F9t3FREAZ-k http://www.youtube.com/watch?v=F9t3FREAZ-k I point that out because every month or so someone creates a "voxel"-based terrain generator with basic building and gets branded a "Minecraft clone", as if that's all there is to one of the most abnormally successful indie games of all time. Unfortunately, it takes a lot more than that just that to make something that's actually fun to play and is comparable to even Minecraft in its pre-alpha incarnations. And if his success wasn't enough, Notch was comparatively fast at developing Minecraft (at least initially). Within a couple of weeks of the video I linked above, he had water and multiplayer working[1]. Nevertheless, it still took another 2.5 years to get to a 1.0 product, and Mojang is still hacking away at it. Skycraft, on the other hand, doesn't appear to have changed at all since it was last featured on HN[1] two weeks ago. I don't mean to be a negative Nancy about it: I think it's great to mess around with this stuff and if playing around with a basic Minecraft/Lego-esque builder scratches a gamedev itch for you, that's awesome. But it seems really premature to start asking for money for it[2], even as a "Kickstarter"-type pledge drive: I'm not sure I'd even consider this a MVP or proof-of-concept yet. Skycraft today is, relatively speaking, the easy part, and really more of a technical demo: there's no game here yet. Best of luck to the developer, though: I'd love to see if they stick with it and make something really cool. The other ones I've seen all seem to die off shortly after being featured. [1]: http://www.youtube.com/watch?v=kEAHqgZU-0o http://www.youtube.com/watch?v=kEAHqgZU-0o [1]: http://news.ycombinator.com/item?id=5738984 http://news.ycombinator.com/item?id=5738984 [2]: http://skycraft.io/#buy http://skycraft.io/#buy
- joebob 13y agoInteresting
- epidemian 13y agoPretty nice. I found a spherical cave with a 3x3x3 cube of some light-blue material suspended in the middle. Have i found diamonds? =D The light-blue blocks emit light when they are in block form. The illumination looks quite good and seems very reminiscent of the original Minecraft illumination technique, where light "leaks" through holes. Props to that!
- haeric 13y agoYou found the "Gravity crystal"... which currently does very little except glow, but that will change! ;) Thanks for the kind words! I tested several different illumination techniques, including having shadows depend more on the direction of the sun, but the "Minecraft-radiance" lighting just looked the best in this kind of world, in my opinion :)
- geuis 13y agoRegular minecraft player here. Your blocks are way too small.
- Houshalter 13y agoYou can change the cursor size with the number keys. Try it.
- T-Winsnes 13y agoPress Q to change the size
- RobotCaleb 13y agoPlease, if you're going to present a demo, take time to add a toggle for look_y * invert where invert is 1 or -1. :(
- xaritas 13y agoI think we y-inverters are a dying breed, brother.
- taternuts 13y agoI think it's from the days where flight-sims ruled
- xaritas 13y agoNo doubt about it. I think Elite was the first first-person, 3D game that I played. It pretty much wired my brain to y-invert, with lots of reinforcement from Flight Simulator II and Starglider... carrying it over to Doom and Duke seemed most natural. While we're on the topic, Google Maps has mousewheel zoom backwards, too, and now it has become convention. Jerks.
- RobotCaleb 13y agoI've given up on advocating ESDF. :(
- sejje 13y agoI invert on controllers, but never have on the mouse.
- haeric 13y agoIt's actually in the game, there just isn't any GUI for it yet, so the only way to trigger it is to press F4 :)
- robbles 13y agoNice work on building this! It's probably mentioning that the open-source and awesome http://voxeljs.com/ http://voxeljs.com/ has more of the base features of Minecraft than this, and much better performance too. If you're planning on building a Minecraft clone, don't reinvent the wheel!
- mcmire 13y agoRight, at first I thought this was done by the creators of voxel.js. Perhaps this was an exercise for the OP and that is fine but it seems there is a fair bit of reinventing the wheel going on here.
- haeric 13y agoVoxel.js is great! But it didn't exist when I started, (so it wasn't really re-inventing the wheel at that time) and it lacks some of the things which I have spent the most time tuning and getting right, like lighting and ambient occlusion. The lack of these features is also part of why voxeljs has better performance at the moment. I contemplated changing to voxeljs when it came out, but Skycraft has some properties that might not fit properly into a generic voxel engine.. the islands, for instance, allow for some unique optimizations. And the small, one-color blocks allow for other optimization again. So it wouldn't be easy to make Skycraft work with voxeljs, or use the optimizations of Skycraft in voxel.js. Thanks for the "Nice work" though! :)
- KingdomSprite 13y agoI think this game has some real potential, but in its current state I don't think it's worth backing. I think that the most deciding factor for me at least will be efficiency. I am waiting for the day that someone creates a voxel game with near infinitie sized worlds that has a super efficient way of generating "chunks" (they don't even need to use the concept of chunks) that makes the game run really fast. To me, that's the largest downside to Minecraft and something that could really be improved upon.
- haeric 13y agoWorld generation is definitely one of the most time-consuming bits, and Skycraft is nowhere near where I want it to be at this point. It'll get much better, and I'll keep experimenting with new ways to store the blocks instead of as pure voxels. But I think the chunks will be there in some form or another, as it's a very natural way to not have to send ALL the vertices of the world to the GPU each time you build a new block :)
- uvdiv 13y agoChrome users need their settings to "allow sites to disable mouse cursor". Just an observation: this wasn't obvious to me.
- Tiktaalik 13y agoReally great presentation during the loading sequence.
- jlgreco 13y agoThere is something very wrong with the camera/movement for me. The camera seems to be "tilted" to the side, and perhaps offcenter from the movement? Like if I had eyeballs coming out of my right bicep instead of my head. Mining also seems to happen somewhere to the right of the center of my screen, not from the middle. Screenshot showing the tilt: http://i.imgur.com/tW2h9Dr.png http://i.imgur.com/tW2h9Dr.png (I un-fullscreened for the screenshot. )
- epinlb 13y agoI looks pretty cool and just that fact that it is 6 dollars was enough for me to buy it and see where it will end up. But I always buy games that are that price as long as it doesn't look totally broken and is kind of cool.
- haeric 13y agoThank you! Seeing people buy it this early is a great motivation for me, and is the reason I can quit my summer internship this summer to work on Skycraft instead :)
- 510 13y ago[Insert pointless negative comment]
- ChrisNorstrom 13y agoReally nice. As I created my sweet tree house and bridge to the other islands in your game, my thoughts of "wow what a capable developer" kept turning into, "Why's a talented person like this working on a clone of someone else's work? Why not invest this energy in an original title and truly shine?". If you're talented enough to put together a clone, you're talented enough to create an original title with it's own audience. Maybe this is just an exercise but I do hope you iterate this towards something unique. If anything here's a list of things that I HATE about minecraft and that you can use to differentiate yourself: - I hate having to harvest blocks. I wish I could just click once and immediately harvest the block. Someone made a browser game like that a while back (forgot the name) and I immediately spent hours building a city because it was so much more intuitive and easy. - I hate having to collect all the blocks I've broken up by walking over to them. Just give them to me directly. - I hate having to harvest a block in order to plant it somewhere else. I wish I could just harvest a block type once and then be able to infinitely use copies of that block. - I hate the closeness that I need to be in order to harvest and plant blocks. I'd love to be able to build something 20 blocks or so away from me rather than have to be close by blocks. - I hate how Minecraft didn't explain anything in-game. I shouldn't have to rely on an external source to understand a game. Call me stupid but I think this is terrible user experience and is just taking us back to the days of games that required strategy guides or online faqs to beat.
- chocolate_ 13y agoHave you ever played creative mode in Minecraft? Or do you actually want to harvest? There are probably mods for what you want.
- Impossible 13y ago"- I hate how Minecraft didn't explain anything in-game. I shouldn't have to rely on an external source to understand a game. Call me stupid but I think this is terrible user experience and is just taking us back to the days of games that required strategy guides or online faqs to beat." The XBLA version of Minecraft has an in game guide, and many people prefer that version because of it. I think there is an assumption that on the PC and mobile versions of Minecraft players will always have easy access to a browser, but that there would be too much friction to look up info in a browser on a console (requiring you to quit the game or look it up on an external device).
- zobzu 13y agodoesn't support international keyboard mappings properly :) else.. its pretty cool!
- haeric 13y agoComing very soon! :)
- deleted 13y ago[deleted]
- kristianp 13y agoOne question, is this a bug? When I started playing, the blocks I created were large, and I couldn't mine, but after hitting esc, then resuming again, the blocks I created were 16th the original size and I could mine small blocks. The brown block in the foreground here is the first size I could create: http://imgur.com/R3ywZ6T http://imgur.com/R3ywZ6T
- Houshalter 13y agoThe number keys seem to change the size of the blocks.
- kristianp 13y agoAh, I see now. Q changes size.
- bluepill 13y agovery nice, pretty expensive for a work in progress project though
- ritonlajoie 13y agoPlease, WebGL demo creators, support additional key bindings. On an azerty keyboard it's unplayable.
- haeric 13y agoSorry about that, key mapping is coming soon!
- Houshalter 13y agoI like the small block resolution and the ability to place/break both large and small volumes. That is very cool.
- vxxzy 13y agoStrange... My HAVP proxy picked up some of the JS as an exploit?? http://skycraft.io/skycraft.js http://skycraft.io/skycraft.js HTML.Exploit.Heap-2
- haeric 13y agoHum.. it seems your antivirus might react to Skycraft using a lot of memory, which it seems to associate with a certain exploit. What browser are you using?