Gabay

Pool Game Source Code: Loob ng 8-Ball na HTML5 Package

Physics, patakaran at CPU na nasa magkakahiwalay na file: ano ang laman ng Velvet Pool source at ano ang unang babaguhin ng buyer.

Artwork ng Velvet Pool: nakahanay ang cue sa likod ng puting bola sa berdeng mesa, katabi ng bola 3, 8 at 4 malapit sa corner pocket.

Sulit bilhin ang pool game source code kapag tatlong bagay ang nasa magkakahiwalay at nababasang file: ang physics ng bola, ang 8-ball na patakaran, at ang computer na kalaban. Kapag magkakahalo ang mga iyon, bawat pagbabago sa kulay ng mesa o sa hirap ng CPU ay nagiging debugging session. Hinihiwalay ng Velvet Pool, ang 8-ball template namin, ang tatlong ito, at tinatalakay ng gabay na ito ang package file kada file.

Tatalakayin natin kung paano nakaayos ang code, ano ang karaniwang binabago ng buyer muna, paano i-host o balutin bilang app, ano ang pinapayagan ng lisensya at ano ang wala sa edition. Bawat pangalan ng file sa ibaba ay galing sa buyer guide na kasama ng laro.

Ang maikling bersyon: plain JavaScript ang Velvet Pool sa WebGL2, walang 3D library at walang build step. Mag-edit ka ng file, kopyahin sa game folder, at i-reload ang page.

Ano ang laman ng pool game source code na ito

Tapos nang 8-ball na laro ang Velvet Pool, hindi engine o starter kit. May apat na folder ang download: ang game/ ay ang handa-nang-i-upload na build, ang source/ ay ang parehong laro bilang developer edition na may README, package.json at mga test, ang documentation/ ay naglalaman ng illustrated na guide sa English at Portuguese, at ang THIRD-PARTY-LICENSES/ ay nagtatago ng mga teksto ng font licence.

Naglalaro ang laro mismo ng 8-ball na may foul, ball-in-hand (bola sa kamay) at solids o stripes. May tatlong CPU level (Easy, Medium at Hard), isang libreng practice table na may undo, ball placement at re-rack, at two-player match sa iisang device. Nagdaragdag ang player ng follow, draw o side spin sa cue ball, at ang lokal na achievements ay nag-a-unlock ng limang kulay ng mesa at limang estilo ng cue. Nasa 14 na wika ang interface.

  • Stack: vanilla JavaScript, ES modules at WebGL2. Walang Three.js o ibang code library.
  • Code: plain at formatted na JavaScript sa source/src at game/src. Walang minify o bundle.
  • Mga test: opsyonal, na may Node.js 20 o mas bago. Sinusuri nito ang physics, 8-ball rules, CPU match at translation keys.
  • Bersyon sa oras ng pagsulat: 1.1.0, na in-update noong 22 Oktubre 2026.

Tingnan ang Velvet Pool listing, demo at manual

Paano nakaayos ang mga file

Magkapareho ang layout ng game/ at source/, kaya ang path sa isang folder ay tumuturo sa parehong file sa kabila. Ang paghahati na pinakamahalaga sa pool game ay nasa pagitan ng src/core/ (simulation at patakaran) at src/game/ (lahat ng hinahawakan ng player).

  • src/core/physics.js: simulation ng bola, spin at cushion response.
  • src/core/rules.js: 8-ball rules at mga desisyon sa foul.
  • src/core/ai.js: paano pumipili ng tira ang CPU.
  • src/game/controls.js: input para sa aiming, lakas at spin.
  • src/game/progress.js: achievements, mesa, cue at match scoring.
  • src/game/i18n.js: ang mga teksto sa 14 na wika, nakalista sa LANGS.
  • src/game/localRecords.js: ang lokal na kasaysayan ng score.
  • src/game/audio.js: pag-playback ng effect at music.
  • css/style.css at css/fonts.css: theme, responsive layout at font declaration.
  • assets/: artwork, audio at fonts, kasama ang logo files sa assets/logo/.

