Random na numero ng card. Ano ang generator ng credit card at paano ito ginagamit? Ang kahulugan ng mga numero ng credit card

Tatalakayin sa pahinang ito ang paggamit ng mga numero mga credit card mga puntos na nabuo ng mga espesyal na programa at tungkol sa mga programang ito mismo.

Isang credit card number generator, ang programa ay kinakailangan para sa pakikipagtulungan sa mga dayuhang sponsor ng pagpaparehistro kapag walang credit card sa kamay, at ang pagpaparehistro nang walang credit card ay imposible. Ang mga pagpaparehistro gamit ang isang credit card ay may pinakamataas na bayad, kaya ang program na ito ay makakatulong sa iyo na makatipid ng maraming pera.

Ano ang generator ng numero ng credit card?
Ito ay isang programa na bumubuo ng mga numero para sa iba't ibang mga credit card. Ang kakanyahan ng programa ay upang malaman ang algorithm kung saan ang bilang ng isang partikular na credit card ay itinalaga. Ang bawat bangko at kumpanya ay gumagamit ng sarili nitong sistema para makuha ang numero.

Ang mga programa ay hindi bumubuo ng mga numero ng tunay na umiiral na mga card sa lahat. Ang mga numero ay nabuo na may legal na karapatang umiral. Kung ang isang bangko ay nagbigay ng isang card sa isang kliyente, maaari itong magkaroon ng ganoong numero, dahil kinakalkula ito gamit ang eksaktong algorithm na ito.

Ang iba't ibang mga generator ay gumagamit ng iba't ibang mga algorithm.
Ang ilang mga programa ay bumubuo ng mga credit card ng isang serye lamang, ang iba ay nagpapahintulot sa iyo na tukuyin kahit na ang mga totoong buhay na bangko.
May mga generator na nagbibigay sa iyo, kasama ang numero ng card, address ng tao, pangalan niya.

Ang mga card na karaniwang ginagamit online ay ang Visa, American Express, at MasterCard.

Saan magagamit ang numerong ito?
Marahil ay madalas kang makatagpo ng mga site kung saan nagbebenta sila ng isang bagay sa pamamagitan ng mga credit card. Maaari silang magbenta ng mga kalakal, pagiging kasapi sa isang lipunan, atbp. Ang isa sa mga pinaka-mayabong na larangan para sa paggamit ng mga numerong ito ay mga porn site. Gusto ng karamihan sa kanila na magbayad ka para sa membership. Ang isa pang pagpipilian ay ang Adult Verification Systems - mga system na nag-aalok ng kanilang mga serbisyo upang patunayan na naabot mo na ang edad kung kailan ka makakapanood ng erotica (siyempre, hindi libre).
Naturally, hindi lahat ng mga site ay maaaring maabot sa ganitong paraan.

Paano ito gumagana?
Kailangan mong malaman sa pamamagitan ng pagsubok at pagkakamali. Hindi ito nangyayari minsan. Payo ko, subukan mo lang. Kung hindi gumana ang isang numero, malamang na hindi rin gagana ang isa. Maghanap ka na lang ng ibang site. Ngayon tungkol sa mga detalye. Ang isa sa mga sistema kung saan ang pagloloko sa mga numero ay lumabas nang malakas ay ang AdultSights. Ang AVS na ito ay nagho-host ng humigit-kumulang 15 libong pornograpikong site. Ang membership sa sistemang ito ay madaling makuha sa pamamagitan ng mga pekeng numero. Posible na sa ilang araw ay ma-ban ang iyong pag-log in, ngunit pagkatapos ay maaari kang gumawa ng bago. Ito ay matatagpuan sa www.adultsights.com

Paano bumili ng produkto?
Hindi pwede. Ito ay isang bagay na hindi mo dapat gawin. Kapag natanggap mo na ang numero, hindi mo na kailangang magsulat ng liham sa iD Software at mag-order ng produkto. Doon, sinusuri ang mga credit card gamit ang ibang sistema at wala ka pa ring makukuha. Kapag sinubukan mong mag-withdraw ng pera mula sa isang credit card, ang kumpanya ay masira lang at hindi magpapadala sa iyo ng kahit ano. Sinusulat ito ng iD Software: Mayroon kaming mga problema sa iyong credit card.

Bilang karagdagan sa bilang, madalas na humihingi ng Expire date ang mga porn site. Ano ito?
Walang nakamamatay. Ang isang kasunduan sa credit card ay karaniwang tinatapos para sa isang tiyak na panahon. Ang Petsa ng Pag-expire na ito ay ang petsa ng pagtatapos ng kontrata. Sa teorya, ang petsang ito ay hindi nakakaapekto sa numero ng credit card. Samakatuwid, sa website magsulat ng isang petsa, sabihin, hindi bababa sa isang taon mamaya kaysa ngayon. Iyon ay, kung ngayon ay 11/22/10, pagkatapos ay isulat ang petsa sa isang lugar 12/22/11

