SortaCraft! [0.8 Alpha]

UPDATE 10/13/2021

It's been almost one year since SortaCraft was released.
Hang in there, SortaCraft 2 is still coming!
Preview -


This is my take on a Minecraft clone! This game was built with Three.js and JavaScript Modules, Web Workers and Service Workers.


This page will not be updated until I release Survival Mode.

Coming Soon: Beta!

How To Play

Click on the crosshair to lock your pointer
W A S D to move around
Scroll to change block
Space to go up
Right click to place, left click to break

UPDATE 12/1-4/2020

Baconman321 has collaborated with me on this project and has cut the loading time of chunks in half! Minor optimizations have also been made.

I have also reintroduced realistic lighting and optimized shadows to the game, making cave exploration, terrain, and buildings more visually interesting. A better offline cache system and versioning is in the works, along with sprinting (which I may warn you, is quite buggy at the moment). There is also a new menu you can access by pressing `. This menu allows you to change the material type of all chunks, and will greatly improve performance on lower-end devices.

The game has been optimized further, and the "plastic" look has been removed. Offline support is being worked on.

Q and A

  • The game is REALLY slow. Can you make it faster? Press ` (backtick) to change the graphics setting.
  • How do I change block? Scroll up and down.
  • It's so hard to look around. A: Make sure your pointer is locked(click)
  • It's so hard to place/break. A: It is a bit difficult to break/place on a touchpad. Try a mouse.
  • Why is it taking so long to place/break blocks? A: Please use a different computer.
  • Why can you jump so high? A: I'm lazy
  • Why is the sand biome all slabs? A: I need to fully implement half blocks

Image Gallery

You are viewing a single comment. View All

@tussiez I think creating a new version without Three.js and just WebGL would be a fun project.
I’ve gone through multiple revisions of this game, some starting all the way since last year. I’ve learned a lot about JavaScript during this project, and because of this the code has gotten a bit inconsistent. This could be fixed in a rewrite.

The first revision of this game didn’t have Web Workers, and was freezing up when I loaded in chunks. After adding a Web Worker, I realized that the data load from the worker itself was also causing the game to hang. Because of this, I created a clever cache system that lazy loads the lazy loaded chunks, to prevent lag. In a future revision, I could add an option that can customize the loading speed (The Web Worker generates the chunk blazingly fast, however the processing of the output does take some time) so you could get a faster load if you have a powerful computer. An automatic version of this could be done too.