Vadovas

Ritmo žaidimo šaltinio kodas: natų schemos, laikas ir naujos dainos

Kaip Riffvolt saugo 12 kūrinių ir 48 schemas, kur nustatomas laikas ir taškai bei ko reikia norint pridėti savo dainą.

Riffvolt piešinys: rožinės, geltonos, mėlynos ir žalios spalvos keturių juostų natų kelias veda į apšviestą koncerto sceną su minia ir elektrine gitara.

Ritmo žaidimo šaltinio kodas iš tikrųjų yra dvi dalys: kodas, kuris vertina laiką, ir duomenys, sakantys, kada atkeliauja kiekviena nata. Pirkėjai beveik visada nori keisti antrąją, nes naujos dainos yra tai, kas padaro ritmo žaidimą jų. Riffvolt, mūsų keturių juostų roko ritmo šablonas, dainų sąrašą laiko viename manifeste, o kiekvieną natų schemą — atskirame faile, todėl dainos pridėjimas yra duomenų darbas su aiškiu kontroliniu sąrašu.

Šis vadovas eina per paketą: ką jis groja, kur gyvena laikas ir taškai, kaip pridėti dainą, kaip surinkti ir talpinti, ką leidžia licencija ir ko leidimas neapima. Failų pavadinimai paimti iš pirkėjo vadovo, pateikiamo su žaidimu.

Vieną faktą verta turėti galvoje nuo pat pradžių: skirtingai nei kai kurie mūsų šablonai, Riffvolt reikia perkompiliavimo, kai pakeičiate šaltinį ar pridedate dainas. Talpinti pateiktą žaidimo aplanką pakanka statinio žiniatinklio talpinimo.

Ką groja šis ritmo žaidimo šaltinio kodas

Riffvolt yra baigtas keturių juostų roko ritmo žaidimas naršyklei. Žaidėjai pataiko natas laiku, laiko ilgas natas iki galo, lenkia jas svirtele (whammy) ir pildo ROCK matuoklį, kuris paleidžia overdrive (perkrovą) — šviesų šou, kuris nepridės taškų ir baigiasi bet kuriuo klaidingu pataikymu. Laiko tikslumas kaupia taškus ir combo.

  • 12 pilnų kūrinių, kiekvienas su Easy, Normal ir Hard schemomis, plius Rock God, kuris atsiveria po turo: iš viso 48 natų schemos.
  • Turas per keturias vietas (Garage, The road, Festival ir Arena), po tris dainas kiekvienoje. Žvaigždutės iš pirmųjų dviejų atveria bisą, o jo įveikimas atveria kitą vietą su istorijos scenomis ir kosmetiniais atlygiais, pavyzdžiui pėdsakais ir rėmeliais.
  • Laisvas žaidimas: bet kuri daina bet kuriuo sunkumu, su asmeniniais rekordais, išsaugotais kiekvienai dainai naršyklėje.
  • Valdymas: pagal numatytuosius nustatymus D, F, J ir K, bakstelėjimas juostų jutikliniame ekrane arba gamepad. Klavišų nustatymai yra Settings (nustatymai).
  • Patogumas: garso kalibravimas poslinkiui, kuris padeda su Bluetooth ausinėmis, sumažintas judėjimas ir fotojautrus režimas, kuris sušvelnina blyksnius ir žaibus.
  • 14 sąsajos kalbų.

Žiūrėkite Riffvolt įrašą, demonstraciją ir vadovus

Kaip sutvarkyti failai

Atsisiuntime yra game/ (talpinami failai), source/ (TypeScript projektas), documentation/ (iliustruoti vadovai anglų ir portugalų kalbomis) ir licenses/ (trečiųjų šalių pranešimai). source/ viduje dainų duomenų ir žaidimo logikos skilimas yra aiškus.

  • public/manifest.json: dainų katalogas su kiekvienos dainos trukme, garso versija ir schemų keliais.
  • public/charts/: 48 natų schemos.
  • public/audio/: kūrinių įrašai.
  • src/core/chartValidate.ts: schemos struktūros ir laiko patikrinimas.
  • src/core/judge.ts: laiko įvertinimai.
  • src/core/scoring.ts: taškų ir combo taisyklės.
  • src/game/campaign.ts: turo progresas.
  • src/game/session.ts: dainos gyvavimo ciklas ir rezultato skaičiavimas.
  • src/i18n/locales.ts: 14 sąsajos žodynų.
  • src/net/localRecords.js: vietiniai asmeniniai rekordai.
  • src/ui/style.css: sąsaja ir prisitaikantis išdėstymas.

