diff --git a/.github/assets/controls.png b/.github/assets/controls.png new file mode 100644 index 0000000..83674a9 Binary files /dev/null and b/.github/assets/controls.png differ diff --git a/.github/assets/ingame.png b/.github/assets/ingame.png new file mode 100644 index 0000000..d57118f Binary files /dev/null and b/.github/assets/ingame.png differ diff --git a/.github/assets/lightning.png b/.github/assets/lightning.png new file mode 100644 index 0000000..5d86e35 Binary files /dev/null and b/.github/assets/lightning.png differ diff --git a/.github/assets/loading_screen.png b/.github/assets/loading_screen.png new file mode 100644 index 0000000..e3adf53 Binary files /dev/null and b/.github/assets/loading_screen.png differ diff --git a/.github/assets/night.png b/.github/assets/night.png new file mode 100644 index 0000000..9089175 Binary files /dev/null and b/.github/assets/night.png differ diff --git a/README.md b/README.md new file mode 100644 index 0000000..c22643b --- /dev/null +++ b/README.md @@ -0,0 +1,63 @@ +# Minecraft recode in JavaScript + +This is a sandbox that provides all basic features of Minecraft.
+The main purpose of this project is to understand the render and physics engine of Minecraft.
+The source code was ported from the [java-minecraft](https://github.com/LabyStudio/java-minecraft) project. + +![Ingame](.github/assets/ingame.png)
+Click [here](https://labystudio.github.io/js-minecraft/) for a demo! + +### Feature Overview +- Block rendering +- Block collision +- Player movement + - Walking + - Sprinting + - Sneaking + - Flying + - Swimming +- Lightning + - Dynamic lightning + - Smooth lightning + - Day/Night + - Block light source +- World + - 16x16x16 Chunks + - Block type, data, sky & block lightning + - Perlin world generation +- Camera + - Frustum Culling + - Fog + - Underwater fog + - Dynamic FOV +- GUI + - Screens + - Loading Screen + - InGame Menu + - Controls Screen + - Widgets + - Button + - KeyBindButton + - Overlay + - Cross-hair + - Font rendering + - Hot-Bar +
+ +# Screenshots +_Note: All textures from the original game were used for the screenshots only!_ + +![Loading Screen](.github/assets/loading_screen.png) +![Lightning](.github/assets/lightning.png) +![Night](.github/assets/night.png) +![Controls](.github/assets/controls.png) + +### Licensing +- The main rendering library is [three.js](https://github.com/mrdoob/three.js/) +- The [stats.js](https://github.com/mrdoob/stats.js/) library is used for performance tracking +- Safari render issues fixed by [context-filter-polyfill](https://github.com/davidenke/context-filter-polyfill) +- All used sound resources are taken from [freesounds.org](https://freesound.org/people/C418/downloaded_sounds/?page=8#sound) + +
+ +NOT OFFICIAL MINECRAFT PRODUCT. NOT APPROVED BY OR ASSOCIATED WITH MOJANG. \ No newline at end of file