Zdrojový kód hry stolní tenis: soubory, fyzika a kampaň Sunset Rally
3D pinpongová hra pro prohlížeč, prošlá soubor po souboru: kde žije fyzika, bodování, kampaň a místa, a co měnit jako první.

Pokud potřebujete zdrojový kód hry stolní tenis, který můžete hostovat a měnit, Sunset Rally je hotová 3D pinpongová hra pro prohlížeč s devíti zápasy v kampani, třemi počítačovými soupeři, dílnou a celým projektem v TypeScriptu. Katalogová cena je 39 USD. Složka hry je už sestavená a nezminifikovaná, takže ji můžete nejdřív nahrát a číst později.
Sportovní hry se těžko přizpůsobují, i když to tak nevypadá, protože zábava sídlí ve fyzice a ovládání, ne v menu. Tento průvodce ukazuje, kde každá z těchto částí v projektu Sunset Rally je, co můžete bezpečně měnit a co tato edice nezahrnuje.
Jak pinpongová hra funguje
Zápasy se hrají do sedmi bodů proti počítačovému soupeři. Hráči ovládají pálku pohybem ukazatele nebo tažením a údery se provádějí automaticky. Tah nahoru přidá sílu, pohyb do stran umisťuje míček, tah dolů hraje krátký úder (drop shot) a míček, který se zvedne, je tu k tomu, aby byl smashován.
Volitelná pomůcka (assist), kterou hráči mohou během zápasu zapnout a vypnout, pomáhá pálce najít výšku míčku. Pro veřejný web na tom záleží: hráč, který hraje poprvé na telefonu, může míček stále vrátit.
Jsou tu tři počítačoví soupeři se svými styly: trpělivá Capi, hravá Nori a přesná Miso, každý na Easy, Normal nebo Hard. Trénink (training mode) vám přidělí partnera, který vrací každý míček. Po zápase replay znovu ukáže rozhodující bod.
Co obsahuje balíček se zdrojovým kódem stolního tenisu
- Složku game/ připravenou k hostování, už sestavenou a nezminifikovanou.
- Vývojářský zdrojový kód v TypeScriptu s nastavením Vite a herními assety, ve složce source/.
- Ilustrované příručky v angličtině a portugalštině se skutečnými snímky obrazovky.
- Písma a zvukové soubory přibalené ke hře.
- Oznámení licencí třetích stran a seznam změn.
Technologický základ tvoří TypeScript, Three.js r184, Vite a WebGL2. Soubory zahrnují HTML, CSS, JavaScript, TypeScript a JSON. Rozhraní je k dispozici ve 14 jazycích: angličtina, portugalština, španělština, francouzština, němčina, italština, nizozemština, polština, turečtina, ruština, indonéština, japonština, korejština a zjednodušená čínština. Příručky jsou jen v angličtině a portugalštině.
Součástí balíčku je i obsah kolem zápasů: Sunset Circuit (okruh Sunset) o devíti zápasech ve třech fázích, tři místa (zahrada Sunset, zahrada Sakura a kavárna Seaside) v ránu, odpoledni, noci nebo dešti a dílna, kde mincemi z výher kupujete barvy pálek, gumy, tvary, rukojeti, dřeva, okrajové pásky, samolepky a styly míčků a stolů.
Kde co v kódu je
Příručka mapuje každou část hry na soubor. Toto je seznam, který mějte při práci otevřený:
- Campaign.ts: devět zápasů kampaně a jejich cíle hvězd.
- Places.ts: jak vypadá každé místo.
- physics.ts: fyzika míčku a pálky.
- match.ts: pravidla bodování a zápasu.
- i18n.ts: anglický a portugalský text rozhraní; ostatní jazyky jsou ve složce locales.
- styles.css: vzhled menu a obrazovek.
Každý zápas kampaně má až tři hvězdy: vyhrát, zasáhnout tři rohy a odehrát výměnu o deseti úderech. To dělá 27 hvězd a vyčištění každého místa vynese cenu z dílny. Protože podmínky hvězd jsou v jednom souboru kampaně, můžete kampaň ztížit nebo ulehčit, aniž byste hledali v kódu.
Co změnit jako první v šabloně pinpongu
Navrhujeme toto pořadí, od nízkého rizika k vysokému.
- Text rozhraní a název hry v i18n.ts a ve složce locales.
- Barvy a obrazovky ve styles.css.
- Styly dílny pro pálky, míčky a stoly, aby vybavení neslo vaši značku.
- Vizuály míst v Places.ts.
- Zápasy kampaně a cíle hvězd v Campaign.ts.
- Fyzika a bodování v physics.ts a match.ts, jen pokud potřebujete jiný pocit ze hry.
Příručka přidává tři pravidla, která stojí za to dodržet. Id odemknutí, id položek a klíče ukládání držte stabilní, jinak hráči přijdou o to, co získali. Před začátkem zálohujte. Měňte jednu funkci najednou, abyste věděli, která úprava co způsobila.
White label je povolen: vaše jméno a logo, nebo logo vašeho klienta, mohou nahradit naše.
Sestavení, hosting a vložení na web
Pro hraní není potřeba nic sestavovat. Obsah složky game/ nahrajte na libovolný HTTP(S) hosting, který podává statické soubory, zachovejte relativní cesty a otevřete adresu. Není potřeba PHP, databáze ani účet.
Pro změny zdrojového kódu potřebujete Node.js (doporučuje se 24 LTS) a npm. Upravte TypeScript, sestavte ho pomocí Vite a nahraďte hostovanou složku game/ novým výstupem.
Prohlížeč potřebuje JavaScript, ES moduly a WebGL2. Podporováno je dotykové i myší ovládání a ovládání se přizpůsobí velikosti obrazovky. Výkon závisí na prohlížeči a zařízení, takže testujte na telefonech, které používají vaši hráči.
- Nahrajte game/ do testovací složky na svém hostingu.
- Odehrajte jeden zápas v prohlížeči na počítači a jeden na telefonu.
- Změňte text a styly ve source/ a sestavte znovu.
- Nahraďte celou testovací složku a znovu si zahrajte.
- Přesuňte ji na konečnou adresu.
Co tato edice nezahrnuje
Tato edice se hraje proti počítači: kampaň, volný zápas a trénink. Online multiplayer, online místnosti, online žebříčky a cloudové účty nejsou součástí balíčku a neexistuje ani režim pro dva hráče. Nejsou tu reklamní SDK ani účty a nativní aplikace a hosting nejsou zahrnuty.
Postup zůstává v prohlížeči hráče: hvězdy kampaně, výsledky, statistiky, replaye a položky z dílny. Nepoužívá se žádný server ani účet, takže po spuštění není co udržovat.
Pokud potřebujete online režim, SDK portálu, verzi pro obchod s aplikacemi nebo instalaci na váš server, jde o samostatnou službu, nabízenou podle projektu.
Vyžádejte si nabídku na zakázkovou práci
Licence, podpora a cena v jednom odstavci
Jedna koupě dává trvalou, nevýhradní licenci pro jeden koncový produkt, váš nebo jednoho vašeho klienta, který ho hráči mohou používat zdarma nebo s monetizací reklamou. Kód, grafiku a zvuk uvnitř tohoto produktu můžete měnit, ale samotnou šablonu, její zdrojový kód ani assety nesmíte dál prodávat ani sdílet. Podpora trvá 6 měsíců, nebo 12 měsíců s rozšířením při pokladně, a zahrnuje instalaci a používání souborů a opravu reprodukovatelných chyb; úpravy, hosting a integrace SDK nebo portálu se nabízejí zvlášť. Katalogová cena je 39 USD; do 30. listopadu 2026 platí akce Black Friday, která sníží cenu každé šablony o 15 %, takže Sunset Rally stojí 33,15 USD. Od 1. prosince se ceny vrátí na katalogové.
Často kladené otázky
Potřebuji k použití této pinpongové hry něco sestavovat?
Ne. Složka game/ je už sestavená. Nahrajte její obsah na statický webový hosting a otevřete adresu. Node.js a npm jsou potřeba jen tehdy, když měníte TypeScript a sestavujete znovu.
Je k dispozici režim pro dva hráče nebo online režim?
Ne. Tato edice se hraje proti počítači v kampani, volných zápasech a tréninku.
Mohu změnit kampaň a cíle hvězd?
Ano. Zápasy a podmínky hvězd jsou v Campaign.ts. Poté sestavte znovu pomocí Node.js.
Mohu změnit, jak se míček chová?
Ano. Fyzika je v physics.ts a pravidla bodování v match.ts. Měňte vždy jednu věc a testujte proti každému soupeři.
Funguje to na telefonech?
Ano, s dotykovým ovládáním, které se přizpůsobí obrazovce. Vyžaduje se WebGL2 a výkon závisí na zařízení, takže otestujte telefony, na které míříte.
Kde se ukládá postup?
V prohlížeči hráče. Nepoužívá se žádný server ani účet.
Další sportovní šablony k porovnání
Pokud stavíte sportovní koutek pro web, vedle Sunset Rally se dobře hodí dvě další šablony. Velvet Pool je kulečníková hra 8-ball s počítačovým soupeřem a lokálním režimem pro dva hráče, napsaná v čistém JavaScriptu s WebGL2, katalogová cena 39 USD. Puttide je 3D minigolf s 30 jamkami postavený na Three.js a Rapier, katalogová cena 39 USD. Obě mají 14 jazyků rozhraní.
Sunset Rally se hodí portálům a webům, které chtějí sportovní hru s krátkými zápasy, studiím dodávajícím značkovou hru jednomu klientovi a vývojářům, kteří chtějí čitelný projekt v TypeScriptu a Three.js, z něhož se mohou učit nebo ho rozšiřovat. Pokud potřebujete dva hráče na jednom zařízení, Velvet Pool tento režim má a Sunset Rally ho nemá.
Podívejte se na Velvet Pool, hru 8-ball
Podívejte se na Puttide, 3D minigolf
Pokud v jedné objednávce koupíte dvě nebo více šablon, každá licence je levnější: 5 % sleva za dvě, 10 % za tři, 15 % za čtyři a 20 % za pět a více.