Kadangi teisėjas ir taškų skaičiavimas yra atskiri failai, galite padaryti laiko langus griežtesnius ar atlaidesnius nepaliesdami, kaip sumuojami taškai, ir atvirkščiai. Tai skilimas, kurio reikia ieškoti bet kokiame ritmo kode.

Savos dainos pridėjimas žingsnis po žingsnio

Tai pakeitimas, apie kurį ritmo žaidimų pirkėjai klausia pirmiausia. Pakete nėra schemų redaktoriaus, todėl schemos rašomos kaip duomenys, o vadovas tiksliai nurodo, ko reikia kiekvienam failui.

  1. Įdėkite įrašą į public/audio/. Naudokite tik garsą, kurio teises turite savo galutiniam produktui.
  2. Sukurkite po vieną schemą kiekvienam palaikomam sunkumui public/charts/. Kiekvienai schemai reikia atitinkamo songId, difficulty, audioVersion, offset ir natų eilės tvarka.
  3. Pridėkite dainą į public/manifest.json su unikaliu id, trukme, BPM, tema, audioVersion ir schemų keliais.
  4. Patikrinkite kiekvieną schemą su validatoriumi chartValidate.ts.
  5. Sužaiskite visą kūrinį kiekvienu sunkumu, kad patikrintumėte sinchronizaciją. Validatorius tikrina struktūrą ir laiko taisykles, bet ne tai, ar nata jaučiasi teisingai.
  6. Surinkite iš naujo ir įkelkite naują surinkinį.

Jei norite visiškai naujo garso takelio, o ne vienos papildomos dainos, planuokite darbą pagal schemas: 12 dainų keturiais sunkumais yra 48 schemos, ir kiekviena nusipelno pilno praėjimo prieš išleidimą.

Perkompiliavimas ir ką dar keisti

Rekomenduojama Node.js 24 LTS. source/ viduje paleiskite npm ci, tada npm run typecheck ir npm run build, ir publikuokite tik dist/ turinį. npm run preview paslaugas vietinį surinkinį patikrinimui. Neįkelkite node_modules/. Vite naudoja santykinį bazinį kelią, todėl surinkinys veikia poaplankyje. Pateiktas veikimo laikas yra suformatuotas skaitymui; vadovas prašo perkompiliuojant palikti minify:false ir cssMinify:false, kad kitas žmogus vis dar galėtų jį perskaityti.

  1. Prekės ženklas: spalvos ir išdėstymas src/ui/style.css, plius jūsų logotipas. Baltas ženklas leidžiamas, todėl jūsų prekės ženklas gali pakeisti mūsų.
  2. Tekstai: src/i18n/locales.ts, kalboms, kurias pateikiate.
  3. Turas: vietų tvarka ir tai, kas ką atrakina, campaign.ts.
  4. Sunkumas: laiko langai judge.ts, tada taškų ir combo taisyklės scoring.ts.
  5. Dainos: paskutinės, nes kiekviena nauja schema reikalauja pilno praėjimo.

Prieš redaguodami padarykite atsargines kopijas, keiskite po vieną funkciją ir po kiekvieno pakeitimo išbandykite meniu, dainą, pauzę, rezultatų ekraną ir perkrovimą. Išlaikykite elementų ID ir išsaugojimo raktus stabilius, kad esami žaidėjai išsaugotų savo rekordus.

Talpinimas ar įterpimas į portalą

Įkelkite game/ turinį į aplanką jūsų HTTP(S) talpinime, išlaikykite santykinius kelius ir atidarykite adresą. PHP, duomenų bazės ar paskyros nereikia. Neatidarykite index.html per file://; vietiniam bandymui paleiskite python -m http.server 8765 game/ aplanke.

  • Naršyklei reikia: JavaScript, ES modulių, Canvas 2D ir Web Audio.
  • Naršyklės atrakina garsą tik po pirmo bakstelėjimo ar spustelėjimo, todėl tylus pirmas ekranas yra normalus.
  • Iframe viduje leiskite pilno ekrano režimą ir automatinį paleidimą.
  • Teikite .js su JavaScript MIME tipu, niekada kaip text/plain.
  • Visi veikimo ištekliai, šriftai ir bibliotekos yra surinkinio viduje. Privalomo CDN nėra, bet tai nėra įdiegiama programa neprisijungus.