Minsan hindi nila tinatanggap ang numero.
Ang mga programa ay bumubuo ng mga tamang numero. Kaya lang ayaw tanggapin ng site na sinusubukan mong puntahan. Depende ito sa kung paano niya sinusuri ang mga ito. Subukan ang ibang site.

Sinusuri ng ilang site ang numero para sa hypothetical na posibilidad ng pagkakaroon. Iyon ay, halos nagsasalita, ipinapasa nila ito sa parehong generator at tinitingnan ang kawastuhan ng algorithm kung saan ito ginawa. Kung ang algorithm ay tama, kung gayon ang lahat ay maayos. Pagkatapos kung saan pinapayagan ka ng site na makapasok, na ipinagpaliban ang aktwal na operasyon ng paglilipat ng pera nang walang katiyakan.

Ang opsyon na dalawa ay hindi kasiya-siya para sa amin. Sa kabilang dulo, kaagad pagkatapos matanggap ang numero ng card mula sa amin, sinubukang maglipat ng pera. Naturally, kahit na mayroong isang card na may parehong numero, ang pangalan ng may-ari ay hindi tugma at ang operasyon ay nabigo. Solusyon - pumunta sa ibang site. Maraming server ng porno ang lumipat sa pag-verify sa pamamagitan ng webquest.com, na ikinukumpara ang numero ng card sa address ng may-ari. Hindi ka rin dapat pumasok sa mga site kung saan ang pagbili ng membership ay dumaan sa Internet Billing Co. Bilang karagdagan, sa pagkakaintindi ko, may isang taong nagpapanatili ng isang database sa gitna masamang numero. Nakatagpo ako ng mga mensahe tulad ng "bilang ng itim na listahan" nang higit sa isang beses kapag sinusubukan kong ipasok ang aking mga luma, napatunayang numero. Kaya, ang pangunahing punto ay ang paghahanap ng mga server na may lumang scheme ng pahintulot. Sa kabutihang-palad para sa amin, ang mga naturang site ay umiiral pa rin.

Ano ang ibig sabihin nito?
Ang mga ganitong gawain ay may parusang kriminal. Para dito nahaharap ka sa iba't ibang mga parusa, kabilang ang pagkakulong. Ngunit ito ay isang teorya. Sunod sunod na tanong tungkol sa pagsasanay.

Madalas mong makikita ang mga linyang tulad nito sa mga website:
"Para sa mga kadahilanang pangseguridad, ang lahat ng iyong mga aksyon ay naitala. Ang iyong IP ay ganito at ganoon. Lahat ng mga pagtatangka na ilegal na gumamit ng mga credit card ay mapaparusahan."
Huwag kang maalarma. Una tungkol sa IP. Well, oo, kilala nila siya. Kaya, ano ang susunod? Karamihan sa mga user ay konektado sa Internet sa pamamagitan ng dial-up na koneksyon. Karamihan sa kanila ay binibigyan ng isang dynamic na IP. Para sa kapakanan ng ilang hindi magandang 20-90 dolyar, walang isang kumpanya sa Kanluran ang mag-aabala na makitungo sa mga tagapagkaloob ng Russia. Sa turn, ang aming mga provider ay hindi kailanman susubok sa mga log at makikita kung sino ang nakaupo sa ganoon at ganoong IP sa ganoon at ganoong oras.
Tulad ng para sa mga taong may static na IP, ang sitwasyon ay pareho. Walang sinuman ang talagang mag-abala upang ayusin ang mga bagay sa iyo. Kaya, sa pagsasagawa, ang mga naturang aksyon ay nananatili at mananatiling ganap na walang parusa. Makakatulog ka ng matiwasay.

Pansin! Ang ipinakitang credit card generator ay gumagawa lamang ng mga pekeng numero ng credit card ayon sa Luhn algorithm. Ang paggamit ng data na ito sa mga tindahan ay hindi magdadala sa iyo kahit saan. Para lang sa mga nakakaintindi sa pinag-uusapan natin. Para sa personal na paggamit, sa iyong sariling peligro. May mungkahi o nakakita ng bug? Sumulat sa mga komento, itatama namin ito.

Pagsusuri ng mga setting

Ang generator ng numero ng credit card mismo ay napakadaling matutunan, at higit sa lahat, ito ay ganap na online, ngunit kung sakali, tingnan natin ang mga posibleng setting.

Pumili ng template

Mayroong dalawang opsyon na ipinakita dito: pagpili batay sa kasalukuyang listahan at manu-manong paggawa ng template.

Tingnan natin ang listahan. Ang unang item ay ang parameter "Random na Card". Sa katunayan, ang mapa ay hindi ganap na random, ngunit nabuo lamang batay sa mga template na magagamit sa listahan. Ngunit sa bawat oras na bumubuo ng mga template, sila ay pinipili nang random.

Maaari kang pumili ng anumang template na magagamit sa listahan. Ang mga template ay ibinigay bilang mga halimbawa lamang; para sa karamihan, manu-manong pagbuo lamang ang ginagamit. May mga karagdagang add-on para sa Visa at MasterCard. Siyanga pala, kung napansin mo, hindi na ito ipinakita, ngunit umaasa kami na hindi ito kakailanganin. Ngunit kung may biglang kailangang magdagdag ng sarili nilang mga bin sa listahan, mangyaring iwanan sila sa mga komento.

