Hacker News

Procedūrinio šešioliktainio žemėlapio kūrimas su banginės funkcijos žlugimu

komentarai

9 min read Via felixturner.github.io

Mewayz Team

Editorial Team

Hacker News

Kurkite savo pasaulį, vienu algoritmu

Mūsų mėgstamiausių žaidimų skaitmeniniai peizažai – besidriekiantys miestai, tankūs miškai ir labirintiniai požemiai – dažnai atrodo neįtikėtinai detalūs ir be galo unikalūs. Kūrėjams tokio turinio kūrimas rankomis yra didžiulė užduotis. Čia šviečia procedūrų generavimas, o vienas patraukliausių jos metodų yra bangų funkcijos žlugimo (WFC) algoritmas. WFC yra būdas automatizuoti sudėtingų, nuoseklių struktūrų kūrimą naudojant paprastų taisyklių rinkinį, o jo taikymas šešioliktainiais žemėlapiais puikiai tinka sukurti patikimus ir įvairius žaidimų pasaulius. Apibrėždami skirtingų tipų plytelių ryšius, iš esmės galite išmokyti algoritmo, kaip sukurti prasmingą pasaulį, užtikrinant, kad uolos atsirastų tik šalia kitų uolų ar paplūdimių, o miškai natūraliai susilies į pievas. Šis požiūris atitinka Mewayz filosofiją: tvirtos sistemos kūrimą iš tarpusavyje susijusių, gerai apibrėžtų modulių.

Supratimas apie bangų funkcijos žlugimo magiją

Pagrindinę funkciją „Wave Function Collapse“ įkvėpė kvantinė mechanika, tačiau norint ją naudoti, nereikia turėti fizikos laipsnio. Pagalvokite apie tai kaip apie sudėtingą apribojimų sprendimo ir plytelių išdėstymo algoritmą. Pradedate nuo tinklelio (šiuo atveju šešiakampio tinklelio), kuriame kiekvienas langelis yra „superpozicijoje“ – jis gali tapti bet kokiu jūsų apibrėžtu plytelių tipu. Tada procesas veikia „sutraukiant“ vienos ląstelės galimybes į vieną apibrėžtą plytelę, atsitiktinai pasirinktą iš galimų parinkčių. Tada šis žlugimas perkelia apribojimus į kaimynines ląsteles, apribodamas jų galimybes pagal iš anksto nustatytas taisykles. Pavyzdžiui, jei ląstelė subyra į „vandens“ plytelę, jos gretimos šešiakampės nebegali būti „dykuma“; jie gali apsiriboti „pakranta“, „daugiau vandens“ arba „uosta“. Ši grandininė reakcija tęsiasi tol, kol kiekvienas žemėlapio langelis sutraukiamas į vieną galiojančią plytelę, todėl gaunamas išsamus ir logiškai nuoseklus žemėlapis.

Kodėl šešiakampiai yra tobula drobė

Nors WFC gali dirbti ant kvadratinių tinklelių, šešiakampės plytelės suteikia aiškių pranašumų kuriant pasaulį. Šešiakampiai žemėlapiai pašalina nepatogias kvadratinių plytelių sujungimo problemas (kai judėjimas gali būti įstrižai) ir suteikia natūralesnį, organiškesnį reljefo srautą.

  • Daugiau natūralių kaimynų: kiekvienas šešiabriaunis turi šešis kaimynus, todėl galima sklandžiau pereiti tarp biomų ir realizuoti geografines ypatybes.
  • Puikus judėjimas ir diapazonas: atstumai yra nuoseklesni, o tai labai svarbu žaidimo mechanikai, pvz., judėjimo diapazonui ir poveikio srities burtams.
  • Estetinis patrauklumas: šešiakampio tinklelio izometrinė perspektyva dažnai atrodo patrauklesnė ir mažiau tinklelio pavidalo nei kvadratinis žemėlapis.

Taikant WFC šešiakampei tinkleliui, reikia apibrėžti taisyklių rinkinį kiekvienam šešiakampių plytelių tipui (pvz., kalnui, miškui, lygumai) ir tiksliai nustatyti, kurios kitos plytelės gali apriboti kiekvieną iš šešių pusių. Šis modulinis taisyklių nustatymo metodas užtikrina, kad galutinis rezultatas būtų ne tik atsitiktinis, bet ir nuoseklus. Tai panašu į tai, kaip sklandžiai integruojasi Mewayz operacinės sistemos modulinės programos, kiekviena žino, kaip sąveikauti su kitomis ir sukurti vieningą verslo aplinką.

Taisyklių rinkinio kūrimas: valdymo raktas

Tikroji „Wave Function Collapse“ galia slypi ne pačiame algoritme, o taisyklėse, kurias jį maitinate. Taisyklių rinkinys iš esmės yra leidžiamų gretimų vietų biblioteka. Tai sukuriate analizuodami pavyzdinius vaizdus arba logiškai apibrėždami, kaip žaidimo plytelės turėtų susijungti. Tvirtas taisyklių rinkinys gali apimti:

"Taisyklės yra jūsų sukurto pasaulio DNR. Gerai suplanuotas apribojimų rinkinys yra tai, kas atsitiktinį triukšmą paverčia patikimu kraštovaizdžiu."

Pavyzdžiui, „kalno“ plytelę galima jungti tik prie „kalno“, „papėdės“ arba „sniego“ plytelių. „Kelio“ plytelė turėtų būti sujungta su kitomis „kelio“ plytelėmis, kad būtų sudarytas ištisinis kelias. Kuo niuansesnės jūsų taisyklės, tuo sudėtingesnė ir labiau kontroliuojama bus išvestis. Šis aiškių, veiksmingų modulinių komponentų taisyklių apibrėžimo principas yra labai svarbus tiek procedūrų generavimui, tiek verslo darbo eigai supaprastinti naudojant tokią platformą kaip Mewayz, kur aiškūs procesai užtikrina sklandžius ir nuspėjamus rezultatus.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

Nuo algoritmo iki nuotykių

WFC įdiegimas šešiabriauniuose žemėlapiuose atveria daugybę galimybių žaidimų kūrėjams: nuo ištisų žemynų generavimo strateginiams žaidimams iki nenuspėjamų požemių kūrimo nesąžiningiems žaidimams. Pradinė sąranka reikalauja kruopštaus plytelių rinkinio ir taisyklių planavimo, tačiau atsipirkimas yra sistema, galinti sukurti beveik begalinius aukštos kokybės turinio variantus. Tai leidžia kūrėjams sutelkti dėmesį į gilios žaidimo mechanikos kūrimą, o ne praleisti daugybę valandų rankiniam žemėlapių kūrimui. Naudodami procedūrinę techniką, pvz., „Wave Function Collapse“, sukuriate pagrindą begaliniam kūrybiškumui ir tyrinėjimams, užtikrindami, kad niekada nebūtų dviejų vienodų žaidimų.

Dažniausiai užduodami klausimai

Kurkite savo pasaulį, vienu algoritmu

Mūsų mėgstamiausių žaidimų skaitmeniniai peizažai – besidriekiantys miestai, tankūs miškai ir labirintiniai požemiai – dažnai atrodo neįtikėtinai detalūs ir be galo unikalūs. Kūrėjams tokio turinio kūrimas rankomis yra didžiulė užduotis. Čia šviečia procedūrų generavimas, o vienas patraukliausių jos metodų yra bangų funkcijos žlugimo (WFC) algoritmas. WFC yra būdas automatizuoti sudėtingų, nuoseklių struktūrų kūrimą naudojant paprastų taisyklių rinkinį, o jo taikymas šešioliktainiais žemėlapiais puikiai tinka sukurti patikimus ir įvairius žaidimų pasaulius. Apibrėždami skirtingų tipų plytelių ryšius, iš esmės galite išmokyti algoritmo, kaip sukurti prasmingą pasaulį, užtikrinant, kad uolos atsirastų tik šalia kitų uolų ar paplūdimių, o miškai natūraliai susilies į pievas. Šis požiūris atitinka „Mewayz“ filosofiją: sukurti tvirtą sistemą iš tarpusavyje susijusių, gerai apibrėžtų modulių.

