Skip to content

About

Minecraft Lite - browser voxel sandbox originally created with Antigravity

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minecraft Lite (3D Voxel Sandbox)

Kompletní, lehký a rychlý klon hry Minecraft běžící v prohlížeči přes WebGL (Three.js) bez nutnosti instalovat těžké nativní knihovny. Všechny textury a zvuky jsou generovány procedurálně za běhu, takže hra funguje 100% offline bez jakýchkoliv externích závislostí.


🎮 Jak spustit hru

V kořenové složce projektu spusťte:

npm start

nebo přímo přes Node.js:

node server.js

Otevřete prohlížeč na adrese: http://localhost:8080/


🕹 Ovládání (Controls)

Klávesa / Myš Akce
W, A, S, D Pohyb hráče (Dopředu, Dozadu, Vlevo, Vpravo)
Pohyb myší Rozhlížení z pohledu kamery (Pointer Lock)
Mezerník (Space) Skok / V letovém módu stoupání nahoru / Ve vodě plavání nahoru
2x Mezerník (Double-Jump) Rychlé přepnutí letového módu (Creative Flying ON/OFF)
Shift Plížení (zpomalení a ochrana před pádem z okraje) / Klesání v letovém módu
Ctrl Sprint (zrychlený běh s dynamickým rozšířením zorného pole FOV)
G Přepínání herních režimů: Survival ➔ Klidný (Peaceful) ➔ Kreativní (Creative)
F Přepnutí mezi módem Survival a Creative Flying (Létání)
F5 Přepínání pohledu kamery: 1. osoba ➔ 3. osoba zezadu ➔ 3. osoba zepředu (3D model Steva)
R Přepínání počasí: Jasno ☀️ ➔ Déšť / Sněžení 🌧️ ➔ Bouřka s blesky ⛈️
T Posun denní doby: Svítání (06:00) ➔ Poledne (12:00) ➔ Západ slunce (18:00) ➔ Půlnoc (00:00)
E Inventář a Crafting: Otevření inventáře všech 38 bloků/nástrojů a výrobního stolu
Levé tlačítko myši Boj / Těžení: Útok na zaměřeného moba (dosah 4 bloky, Diamantový meč dává 12 dmg) / Progresivní těžení se zobrazením 3D prasklin (Diamantový krumpáč těží 3.5× rychleji) / Okamžité ničení bloků (v Creative módu)
Pravé tlačítko myši Položení / Interakce: Položení vybraného bloku / Otevření Crafting Table / Spánek v posteli (Bed) (uloží Spawnpoint, uzdraví a přeskočí noc/bouřku) / Zapálení položeného TNT
Stisknutí kolečka myši (Middle Click) Pick Block: Okamžitý výběr zaměřeného bloku ze světa do aktivního slotu hotbaru
1 – 9 / Kolečko myši Výběr aktivního slotu v dolním Hotbaru
F3 Přepnutí Minecraft Debug obrazovky (FPS, XYZ souřadnice, chunk, biom, počasí, rotace)
Esc Odemknutí myši a otevření Pauza menu (Uložení/Načtení/Nový svět, Počasí, Ambientní hudba, Nastavení FOV, Citlivosti a Render Distance)

🏗 Klíčové vlastnosti a architektura

1. Herní režimy (Game Modes - klávesa G)

  • Survival (Přežití):
    • Plnohodnotný zážitek s těžením závisejícím na tvrdosti bloku, zdravím (10 srdíček), kyslíkem při potápění (10 bublin), zraněním od monster, pádů, kaktusů a lávy.
    • Výroba předmětů v craftingu vyžaduje skutečné suroviny nasbírané ve světě.
  • Klidný (Peaceful / Bez boje & volný crafting):
    • Nepřátelští mobové se nespawnují (nebo okamžitě zmizí).
    • Zdraví a kyslík se automaticky doplňují na maximum.
    • V craftingu lze vyrábět všechny recepty zdarma bez spotřeby surovin.
  • Kreativní (Creative):
    • Okamžité ničení bloků jedním kliknutím.
    • Neomezený volný crafting a možnost volně létat po světě.
    • Hráč je imunní vůči všem formám zranění.