Lumipat tayo sa manu-manong henerasyon, ang pinakakawili-wiling sandali. Ang numero ng card ay ibinigay sa format:

Lahat ay makatwiran - 16 na numero, na pinaghihiwalay sa mga pangkat ayon sa mga puwang. Sa halip na "X's" ay malaya tayong naglalagay ng sarili nating mga numero. At ang Luna-based algorithm ay maghahanap na ng mga tamang numero para sa mga libreng field (sana alam mo na ang numero ng card ay hindi ganap na random at may control check). Kapag pumili ka ng template mula sa listahan, pansinin kung paano muling inaayos ng field ang sarili nito.

Mga Setting ng Output

Ang lahat ng iba pang mga setting ay direktang nakakaapekto sa output lamang.

Delimiter ibinigay sa 3 format: espasyo, – (gitling), walang separator. Nakakaapekto sa format para sa pagpapakita ng numero ng card - itakda ito bilang mas maginhawa para sa iyo. Ayon sa mga klasiko, ang numero ng card sa bank card mismo ay pinaghihiwalay lamang ng mga puwang.

Dami– tinutukoy kung gaano karaming mga card sa huli ang kailangang mabuo para sa withdrawal.

Format. Maraming mga format ang ibinigay para sa iba't ibang pangangailangan. Ang pinakasimpleng ay CSV, para gamitin sa simpleng text o table form. Walang kumplikado. Para sa mga espesyal na pangangailangan, ang mga format ng JSON, SQL, at XML ay ipinakilala.

Mga checkmark EXP At CVV ay responsable para sa pangangailangang buuin ang petsa ng pag-expire at card (sa likurang bahagi). Bilang default, ipinapakita ang mga ito, gamitin din ang mga ito ayon sa iyong mga pangangailangan. Karaniwan ang numero ng card ay sapat, at walang mga pagsusuri sa format na ipinapataw sa petsa ng pag-expire at code.

Ito ang mga kahulugan na pinag-uusapan natin

Posible bang ipasok ang iyong sariling function?

At uulitin natin ulit. Gusto mo bang gumawa ng sarili mong karagdagan o may nakita kang error? Huwag mag-atubiling sumulat sa mga komento. Magtulungan tayo upang lumikha ng isang cool at maginhawang solusyon para sa lahat. Samantala, gamitin natin ito. Sana alam mo kung ano ang gagawin tungkol dito. At tandaan - ito ay peke lamang. Kailangan mong magamit ang mga ito.

Mga update

Agosto 26, 2018 Ngayon, kung lagyan mo ng check ang checkbox na "Buong pangalan," bubuo ang pangalan ng may-ari para sa mga card gamit ang template na "IVAN IVANOV". Ang listahan ay naglalaman ng TOP25 na pangalan ng lalaki at babae, pati na rin ang TOP50 na apelyido. Subukan Natin!

Nobyembre 17, 2018 Inayos ang isang bug dahil sa kung saan ang ilang mga card ay hindi kasama sa random na generator. Bilang isang bonus, ang checkbox na "In order" ay naidagdag - kapag itinakda mo ito ayon sa template, ang unang random na card ay nabuo at pagkatapos ay ang lahat ng mga card mula doon sa pagkakasunud-sunod ayon sa algorithm ng Luhn.

Narito ang isang halimbawa ng mga random na puntos (pula) at mga polygon na nilikha mula sa kanila:

Ang mga hugis at sukat ng mga polygon ay medyo hindi pantay. Ang mga random na numero ay mas "clunky" kaysa sa karaniwang inaasahan ng mga tao. Nais kong makamit ang isang bagay na mas malapit sa semi-random na "blue noise" o pseudo-randomness, sa halip na mga random na puntos. Lumapit ako sa ang nais na resulta gamit ang isang variant ng Lloyd's algorithm, na medyo sa simpleng paraan mas pare-parehong pamamahagi ng mga random na puntos. Pinapalitan ng algorithm ni Lloyd ang bawat punto ng sentroid ng polygon. Sa aking code ay bahagya kong naa-average ang mga anggulo (tingnan ang improvementRandomPoints). Narito ang resulta ng paglalapat ng approximation ng dalawang beses sa algorithm ni Lloyd:

Pinagmulan

