Clone Minecraft 3D berbasis website yang responsif, detail, berperforma tinggi (60+ FPS), dan bebas bug. Dibangun dari awal menggunakan Three.js dan Vite tanpa aset gambar/suara eksternal (100% prosedural).
- Voxel Engine Berperforma Tinggi:
- Sistem chunking 16x64x16 dinamis di sekitar pemain.
- Optimasi Face Culling (hanya merender sisi balok yang terlihat).
- Ambient Occlusion (AO) 4 tingkat pencahayaan sudut balok.
- Fisika & Kontrol Karakter Halus:
- Resolusi tabrakan AABB sumbu terpisah (Y, X, Z).
- Auto Step-up (melangkah naik otomatis pada undakan setinggi <= 0.55 blok).
- Berjalan, lari cepat (sprint), melompat, jongkok (sneak).
- Fisika air dengan efek apung dan overlay kabut bawah air.
- Mode terbang (Creative Fly Mode).
- Interaksi Voxel Lengkap:
- DDA Voxel Raycasting akurat hingga jarak 5.5 blok.
- Animasi retakan 10 tahap (crack stages) saat menggali.
- Partikel 3D serpihan balok yang beterbangan saat balok dihancurkan.
- Penempatan balok dengan klik kanan (dilengkapi proteksi tabrakan tubuh pemain).
- Tekstur Pixel-Art Prosedural (Zero Asset Failure):
- 27+ tekstur otentik 16x16 pixel yang di-render langsung di HTML5 Canvas (
TextureAtlas.js). - Filter
THREE.NearestFilteruntuk tampilan pixel art retro tanpa blur.
- 27+ tekstur otentik 16x16 pixel yang di-render langsung di HTML5 Canvas (
- Audio Synthesizer Mandiri (Web Audio API):
- Efek suara langkah kaki sesuai material (rumput, batu, kayu, pasir, air).
- Efek suara galian, pemecahan balok, penempatan balok, loncatan, dan cipratan air.
- Lingkungan & Siklus Waktu:
- Siklus siang-malam dinamis dengan matahari, bulan, kabut atmosfer, dan 600 bintang.
- Awan 3D bergaya voxel yang bergerak perlahan di langit.
- Pohon oak alami dengan batang kayu dan mahkota daun.
- Antarmuka & Fitur Tambahan:
- Hotbar 9 slot dengan animasi pergantian dan tooltip nama balok.
- Tangan 3D First-Person yang memegang balok aktif dengan animasi ayunan galian.
- Menu Inventory penuh (tombol
E) untuk memilih semua jenis balok. - Layar Debug F3 (FPS, koordinat XYZ, chunk, arah mata angin).
- Menu Jeda (tombol
ESC) dengan pengaturan FOV, render distance, sensitivitas, dan volume audio. - Simpan & Muat Dunia otomatis (
localStorage), serta Ekspor/Impor file.json.
| Tombol / Kontrol | Aksi / Fungsi |
|---|---|
| Klik Layar / Kanvas | Mengunci kursor mouse & mengaktifkan kontrol kamera |
| W, A, S, D | Berjalan maju, kiri, mundur, kanan |
| Ctrl / Lari | Sprint (lari cepat) |
| Space (Spasi) | Melompat di darat / Berenang naik di air / Naik saat terbang |
| Shift (Kiri) | Jongkok (Sneak) / Meluncur turun saat terbang |
| Klik Kiri (Tahan) | Menghancurkan balok |
| Klik Kanan | Menempatkan balok |
| 1 - 9 / Scroll Mouse | Memilih slot Hotbar |
| E | Membuka / menutup Inventory |
| F | Mengaktifkan / mematikan Mode Terbang (Fly Mode) |
| F3 | Membuka layar informasi Debug & Koordinat |
| ESC | Membuka Menu Jeda & Pengaturan |
-
Clone repository ini:
git clone <URL_REPOSITORY_ANDA> cd "WEB DEV14"
-
Install dependensi:
npm install
-
Jalankan dev server:
npm run dev
-
Buka di browser: Kunjungi
http://localhost:3000/di peramban favorit Anda (Chrome, Edge, Firefox). -
Build untuk production:
npm run build