Vadovas

Biliardo žaidimo šaltinio kodas: 8 kamuolių HTML5 paketas iš vidaus

Fizika, taisyklės ir kompiuterio priešininkas atskiruose failuose: ką apima Velvet Pool šaltinis ir ką pirkėjas keičia pirmiausia.

Velvet Pool iliustracija: lazda nukreipta į baltą kamuolį žaliame stale, šalia kampinės luzos guli 3, 8 ir 4 kamuoliai.

Biliardo žaidimo šaltinio kodas verta pirkti, kai trys dalykai gyvena atskiruose, skaitomuose failuose: kamuolių fizika, 8 kamuolių taisyklės ir kompiuterio priešininkas. Jei jie susipynę, kiekvienas stalo spalvos ar CPU sunkumo pakeitimas virsta derinimo sesija. Velvet Pool, mūsų 8 kamuolių šablonas, laiko juos atskirai, o šis vadovas eina per jo paketą failas po failo.

Aptariame, kaip kodas sutvarkytas, ką pirkėjas dažniausiai keičia pirmiausia, kaip jį talpinti ar įpakuoti į programėlę, ką leidžia licencija ir ko leidimas neapima. Visi žemiau nurodyti failų pavadinimai paimti iš pirkėjo vadovo, kuris pateikiamas su žaidimu.

Trumpai: Velvet Pool yra paprastas JavaScript su WebGL2, be 3D bibliotekos ir be surinkimo žingsnio. Redaguojate failą, nukopijuojate jį į žaidimo aplanką ir perkraunate puslapį.

Ką apima biliardo žaidimo šaltinio kodas

Velvet Pool yra baigtas 8 kamuolių žaidimas, o ne variklis ar pradinis rinkinys. Atsisiuntime yra keturi aplankai: game/ yra paruoštas įkelti surinkimas, source/ yra tas pats žaidimas kaip kūrėjo leidimas su README, package.json ir testais, documentation/ laiko iliustruotą vadovą anglų ir portugalų kalbomis, o THIRD-PARTY-LICENSES/ saugo šriftų licencijų tekstus.

Pats žaidimas žaidžia 8 kamuolių su fauliais, ball-in-hand (kamuolio padėjimas ranka) ir solids ar stripes (pilnaviduriai ar dryžuoti kamuoliai). Yra trys CPU lygiai: Easy, Medium ir Hard (lengvas, vidutinis ir sunkus), nemokamas treniruočių stalas su atšaukimu, kamuolio padėjimu ir perstatymu bei dviejų žaidėjų rungtynės viename įrenginyje. Žaidėjai gali suteikti baltam kamuoliui follow, draw ar šoninį sukimą, o vietiniai pasiekimai atrakina penkias stalo spalvas ir penkis lazdų stilius. Sąsaja yra 14 kalbų.

  • Technologijos: vanilla JavaScript, ES moduliai ir WebGL2. Jokios Three.js ar kitos kodų bibliotekos.
  • Kodas: paprastas, suformatuotas JavaScript aplankuose source/src ir game/src. Nieko nesumažinta ir nesujungta į vieną failą.
  • Testai: neprivalomi, reikia Node.js 20 ar naujesnės versijos. Jie tikrina fiziką, 8 kamuolių taisykles, CPU rungtynes ir vertimo raktus.
  • Versija rašymo metu: 1.1.0, atnaujinta 2026 m. spalio 22 d.

Žiūrėkite Velvet Pool įrašą, demonstracinę versiją ir vadovą

Kaip sutvarkyti failai

game/ ir source/ turi tą patį išdėstymą, todėl kelias viename aplanke rodo į tą patį failą kitame. Svarbiausias skilimas biliardo žaidimui yra tarp src/core/ (simuliacija ir taisyklės) ir src/game/ (viskas, prie ko liečiasi žaidėjas).

  • src/core/physics.js: kamuolių simuliacija, sukimas ir bortų atšokimas.
  • src/core/rules.js: 8 kamuolių taisyklės ir fauliniai sprendimai.
  • src/core/ai.js: kaip CPU parenka smūgį.
  • src/game/controls.js: taikymo, jėgos ir sukimo įvestis.
  • src/game/progress.js: pasiekimai, stalai, lazdos ir rungtynių įskaitymas.
  • src/game/i18n.js: tekstai 14 kalbų, išvardytos LANGS.
  • src/game/localRecords.js: vietinė rezultatų istorija.
  • src/game/audio.js: efektų ir muzikos atkūrimas.
  • css/style.css ir css/fonts.css: tema, prisitaikantis išdėstymas ir šriftų deklaracijos.
  • assets/: piešiniai, garsas ir šriftai, su logotipų failais aplanke assets/logo/.