Dahil hiwalay na module ang physics, patakaran at CPU, puwede mong gawing mas maluwag ang CPU nang hindi ginagalaw ang paggalaw ng bola, o baguhin ang patakaran sa foul nang hindi inaayos ang cushion. Ang paghihiwalay na iyon ang pinakamahalagang hanapin sa anumang billiards code na bibilhin mo.

Ano ang unang binabago ng buyer

Halos pareho ang pagkakasunod ng karamihan ng proyekto. Simulan sa nakikita ng player, saka lumipat sa nararamdaman niya, at iwan sa huli ang patakaran, dahil doon pinakamadaling makapagpasok ng bug.

  1. Branding: palitan ang logo files sa assets/logo/ at i-adjust ang katugmang sukat sa CSS. Puwede ang white label, kaya ang pangalan mo o ng kliyente mo ang papalit sa amin.
  2. Itsura ng mesa: nasa css/style.css ang mga kulay at font. Nasa progress.js ang kahulugan ng mesa at cue. Panatilihing pareho ang mga ID, o mawawala sa player ang mga cosmetic na na-unlock na niya.
  3. Mga teksto at wika: nasa i18n.js ang bawat string. I-edit ang wordings na kailangan mo; nasa LANGS ang listahan ng wika.
  4. Hirap ng CPU: nasa ai.js ang pagpili ng tira. I-tune ang isang level sa isang pagkakataon at maglaro ng buong match laban dito.
  5. Physics: nasa physics.js ang friction, spin at cushion response. Malaki ang epekto ng maliliit na pagbabago rito, kaya patakbuhin ang mga test pagkatapos ng bawat isa.
  6. Mga patakaran: ang house variation ay nasa rules.js. Subukan ang foul at ball-in-hand nang mano-mano, hindi lang gamit ang suite.

Pareho ang daloy para sa lahat: i-edit ang file sa source/, kopyahin sa parehong path sa game/, i-serve ang folder sa HTTP at i-reload. Iminumungkahi ng buyer guide na baguhin ang isang feature sa isang pagkakataon, at i-test ang menu, isang match, pause, result screen at reload pagkatapos ng bawat pagbabago.

I-host ito, i-embed o balutin bilang app

Pinakasimpleng bahagi ang hosting. I-upload ang lahat sa loob ng game/ sa folder tulad ng public_html/velvet-pool/, panatilihin ang mga subfolder, at buksan ang address. Walang npm, terminal, PHP, database o account sa server. Sapat na ang plan na nagse-serve ng static files sa HTTPS.

  • Huwag i-double-click ang index.html: hinaharang ng browser ang game modules sa file://. Para sa lokal na test, patakbuhin ang python -m http.server 8765 sa loob ng game/.
  • Kung nananatiling blangko ang screen, tingnan kung naka-enable ang WebGL2 at kung tama ang upper at lower case ng mga file name.
  • Kung tumanggi ang browser sa isang module, mali ang MIME type na ipinapadala ng server para sa .js.
  • Sa iframe sa isang portal, payagan ang fullscreen at autoplay.

Nasa loob ng game/ ang lahat ng kailangan ng laro habang tumatakbo, kaya walang nagla-load mula sa CDN o ibang site. Pumupunta pa rin sa host mo ang bawat bagong page load, kaya hindi ito installable na offline app. Tumatakbo ito sa touch screen: tinatarget ng player ang mesa at hinihila ang power control.

Hindi kasama sa package ang native app project. Kung gusto mo ang laro sa Google Play o App Store, isang karaniwang ruta ang wrapper gaya ng Capacitor, na inilalarawan ng mga gumawa nito bilang cross-platform native runtime para gumawa ng mobile app gamit ang web code. Ikaw ang gagawa at mag-aalaga ng store project, o serbisyong hiwalay naming i-quote.

Ano ang wala sa edition na ito

