SortaCraft! [0.8 Alpha]
tussiez

UPDATE 10/13/2021

It's been almost one year since SortaCraft was released.
Hang in there, SortaCraft 2 is still coming!
Preview - https://sortacraft2.sortagames.repl.co/

ORIGINAL POST

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

NOTE

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.

12/3/2020
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.

12/4/2020
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

@Baconman321 Yeah... oof
Yeah, I would like to learn some more about PWA, so I will gladly accept your help. Oh, partial trees was a very interesting problem to solve. I used to allow trees inside the chunk, so they don’t generate half trees however it made tree clusters impossible. If you look in the code, there is an additional worker called geometrydataworker. This worker handles the geometry data generation, reducing the lag on the main thread. When chunk data is processed, the voxels are set in a global multi-chunk VoxelWorld, and this is where the geometry data is generated. This means every once in a while, half trees are generated (one chunk overrides the other) and sometimes they don’t happen and tree clusters work perfectly.
Yeah, I tuned the loader for the Acer R11 Chromebook. Around 50-60 FPS.

To put it simply, the chunk data is global, not relative.