Kadangi fizika, taisyklės ir CPU yra atskiri moduliai, galite padaryti CPU atlaidesnį nepaliesdami kamuolių judėjimo arba pakeisti fauliko taisyklę nepersiderinę bortų. Būtent šis atskyrimas yra pagrindinis dalykas, kurio reikia ieškoti bet kokiame biliardo kode, kurį perkate.

Ką pirkėjas keičia pirmiausia

Dauguma projektų eina ta pačia tvarka. Pradėkite nuo to, ką mato žaidėjai, tada pereikite prie to, ką jie jaučia, o taisykles palikite paskutinėms, nes jos yra lengviausia vieta įvesti klaidą.

  1. Prekės ženklas: pakeiskite logotipų failus assets/logo/ ir atitinkamus dydžius CSS. Baltas ženklas leidžiamas, todėl jūsų ar jūsų kliento pavadinimas gali pakeisti mūsų.
  2. Stalo išvaizda: spalvos ir šriftai yra css/style.css. Stalų ir lazdų aprašai yra progress.js. Išlaikykite jų ID stabilius, kitaip žaidėjai praras jau atrakintą kosmetiką.
  3. Tekstai ir kalbos: kiekviena eilutė yra i18n.js. Redaguokite reikiamus žodžius; kalbų sąrašas yra LANGS.
  4. CPU sunkumas: smūgio pasirinkimas yra ai.js. Keiskite po vieną lygį ir sužaiskite pilnas rungtynes prieš jį.
  5. Fizika: trintis, sukimas ir bortų atšokimas yra physics.js. Maži pakeitimai čia daug lemia, todėl po kiekvieno paleiskite testus.
  6. Taisyklės: namų variacijos priklauso rules.js. Fauliams ir ball-in-hand išbandykite rankiniu būdu, ne tik testais.

Visiems šiems darbams taikoma ta pati tvarka: redaguokite failą source/ aplanke, nukopijuokite jį į tą patį kelią game/ aplanke, paleiskite aplanką per HTTP ir perkraukite. Pirkėjo vadovas pataria po kiekvieno pakeitimo keisti tik vieną funkciją ir išbandyti meniu, rungtynes, pauzę, rezultatų ekraną ir perkrovimą.

Talpinimas, įterpimas ar įpakavimas į programėlę

Talpinimas yra paprasčiausia dalis. Įkelkite viską iš game/ į aplanką, pavyzdžiui public_html/velvet-pool/, išlaikykite poaplankius ir atidarykite adresą. Serveryje nereikia npm, terminalo, PHP, duomenų bazės ar paskyros. Pakanka statinius failus teikiančio HTTPS plano.

  • Neatidarykite index.html dukart spustelėdami: naršyklės blokuoja žaidimo modulius per file://. Vietiniam bandymui paleiskite python -m http.server 8765 game/ aplanke.
  • Jei ekranas lieka tuščias, patikrinkite, ar įjungtas WebGL2 ir ar failų pavadinimai išlaiko didžiąsias ir mažąsias raides.
  • Jei naršyklė atmeta modulį, jūsų serveris siunčia .js su neteisingu MIME tipu.
  • Įterptame iframe portale leiskite pilno ekrano režimą ir automatinį paleidimą.

Viskas, ko žaidimui reikia veikiant, yra game/ viduje, todėl niekas nekraunama iš CDN ar kitos svetainės. Pirmas puslapio įkėlimas vis tiek pasiekia jūsų talpinimą, todėl tai nėra įdiegiama programa neprisijungus. Žaidimas veikia jutikliniuose ekranuose: žaidėjai taikosi stalu ir traukia jėgos valdiklį.

Natyvūs programėlių projektai pakete neįtraukti. Jei norite žaidimo Google Play ar App Store, įprastas kelias yra apvalkalas, pavyzdžiui Capacitor, kurį jo kūrėjai apibūdina kaip tarpplatforminę natyvią aplinką mobiliosioms programėlėms kurti su žiniatinklio kodu. Parduotuvės projekto kūrimas ir priežiūra yra jūsų darbas arba paslauga, kurią įkainojame atskirai.

Ką ši versija neapima

Velvet Pool yra vietinis naršyklės leidimas. Jame nėra internetinio žaidimo su daugeliu žaidėjų ar privačiais kambariais, internetinio reitingo, debesies paskyrų ir reklamos SDK. Du žmonės gali žaisti viename įrenginyje, o asmeniniai rezultatai iš tinkamų CPU rungtynių išsaugomi naršyklėje. Treniruotės ir rungtynės tame pačiame įrenginyje rezultato neišsaugo.

Internetinis žaidimas reikalauja jūsų serverio ir kūrimo. Tai tikras projektas, todėl jo biudžetą planuokite nuo pradžių, o ne tikėkitės, kad šablonas išaugs į jį. Jei jūsų katalogui reikia daugiau sporto žaidimų, šie du taip pat parduodami kaip paruošti talpinimui naršyklės leidimai.

Puttide: 3D minigolfas su 30 duobių, taip pat paprastu JavaScript

Golazo: stalinis futbolas su 50 nacionalinių komandų

Licencija ir kaina vienoje pastraipoje

Velvet Pool kainuoja 39 USD. Iki 2026 m. lapkričio 30 d. Juodojo penktadienio akcija taiko 15 % nuolaidą kiekvienam šablonui, todėl jis kainuoja 33,15 USD, o užsakius du ar daugiau šablonų gaunama papildoma 5–20 % nuolaida. Kiekvienas pirkinys yra neribota, neišskirtinė licencija vienam galutiniam produktui, jūsų ar vieno kliento. Tame produkte galite keisti kodą, piešinius ir garsą bei dėti savo prekės ženklą. Žaidėjai gali naudotis nemokamai arba su skelbimais. Šablono ar jo kodo atskirai perparduoti negalite. Palaikymas trunka šešis mėnesius, arba 12 su priedu apmokėjimo metu; individualus darbas, talpinimas ir SDK ar portalo integracija įkainojami atskirai.

Skaitykite visas licencijos ir palaikymo sąlygas

Dažnai užduodami klausimai

Ar biliardo žaidimo šaltinio kodas įskaitomas, ar suspaustas?

Įskaitomas. JavaScript aplankuose source/src ir game/src yra paprastas ir suformatuotas, be suspaustų ar sujungtų failų.

Ar man reikia Node.js ar surinkimo žingsnio?

Ne. Redaguojate failus source/ aplanke ir kopijuojate juos į game/. Node.js 20 ar naujesnė versija reikalinga tik neprivalomiems testams paleisti.

Ar galiu padaryti CPU lengvesnį ar sunkesnį?

Taip. CPU smūgio pasirinkimas yra src/core/ai.js, atskirai nuo fizikos, todėl galite jį derinti nekeisdami, kaip juda kamuoliai.

Ar veikia telefonuose?

Taip. Palaikoma jutiklinė įvestis, o valdymas prisitaiko prie ekrano. Reikia WebGL2, o našumas priklauso nuo įrenginio, todėl išbandykite telefonais, kuriuos naudoja jūsų žaidėjai.

Ar žaidėjai išsaugos pažangą, jei perkelsiu žaidimą į kitą domeną?

Ne. Išsaugojimai priklauso naršyklės kilmei, todėl pakeitus domeną žaidėjai pradeda iš naujo. Prieš paleidimą pasirinkite galutinį adresą.

Ar galiu pridėti internetinį kelių žaidėjų režimą?

Ne tik šiuo leidimu. Jam reikia jūsų serverio ir kūrimo. Galime pasiūlyti tai kaip individualų darbą.

Kam tinka šis biliardo kodas

Jis tinka portalui ar svetainei, norinčiai 8 kamuolių žaidimo savo kataloge, agentūrai, kuri pristato prekės ženklo biliardo žaidimą vienam klientui, ir kūrėjui, norinčiam perskaityti, kaip rašoma biliardo fizika ir taisyklės be 3D bibliotekos. Jis mažiau tinka, jei jūsų planas priklauso nuo internetinių rungtynių ar bendros lyderių lentelės.

Prieš pirkdami sužaiskite demonstracinę versiją telefone ir nešiojamajame kompiuteryje bei atverkite vadovo failų žemėlapį. Jei fizikos, taisyklių ir CPU atskyrimas atitinka jūsų darbo būdą, likęs darbas yra kelių popiečių pakeitimai.

Išbandykite Velvet Pool demonstracinę versiją ir įsigykite licenciją

Reikia pakeitimų ar kelių licencijų? Prašykite pasiūlymo