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í.
V kořenové složce projektu spusťte:
npm startnebo přímo přes Node.js:
node server.jsOtevřete prohlížeč na adrese: http://localhost:8080/
| 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) |
- 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í.
- Stisknutím F5 lze plynule přepínat mezi:
- Pohled z první osoby (klasický pohled očima hráče s 3D drženým blokem v ruce)
- Pohled ze třetí osoby zezadu s inteligentní kamerou, která detekuje kolize se stěnami
- 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).
- 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).
- 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).
- Ž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.
- 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.
- Oblohu ve výšce
y = 56brá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ě.
- 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/Spacea 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 HPpoškození při útoku zblízka se zvukem švihnutí meče)
- Ž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).
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č)
- 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.
- 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.
Projekt obsahuje sadu jednotkových a integračních E2E testů běžících v Node.js:
npm test