Pool játék forráskód: egy 8 golyós HTML5 csomag belülről
A fizika, a szabályok és a CPU külön fájlokban: mit tartalmaz a Velvet Pool forrása, és mit módosít először a vevő.

Pool játék forráskódot akkor érdemes venni, ha három dolog külön, olvasható fájlokban van: a golyófizika, a 8 golyós szabályok és a számítógépes ellenfél. Ha ezek össze vannak gubancolódva, minden asztalszín- vagy CPU-nehézségi módosítás hibakeresési munkává válik. A Velvet Pool, a mi 8 golyós sablonunk, szétválasztva tartja őket, és ez az útmutató a csomagját fájlról fájlra végigveszi.
Megnézzük, hogyan van szervezve a kód, mit módosít általában a vevő először, hogyan lehet házigazdázni vagy alkalmazásba csomagolni, mit enged a licenc, és mit nem tartalmaz a kiadás. Az alábbi fájlnevek a játékkal szállított vásárlói útmutatóból származnak.
A lényeg: a Velvet Pool sima JavaScript WebGL2-n, 3D-s könyvtár és építési lépés nélkül. Szerkesztesz egy fájlt, bemásolod a game mappába, és újratöltöd az oldalt.
Mit tartalmaz ez a pool játék forráskód
A Velvet Pool kész 8 golyós játék, nem motor és nem kezdő csomag. A letöltés négy mappából áll: a game/ a feltölthető kész build, a source/ ugyanaz a játék fejlesztői kiadásban, README-vel, package.json-nal és tesztekkel, a documentation/ mappában van az illusztrált útmutató angolul és portugálul, a THIRD-PARTY-LICENSES/ pedig a betűtípus-licencek szövegeit őrzi.
Maga a játék 8 golyós, foulokkal, labda a kézben (ball-in-hand) szabállyal és tele vagy csíkos (solids or stripes) játékkal. Három CPU-szint van: Easy (könnyű), Medium (közepes) és Hard (nehéz), továbbá egy ingyenes gyakorlóasztal visszavonással, golyóelhelyezéssel és újrarakással, valamint kétjátékos meccs egy eszközön. A játékosok a fehér golyóra follow (előre), draw (hátra) vagy side spin (oldalirányú) pörgetést adhatnak, a helyi eredmények pedig öt asztalszínt és öt ütőstílust oldanak fel. A felület 14 nyelven érhető el.
- Technológia: sima JavaScript, ES-modulok és WebGL2. Nincs Three.js vagy más kódkönyvtár.
- Kód: sima, formázott JavaScript a source/src és a game/src mappában. Semmi sincs minifikálva vagy csomagolva.
- Tesztek: opcionálisak, Node.js 20 vagy újabb verzióval. Fizikát, 8 golyós szabályokat, CPU-meccseket és fordítási kulcsokat ellenőriznek.
- Verzió a megírás idején: 1.1.0, frissítve 2026. október 22-én.
Nézd meg a Velvet Pool termékoldalt, a demót és a kézikönyvet
Hogyan vannak szervezve a fájlok
A game/ és a source/ mappa azonos szerkezetet használ, így az egyik mappában lévő útvonal a másikban ugyanarra a fájlra mutat. Egy pool játéknál a legfontosabb szétválasztás a src/core/ (szimuláció és szabályok) és a src/game/ (minden, amihez a játékos hozzáér) között van.
- src/core/physics.js: golyószimuláció, pörgetés és a párnák visszapattanása.
- src/core/rules.js: 8 golyós szabályok és foul-döntések.
- src/core/ai.js: hogyan választja ki a CPU az ütését.
- src/game/controls.js: célzás, erő és pörgetés bemenete.
- src/game/progress.js: eredmények, asztalszínek, ütők és meccspontozás.
- src/game/i18n.js: a szövegek 14 nyelven, a nyelvek listája a LANGS-ban.
- src/game/localRecords.js: a helyi pontszámtörténet.
- src/game/audio.js: effektek és zenelejátszás.
- css/style.css és css/fonts.css: téma, reszponzív elrendezés és betűtípus-deklarációk.
- assets/: grafika, hang és betűtípusok, a logófájlok az assets/logo/ mappában.
Mivel a fizika, a szabályok és a CPU külön modulok, a CPU-t elnézőbbé teheted anélkül, hogy a golyók mozgásához nyúlnál, vagy megváltoztathatod a foul-szabályt anélkül, hogy a párnákat újra kellene hangolnod. Ez a szétválasztás a fő szempont, amit bármilyen biliárdkódnál vásárlás előtt keresni kell.
Mit módosít a vevő először
A legtöbb projekt ugyanabban a sorrendben halad. Először azzal érdemes kezdeni, amit a játékosok látnak, aztán azzal, amit éreznek, a szabályokat pedig utolsónak hagyni, mert ott a legkönnyebb hibát bevinni.
- Márka: cseréld le a logófájlokat az assets/logo/ mappában, és a CSS-ben igazítsd a megfelelő méreteket. A fehér címkézés megengedett, így a te nevedet vagy az ügyfeledét lehet a mienk helyére tenni.
- Az asztal megjelenése: a színek és a betűtípusok a css/style.css fájlban vannak. A szőnyeg- és ütődefiníciók a progress.js-ben. Tartsd stabilan az azonosítókat, különben a játékosok elveszítik a már feloldott kiegészítőket.
- Szövegek és nyelvek: minden szöveg az i18n.js-ben van. Szerkeszd a szükséges megfogalmazást; a nyelvek listája a LANGS-ban található.
- CPU-nehézség: a lövésválasztás az ai.js-ben van. Egyszerre egy szintet hangolj, és játssz végig egy teljes meccset ellene.
- Fizika: a súrlódás, a pörgetés és a párnák visszapattanása a physics.js-ben van. Kis változtatások is nagy hatásúak, ezért mindegyik után futtasd a teszteket.
- Szabályok: a házi változatok a rules.js-be valók. A foulokat és a labda a kézben szabályt kézzel is teszteld, ne csak a tesztkészlettel.
A munkafolyamat mindegyiknél ugyanaz: szerkeszd a fájlt a source/ mappában, másold át a game/ mappa ugyanarra az útvonalára, szolgáld ki a mappát HTTP-n, és töltsd újra az oldalt. Az útmutató azt javasolja, hogy egyszerre egy funkciót változtass, és minden változtatás után teszteld a menüt, egy meccset, a szünetet, az eredményképernyőt és az újratöltést.
Házigazdázás, beágyazás vagy alkalmazásba csomagolás
A házigazdázás a legegyszerűbb rész. Töltsd fel a game/ mappa teljes tartalmát például a public_html/velvet-pool/ mappába, tartsd meg az almappákat, és nyisd meg a címet. A szerver oldalon nincs npm, terminál, PHP, adatbázis vagy fiók. Elég egy statikus fájlokat HTTPS-en kiszolgáló tárhely.
- Ne nyisd meg az index.html-t dupla kattintással: a böngészők blokkolják a játék moduljait a file:// protokollon. Helyi teszthez futtasd a python -m http.server 8765 parancsot a game/ mappában.
- Ha a képernyő üres marad, ellenőrizd, hogy a WebGL2 engedélyezve van-e, és hogy a fájlnevek megtartják-e a kis- és nagybetűket.
- Ha a böngésző nem fogad el egy modult, a szervered valószínűleg rossz MIME-típussal küldi a .js fájlt.
- Portál iframe-jében engedélyezd a teljes képernyőt és az automatikus lejátszást.
A játék futásidőben szükséges mindent a game/ mappán belül tartalmaz, így semmi nem töltődik CDN-ről vagy más oldalról. Egy friss oldalbetöltés így is eléri a tárhelyedet, tehát ez nem telepíthető offline alkalmazás. Érintőképernyőn is működik: a játékosok az asztalon céloznak, és az erőszabályozót húzzák.
A natív alkalmazásprojektek nem részei a csomagnak. Ha a játékot a Google Play-re vagy az App Store-ba szeretnéd, az egyik gyakori út egy olyan burkoló, mint a Capacitor, amelyet készítői úgy írnak le, mint egy keresztplatformos natív futtatókörnyezetet, mobilalkalmazások építésére webes kóddal. A store-projekt építése és karbantartása a te munkád, vagy külön árajánlattal vállaljuk.
Mit nem tartalmaz ez a kiadás
A Velvet Pool a helyi böngészős kiadás. Nincs online többjátékos mód vagy privát szoba, nincs online ranglista, nincs felhőalapú fiók és nincs reklám SDK. Két ember játszhat egy eszközön, és a CPU-meccsek jogosult eredményei a böngészőben mentődnek. A gyakorlás és az azonos eszközön játszott meccsek nem mentenek pontszámot.
Az online játékhoz saját szerver és fejlesztés kell. Ez valódi projekt, ezért már az elején tervezd meg a költségét, ne abban reménykedj, hogy a sablon majd magától ide nő. Ha a katalógusodnak több sportjátékra van szüksége, ezek ugyancsak készen, feltölthető böngészős kiadásban kaphatók.
Puttide: 3D minigolf 30 pályával, szintén sima JavaScriptben
Golazo: asztali futball 50 nemzeti csapattal
Licenc és ár egy bekezdésben
A Velvet Pool listaára 39 USD. 2026. november 30-ig a Black Friday akció minden sablonon 15%-ot kedvezményez, így 33,15 USD-be kerül, két vagy több sablon egy rendelésben pedig további 5–20% kedvezményt kap. Minden vásárlás határozatlan idejű, nem kizárólagos licenc egy végtermékre, a tiédre vagy egy ügyfeledére. A terméken belül módosíthatod a kódot, a grafikát és a hangot, és a saját márkádat rakhatod rá. A játékosok ingyen vagy reklámokon keresztül érhetik el. A sablont vagy a kódját önmagában nem adhatod tovább. A hat hónapos támogatás jár, a pénztárnál választott bővítménnyel 12 hónapig; az egyedi munkát, a tárhelyt és az SDK- vagy portálintegrációt külön árazzuk.
Olvasd el a teljes licenc- és támogatási feltételeket
Gyakran ismételt kérdések
Olvasható vagy minifikált a pool játék forráskód?
Olvasható. A source/src és a game/src JavaScriptje sima és formázott, nincsenek minifikált vagy csomagolt fájlok.
Kell Node.js vagy buildelési lépés?
Nem. A source/ fájljait szerkeszted, és bemásolod őket a game/ mappába. A Node.js 20 vagy újabb verzióra csak az opcionális tesztek futtatásához van szükség.
Könnyebbé vagy nehezebbé tehetem a CPU-t?
Igen. A CPU lövésválasztása a src/core/ai.js fájlban van, a fizikától elkülönítve, így a golyók mozgásának megváltoztatása nélkül hangolhatod.
Működik telefonon?
Igen. Az érintéses vezérlés támogatott, a kezelőfelület pedig alkalmazkodik a képernyőhöz. A WebGL2 kötelező, a teljesítmény pedig az eszköztől függ, ezért teszteld a játékosaid telefonjait.
Megmaradnak a játékosok haladásai, ha új domainre költözöm?
Nem. A mentések a böngésző origójához tartoznak, így a domainváltás új kezdést jelent a játékosoknak. Indulás előtt válaszd ki a végleges címet.
Hozzáadhatok online többjátékos módot?
Ezzel a kiadással önmagában nem. Saját szerver és fejlesztés kell hozzá. Egyedi munkaként árazhatjuk.
Kinek való ez a pool kód
Olyan portálnak vagy oldalnak való, amely egy 8 golyós játékot szeretne a kínálatába, olyan ügynökségnek, amely egy márkás biliárdjátékot szállít egy ügyfélnek, és olyan fejlesztőnek, aki szeretné elolvasni, hogyan íródik a pool fizika és szabályrendszer 3D-s könyvtár nélkül. Kevésbé illik ide, ha a terved online meccsekre vagy közös ranglistára épül.
Vásárlás előtt játszd ki a demót telefonon és laptopon, és nyisd meg a kézikönyv fájltérképét. Ha a fizika, a szabályok és a CPU szétválasztása illeszkedik ahhoz, ahogyan dolgozni szeretnél, a többi néhány délutánnyi módosítás.
