13 ms·
As someone who has tried to do make a Minecraft clone in JavaScript perhaps I can shine a light on why I tried it. I guess first and foremost I'm fond of Minecr
by shortercode 7y ago
As someone who has tried to do make a Minecraft clone in JavaScript perhaps I can shine a light on why I tried it. I guess first and foremost I'm fond of Minecraft and I'm primarily a JS developer. So when I wanted to improve my game development and webGL/openGL capabilities it was quite a natural choice. Jumping into the actual project there's a few attempts around on the web, probably by people with similar mindsets. This means there some references on roughly how the game works. There's some quite interesting little things I learnt from it: implementing perlin noise, procedural generation techniques, triangulation of voxels, various boilerplate stuff for webGL and webGL 2, voxel optimised ray casting, deferred rendering, shadow mapping and world chunking.
All in all it was quite profitable; several of those things have come in useful for my day job since then. Of course it didn't much improve your game design skills, as I was just copying another game.
I never finished it, and looking around most of these copies are in a similar state. I'm proud of what I achieved and each problem I overcame but I can't even claim mine competes with the original or even the best clones out there. It's fairly easy to reason why most of these clones were never finished. It's a huge amount of work and the goal has already been reached by someone else. So motivation after the initial "oh hey I built something a little like Minecraft" is hard to find.
These sorts of project serve 3 purposes:
- inspire others to try something similar ( hopefully for the same reasons )
- improve your own abilities
- show appreciation to the developers of Minecraft
As for why this project is "hacker news worthy" I expect it's just because it looks more polished than most. But as I said above, most of the value of the project is to the developer, not anyone else.
- PopeDotNinja 7y agoStarting something to copy something else is totes how I got started with serious programming. By forcing myself to understand how something works without having much of an ability to read someone else's code, I learned so much. My GitHub is littered with these unfinished clone of projects, and I apologize for none of them :)