Supratimas apie bangų funkcijos žlugimo magiją

Pagrindinę funkciją „Wave Function Collapse“ įkvėpė kvantinė mechanika, tačiau norint ją naudoti, nereikia turėti fizikos laipsnio. Pagalvokite apie tai kaip apie sudėtingą apribojimų sprendimo ir plytelių išdėstymo algoritmą. Pradedate nuo tinklelio (šiuo atveju šešiakampio tinklelio), kuriame kiekvienas langelis yra „superpozicijoje“ – jis gali tapti bet kokiu jūsų apibrėžtu plytelių tipu. Tada procesas veikia „sutraukiant“ vienos ląstelės galimybes į vieną apibrėžtą plytelę, atsitiktinai pasirinktą iš galimų parinkčių. Tada šis žlugimas perkelia apribojimus į kaimynines ląsteles, apribodamas jų galimybes pagal iš anksto nustatytas taisykles. Pavyzdžiui, jei ląstelė subyra į „vandens“ plytelę, jos gretimos šešiakampės nebegali būti „dykuma“; jie gali apsiriboti „pakranta“, „daugiau vandens“ arba „uosta“. Ši grandininė reakcija tęsiasi tol, kol kiekvienas žemėlapio langelis sutraukiamas į vieną galiojančią plytelę, todėl gaunamas išsamus ir logiškai nuoseklus žemėlapis.

Kodėl šešiakampiai yra tobula drobė

Nors WFC gali dirbti ant kvadratinių tinklelių, šešiakampės plytelės suteikia aiškių pranašumų kuriant pasaulį. Šešiakampiai žemėlapiai pašalina nepatogias kvadratinių plytelių sujungimo problemas (kai judėjimas gali būti įstrižai) ir suteikia natūralesnį, organiškesnį reljefo srautą.

Taisyklių rinkinio kūrimas: valdymo raktas

Tikroji „Wave Function Collapse“ galia slypi ne pačiame algoritme, o taisyklėse, kurias jį maitinate. Taisyklių rinkinys iš esmės yra leidžiamų gretimų vietų biblioteka. Tai sukuriate analizuodami pavyzdinius vaizdus arba logiškai apibrėždami, kaip žaidimo plytelės turėtų susijungti. Tvirtas taisyklių rinkinys gali apimti:

Nuo algoritmo iki nuotykių

WFC įdiegimas šešiabriauniuose žemėlapiuose atveria daugybę galimybių žaidimų kūrėjams: nuo ištisų žemynų generavimo strateginiams žaidimams iki nenuspėjamų požemių kūrimo nesąžiningiems žaidimams. Pradinė sąranka reikalauja kruopštaus plytelių rinkinio ir taisyklių planavimo, tačiau atsipirkimas yra sistema, galinti sukurti beveik begalinius aukštos kokybės turinio variantus. Tai leidžia kūrėjams sutelkti dėmesį į gilios žaidimo mechanikos kūrimą, o ne praleisti daugybę valandų rankiniam žemėlapių kūrimui. Naudodami procedūrinę techniką, pvz., „Wave Function Collapse“, sukuriate pagrindą begaliniam kūrybiškumui ir tyrinėjimams, užtikrindami, kad niekada nebūtų dviejų vienodų žaidimų.

Visi jūsų verslo įrankiai vienoje vietoje

Nustokite žongliruoti keliomis programomis. „Mewayz“ sujungia 208 įrankius tik už 49 USD per mėnesį – nuo ​​inventoriaus iki HR, užsakymo iki analizės. Norint pradėti, nereikia kredito kortelės.

Išbandykite „Mewayz Free“ →

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime