World-building
steemstem·@mathowl·
0.000 HBDWorld-building
<p>I recently read a paper on <a href="https://www.pnas.org/content/110/41/16384" target="_blank">society development</a> in the old world. I wanted to create a more rigorous version of the model since the modelling assumptions do not define a unique model. In addition, I wanted to change some of the governing equations to more realistic ones. It seemed worthwile to apply this model to computer generated maps. So I developed a fun model to generate landscapes. So here we are! </p><p><img style="width: 527.5px;" src="https://res.cloudinary.com/drrz8xekm/image/upload/v1566404089/wgpqlh8jk3hoqiklwfw8.png" data-filename="wgpqlh8jk3hoqiklwfw8"><br></p><p>The image is pretty self-explanatory. Blue is sea/water which has been set to value 0. Then the turquoise is set to height 1, and see the colorbar for more :P <br></p><p><br></p><p><b>Method:</b> There are actually many algorithms out there for this kind of stuff (e.g. <a href="https://en.wikipedia.org/wiki/Diamond-square_algorithm" target="_blank">diamond square algorithm</a>), but these are generally more aimed at 3D. I wanted to create a 2D elevation map. So it is like a top down 3D map. Of course you could use a 3D model and project it on a 2D plane but that is not an optimal way of doing things. <br></p><p><img style="width: 527.5px;" src="https://res.cloudinary.com/drrz8xekm/image/upload/v1566403522/tzem7zpbugtlin7pzga1.png" data-filename="tzem7zpbugtlin7pzga1"><br></p><p><br></p><p>It works by stacking layer upon layer. First the sea/water-level and the lowest ground level are created by making random pixels blue and turquoise. Then, the pixels look at their neighbours and change their color to equal the majority of adjacent pixels. In case of ties a random color is selected. Repeat this a couple of times and you get a nice base landscape. Then random parts of the elevated areas are selected to make space for higher elevated domains, the greenish pixes. Just boring pixel squares are placed but these are then diffused using the previous neighbour method. If you want higher elevated areas the last part can just be repeated.It is quite surprising how well this works:</p><p><br></p><p><img style="width: 527.5px;" src="https://res.cloudinary.com/drrz8xekm/image/upload/v1566403678/ou5t6pluvfoc8k3q6lpl.png" data-filename="ou5t6pluvfoc8k3q6lpl"><br></p><p><br></p><p>There are lots of parameters to play around with to generate more hilly type of landscapes or more flat ones. I haven't gotten round to mess around with those yet. It seems more fun to add some hum'ies to the world.<br></p><p><br></p>
👍 chops.support, rycharde, accelerator, astil.codex, ilias.fragment, map10k, gregan, curation.stem, insaneworks, incinboost, mkgfabo, yoyo-jp, aboutcoolscience, sbi4, jd4e, sbi-tokens, monkeycatwithowl, laissez-faire, ceruleanblue, yo-yo, enforcer48, scienceblocks, fragmentarion, vxc, spectrumecons, astrophoto.kevin, chappertron, bluerobo, quantumdeveloper, steemean, agmoore2, agmoore, steemflagrewards, ryo-6414, ejemai, steem-ua, sargoon, steemstem, lemouth, felixrodriguez, robotics101, tristan-muller, sco, adetola, rharphelle, jlmol7, rionpistorius, effofex, count-antonio, de-stem, beautyinscience, kryzsec, helo, alexander.alexis, ludmila.kyriakou, fancybrothers, howo, tsoldovieri, alexzicky, tanyaschutte, fejiro, shoganaii, terrylovejoy, olajidekehinde, real2josh, kingabesh, flugschwein, charitybot, dedesuryani, magatha, michaelwrites, deholt, temitayo-pelumi, marcuz, ibk-gabriel, osakuni, purelyscience, scottallen, bloom, samminator, abigail-dantes, mountain.phil28, gra, omstavan, kenadis, maticpecovnik, gentleshaid, monie, stemng, dexterdev, geopolis, alexdory, francostem, croctopus, jaycem, satren, a0i, lesmouths-travel, derbesserwisser, doctor-cog-diss, biomimi, testomilian, jrevilla, yuneitsy, javier.dejuan, stem.witness, crazy-facts, techslut, analealsuarez, taintedblood, mondodidave73, charitymemes, break-out-trader, kingabesh1, loveforlove, supzeel, emperorhassy, empressteemah, afarina46, zonguin, g2wnlove, agbona, darkiche, galam, the.chiomz, teekingtv, joelagbo, djoi, menoski, thurllanie, sciencetech, teemike, mikeymillion, serylt, perpetuum-lynx, dbddv01, fanta-steem, zest, communityisyou, bearded-benjamin, stem-espanol, carloserp-2000, miguelangel2801, emiliomoron, tomastonyperez, majapesi, erickyoussif, ubaldonet, reinaseq, lupafilotaxia, fran.frey, lorenzor, iamphysical, azulear, ivymalifred, vjap55, ydavgonzalez, yrmaleza, elvigia, luiscd8a, elpdl, josedelacruz, joseangelvs, andrick, yusvelasquez, amart29, alaiza, alfonzoasdrubal, lapp, steemtpistia, crassipes, agrovision, giulyfarci52, wilmer14molina, joannar, teachersteem, tuerca, mk-stem-token, psicoluigi, medicnet, mahdiyari, phage93, hijosdelhombre, wilkynson, lamouthe, vodonik, cyprianj, eniolw, coolbuddy, traviseric, aalok, mattiarinaldoni, scoora82, huilco, koliunia, suesa, tuoficinavirtual, erikkun28, intellihandling, skorup87, kingnosa, pamahdoo, reedhhw, amin-ove, donasys, pflanzenlilly, vaccinusveritas, sembdelgado, yarak, poppie-schultz, rwilday, kjaeger, jasonbu, felicenavidad, shivagangula, bitinvdig0, nunesso, emmanuel293, cryptofuwealth, alexworld, casiloko, gpcx86, stooner, smartkid809, moniroy, praditya, cameravisual, bunchtale, hanyseek, cerd26, allthetimer, mtfmohammad, sapphire.app, sumotori, gutenmorganism, faberleggenda, mohaaking, gustavoagt, crimcrim, naturalproducts, didic, roy2016, damzxyno, drsensor, lacher-prise, gribouille, waleedtee, robertbira, eliaschess333, eurogee, amestyj, geadriana, acont, alex-hm, carlos84, egotheist, langford, steepup, rbalzan79, wargof, irishcoffee, guga34, suesa-random, juliocaraballo, artemisa7, wishmaiden, sandracarrascal, ennyta, gaming.yer, steem-familia, evangelista.yova, jenniferjulieth, ajfernandez, endopediatria, ingmarvin, alix96, elimao, anaestrada12, yorgermadison, alexjunior, antunez25, haf67, chavas, eglinson, carmencandy, douglimarbalzan, uzcateguiazambra, asmeira, garrillo, pfernandezpetit, mgarrillogonzale, rubenp, jeferc, hirally, emynb, eugenialobo, ballesteroj, jcmontilva, rodriguezr, marbely20, moyam, emilycg, darys, sibaja, balcej, lmanjarres, anaka, judisa, adanbalzan, benhurg, juddarivv, mariamo, kimmorales, loraine25, alexgamer, alexmonster, smdragon, drakernoise, olasamuel, dhimmel, science.fiction, ed-investor, end-war, windenchanter, stefano.massari, cpufronz, borislavzlatanov, umzugsqueen, trumpman, mytunes, kingsofa, jasuly, endracsho, davidorcamuriel, icuz, kobold-djawa, jaki01, srikandi, lintang, bukfast, topoisomerase, steem-queen, borjan, barton26, dna-replication, curie, cryptokrieg, gambit.coin, phogyan, kerry234, motivatorjoshua, aboutyourbiz, howtostartablog, makrotheblack, markmorbidity, spectrums, skycae, awolesigideon, votetanding, speaklife, strings, loydjayme25, giovaabbatichio, dashfit, jga, wandersells, atjehsteemit, beni96, bil.prag, locikll, nitego, onethousandwords, leyla5, runningman, debbietiyan, lovetouch, zipporah, phaazer1, qberry, b3d, derekvonzarovich, sireh, operahoser, jpmkikoy, niouton, schroders, hendrikdegrote, vact, carolynseymour, anna-mi, clweeks, gotgame, emdesan, digitalpnut, beladro, kendallron, tasjun, qberryfarms, tombstone, szokerobert, mrstaf, jayna, paddygsound, joendegz, naideth, ntowl, shookriya, libe, hansmast, raymondspeaks, getrichordie, shippou95, stahlberg, bestsmiles, sisygoboom, bavi, onethousandpics, ashfaaaq, anwenbaumeister, anarcist69, poodai, tomatom, technotroll, gangstayid, drmake, akumar, niko3d, ameliabartlett, galione, robmolecule, nigerian-yogagal, disruptivas, deividluchi, clement.poiret, kiikoh, predict-crypto, gabrielatravels, idkpdx, ilovecryptopl, momimalhi, dikkie, raghao, rhethypo, chickenmeat, click3rs, lola-carola, gmedley, azisjesika, mininthecity, cjunros, rishhk, ejgarcia, stonecoin, zerokun, positiveninja2, venalbe, adalhelm, annaabi, ananas.studio, andydream, zeldacroft, alom8, brendanweinhold, twenty1, soloduet, profnuhu, alexanderrigov, zlatkamrs, lilianajimenez, vaughnelric, boynashruddin, riche-gould, abeyaimary, pechichemena, gordon92, reizak, shadown99, trang, kinglypalace, chris4210, expanse, attoan.cmt, jordan.white306, payger, naomipangolin, bflanagin, angoujkalis, jan-mccomas, jakesdewet, teukurival, brutledge, talli-art, elsll, somegaming, blewitt, inpursuit, homefree, steemit-art, hairgistix, dokter-purnama, mladenpaunovic, jcalero, edanya, the.success.club, velmafia, solarphasing, chipdip, passeggero, travisung, pulleyhead, goldkeys, lekang, semasping, allcapsonezero, dado13btc, eurodale, kothy, ambitiouslife, jingis07, gabyoraa, cowpatty, ratspencer, pursuant, drakoscliff, networker5, zerotoone, tensor, revo, cryptononymous, gerel, letsplaywhatelse, plgonzalezrx8, eaamez, yaelg, steeming-ali, reverseacid, millmakers, begood2me, iamsaray, maclevis, fnux, joshman, hectgranate, dammyone, norwegianbikeman, positiveninja, sereze, romeskie, goblinknackers, honeycup-waters, nmcdougal94, sanvigoseven, breakout101, c3r34lk1ll3r, clamon, reitsportdokus, loistargarien, dontdieinternet, humoalex, marshall117, steemtaskr, raqibul, dearw, outtheshellvlog, pvinny69, vthor, palasatenea, lion200, adyorka, juliamulcahy, bluemaskman, juliantabaresph, wisewoof, onelovesteem, bohemian.machine, steinz, jewlzie, zackarie, metsamafia, arm27312, kipswolfe, zeasar, k00k13, xuhi, sku77-poprocks, smacommunity, anthive, smalltall, daniel.dalo, giuato, dubignyp, peaceandwar, thescubageek, kah-aniel, cleiver, doifeellucky, luv.token, alinoe, hyborian-strain, wackou, uceph, thomaskatan, raoufwilly, alvin0617, drifter1, cleateles, felt.buzz, prapanth, buttcoins, steinhammer, sanderjansenart, mariusfebruary, blockurator, drifter2, diyanti86, sincensura, desikaamukkahani, urme33, doggy5, atomicannie, jesse5th, bitcoinportugal, tajstar, samlee2018, longer, rx-tech, wstanley226, goodcontentbot, herculean, chrisluke, imaloser, jiujitsu, gio6, vegan.niinja, gracelbm, knightbjj, deadcountry, combatsports, danaedwards, shinedojo, wrestletalk, bustedopenradio, landria, opheliapoe, acousticguitar, guchtere, massivevibration, happychild, bennettitalia, cherryandberry, mammasitta, rival, sublimenonsense, itwithsm, macoolette, eric-boucher, eroticabian, sanderdieryck, steemeat, minnowsunite, daddylonglens, laurentiu.negrea, hhtb, yomismosoy, nicole-st, stevenwood, goodway, kafupraise, ninyea, xanderslee, williams-owb, lk666, honeysara, cooknbake, hillaryaa, delph-in-holland, cordeta, mrxplicit, nwjordan, ivan-g, sunshinebear, apteacher, christianyocte, oghie, danlipert, flatman, senorcoconut, gosmire78, incomepal, marehalm, steemboyuk, abraham10, yashshah991, faithfullwills, anutta, jonmagnusson, musicvoter, infamousit, wolfnworbeikood, atomcollector, newenx, ravenmus1c, sussexmusicfest, juxtamusic, moeostar, musicvoter2, gjart, theturtleproject, peter-ella, kentonlee, archaimusic, tea-man, breakoutthecrazy, starfinger13, hardikv, kingeazi, jimswan, bretho, michael2011, motorway, lillywilton, gentlefred, p4ragon, emsteemians, housechain, frankduna, nostosmus, yes-please, stereodecor, wav-dr, bufinjer, edprivat, camuel, timemaster, steemerscare, markko, samprock, clubfungus, deepak0018,