Lokal na browser edition ang Velvet Pool. Wala itong online multiplayer o private room, walang online ranking, walang cloud account at walang advertising SDK. Puwedeng maglaro ang dalawang tao sa iisang device, at nae-save sa browser ang personal na score mula sa mga karapat-dapat na CPU match. Hindi nagse-save ng score ang practice at ang mga match sa iisang device.

Kailangan ng sarili mong server at development ang online play. Totoong proyekto iyon, kaya i-budget mo na mula sa simula at huwag asahang lalaki ang template tungo doon. Kung kailangan ng catalogue mo ng mas maraming sports game, ibinebenta rin bilang ready-to-host browser edition ang dalawang ito.

Puttide: 3D mini golf na may 30 butas, sa plain JavaScript din

Golazo: tabletop football na may 50 pambansang koponan

Lisensya at presyo sa isang talata

$39 ang list price ng Velvet Pool. Hanggang 30 Nobyembre 2026, may Black Friday promotion na 15% na diskuwento sa bawat template, kaya $33.15 ito, at ang mga order ng dalawa o higit pang template ay may dagdag na 5% hanggang 20% na diskuwento. Ang bawat pagbili ay perpetual, non-exclusive na lisensya para sa isang end product, sa iyo o sa isang kliyente. Puwede mong baguhin ang code, artwork at audio sa loob ng produktong iyon at ilagay ang sarili mong brand. Puwedeng laruin ito ng mga player nang libre o sa pamamagitan ng ads. Hindi mo puwedeng i-resell ang template o ang code nito nang mag-isa. Kasama ang anim na buwan ng support, o 12 kung may extension sa checkout; ang custom na trabaho, hosting at SDK o portal integration ay may hiwalay na quote.

Basahin ang buong lisensya at mga tuntunin ng support

Mga madalas itanong

Nababasa ba ang pool game source code o minified?

Nababasa. Ang JavaScript sa source/src at game/src ay plain at formatted, walang minified o bundled na file.

Kailangan ko ba ng Node.js o build step?

Hindi. Ine-edit mo ang mga file sa source/ at kinokopya sa game/. Kailangan lang ng Node.js 20 o mas bago kung gusto mong patakbuhin ang opsyonal na mga test.

Puwede ko bang gawing mas madali o mas mahirap ang CPU?

Oo. Nasa src/core/ai.js ang pagpili ng tira ng CPU, hiwalay sa physics, kaya puwede mo itong i-tune nang hindi binabago ang paggalaw ng mga bola.

Gumagana ba sa phone?

Oo. Sinusuportahan ang touch input at umaangkop ang mga kontrol sa screen. Kailangan ang WebGL2, at nakadepende ang performance sa device, kaya i-test sa mga phone na gamit ng mga player mo.

Mapapanatili ba ng mga player ang progress kung ililipat ko ang laro sa bagong domain?

Hindi. Sa browser origin nakakabit ang mga save, kaya magsisimula ulit sa wala ang mga player kapag nagbago ang domain. Piliin ang huling address bago ilunsad.

Puwede ba akong magdagdag ng online multiplayer?

Hindi sa edition na ito lang. Kailangan nito ng sarili mong server at development. Puwede namin itong i-quote bilang custom na trabaho.

Para kanino ang pool code na ito

Bagay ito sa portal o site na gustong magkaroon ng 8-ball game sa catalogue, sa ahensiyang maghahatid ng branded na billiards game sa isang kliyente, at sa developer na gustong basahin kung paano isinusulat ang pool physics at patakaran nang walang 3D library sa daan. Hindi ito bagay kung nakadepende ang plano mo sa online match o sa shared leaderboard.

Laruin ang demo sa phone at sa laptop bago bumili, at buksan ang file map ng manual. Kung tugma sa plano mo ang paghahati ng physics, patakaran at CPU, ang natitira ay ilang hapong pagbabago na lang.

Subukan ang Velvet Pool demo at bumili ng lisensya

Kailangan ng pagbabago o maraming lisensya? Humingi ng quote