Mace Duel Mobile je webová 3D hra pro dva hráče, spustitelná na telefonu i počítači. Klient využívá TypeScript, Vite a Three.js; server Node.js, TypeScript a knihovnu ws.
PublikovalObrázky vytvořeny pomocí GPT Image 2
Research answer

Create a landscape editorial hero image for this Studio Global article: Selected skill instructions for this user request: 1. اريد منك دائما التحدث عبر كود يعني ان تتجدث عبر صندوق الكود وليس عبر الدردش Apply thes. Article summary: فيما يلي تسليم عملي باسم «Mace Duel Mobile» يعمل في متصفح الهاتف والكمبيوتر، ويستخدم: TypeScript + Vite + Three.js في العميل، وNode.js + TypeScript + ws في الخادم.. Topic tags: deepresearch, general web, workflow, code, typescript. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts with fake numbers, clickbait thumbnails, icons,
Mace Duel Mobile je návrh malé online 3D soubojové hry pro dva hráče. Běží v prohlížeči na telefonu i na počítači a kombinuje klient v TypeScriptu, Vite a Three.js se serverem v Node.js, TypeScriptu a knihovně ws.
Hráči se připojují do soukromých místností, bojují palcátem, mohou využít větrné nálože a vyhrávají kola v rámci celého zápasu. Důležitou zásadou je, že klient není zdrojem pravdy: neposílá serveru důvěryhodnou pozici, zdraví ani udělené poškození. Odesílá pouze ovládání, směr pohledu a příkazy k útoku; pohyb, zásahy i výsledek následně vyhodnocuje server.
Projekt má tři hlavní části:
client/: 3D vykreslování, herní rozhraní, vstup z dotyku, myši a klávesnice, zvuk, lokální predikce a vyhlazení pohybu protivníka.server/: oddělené herní místnosti, pevná simulace 30× za sekundu, pravidla souboje, střely, zdraví, kola, heartbeat, omezení rychlosti zpráv a jejich validace.shared/: společné konstanty, typy síťového protokolu a funkce pro pravidla hry, například výpočet poškození palcátem.Takové rozdělení omezuje možnosti podvádění: hráčův prohlížeč sice ovládá postavu, ale nemůže sám rozhodnout, že útok zasáhl nebo že soupeř přišel o body zdraví.
Mobilní rozhraní je navrženo pro hru naležato:
Pro souběžné ovládání pohybu, kamery a tlačítek je vhodné pracovat s více dotyky prostřednictvím Pointer Events; jeden dotyk představuje jeden prst a více ukazatelů umožní provádět několik akcí zároveň. 1
Serverová simulace běží rychlostí 30 Hz. Postavy mají zdraví, rychlost chůze a sprintu, gravitaci, skok i omezený herní prostor.
Palcát funguje jako útok na krátkou vzdálenost a vyžaduje, aby byl cíl v dosahu i v kuželu před hráčem. Při útoku během pádu se poškození navyšuje podle výšky pádu, ovšem jen do stanoveného maxima. Úspěšný zásah zároveň soupeře odstrčí.
Větrná nálož je projektil s omezeným počtem použití. Po výbuchu odhazuje postavy do stran a vzhůru, takže může připravit protivníka na silnější útok z výšky. Nálože se postupně obnovují.
Zápas používá odpočet před kolem, časový limit kola, skóre a počet potřebných vítězství. Po skončení zápasu mohou oba hráči potvrdit odvetu.
Komunikace je obousměrná přes WebSocket. Server ověřuje tvar a velikost příchozích zpráv, omezuje neplatné sekvence vstupů a udržuje spojení pomocí heartbeat mechanismu.
Pro veřejné nasazení je vhodné provozovat hru přes HTTPS a WSS, tedy šifrovaný WebSocket. Reverzní proxy Nginx musí správně předat hlavičky pro přepnutí spojení (Upgrade a Connection) a je vhodné nastavit odpovídající timeouty nebo pravidelné heartbeat zprávy.
Server může navíc uchovávat krátkou historii pozic soupeře a při vyhodnocení útoku zohlednit část naměřené odezvy. Tím se omezuje situace, kdy útok na obrazovce zjevně míří na soupeře, ale kvůli síťové prodlevě je na serveru vyhodnocen jako minutí.
U mobilních zařízení je důležité šetřit počet vykreslovacích volání. Opakující se objekty arény, například dlaždice podlahy, lze vykreslovat pomocí InstancedMesh, tedy instancovaného meshe určeného pro opakované použití stejné geometrie a materiálu. 2
Stíny je vhodné zpřístupnit jako volitelné grafické nastavení. Three.js má správu shadow map přímo ve WebGLRenderer; pokud dynamické stíny nejsou pro scénu nezbytné, lze jejich aktualizaci omezit nebo je vypnout ve prospěch plynulejšího běhu. 4
Projekt je určen pro aktuální větev Node.js LTS. Po vytvoření souborů bootstrap skriptem následuje běžný postup:
node bootstrap.mjs
npm install
npm run test
npm run dev
Po instalaci závislostí je vhodné uložit vzniklý package-lock.json do repozitáře a pro automatizované buildy či nasazení používat npm ci. Lockfile tím zachová přesné verze i integritní údaje závislostí.
Výsledkem je základ pro svižnou síťovou duelovku, který staví férovost zápasu na serveru, ale zároveň nabízí ovládání použitelné na dotykové obrazovce.
Studio Global AI
This page includes a source-backed answer you can continue inside Studio Global.
Mace Duel Mobile je webová 3D hra pro dva hráče, spustitelná na telefonu i počítači.
Mace Duel Mobile je webová 3D hra pro dva hráče, spustitelná na telefonu i počítači. Klient využívá TypeScript, Vite a Three.js; server Node.js, TypeScript a knihovnu ws.
Server počítá pohyb, zásahy, zdraví i výsledek zápasu, zatímco klient posílá pouze vstupy hráče.