2. Třetí osoba a 3D model hráče ("Steve" - klávesa F5)

  • Stisknutím F5 lze plynule přepínat mezi:
    1. Pohled z první osoby (klasický pohled očima hráče s 3D drženým blokem v ruce)
    2. Pohled ze třetí osoby zezadu s inteligentní kamerou, která detekuje kolize se stěnami
    3. Pohled ze třetí osoby zepředu (selfie kamera)
  • Kompletní 3D model postavy Steva:
    • Hlava s vlasy, trup s tyrkysovým tričkem, modré kalhoty, paže a nohy.
    • Plynulá animace končetin při chůzi (limb swing) synchronizovaná s rychlostí pohybu.
    • Dynamické švihnutí pravé paže při úderu nebo těžení.
    • Naklánění hlavy nahoru a dolů přesně podle úhlu pohledu hráče (pitch).

3. Ekosystém mobů a bojový systém (js/mobs.js)

  • Pasivní zvířata:
    • Prase (Pig): pobíhá po loukách a lesích, při zasažení zpanikaří a utíká.
    • Ovce (Sheep): mírumilovné zvíře s vlnou, generuje se na travnatém povrchu.
  • Nepřátelská monstra:
    • Zombie: v noci vyhledává hráče v okruhu 15 bloků a útočí zblízka.
    • Creeper: tichý predátor. Jakmile se přiblíží k hráči na méně než 2.8 bloku, začne syčet, nafukovat se a po uplynutí zápalné doby detonuje se silou TNT!
  • Bojová mechanika (Melee Combat):
    • Kliknutí levým tlačítkem na moba v dosahu 4 bloků provede úder se zraněním a zpětným rázem (knockback).
    • Procedurální zvuk zásahu pro každý typ moba (playMobHurt).
    • Při usmrcení moba vznikne kouřový efekt a vypadne surovina jako 3D rotující drop (např. TNT z creepera, vlna z ovce).

4. Gravitace sypkých bloků (Falling Sand & Gravel)

  • Bloky Písek (Sand) a Štěrk (Gravel) reagují na zemskou přitažlivost.
  • Pokud se pod blokem písku nebo štěrku nachází vzduch nebo voda, blok se uvolní, promění se v plynule padající 3D fyzikální entitu s realistickým zrychlením a po dopadu na pevnou zem se opět usadí jako pevný blok.
  • Gravitace funguje i kaskádovitě pro celé sloupce písku a štěrku (např. při odpálení dutiny pod dunou).

5. Interakce lávy a vody (Lava + Water ➔ Obsidian)

  • Žhavá Láva (Lava) je nebezpečná tekutina způsobující vysoké kontaktní poškození a vyzařující světlo (lightLevel = 15).
  • Při kontaktu proudící vody s blokem lávy dojde k okamžitému zchlazení – blok lávy ztuhne v nezničitelný Obsidián (Obsidian) za doprovodu syčení a hustého kouře.

6. 3D Dropped Items (Vypadlé předměty a magnetické sbírání)

  • Zničené bloky ve světě nevytvářejí pouhé vizuální částice, ale spawnují skutečné 3D rotující předměty odpovídající danému typu bloku.
  • Předměty mají fyziku dopadu na terén a vznášejí se s autentickým pohupováním nahoru a dolů.
  • Když se hráč přiblíží na vzdálenost menší než 2.2 bloku, předmět je magneticky přitažen k hráči.
  • Ve vzdálenosti pod 1.1 bloku hráč předmět sebere, přehraje se zvuk sebrání (playPickup) a surovina se přičte do inventáře pro další crafting.

7. Dynamické 3D mraky, počasí a živá příroda

  • Oblohu ve výšce y = 56 brázdí procedurální bloková pole polo-průhledných bílých mraků.
  • Dynamické počasí (klávesa R): přepínání mezi Jasno, Déšť / Sněžení (v horském biomu sněží vločky, v nížinách prší se zvukovou kulisou deště) a Bouřka (s blesky, hřměním a otřesem kamery).
  • X-Mesh vegetace: louky a lesy jsou porostlé 3D křížovou vegetací (Rudá růže, ** Pampeliška**, Vysoká tráva), kterou lze procházet i těžit.
  • Animované textury a dynamické světlo v ruce: voda i láva plynule animují své vlnění v atlasu textur, láva vystřeluje žhavé jiskry a držení Pochodně (Torch) nebo Glowstonu v ruce dynamicky osvětluje okolní jeskyně.

