Gwida

Kodiċi sors ta' logħba mini golf: toqob, fiżika u mappa 3D tal-kors

Kif il-pakkett Puttide jaħżen it-30 toqba tiegħu, fejn jinsabu Three.js u Rapier, u kif kumpratur iżid toqba tiegħu stess.

Arti ta' Puttide: ballun tal-golf jaqleb fuq green bejn rwin tal-ġebel u palm trees lejn bandiera ħamra, b'gżejjer żgħar fil-baħar wara.

Il-kodiċi sors ta' mini golf jirnexxi jew jaqa' fuq kompitu wieħed: iż-żieda ta' toqba. Xerrej li jrid kors b'marka, livell staġjonali jew logo tal-kljent fuq il-green se jiftaħ l-ewwel il-fajls tal-livelli, u jekk toqba tkun moħbija f'kodiċi tal-engine, il-proġett jieqaf. F'Puttide, it-template tagħna tal-mini golf 3D, kull kors għandu l-fajl tiegħu tat-toqob f'JavaScript sempliċi, u l-manwal jimxi miegħek fiż-żieda ta' waħda.

Din il-gwida ssegwi l-pakkett kif jiltaqa' miegħu developer: il-folders, il-libreriji, il-fajls tal-kors, l-ordni tal-bidliet, l-hosting u l-liċenzja. L-ismijiet tal-fajls ġejjin mill-gwida tax-xerrej li tiġi mal-logħba.

It-tweġiba qasira għal dawk bil-ħeffa: Puttide huwa JavaScript iffurmattat, b'Three.js għad-disinn u Rapier għall-fiżika tal-ballun, it-tnejn imqabbda. L-ebda pass ta' build, l-ebda CDN u l-ebda kodiċi tas-server.

X'jinkludi l-kodiċi sors tal-mini golf

Puttide hija logħba lesta b'30 toqba fuq ħames kursijiet ta' gżejjer: Sunlit Ruins, Lantern Pier, Frost Peaks, Cloud Garden u Volcano Forge, sitt toqob kull wieħed. Rampi, portals, bumpers u windmills iduru t-toqob f'puzzles żgħar. Kull toqba tagħti tliet stilel (tlestija, par jew aħjar, il-munita moħbija), u midalji tal-bronż, tal-fidda u tad-deheb jippremjaw l-aħjar rounds.

Minbarra l-kursijiet hemm sfida ta' kuljum b'varjant (windy, icy green, heavy ball, bouncy walls, coin rush jew birdie hunt, modi tal-logħba bl-Ingliż), Locker (il-kaxxa tal-oġġetti) fejn il-munit jixtru ballun, trails u kożmetiċi oħra, u rounds għal żewġ sa erba' plejers li jdawru fuq apparat wieħed. L-interface ġej f'14-il lingwa.

  • game/: il-build lest għall-upload, l-uniku folder li tippubblika.
  • source/: l-istess logħba bħala edizzjoni għall-iżviluppaturi, b'README u package.json.
  • documentation/: gwida waħda illustrata bl-Ingliż u bil-Portugiż.
  • THIRD-PARTY-LICENSES/: testi tal-liċenzji għal-libreriji u l-fonts.
  • Verżjoni 1.1.0, aġġornata fit-22 ta' Ottubru 2026.

Iftaħ il-paġna ta' Puttide: demo, manwal u prezz

Three.js, Rapier u l-bqija tal-istack

Il-ballun isimmulat minn Rapier 3D 0.21.0, li jaħdem bħala WebAssembly, u x-xena tinżeb b'Three.js r186. It-tnejn jinsabu f'lib/three/ u lib/rapier/ bil-fajls tal-liċenzja tagħhom, u index.html fih import map li jindika lill-logħba fejn huma. Il-manwal jgħid li l-fajls tal-libreriji ma nbidlux fl-imġieba u ġew biss iffurmattati biex jinqraw.

Dan huwa importanti għal żewġ raġunijiet. L-ewwel, xejn ma jitgħabba minn CDN, għalhekk portal jew klijent b'politika ta' sigurtà stretta jeħtieġ biss l-host tiegħek. It-tieni, it-tgħolija ta' librerija hija pass manwali u deliberat: source/package.json jelenka l-verżjonijiet eżatti, u int tikkopja fajls modulari godda fuq il-folder lib/ korrispondenti u żżomm il-passaġġi tal-import map.

  • Three.js r186: liċenzja MIT.
  • Rapier 3D compat 0.21.0, WebAssembly imdaħħal: liċenzja Apache-2.0.
  • Fonts tal-web Rubik u Fredoka: SIL Open Font License 1.1.
  • Żewġ track tal-mużika: music/menu.mp3 u music/play-1.mp3.

Fejn jinsabu t-toqob, il-munti u t-testi

Il-passaġġi huma l-istess f'source/ u game/. Id-data tal-kors hija maqsuma skont il-gżira, u dan iżomm kull fajl qasir biżżejjed biex jinqara f'sessjoni waħda.

  • src/course/courses.js: l-ordni tal-kursijiet u r-rekwiżiti tal-iftuħ.
  • src/course/holes.js: it-toqob ta' Sunlit Ruins, bil-ġeometrija, il-par u l-ostakli.
  • src/course/pier.js, ice.js, lava.js u sky.js: it-toqob tal-erba' kursijiet l-oħra.
  • src/sim/constants.js: l-ajġustament tal-fiżika.
  • src/game/economy.js: il-ballun, it-trails u l-outfits, bil-prezzijiet tagħhom.
  • src/ui/i18n.js u l-fajls ta' akkumpanjament tiegħu: id-dizzjunarji tal-14-il lingwa, inklużi l-ismijiet tat-toqob u t-tips.
  • src/game/localRecords.js: ir-rekords tal-kors miżmuma fil-browser.
  • src/audio/audio.js: l-effetti u l-mapping tal-mużika, f'probeTracks.
  • css/style.css: il-kuluri tal-interface, il-fonts u l-istili responsive.

Iż-żieda ta' toqba, pass pass

Din hija l-bidla li l-iktar xerrejja jagħmlu, u l-manwal jiddeskrivieha f'ftit linji. Aħna wessagħnieha fl-ordni li nsegwu aħna nfusna.

  1. Agħżel il-fajl tal-kors li t-toqba l-ġdida tappartjeni għaliha, per eżempju lava.js għal Volcano Forge.
  2. Ikkopja definizzjoni ta' toqba eżistenti li tixbah dak li trid.
  3. Agħtiha ID unika. ID użat mill-ġdid iħawwad il-progress salvat.
  4. Issettja l-par, il-pożizzjoni tat-tee u l-pożizzjoni tal-cup, imbagħad mexxi jew ibdel l-ostakli.
  5. Żid it-toqba mal-kors tagħha f'courses.js.
  6. Żid l-isem tal-wiri u t-tip tagħha fid-dizzjunarji tal-lingwi, f'kull lingwa li tibgħat.
  7. Ilgħabha: ittestja l-kollużjonijiet, ir-rkupru meta l-ballun joħroġ barra mill-kamp u t-tliet stilel kollha, inkluża l-munita moħbija.

Immexxi fi source/, ikkopja l-fajls mibdula fl-istess passaġġi f'game/, u servi l-folder permezz ta' HTTP biex tittestja. Il-package.json għandu skript serve, jew tista' tmexxi python -m http.server 8765. Node.js hu fakultattiv u jeħtieġ biss jekk trid li npm jimmaniġġja l-verżjonijiet tal-libreriji.

Il-bidliet l-oħra, f'ordni raġonevoli

  1. Marka u kuluri: logo, kuluri u fonts f'css/style.css. White label huwa permess, għalhekk il-marka tiegħek tista' tieħu post tagħna.
  2. Prezzijiet fil-Locker: economy.js. Kożmetiċi irħas jagħmlu websajt kaswali aktar sħiħ; dawk għaljin iġorru kampanja twila.
  3. Testi: kliem u tips fil-fajls i18n.
  4. Mużika: iż-żewġ track inklużi jistgħu jinbdlu b'reġistrazzjonijiet li għandek liċenzja għalihom. Ikkopja l-fajl u aġġorna l-mapping espliċitu f'audio.js (probeTracks); il-mużika tax-xena terġa' lura għat-track tal-logħba.
  5. Fiżika: constants.js, l-aħħar, u b'passi żgħar, għax kull toqba ġiet ajġustata kontra l-valuri attwali.

Għal proġett relatat bl-istess approċċ ta' JavaScript sempliċi u l-ebda libreria 3D, it-template tagħna tal-pool huwa mibni bl-istess mod.

Velvet Pool: pool 8-ball b'JavaScript sempliċi u WebGL2

Sunset Rally: table tennis 3D b'kampanja ta' disa' logħbiet

Hosting, tipi MIME u wrappers ta' app

Itella' kollox ġewwa game/ f'folder bħal public_html/puttide/, żomm is-sottofolders, u iftaħ l-indirizz permezz ta' HTTPS. Ebda npm, PHP, database jew kont ma jkun meħtieġ fuq is-server. Il-ftuħ ta' index.html mid-disk ma jaħdimx, għax il-browsers jimblokkaw il-modules fuq file://.

Puttide għandu dettall wieħed ta' hosting li logħba 2D ma għandhiex: il-fiżika titmexxa bħala WebAssembly. Is-server tiegħek irid jibgħat fajls .js b'tip MIME ta' JavaScript u .wasm bħala application/wasm. Host li jbiegħed dan jurik skrin vojt jew żball fil-modules, għalhekk iċċekkjah fl-ewwel ġurnata.

  • Il-browser jeħtieġ: JavaScript, ES modules, WebAssembly u WebGL2.
  • F'iframe ta' portal, ħalli l-fullscreen u l-autoplay.
  • Fuq touch screens: iġbed biex tmexxi u tagħmel putt, subgħajn tnejn biex tdawwar il-kamera, pinch biex tagħmel zoom.
  • Mhix app offline installabbli: kull tagħbija ġdida xorta tmur fuq il-host tiegħek.

Il-proġetti ta' app nattiva mhumiex fil-pakkett. Jekk tippjana rilaxx fil-ħanut, ipprevedi l-wrapper u t-test tiegħu fuq telefowns reali, għax logħba fiżika 3D hija aktar tqila minn logħba tal-karti fuq apparati qodma.

Mhux inkluż, u l-liċenzja

Din hija l-edizzjoni lokali tal-browser: l-ebda multiplayer online jew kmamar online, l-ebda classifika online, l-ebda kontijiet tal-cloud, l-ebda SDK tar-reklami, l-ebda app nattiva u l-ebda hosting. Ir-rekords tal-kors, il-progress ta' kuljum u r-rounds fuq l-istess apparat jibqgħu fil-browser tal-plejer, u l-ebda punteġġ ma jitgħabba. Is-saves jappartjenu lill-origin tal-browser, għalhekk jekk titlaq għal dominju ieħor il-plejers jibdew mill-ġdid.

Puttide jitlob $39; sal-30 ta' Novembru 2026 il-promozzjoni tal-Black Friday tniżżelha għal $33.15, u x-xiri ta' tnejn jew aktar template f'ordni wieħed iżid skont tal-pakkett ta' 5% sa 20%. Il-liċenzja hija perpetwa u mhux esklussiva għal prodott finali wieħed, tiegħek jew ta' kljent wieħed. Tista' tirbrandjaha mill-ġdid, tbiddel il-kodiċi, l-arti u l-awdjo, u tħalli l-plejers jilgħabu b'xejn jew bir-reklami, imma ma tistax tbigħ mill-ġdid it-template jew il-kodiċi tiegħu waħdu. L-appoġġ idum sitt xhur, jew tnax bl-estensjoni; toqob ta' kostum, integrazzjonijiet u hosting jiġu kkwotati fuq talba.

It-termini tal-liċenzja, tal-appoġġ u tar-refund sħaħ

Mistoqsijiet frekwenti

Il-kodiċi sors tal-mini golf huwa f'TypeScript?

Le. Puttide huwa JavaScript sempliċi u ffurmattat f'source/src u game/src, b'l-ebda fajl minifikat jew imqabbad ta' tagħna.

Nista' nżid toqob jew kursijiet tiegħi stess?

Iva. Ikkopja toqba fil-fajl tal-kors, agħtiha ID unika, issettja l-par, it-tee u l-cup, żidha f'courses.js u żid l-isem u t-tip tagħha fil-fajls tal-lingwa.

Jitgħabbix Three.js minn CDN?

Le. Three.js, Rapier, il-fonts u l-mużika jinsabu kollha ġewwa game/, għalhekk il-logħba teħtieġ biss l-host tiegħek.

Għaliex l-host tiegħi juri skrin vojt?

Ġeneralment minħabba t-tipi MIME. Servi .js bħala JavaScript u .wasm bħala application/wasm, iftaħ il-logħba permezz ta' HTTP(S), u iċċekkja li WebGL2 hu attivat.

Ħbieb jistgħu jilagħbu flimkien?

Iva, sa erba' plejers jdawru fuq l-istess apparat. Il-logħba online mhijiex parti minn din l-edizzjoni.

Hija l-bażi tal-mini golf it-tajba għalik?

Puttide jaqbel ma' portal tal-familja jew tal-isport, aġenzija li tibni kors b'marka għal kljent wieħed, u developer li jrid jara kif Three.js u Rapier jaħdmu flimkien f'kodiċi li jinqara. Jaqbel inqas ma' proġett li jeħtieġ rounds online jew classifika kondiviża mill-ewwel jum.

Ilgħab kors sħiħ fid-demo fuq telefon, imbagħad aqra s-taqsima tal-manwal dwar iż-żieda ta' toqba. Jekk dik it-taqsima tidher lilek bħal nofsinhar xogħol, il-bqija tal-logħba diġà mibnija.

Ilgħab id-demo ta' Puttide u ixtri l-liċenzja