Zdrojový kód hry kulečník: uvnitř HTML5 balíčku 8-ball
Fyzika, pravidla, počítačový soupeř a uložení v oddělených souborech: co obsahuje zdrojový kód Velvet Pool a co kupující mění jako první.

Zdrojový kód hry kulečník se vyplatí koupit, pokud jsou tři věci uloženy v oddělených, čitelných souborech: fyzika koulí, pravidla 8-ball a počítačový soupeř. Pokud jsou propletené, každá změna barvy plátna nebo obtížnosti soupeře se promění v ladění. Velvet Pool, naše šablona 8-ball, je drží odděleně, a tento průvodce prochází jeho balíček soubor po souboru.
Probereme, jak je kód uspořádán, co kupující obvykle mění jako první, jak hru hostovat nebo zabalit do aplikace, co licence dovoluje a co edice nezahrnuje. Každý název souboru níže pochází z průvodce kupujícího, který je součástí hry.
Stručně: Velvet Pool je prostý JavaScript na WebGL2, bez 3D knihovny a bez kroku sestavení. Upravíte soubor, zkopírujete ho do složky hry a stránku znovu načtete.
Co obsahuje tento zdrojový kód hry kulečník
Velvet Pool je hotová hra 8-ball, nikoli engine ani startovací kit. Stahovaný balíček má čtyři složky: game/ je hotový výstup připravený k nahrání, source/ je táž hra jako vývojářská edice s README, package.json a testy, documentation/ obsahuje ilustrovanou příručku v angličtině a portugalštině a THIRD-PARTY-LICENSES/ obsahuje texty licencí písem.
Samotná hra hraje 8-ball s faulami, míčkem v ruce (ball-in-hand, pokládání bílé koule) a plnými nebo pruhovanými koulemi. Jsou tu tři úrovně počítačového soupeře (Easy, Medium a Hard), volný tréninkový stůl s vrácením tahu, pokládáním koulí a novým rozestavěním a zápasy pro dva hráče na jednom zařízení. Hráči přidávají k bílé kouli follow (dotočení), draw (zpětný chod) nebo boční rotaci a lokální úspěchy odemykají pět barev plátna a pět stylů tága. Rozhraní je k dispozici ve 14 jazycích.
- Technologie: prostý JavaScript, ES moduly a WebGL2. Žádné Three.js ani jiná knihovna kódu.
- Kód: čitelný, formátovaný JavaScript ve složkách source/src a game/src. Nic není minifikováno ani sbalené do jednoho souboru.
- Testy: volitelné, s Node.js 20 nebo novějším. Kontrolují fyziku, pravidla 8-ball, zápasy s počítačem a klíče překladů.
- Verze v době psaní: 1.1.0, aktualizovaná 22. října 2026.
Podívejte se na stránku Velvet Pool, demo a příručku
Jak jsou soubory uspořádány
Složky game/ a source/ mají stejné rozložení, takže cesta v jedné složce ukazuje na stejný soubor v té druhé. Nejdůležitější rozdělení u hry kulečník je mezi src/core/ (simulace a pravidla) a src/game/ (vše, s čím hráč pracuje).
- src/core/physics.js: simulace koulí, rotace a odraz od mantinelu.
- src/core/rules.js: pravidla 8-ball a rozhodování o faulech.
- src/core/ai.js: jak počítačový soupeř volí svůj úder.
- src/game/controls.js: míření, síla a vstup rotace.
- src/game/progress.js: úspěchy, plátna, tága a bodování zápasů.
- src/game/i18n.js: texty ve 14 jazycích, uvedené v LANGS.
- src/game/localRecords.js: lokální historie skóre.
- src/game/audio.js: přehrávání efektů a hudby.
- css/style.css a css/fonts.css: motiv, responzivní rozložení a deklarace písem.
- assets/: grafika, zvuk a písma, loga jsou v assets/logo/.
Protože fyzika, pravidla a počítačový soupeř jsou oddělené moduly, můžete soupeře udělat shovívavějším, aniž byste se dotkli pohybu koulí, nebo změnit pravidlo faulu, aniž byste znovu ladili mantinely. Právě toto oddělení je hlavní věc, na kterou se u jakéhokoli kódu pro kulečník, který kupujete, dívejte.
Co kupující mění jako první
Většina projektů jde ve stejném pořadí. Začněte tím, co hráči vidí, pak tím, co cítí, a pravidla nechte na konec, protože právě v pravidlech se nejsnáze zavleče chyba.
- Značka: nahraďte soubory loga ve složce assets/logo/ a upravte odpovídající velikosti v CSS. White label je povolen, takže vaše jméno nebo jméno vašeho klienta může nahradit naše.
- Vzhled stolu: barvy a písma jsou v css/style.css. Definice plátna a tága jsou v progress.js. Držte jejich ID stabilní, jinak hráči přijdou o kosmetiku, kterou již odemkli.
- Texty a jazyky: každý řetězec je v i18n.js. Upravte znění, které potřebujete; seznam jazyků je v LANGS.
- Obtížnost počítačového soupeře: výběr úderu je v ai.js. Laděte vždy jednu úroveň a proti ní sehrajte celý zápas.
- Fyzika: tření, rotace a odraz od mantinelu jsou v physics.js. Malé změny tu hodně znamenají, takže po každé spusťte testy.
- Pravidla: domácí varianty patří do rules.js. Faul a míček v ruce otestujte ručně, nejen sadou testů.
Postup je pro všechny stejný: upravte soubor ve složce source/, zkopírujte ho na stejnou cestu do složky game/, spusťte složku přes HTTP a stránku znovu načtěte. Průvodce kupujícího doporučuje měnit jednu funkci najednou a po každé změně otestovat menu, zápas, pauzu, obrazovku výsledku a znovunačtení stránky.
Hosting, vložení na web nebo zabalení do aplikace
Hostování je nejjednodušší část. Nahrajte vše uvnitř složky game/ do složky typu public_html/velvet-pool/, podsložky ponechte a otevřete adresu. Na serverové straně není potřeba npm, terminál, PHP, databáze ani účet. Stačí hosting, který podává statické soubory přes HTTPS.
- Dvojklikem neotevírejte index.html: prohlížeče blokují herní moduly na file://. Pro lokální test spusťte uvnitř složky game/ příkaz python -m http.server 8765.
- Pokud zůstane obrazovka prázdná, zkontrolujte, zda je WebGL2 zapnutý a zda názvy souborů zachovávají velká a malá písmena.
- Pokud prohlížeč modul odmítne, váš server posílá soubory .js s chybným MIME typem.
- Uvnitř iframe na portálu povolte celou obrazovku a automatické přehrávání.
Vše, co hra potřebuje za běhu, je uvnitř složky game/, takže se nic nenačítá z CDN ani z jiného webu. Každé nové načtení stránky stále jde na váš hosting, takže nejde o aplikaci pro instalaci a offline použití. Na dotykových obrazovkách funguje: hráči míří na stůl a tahají za ovladač síly.
Projekty nativních aplikací nejsou součástí balíčku. Pokud chcete hru v Google Play nebo App Store, běžnou cestou je obal jako Capacitor, který jeho tvůrci popisují jako multiplatformní nativní běhové prostředí pro tvorbu mobilních aplikací z webového kódu. Sestavení a údržba projektu pro obchod je vaše práce, nebo služba, kterou nabídneme samostatně.
Co tato edice nezahrnuje
Velvet Pool je lokální edice pro prohlížeč. Nemá online multiplayer ani soukromé místnosti, online žebříček, cloudové účty ani reklamní SDK. Dva lidé mohou hrát na jednom zařízení a osobní skóre z oprávněných zápasů s počítačem se ukládá v prohlížeči. Tréninkové a zápasy na jednom zařízení skóre neukládají.
Online hra potřebuje vlastní server a vývoj. Je to skutečný projekt, takže s ním počítejte od začátku a nečekejte, že šablona vyroste sama. Pokud váš katalog potřebuje další sportovní hry, i tyto dvě se prodávají jako hotové edice pro hostování v prohlížeči.
Puttide: minigolf ve 3D s 30 jamkami, také v prostém JavaScriptu
Golazo: stolní fotbal s 50 národními týmy
Licence a cena v jednom odstavci
Velvet Pool stojí 39 USD. Do 30. listopadu 2026 platí akce Black Friday, která sníží cenu každé šablony o 15 %, takže stojí 33,15 USD, a objednávky dvou nebo více šablon dostanou navíc slevu 5 % až 20 %. Každá koupě je trvalá, nevýhradní licence pro jeden koncový produkt, váš nebo jednoho vašeho klienta. Kód, grafiku a zvuk uvnitř tohoto produktu můžete měnit a dát na něj vlastní značku. Hráči se k němu dostanou zdarma nebo s reklamou. Samotnou šablonu ani její kód nesmíte dál prodávat. Šest měsíců podpory je v ceně, nebo 12 měsíců s rozšířením při pokladně; zakázková úprava, hosting a integrace SDK nebo portálu se nabízejí zvlášť.
Přečtěte si celé podmínky licence a podpory
Často kladené otázky
Je zdrojový kód hry kulečník čitelný, nebo minifikovaný?
Čitelný. JavaScript ve složkách source/src a game/src je prostý a formátovaný, bez minifikovaných nebo sbalených souborů.
Potřebuji Node.js nebo krok sestavení?
Ne. Soubory upravujete ve složce source/ a kopírujete je do game/. Node.js 20 nebo novější je potřeba jen tehdy, když chcete spustit volitelné testy.
Mohu udělat počítačového soupeře lehčího nebo těžšího?
Ano. Výběr úderu počítače je v src/core/ai.js, odděleně od fyziky, takže ho můžete doladit, aniž byste změnili pohyb koulí.
Funguje to na telefonech?
Ano. Podporován je dotykový vstup a ovládání se přizpůsobí obrazovce. Vyžaduje se WebGL2 a výkon závisí na zařízení, takže otestujte telefony, které používají vaši hráči.
Zachovají si hráči postup, když hru přesunu na novou doménu?
Ne. Uložená data patří původu prohlížeče, takže změna domény spustí hráče od začátku. Před spuštěním zvolte finální adresu.
Mohu přidat online multiplayer?
Samotnou touto edicí ne. Potřebuje vlastní server a vývoj. Můžeme to nabídnout jako zakázkovou práci.
Pro koho se tento kód hodí
Hodí se portálu nebo webu, který chce ve svém katalogu hru 8-ball, agentuře, která dodává značkovou hru s kulečníkem jednomu klientovi, a vývojáři, který chce číst, jak se píše fyzika a pravidla kulečníku bez 3D knihovny v cestě. Méně se hodí tam, kde váš plán závisí na online zápasech nebo sdíleném žebříčku.
Než koupíte, vyzkoušejte demo na telefonu i na notebooku a otevřete mapu souborů v příručce. Pokud vám dělení na fyziku, pravidla a počítačového soupeře odpovídá tomu, jak chcete pracovat, zbytek jsou pár odpolední úprav.