8. Kompletní systém Craftingu, Nástroje a Interaktivní bloky

  • Otevřením inventáře klávesou E nebo kliknutím pravým tlačítkem myši na blok Crafting Table ve světě se otevře přehledná výrobní nabídka (14 receptů):
    • Dřevěná prkna, Kámen, Cihly, Sklo, Knihovna, TNT, Glowstone, Zarostlý kámen, Crafting Table, Jack o'Lantern
    • Pochodeň (Torch x4): 1x Uhelná ruda + 1x Prkna (svítící křížový blok lightLevel = 15)
    • Postel (Bed x1): 3x Prkna + 2x Listí (pravým tlačítkem uloží Spawnpoint, uzdraví hráče a přeskočí noc či bouřku s plynulým stmíváním)
    • Žebřík (Ladder x3): 3x Prkna (umožňuje šplhání po stěnách pomocí W / Space a držení pozice pomocí Shift)
    • Diamantový krumpáč (Diamond Pickaxe x1): 2x Diamantová ruda + 1x Prkna (3.5× rychlejší těžba všech bloků v Survivalu)
    • Diamantový meč (Diamond Sword x1): 2x Diamantová ruda + 1x Prkna (12 HP poškození při útoku zblízka se zvukem švihnutí meče)

9. Luxusní HUD, Minimapa a C418 Ambientní Soundtrack

  • Živá 2D Minimapa a Kompas v pravém horním rohu vykresluje okolní terén s výškovým stínováním, okolní moby (zeleně pasivní zvířata, červeně monstra), ukazatel směru pohledu hráče, denní hodiny (☀️ 12:00 / 🌙 00:00), ikonu počasí a aktuální biom.
  • Game Feel (Juice): otřes kamery (Screen Shake) a červená viněta (#damage-vignette) při zranění či blízké explozi TNT/Creepera.
  • C418 Ambientní klavírní hudba: procedurální Web Audio generátor přehrává jemné pentatonické akordy s dlouhým dozvukem (lze přepnout v menu pauzy).

10. Registr všech 38 typů bloků a nástrojů (js/blocks.js)

1–30: Grass, Dirt, Stone, Cobblestone, Oak Wood, Oak Leaves, Planks, Brick, Sand, Glass, Water, Coal Ore, Iron Ore, Bedrock, TNT, Bookshelf, Obsidian, Gold Ore, Diamond Ore, Snow, Glowstone, Mossy Cobblestone, Cactus, Pumpkin, Gravel, Crafting Table, Jack o'Lantern, Birch Wood, Birch Leaves, Lava 31–38: Torch (Pochodeň), Bed (Postel), Ladder (Žebřík), Red Flower (Růže), Yellow Flower (Pampeliška), Tall Grass (Vysoká tráva), Diamond Pickaxe (Diamantový krumpáč), Diamond Sword (Diamantový meč)

11. Kyslík, potápění a zranění (js/player.js, js/ui.js)

  • Při ponoření hlavy pod hladinu vody se zobrazí 10 bublin kyslíku.
  • Kyslík postupně ubývá (15 sekund ponoru). Po vyčerpání začne hráč utonutím ztrácet 2 body zdraví za sekundu.
  • Při vynoření se bubliny doplňují a po 4 sekundách bez zranění se zdraví regeneruje.
  • Kaktusy i láva udělují kontaktní poškození při dotyku.

12. Perzistence (Ukládání a načítání světa i hráče)

  • Tlačítko Save World i zavření okna prohlížeče automaticky ukládá:
    • Všechny provedené úpravy voxelového světa a seed.
    • Pozici, uložený Spawnpoint (lůžko), rotaci kamery a aktivní slot hráče.
    • Sestavu hotbaru i přesné počty nasbíraných surovin v inventáři.
    • Aktuální zdraví, zásobu kyslíku, herní režim, počasí a fázi dne/noci.

🧪 Automatizované testy

Projekt obsahuje sadu jednotkových a integračních E2E testů běžících v Node.js:

npm test

About

Minecraft Lite - browser voxel sandbox originally created with Antigravity

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages