Stalo teniso žaidimo šaltinio kodas: Sunset Rally failai ir fizika
3D pingpongo žaidimas naršyklei, atidarytas failas po failo: kur yra fizika, taškai, kampanija ir vietos bei ką keisti pirmiausia.

Jei jums reikia stalo teniso žaidimo šaltinio kodo, kurį galite talpinti ir keisti, Sunset Rally yra baigtas 3D pingpongo žaidimas naršyklei su devynių rungtynių kampanija, trimis kompiuterio varžovais, dirbtuvėmis ir pilnu TypeScript projektu, įprasta kaina 39 USD. Žaidimo aplankas jau surinktas ir neminimizuotas, todėl galite pirmiausia jį įkelti, o perskaityti vėliau.
Sportiniai žaidimai yra sunkiau pritaikomi, nei atrodo, nes linksmybės slypi fizikoje ir valdyme, o ne meniu. Šis vadovas parodo, kur kiekvienas iš jų yra Sunset Rally projekte, ką galite saugiai keisti ir ko šis leidimas neapima.
Kaip žaidžiamas pingpongo žaidimas
Rungtynės vyksta iki septynių taškų prieš kompiuterio varžovą. Žaidėjai valdo raketę judindami žymeklį ar tempdami, o smūgiai atliekami automatiškai. Judėjimas aukštyn prideda jėgos, judėjimas į šonus nukreipia kamuolį, traukimas žemyn atlieka nukirtimo smūgį, o aukštai pakilęs kamuolys yra tam, kad jį smogtų.
Pasirinktinis pagalbininkas, kurį žaidėjai gali įjungti ar išjungti rungtynių metu, padeda raketei rasti kamuolio aukštį. Viešai svetainei tai svarbu: pirmą kartą žaidžiantis žmogus telefone vis dar gali atmušti kamuolį.
Yra trys kompiuterio varžovai su savo stiliais: kantri Capi, žaisminga Nori ir tiksli Miso, kiekvienas Easy, Normal ar Hard lygiu. Treniruočių režimas (Training mode) duoda partnerį, kuris atmuša kiekvieną kamuolį. Po rungtynių pakartojimas parodo lemiamą tašką dar kartą.
Sužaiskite Sunset Rally demonstraciją
Ką apima stalo teniso žaidimo šaltinio kodo paketas
- Paruoštas talpinti game/ aplankas, jau surinktas ir neminimizuotas.
- TypeScript kūrėjo šaltinis su Vite konfigūracija ir žaidimo ištekliais source/ aplanke.
- Iliustruoti vadovai anglų ir portugalų kalbomis su tikromis ekrano nuotraukomis.
- Šriftai ir garso failai, įtraukti į žaidimą.
- Trečiųjų šalių licencijų pranešimai ir pakeitimų istorija.
Technologijos: TypeScript, Three.js r184, Vite ir WebGL2. Failai: HTML, CSS, JavaScript, TypeScript ir JSON. Sąsaja yra 14 kalbų: anglų, portugalų, ispanų, prancūzų, vokiečių, italų, olandų, lenkų, turkų, rusų, indoneziečių, japonų, korėjiečių ir supaprastintos kinų. Vadovai tik anglų ir portugalų kalbomis.
Rungtynes supantis turinys taip pat yra pakete: Sunset Circuit (saulėlydžio ratas) iš devynių rungtynių trijuose etapuose, trys vietos — Sunset garden (saulėlydžio sodas), Sakura garden (Sakuros sodas) ir Seaside café (jūros kavinė) — rytą, popietę, naktį ar lietų, ir dirbtuvės (Workshop), kur pergalių monetos perkamos raketės spalvoms, guminėms dangoms, formoms, rankenoms, medžiagoms, kraštų juostai, lipdukams ir kamuolio bei stalo stiliams.
Kur kas yra kode
Vadovas kiekvieną žaidimo dalį susieja su failu. Tai sąrašas, kurį laikykite atvirą dirbdami:
- Campaign.ts: devynios kampanijos rungtynės ir jų žvaigždučių tikslai.
- Places.ts: kaip atrodo kiekviena vieta.
- physics.ts: kamuolio ir raketės fizika.
- match.ts: taškai ir rungtynių taisyklės.
- i18n.ts: anglų ir portugalų sąsajos tekstas; kitos kalbos yra locales aplanke.
- styles.css: meniu ir ekranų stilius.
Kiekvienos kampanijos rungtynės turi iki trijų žvaigždučių: laimėti, pataikyti į tris kampus ir sužaisti dešimties smūgių apmainymą. Tai sudaro 27 žvaigždutes, o kiekvienos vietos užbaigimas duoda dirbtuvių prizą. Kadangi žvaigždučių sąlygos yra viename kampanijos faile, galite padaryti kampaniją lengvesnę ar sunkesnę nieko neieškodami kode.
Ką keisti pirmiausia pingpongo šablone
Siūlome tokią tvarką, nuo mažos rizikos iki didelės.
- Sąsajos tekstas ir žaidimo pavadinimas, i18n.ts ir locales aplanke.
- Spalvos ir ekranai, styles.css.
- Dirbtuvių stiliai raketėms, kamuoliams ir stalams, kad įranga nešiotų jūsų prekės ženklą.
- Vietų vaizdai, Places.ts.
- Kampanijos rungtynės ir žvaigždučių tikslai, Campaign.ts.
- Fizika ir taškai, physics.ts ir match.ts, tik jei reikia kitokio jausmo.
Vadovas pateikia tris taisykles, kurių verta laikytis. Išlaikykite atrakinimo ID, daiktų ID ir išsaugojimo raktus stabilius, kitaip žaidėjai praras tai, ką pelnė. Prieš pradėdami padarykite atsargines kopijas. Keiskite po vieną funkciją, kad žinotumėte, kuris pakeitimas ką sukėlė.
Baltas ženklas leidžiamas: jūsų ar jūsų kliento pavadinimas ir logotipas gali pakeisti mūsų.
Surinkimas, talpinimas ir įterpimas
Žaisti nieko surinkti nereikia. Įkelkite game/ turinį į bet kurį HTTP(S) talpinimą, kuris teikia statinius failus, išlaikykite santykinius kelius ir atidarykite adresą. PHP, duomenų bazės ar paskyros nereikia.
Keisti šaltinį reikia Node.js (rekomenduojama 24 LTS) ir npm. Redaguokite TypeScript, surinkite su Vite ir pakeiskite talpinamą game/ aplanką nauju rezultatu.
Naršyklei reikia JavaScript, ES modulių ir WebGL2. Palaikomi tiek jutiklinio ekrano, tiek pelės valdymai, o valdymas prisitaiko prie ekrano dydžio. Našumas priklauso nuo naršyklės ir įrenginio, todėl išbandykite telefonais, kuriuos naudoja jūsų žaidėjai.
- Įkelkite game/ į bandomąjį aplanką savo talpinime.
- Sužaiskite vienas rungtynes darbalaukio naršyklėje ir vienas telefone.
- Atlikite tekstų ir stilių pakeitimus source/ ir surinkite iš naujo.
- Pakeiskite visą bandomąjį aplanką ir vėl sužaiskite.
- Perkelkite į galutinį adresą.
Ko šis leidimas neapima
Šis leidimas žaidžiamas prieš kompiuterį: kampanija, laisvos rungtynės ir treniruotės. Internetinis daugelio žaidėjų režimas, internetiniai kambariai, internetinės lyderių lentelės ir debesies paskyros į paketą neįtraukti, taip pat nėra dviejų žaidėjų režimo. Reklamos SDK ar paskyrų nėra, o natyvios programėlės ir talpinimas neįtraukti.
Pažanga lieka žaidėjo naršyklėje: kampanijos žvaigždutės, rezultatai, statistika, pakartojimai ir dirbtuvių daiktai. Nei serveris, nei paskyra nenaudojami, todėl po paleidimo nėra ką prižiūrėti.
Jei reikia internetinio režimo, portalo SDK, programėlės versijos parduotuvei ar įdiegimo savo serveryje, tai atskira paslauga, įkainojama kiekvienam projektui.
Prašykite pasiūlymo dėl individualaus darbo
Licencija, palaikymas ir kaina vienoje pastraipoje
Vienas pirkinys suteikia neribotą, neišskirtinę licenciją vienam galutiniam produktui, jūsų ar vieno kliento, kurį žaidėjai gali naudoti nemokamai arba su skelbimų pajamomis. Tame produkte galite keisti kodą, piešinius ir garsą, bet šablono, jo šaltinio kodo ar turto atskirai perparduoti negalite. Palaikymas trunka 6 mėnesius, arba 12 su priedu apmokėjimo metu, ir apima failų diegimą, naudojimą ir atkuriamų defektų taisymą; pritaikymas, talpinimas ir SDK ar portalo integracija įkainojami atskirai. Įprasta kaina yra 39 USD; iki 2026 m. lapkričio 30 d. Juodojo penktadienio akcija taiko 15 % nuolaidą kiekvienam šablonui, todėl Sunset Rally kainuoja 33,15 USD, o nuo 2026 m. gruodžio 1 d. kainos grįžta į įprastas.
Dažnai užduodami klausimai
Ar reikia ką nors surinkti, kad naudočiau šį pingpongo žaidimą?
Ne. game/ aplankas jau surinktas. Įkelkite jo turinį į statinį žiniatinklio talpinimą ir atidarykite adresą. Node.js ir npm reikia tik tada, jei keičiate TypeScript ir surenkate iš naujo.
Ar yra dviejų žaidėjų ar internetinis režimas?
Ne. Šis leidimas žaidžiamas prieš kompiuterį kampanijoje, laisvose rungtynėse ir treniruotėse.
Ar galiu keisti kampaniją ir žvaigždučių tikslus?
Taip. Rungtynės ir žvaigždučių sąlygos yra Campaign.ts. Po to surinkite iš naujo su Node.js.
Ar galiu keisti, kaip elgiasi kamuolys?
Taip. Fizika yra physics.ts, o taškų taisyklės — match.ts. Keiskite po vieną dalyką ir testuokite prieš kiekvieną varžovą.
Ar veikia telefonuose?
Taip, su jutikliniu valdymu, kuris prisitaiko prie ekrano. Reikia WebGL2, o našumas priklauso nuo įrenginio, todėl išbandykite telefonus, kuriems taikotės.
Kur išsaugoma pažanga?
Žaidėjo naršyklėje. Serveris ar paskyra nenaudojami.
Kiti sporto šablonai palyginimui
Jei kuriate sporto skiltį svetainei, du kiti šablonai puikiai tinka šalia Sunset Rally. Velvet Pool yra 8 kamuolių biliardo žaidimas su kompiuterio priešininku ir vietiniu dviejų žaidėjų režimu, parašytas paprastu JavaScript su WebGL2, įprasta kaina 39 USD. Puttide yra 3D minigolfo žaidimas su 30 duobių, sukurtas su Three.js ir Rapier, įprasta kaina 39 USD. Abu turi 14 sąsajos kalbų.
Sunset Rally tinka portalams ir svetainėms, norintiems sporto žaidimo su trumpomis rungtynėmis, studijoms, kurios pristato prekės ženklo žaidimą vienam klientui, ir kūrėjams, norintiems perskaityti įskaitomą TypeScript ir Three.js projektą mokymuisi ar plėtimui. Jei reikia dviem žaidėjams viename įrenginyje, Velvet Pool tą režimą turi, o Sunset Rally — ne.
Žiūrėkite Velvet Pool, 8 kamuolių žaidimą
Žiūrėkite Puttide, 3D minigolfo žaidimą
Užsakius du ar daugiau šablonų viename užsakyme, kiekviena licencija pigesnė: 5 % nuolaida dviem, 10 % trims, 15 % keturiems ir 20 % penkiems ar daugiau.