Išsaugojimai priklauso naršyklės kilmei, todėl perkėlus žaidimą į kitą domeną žaidėjai pradeda iš naujo. Šis leidimas naudoja savo išsaugojimo raktus, atskirtus nuo mūsų portalo leidimų. Natyvūs programėlių projektai neįtraukti; išleidimas parduotuvėje yra atskiras darbas.

Ko šis leidimas neapima

Riffvolt yra vietinis naršyklės leidimas. Jame nėra internetinių kambarių ar kelių žaidėjų režimo, internetinio reitingo ar bendros lyderių lentelės, reklamos SDK ar paskyros, schemų redaktoriaus, natyvių programėlių ir talpinimo. Asmeniniai rekordai ir turo progresas lieka žaidėjo naršyklėje.

Jei muzikos žaidimas tinka jūsų katalogui, du kiti mūsų laiku pagrįsti šablonai gali tikti šalia.

Pinloop: vieno mygtuko laiko arkadinis žaidimas su 30 taikinių

Ricopop: ricochet arkadinis žaidimas su 50 lygių

Licencija ir kaina

Riffvolt kainuoja 49 USD. Iki 2026 m. lapkričio 30 d. Juodojo penktadienio akcija taiko 15 % nuolaidą, todėl jis kainuoja 41,65 USD, o užsakius du ar daugiau šablonų viename užsakyme pridedama 5–20 % paketo nuolaida. Licencija neribota, neišskirtinė, vienam galutiniam produktui, jūsų ar vieno kliento. Galite keisti kodą, piešinius ir garsą, pakeisti mūsų prekės ženklą savuoju ir siūlyti žaidimą nemokamai ar su skelbimais. Įtrauktus kūrinius naudokite kaip to galutinio produkto dalį; šablono, jo kodo ar turto atskirai perparduoti negalite. Šeši mėnesiai palaikymo įskaičiuoti, arba dvylika su priedu; naujos dainos, integracijos ir talpinimas įkainojami atskirai.

Skaitykite visas licencijos sąlygas

Dažnai užduodami klausimai

Ar galiu pridėti savo dainas prie ritmo žaidimo šaltinio kodo?

Taip. Pridėkite garsą, po vieną schemą kiekvienam sunkumui ir įrašą public/manifest.json, patikrinkite schemas, sužaiskite jas, tada perkompiliuokite. Schemų redaktorius neįtrauktas.

Ar man reikia Node.js, kad naudočiau Riffvolt?

Ne, kad talpintumėte pateiktą žaidimo aplanką. Node.js 24 LTS rekomenduojamas tik perkompiliavimui pakeitus TypeScript ar pridėjus dainas.

Ar veikia su jutikliniais ekranais ir gamepad?

Taip. Žaidėjai gali bakstelėti juostas ar naudoti gamepad, o valdymas nustatomas Settings. Našumas priklauso nuo įrenginio, todėl išbandykite tuos, kuriuos tikslinate.

O Bluetooth ausinės ir vėlavimas?

Nustatymuose yra garso kalibravimas, kuris nustato garso poslinkį ir padeda su Bluetooth ausinėmis.

Ar yra internetinė lyderių lentelė?

Ne. Asmeniniai rekordai išsaugomi kiekvienai dainai ir sunkumui žaidėjo naršyklėje. Nėra nuotolinių varžovų ar bendrų reitingų.

Kam verta pirkti

Riffvolt tinka portalui ar svetainei, norinčiai muzikinio žaidimo savo kataloge, studijai, pristatančiai prekės ženklo ritmo žaidimą vienam klientui, ir kūrėjui, norinčiam perskaityti, kaip Canvas 2D ir Web Audio žaidimas vertina laiką TypeScript kalba. Jis silpnesnis, jei reikia vizualaus schemų redaktoriaus ne kūrėjams ar internetinių varžybų; abu yra individualus darbas.

Žaiskite Riffvolt demonstraciją ir įsigykite licenciją

Naujos dainos ar prekės ženklo versija? Prašykite pasiūlymo