Na-post ko ang Actionscript source code sa ilalim ng lisensya ng MIT at available ito sa github. Kung nababasa mo ang Java o Javascript, sa tingin ko maiintindihan mo ang Actionscript. Hindi ko inaasahan na magiging kapaki-pakinabang kaagad ang code sa lahat, ngunit maaaring ito ay isang magandang panimulang punto kung gusto mong gamitin ang mga diskarteng ito upang lumikha ng sarili mong mga mapa ng laro.
  • Ang Map.as ay isang pangunahing sistema ng pagbuo ng mapa
  • graph/*.as - representasyon ng mga graph (polygons, edges, corners)
  • mapgen2.as - demo na may rendering at GUI
  • Roads.as - isang module na nagdaragdag ng mga kalsada sa mga linya ng contour
  • Lava.as - isang module na nagdaragdag ng mga fissure na may lava sa mga gilid na may matataas na taas
  • NoisyEdges.as ay ginagamit sa demo upang lumikha ng maingay na mga gilid
Ang mga chart sa artikulong ito ay ginawa mula sa 300 polygons, ang default sa demo ay 2000 na may maximum na 8000. Ang ilan sa mga code para sa paggawa ng mga chart ay hindi pa nasubok dahil ito ay "mabilis at madumi" na code na isinulat para lamang sa mga chart sa artikulong ito at kung hindi man ay walang silbi.

Kung nakita mong kapaki-pakinabang ang code o ang aking mga iniisip, ikalulugod kong marinig ang tungkol dito.

Mga proyektong naggalugad ng iba pang mga algorithm

  • Nag-eksperimento si Andy Gainey sa mga diagram ng Voronoi sa isang globo at nagpasya sa halip na lumikha ng mapa ng mga subdivided na icosahedron na may mga tectonic plate, agos ng hangin, temperatura, halumigmig at biomes. Tinanong ako kung paano palawakin ang aking generator ng mapa upang lumikha ng mga kontinente: sulit na tingnan ang proyekto ni Andy para doon.
  • Ang magandang ipinaliwanag na generator ng mapa ni Martin O'Leary ay gumagamit ng mga diagram ng Voronoi na may isa pang generator ng terrain, simulation ng erosion, stylized renderer, henerasyon ng lungsod/rehiyon, name generator at algorithm ng placement ng label, kumpleto sa shading, contour lines at roses winds, ngunit ang source code ay hindi available noong Setyembre 2016. Gumawa si Ryan Guy ng proyekto batay sa gawa ni Martin.
  • Si Miguel Cepero ng Voxel Farm ay naging inspirasyon upang lumikha ng isang political terrain map batay sa mga rehiyon ng Voronoi, pati na rin ang isang map generator gamit ang plate tectonics at isang alternatibo sa paggamit ng mga diagram ng Voronoi.
  • Ginalugad ni Tommy Waters ang plate tectonics. Ipinakita niya kung paano siya lumilikha ng mga kontinente, hindi lamang mga isla, upang ang mga hanay ng bundok ay hindi palaging nasa gitna ng masa ng lupain.
  • Sinasaliksik ng ylcorcronlth ang pagkalkula ng halumigmig batay sa random na paglalakad
  • Gumawa si Cory Lee ng political map generator gamit ang mga rehiyon ng Voronoi.
  • Kinuha ni Jesse Morgan ang mga ideya mula sa generator ng mapa na ito at lumikha ng generator ng lungsod ( pahina ng proyekto at source code)
  • Gumagamit ang Sword & Scroll ng Voronoi map generator para lumikha ng mga pampulitikang rehiyon (baron lands)
  • Gumagamit din si Phill Spiess ng mga diagram ng Voronoi na may maingay na mga gilid sa kanyang proyekto, ngunit hindi nagbibigay ng mga detalye.
  • Gumawa si Christophe Le Besnerais ng bersyon ng Javascript na may pinahabang modelo umaagos ang tubig. Sumulat si luckylooke ng bersyon para sa Phaser.io.
  • Ang Kaelan Cooter ay may generator ng mapa ng mundo ng mga hexagon na may mga elevation, humidity, biomes, rainfall, aquifers at mga teritoryo.
  • Sumulat si Richard Janicek ng bersyon ng Haxe na nag-compile sa Javascript+Canvas na may demo. Gumawa rin siya ng bersyon ng Javascript na may demo.
  • Sumulat si Jeff Terrace ng mga patch at isang utility para sa pag-convert ng XML sa COLLADA, pati na rin ang isang application para sa pagtingin sa COLLADA sa WebGL.
  • Nagtrabaho si Alex Schröder sa isang bersyon ng Perl na bumubuo ng output ng SVG.
  • Sumulat si Christopher Garrett ng port ng Voronoi/Delaunay para sa iOS.
  • Si Adam Martin ay nagpapanatili ng isang sangang bahagi ng Voronoi/Delaunay port para sa Unity, na nagsawang mula sa Julian Ceipek port.
  • Sumulat si Christophe Guebert ng bersyon ng Java+Processing.
  • Isinulat ni Baran Kahyaoglu (ang source code) at nilikha ni abhimir ang bersyon ng Unity ng bersyon ni Chris Herborth ng Baran's code.
  • Ang Tommy Waters ay may isa pang bersyon ng Javascript na may mga mapagkukunan at isang post sa blog.
  • Nagsulat si Egor Kharvat ng bersyon para sa Haxe/NME.
  • Si Connor Clark ay may bersyon ng Java.
  • Gumawa si Kylepixel ng isang proyekto ng Javascript na gumagamit din ng mga Voronoi na domain upang bumuo ng mga mapa.
  • Ang Nuclear Horse Studios ay may bersyon ng C#/Unity (lisensya ng MIT).
  • Sumulat si Stafford Williams ng isang bersyon para sa C#/Unity (lisensya ng MIT).
  • Si Gareth Higgins ay may generator ng mapa sa C#.
  • Gumawa si Martín Candela Calabuig ng bersyon ng C++.
  • Si Tobias ay nagtatrabaho bersyon para sa C++
  • Sumulat si Spencer Judge upang bumuo ng mga mapa gamit ang mga diskarteng ito.
  • May bersyon ang BitAlchemists para sa Dart.
  • May Lua port si Thomas R. Koll na ginagamit niya para sa Autonomous Planetary Research Individual 50.
  • Ang Isla ay isang proyekto ng Scala na gumagamit ng mga pamamaraan na katulad ng mga inilarawan sa aking artikulo.
  • Ang PtolemyJS ay isang Javascript game engine na may built-in na map generator batay sa Voronoi domain principle.
  • Gumawa si Jay Stevens ng bersyon ng C++ para sa Unreal 4 (lisensya ng MIT).

Iba pang mga proyekto

  • Ang PolyWorld ay batay sa Java code ni Connor Clarke at bahagi na ngayon ng larong Terasology (tingnan sa ibaba). Ang Video na ito).
  • Ginagamit ng Conquest ang mga diskarteng ito upang lumikha ng ilan sa mga mapa ng laro.
  • Inilalapat ng Besiege ang mga diskarteng ito sa isang procedural map generator.
  • Gumagamit ang TerraFirmaCraft 2 ng mga diskarte upang maglaro sa isang grid ng mga hexagons.
Ang map generator na ito ay hindi inilaan para sa direktang paggamit, ngunit Welsh Piper (monster encounter tables, Minocra), Kingdoms in Trevail, Cresta at iba pang (, , , , , ) na mga laro ay gumagamit ng map generator upang lumikha ng mga mapa. I-click ang button na "i-export ang PNG" upang mag-export ng 2048x2048 PNG file, na maaari mong i-customize sa Photoshop upang kulayan, istilo, at magdagdag ng markup.

Appendix: Mga karagdagang function ng mapa

Mga module

Sinusubukan kong buuin ang presentasyon ng mga mapa upang mamarkahan sila ng mga module nang hindi lumilikha ng dependency sa code. Ang GUI module mapgen2.as ay depende sa Map.as (base module) at Roads.as (side module), ngunit Maps.as Hindi depende sa Roads.as. Ang bawat polygon, gilid, at sulok sa graph ay may index na maaaring magamit bilang isang susi sa isang panlabas na talahanayan. Ang Roads.as ay may array road , na na-index sa pamamagitan ng edge index.

saan base code Maaaring sumangguni ang mga mapa sa edge.river bilang base para sa field, hindi ito magagawa ng module. Sa halip, tinutukoy ng module ang lokal na variable na kalsada. Gumagana ito para sa parehong mga polygon center at sulok. Kasabay nito, ang base code ay nananatiling malinis.

Mayroon akong tatlong module: Roads, Lava at NoisyEdges.

Mga kalsada

Ang Realm of the Mad God ay hindi gumagamit ng karamihan sa mga feature ng map generator na ito, ngunit gumawa ako ng road generator para dito. Napansin ko na sa laro, natural na ginagalugad ng mga user ang mga ilog. Ang mga ilog ay humahantong sa mga manlalaro sa mga bundok, kung saan sila namamatay. Nais kong gumawa ng mga kalsada sa tamang mga anggulo sa mga ilog.

Kinakalkula ko ang mga linya ng tabas sa mga sulok. Kung saan nagbabago ang antas ng tabas ay ang kalsada. Ito ay isang medyo simpleng algorithm na gumagana sa karamihan ng mga kaso, ngunit kung minsan ay lumilikha ng maliliit na loop:

Habang lumiliko ang mga ilog sa kahabaan ng mga tadyang ng Voronoi (mga asul na linya sa diagram sa itaas), sinusundan ng mga kalsada ang mga tadyang ng Delaunay (mga pulang linya). Ang mga kalsada ay hindi ginagamot sa ingay. Sa halip, iginuhit ang mga ito bilang mga spline sa pagitan ng mga midpoint ng mga gilid:

Karamihan sa mga polygon ay may dalawang "kapitbahay" na may mga kalsada. Para sa kanila, ginagamit ang isang regular na spline, na kumukonekta sa dalawang midpoint ng mga gilid. Para sa mga polygon na mayroong higit sa dalawang "kapitbahay" na may mga kalsada, gumuhit ako ng intersection na may mga spline mula sa lahat ng gilid na midpoint hanggang sa gitna ng polygon. Sa diagram sa itaas, ang kaliwang polygon sa ibaba ay may intersection at ang kanang itaas ay isang regular na spline.

Lava

Ang lava at mga ilog ay sumusunod sa parehong mga landas. Nagaganap ang mga lava rift sa matataas, tuyong lugar at nakatalaga sa isang subset ng mga gilid. Sa laro, ang lava at tubig ay, siyempre, ay magkakaiba, ngunit sila ay naiiba lamang sa kulay at lokasyon. Ang mga gilid ng lava ay pinoproseso nang may ingay:

Apendise: Mga Pagkakataon para sa Pagpapabuti

Abstract na pag-render

Mapa dapat ipakita nang tama ang mga nauugnay na bahagi ng mundo, hindi lahat ng detalye. Sa proyektong ito, bumubuo ako ng mga mapa na may partikular na antas ng detalye, ngunit hindi umabot sa pagdedetalye ng mga halaman o lungsod, kahit na ang mga mapa ay hindi ganap na abstract sa parehong oras. Maaaring posibleng mag-render ng higit pang abstract na mga mapa sa istilo ng mga mapa ng Middle Earth (tulad ng isang ito). Sumulat ako ng mga tala tungkol sa kung ano ang gusto kong makita sa mga mapa ng laro.

Mga watershed

Sa pamamagitan ng pagsunod sa mga pababang arrow (tingnan ang paglalarawan sa seksyon sa mga taas), maaari kang laging makahanap ng landas sa mga gilid mula sa anumang sulok ng polygon hanggang sa baybayin. Ginagamit ko ang mga ito upang markahan kung saan dapat dumaloy ang tubig sa karagatan. Ang lahat ng sulok na may parehong lokasyon ng pinagmulan ay maaaring ituring na bahagi ng parehong watershed.

Hindi kumpleto ang watershed code. Ang demo ay may watershed mode, ngunit hindi ko ito gusto. Sinubukan kong gamitin ang mga sentro at sulok ng mga polygon bilang mga hangganan ng watershed, at sa parehong mga kaso ang mga resulta ay hindi sapat. Nagpasya akong ipagpaliban ang mga kalkulasyon ng watershed hanggang sa kailanganin ko sila.

Sa tingin ko ang mga watershed ay maaaring maging kapaki-pakinabang para sa pagbibigay ng pangalan sa malalaking lugar. Sa demo mayroong humigit-kumulang 1000 polygon ng lupa sa mapa. Para sa isang mapa ng laro, mainam na magkaroon ng mas kaunting pinangalanang mga lugar kaysa sa mga polygon na pinagsama-sama. Halimbawa, ang mga bundok ng XYZ ay maaaring matatagpuan sa itaas ng XYZ valley, kung saan maaaring dumaloy ang XYZ river. Mauunawaan ng mga manlalaro na konektado ang lahat ng pangalan ng lugar na ito. Wala pa akong gaanong pag-unlad sa proyektong ito, ngunit maaari ko itong ibalik sa lalong madaling panahon o huli.

Hindi madadaanan na mga hangganan

Sa aking generator ng mapa, ang lahat ng mga hangganan sa pagitan ng mga polygon ay pareho. Mayroong maayos na paglipat sa pagitan nila. Maaaring maging kawili-wiling gawin ang ilan sa mga gilid na hindi natuloy upang makagawa tayo ng mga bangin, bangin, talampas at iba pang biglaang pagbabago sa elevation. Tingnan , pinag-uusapan nito kung paano maaaring maging kawili-wili ang mga rehiyon ng Voronoi para sa gameplay.

Pagsusuri ng relief

Sa mga polygon na mapa, ang paghahanap ng landas ay dapat na masyadong mabilis at maaaring magamit para sa pagsusuri ng lupain. Halimbawa, kung ang dalawang punto ay spatially malapit, ngunit ang landas sa pagitan ng mga ito ay mahaba, kung gayon ito ay maaaring mangahulugan na mayroong bay o bundok sa daan, at ito ay magandang lugar para sa isang tunel o tulay. Ang pathfinding algorithm ay maaari ding makahanap ng mga lugar kung saan kinakailangan ang mga tulay patungo sa mga kalapit na isla. Ang mga polygon na madiskarteng matatagpuan sa mga path ay maaaring maging mas mahalaga kaysa sa mga bihirang ginagamit na path polygons.

Mga pinangalanang lugar

Gaya ng nabanggit ko sa seksyon sa mga watershed, gusto kong pangalanan ang iba't ibang lugar ng mapa. Sa pamamagitan ng pagsasama ng function na ito sa pagsusuri ng terrain, maaari mong pangalanan ang mga ilog, bundok, lawa, grupo ng mga polygon, baybayin, karagatan, kagubatan, peninsula, lambak, atbp. Maaaring may kaugnayan ang mga pamagat sa parehong lugar. Hindi ako nagtrabaho sa bahaging ito dahil sa tingin ko ito ay magiging kapaki-pakinabang lamang sa isang partikular na laro at hindi sa isang pangkalahatang generator ng mapa. Hindi lamang dapat na nauugnay ang pamagat sa tema ng laro, maaari rin itong magsama ng mga item, quest, at elemento ng kuwento. Halimbawa, ang XYZ sword ay matatagpuan lamang sa XYZ valley.

Variable Density

Maaari mong gamitin ang algorithm ng Fortune upang i-subdivide ang isang polygon sa mas maliliit na polygon. Maaaring magmukhang kawili-wili ang isang mapa kung saan halos nakabalangkas ang karamihan sa mundo, ngunit ang ilang lugar ay mas detalyado. Bilang isang alternatibong diskarte, maaari naming ilagay mga panimulang punto na may iba't ibang densidad upang ang ilang mga lugar ay may mas maraming polygon kaysa sa iba. Halimbawa, maaaring ilapat ang oversampling smoothing sa halip na ang algorithm ni Lloyd.

Pagpapabuti ng maingay na mga gilid

Nagpatupad ako ng napakasimpleng sistema ng maingay na mga gilid na may tulis-tulis na linya. Kapag nag-zoom in ka sa mapa, ang mga sulok ay kapansin-pansin. Maaari mong pahusayin ang system gamit ang mga spline curve o fractal expansion, na magiging mas detalyado kapag na-scale.

Appendix: Pagpapahusay ng Proseso

Ang artikulong ito ay orihinal na tatlong post: Bahagi 1 tungkol sa mga polygon, pagtatanghal ng mapa, mga isla, karagatan, lawa, dalampasigan at lupa; bahagi 2 tungkol sa mga altitude, ilog, halumigmig at biomes; bahagi 3 tungkol sa pag-render, demo at source code.

Kung may nagtataka kung paano ako nakarating sa puntong ito, narito ang isang maikling kasaysayan:

  • Noong Disyembre 2009, tinanong nina Rob at Alex mula sa Wild Shadow Studios kung mayroon ako mabilis na paraan pagbuo ng mga card. Nag-iisip na ako tungkol sa paggamit ng Perlin noise para makabuo ng mga mapa, kaya sinubukan ko ito at nakakuha ng magagandang resulta. Gumawa ako ng gumaganang prototype sa isang araw, at isa pang buwan ang ginugol sa pag-set up at pagpili ng mga variation. Karamihan sa mga pagkakaiba-iba ay hindi magkasya, at napagtanto kong may mga limitasyon sa diskarteng ito. Ang isang buwan ng trabaho ay sapat na, kaya natapos ko ang pagtatrabaho sa mga mapa at lumipat sa iba pang maliliit na proyekto - graphics, animation, mga grupo ng mga monsters, AI para sa mga NPC, atbp.
  • Noong Hunyo 2010, na-inspire akong magtrabaho muli sa mga mapa. Isang buwan akong nagsusulat ng mga ideya sa papel at sumubok ng iba't ibang prototype. Sinubukan kong gumamit ng hex meshes, hex river basin, pagbuo ng mga ilog batay sa quads, bulkan, burol, erosion, weather system, at ilang iba pang bagay. Nauwi ang lahat sa kabiguan. Gayunpaman, marami akong natutunan sa proseso. Halimbawa, ang mga triangulation ng Delaunay ay hindi gumana para sa akin, ngunit humantong sila sa mga diagram ng Voronoi. Ang pagbuo ng mga ilog batay sa mga quad ay hindi gumana, ngunit ang mga quad ay naging madaling gamitin sa ibang pagkakataon nang ako ay nagsimulang magtrabaho sa maingay na mga gilid. Ang sistema ng pagguho ay hindi gumana, ngunit ang ilan sa mga ideya ay kapaki-pakinabang kapag nagtatrabaho sa mga ilog.
  • Habang kumukuha ng kurso sa proseso ng pagbuo ng nilalaman, nagtala ako ng ilan pang ideya sa pagbuo ng mapa. Ipinatupad ko ang mga ito sa ika-4 ng Hulyo mahabang katapusan ng linggo at nagtrabaho sila nang mahusay. Noong weekend na iyon, gumawa ako ng mga Voronoi polygon, view ng mapa, pagbuo ng isla, maingay na gilid, elevation, biome, ilog, at muling pamamahagi ng elevation. Nakaramdam ako ng pag-agos. At ito ay kamangha-manghang! Ginawa ko ang karamihan sa pangunahing sistema sa loob lamang ng tatlong araw.
  • Tuwing katapusan ng linggo sa Hulyo at Agosto gumawa ako ng mga pagpapabuti, marami sa kanila ay medyo makabuluhan. Gumawa din ako ng maraming pagbabago na hindi gumana, kaya kinailangan kong alisin ang mga ito. Kapag naging sapat na ang mga pangunahing parameter ng mapa, inilipat ko ang aking pagtuon sa pag-render at UI ng mapa. Matapos pahusayin ang rendering at UI ay nagawa ko tingnan mo bagong mga bahid sa mapa, at nakakita ng maraming error. Gumawa rin ako ng malawak na refactoring upang pasimplehin ang code na dati nang lumaki nang organiko.
  • Sa pagtatapos ng Agosto, napagtanto ko na gumagawa lamang ako ng mga maliliit na pagpapabuti at nagpasya na ang proyekto ay handa nang matapos. Ginugol ko ang mahabang katapusan ng linggo ng Labor Day sa pagtatala ng mga resulta sa artikulong ito (at mga post). Maraming oras ang napunta sa paggawa ng mga de-kalidad na diagram. Ang mga diagram ay nagsiwalat ng mga bagong bug, kaya lumipat ako sa pag-aayos ng mga ito, makabuluhang pinasimple ang isang function (redistribution ng taas) at pagpapatupad ng bago (humidity redistribution). Pinalitan ko rin ang pangalan at nagkomento sa code para mas madaling ipaliwanag.
Bakit ko sinusubaybayan ang lahat ng ito? Dahil sinusubukan kong pagbutihin ang proseso ng pagtatrabaho sa mga maliliit na (1-3 buwan) na proyekto. Narito ang gusto kong ipaalala sa iyo:
  1. Kapaki-pakinabang na magkaroon pangunahing ideya, itinutulak ang buong proyekto pasulong. Mga simpleng card, na ginawa ko noong Enero, ay batay sa ingay ng Perlin. Ang mga kasalukuyang mapa ay batay sa mga diagram ng Voronoi. Kailangan kong pumili at magpatuloy sa pagtatrabaho, ngunit tumagal ito...
  2. Bago makahanap ng tamang ideya, kung minsan ito ay kinakailangan maraming eksperimento. Hanggang sa naisip ko si Voronoi bilang pangunahing istraktura, halos isang buwan na akong gumagawa ng mga ideya. Kailangan kong magsulat ng maraming ideya.
  3. nagkaroon ako maraming kabiguan. Mahalagang mabilis na magkamali, at huwag matakot na magkamali. Kailangan kong panatilihin ang aking espiritu.
  4. Ginawa ko ang pangunahing sistema sa loob ng tatlong araw. Mabilis na prototype maraming masasabi tungkol sa posibilidad ng isang ideya. Naka-on maagang yugto Kailangan kong tumuon sa prototype at kalimutan ang tungkol sa high end system sa ngayon.
  5. Sa totoo lang maagang yugto mas mahalaga pag-aralan ang sistema kaysa sa paggawa ng magandang code. Kailangan kong tanungin ang aking sarili kung ano ang gusto kong matutunan mula sa prototype.
  6. Ang mga pagkakamali kung minsan ay madaling gamitin sa ibang pagkakataon. Kailangan natin silang iligtas. Tinanggal ko ang code sa sandaling nakita ko ang mga kapintasan nito, ngunit marahil ay dapat akong gumawa ng higit pang mga sangay sa git at itago ito doon.
  7. Kakayahang mag-obserba ng biswal ay maaaring maging isang malaking tulong sa pag-unawa sa kung ano ang nangyayari. Nakaligtaan ako ng ilang mga error sa code dahil hindi ako nag-abala sa paggawa ng visualization ng ilan sa data. Kailangan mong mag-visualize hangga't maaari.
  8. Minsan lumilitaw sila maliliit na paglihis, na talagang nangangahulugang may mga error sa code. Madalas ay tinatalikuran ko lang sila. Kahit na sa sandaling iyon ay hindi ito ang oras upang mahanap at iwasto ang mga error, kailangan mong i-record ang mga ito para sa karagdagang pananaliksik.
  9. Napakalaking tulong pagsulat ng mga post sa blog. Pinilit nila akong maunawaan ang lahat ng bahagi ng system, tingnan ang lahat ng data, at tiyaking naiintindihan ang lahat ng code. Pinilit ako ng mga post na subukan ang bawat hakbang ng pagbuo ng mapa at pagbutihin ang mga mahirap ipaliwanag. Kailangan mong simulan ang pagsusulat ng mga post sa blog nang mas maaga sa proseso. Paliwanag - magandang paraan pag-aaral.
  10. at at biome classification scheme at iba't ibang biomes.

    Ang Wikipedia ay mayroon ding magandang listahan ng mga anyong lupa na maaari mong subukang buuin gamit ang isang generator ng mapa ng laro. Para sa aking proyekto hindi ko pinag-aralan ang listahang ito.

    Si Ken Perlin ay isang dalubhasa sa ingay at nag-imbento ng Perlin na ingay. Nilikha din niya ang hindi gaanong kilalang simplex noise (PDF). Sa aking proyekto ginamit ko ang ingay ng Perlin upang lumikha pangkalahatang anyo mga isla. May page si Joe Slayton kung paano gawing mga isla ang ingay ng Perlin. Naghahanap ako ng impormasyon tungkol sa asul na ingay at, bago mahanap ang algorithm ni Lloyd para sa pagpapabuti ng pamamahagi ng mga random na puntos, nakita ko ang , pati na rin ang mga recursive tile ni Wang. Tiningnan ko rin ang mga texture ni Craig Reynold, ngunit wala akong oras upang ilapat ang mga ito kahit saan.

  11. delaunay triangulation
  12. henerasyon ng pamamaraan
  13. ingay ng perlin
  14. Magdagdag ng mga tag
Ibahagi