How Procedurally Generated Terrain Works

  Рет қаралды 135,857

TheHappieCat

TheHappieCat

8 жыл бұрын

Today we cover how we can use Perlin noise to generate terrain and why this technique is really well-suited for a giant game like No Man's Sky. No matter what people think of the quality of the game, or the marketing, or whatever, I hope the buzz can at least motivate everyone to think "Hmm, I could do ___ better than that!" and continue pursuing procedural storytelling and world creation in games. And perhaps this video could be a starting point :)
I was going to do a coding example, but Red Blob Games does it much better: www.redblobgames.com/maps/terr...
The AI challenge is also extended for another month! If this is the future and you've missed it, there's a new theme every few months so feel free to submit for whatever's currently going!
Find the challenge and ask questions here: / thehappiemakers
My second channel! / thehappiercat2
Follow me on Twitter: / thehappiecat
Or Facebook: / thehappiecat
Or Twitch: twitch.tv/happiecat

Пікірлер: 208
@chenyirun5414
@chenyirun5414 7 жыл бұрын
Added Chinese subtitles! The video is no more than 6 minutes and a half long but it cost me like 4 hours to translate...
@chenyirun5414
@chenyirun5414 7 жыл бұрын
Does anyone know how long I should wait after the submission? Thanks in advance!
@chenyirun5414
@chenyirun5414 7 жыл бұрын
It seems like I need to wait for the video owner to accept my subtitles...
@Sn0w037
@Sn0w037 5 жыл бұрын
U should have asked before u made ur stuff
@hongwangg
@hongwangg 4 жыл бұрын
I think you've mistaken 无人深空 for 无主之地 but overall, great translation! Much appreciated!
@JordanShackelford
@JordanShackelford 7 жыл бұрын
I had a little 2d game I was working on that had square tiles that could be either grass or water. I generated the map by first seeding a completely random type for every space on the map. Then I iterated over each space and checked the tiles surrounding it. If it had more water tiles surrounding it, I would give it a higher chance of changing to water. If it was surrounded by more grass tiles, it would have a higher chance of changing to grass. I will run this makeLikeSurroundingTiles() function anywhere from 100 to 2,000 times. It looks really nice, makes the water and grass cluster up and it resembles a real landmass from a world map.
@alekbase795
@alekbase795 2 жыл бұрын
Cool. Sounds really cool.
@lazymastodon1368
@lazymastodon1368 2 жыл бұрын
boi you smarty bean, Its Sounds Real Cool
@harmitchhabra989
@harmitchhabra989 2 жыл бұрын
Heyy, how would you go about implementing collision detection with this procedural terrain? I am trying to recreate the fractal marble marcher by codeparade. Thanks.
@Fokimm
@Fokimm 2 жыл бұрын
Sounds like cellular automata
@mikstratok
@mikstratok 8 жыл бұрын
I remember a couple years back, a buddy of mine and I were learning how to program games using game maker, and he came up with an AI that was so simple yet it actually worked... it still makes me happy to think about it: if(anything){shoot}
@Marcos94h
@Marcos94h 7 жыл бұрын
basically GTA cops
@shishirparajuli1681
@shishirparajuli1681 7 жыл бұрын
For american cops if(black) {shoot}
@allanfloyd8103
@allanfloyd8103 7 жыл бұрын
You mean he created artificial stupidity...
@tylerp4265
@tylerp4265 7 жыл бұрын
This was a great description. Concise and helpful. I especially appreciate the mathematical/technical descriptions. Great content!
@Uradamus
@Uradamus 7 жыл бұрын
Red Blob Games' game dev articles are such an amazing resource, I've been suggesting them to people for years now. I always love playing aorund with the interactive diagrams on those pages.
@DaffyDaffyDaffy33322
@DaffyDaffyDaffy33322 7 жыл бұрын
Discovered this channel a few days ago, and it's awesome! The work you do is amazing! Keep it up :)
@Willster451
@Willster451 8 жыл бұрын
Before your channel gets too big to notice my comment (because it will) i just want to say thank you for your content 😊
@ethanwasme4307
@ethanwasme4307 8 жыл бұрын
Same here, appreciate your work happy :)
@JohnSmith-cq1ym
@JohnSmith-cq1ym 7 жыл бұрын
Same
@GottZ
@GottZ 7 жыл бұрын
agreed. this channel will rise and shine mr smith. rise and.. shine
@dessguy7199
@dessguy7199 7 жыл бұрын
Notice us! We love you!
@spankeyfish
@spankeyfish 7 жыл бұрын
senpai, notice me!
@henriklarsen8193
@henriklarsen8193 8 жыл бұрын
Love it! Reading the RedBlob article, but would still love for you to expand on this!
@neonicecavern990
@neonicecavern990 7 жыл бұрын
I just happened to stumble across one of your videos, and now I've been watching one after another. I've learned more from watching your videos than I did in college. They're so interesting.
@dormirenonpotest
@dormirenonpotest 7 жыл бұрын
I love how far you can stretch and layer simple mathematical concepts. This stuff is really clever.
@JakubRohla
@JakubRohla 8 жыл бұрын
I once tried to do a procedural map generation like the one in Civ V. It turned out pretty good and I might get back to it someday :) Thanks for the flashback impulse :D
@goned216
@goned216 4 жыл бұрын
Finally a good tutorial explaining how perlin noise works! I had a code to generate that but had no idea how it worked but this clarified a lot, thank you!
@TheHct123
@TheHct123 7 жыл бұрын
this was a really helpful video, thanks!! ive been wondering how procedural generation works but i couldnt find a video explaining how it worked well, so thank you :D
@archcessory7581
@archcessory7581 4 жыл бұрын
dang this is like a great hint/overview of procedural maps
@Gamster_007
@Gamster_007 2 жыл бұрын
This is great and awesomely well explained! 👍
@eraoul
@eraoul 6 жыл бұрын
Great video! I didn't know about Perlin noise before -- thanks for the introduction! Love the topic of auto generated terrain.
@johnh290
@johnh290 2 жыл бұрын
Holy cow that one sentence about having different noise maps for resources and boomed just blew my brain I never even though of that. Thank you very much!
@JonesCrimson
@JonesCrimson 7 жыл бұрын
For people interested in practical application, I suggest Sebastian Lague's youtube channel.
@aron6066
@aron6066 8 жыл бұрын
Subscribed just recently, you have such great content. Keep up the good work. :)
@RickTimmis
@RickTimmis 7 жыл бұрын
Awesome!! Watched you 10 Things on C++, then saw this and realised. You're really cool and clever, and your video style is nice and easy to understand. So I subscribed, Great Job, please keep the videos coming.
@LucasStraub
@LucasStraub 7 жыл бұрын
Just found out your channel, you got a pretty nice content here, your explanations are simply but great! Keep it up!
@tuber324
@tuber324 7 жыл бұрын
This channel is amazing. Keep it up!
@micomator
@micomator 7 жыл бұрын
Just discovered your channel, it's great! I recently decided to code some little creatures with a genetic algorithm that could possibly enable them to adapt to a currently inhospitable terrain (like ocean creatures migrating to land). I wrote a few different terrain generator and it was a lot harder than I thought it would be. No ragrets.
@harmitchhabra989
@harmitchhabra989 2 жыл бұрын
Heyy, how would you go about implementing collision detection with this procedural terrain? I am trying to recreate the fractal marble marcher by codeparade. Thanks.
@micomator
@micomator 2 жыл бұрын
@@harmitchhabra989 I'm using JavaScript and canvas, which comes with a function called isPointInPath, which I can use to tell if my creatures have crossed a boundary. When they do, I get them to change direction by 120 degrees. I also set a timer, so they won't change direction again for less than a second. Both of these things are to prevent 'bouncing' on the boundary, where something changed direction repeatedly while out of bounds. I also have a function which catches things that have been out of bounds for a second, and forces them back into bounds. This is like a fail safe.
@harmitchhabra989
@harmitchhabra989 2 жыл бұрын
@@micomator Ooo! Got it! Thank you so much!
@diamondminer81
@diamondminer81 3 жыл бұрын
This is so ridiculously simple and I never thought of it.
@ciachn
@ciachn 7 жыл бұрын
I rarely subscribe to a channel and even more rarely do I comment. But damn, I think I've watched all your vids today, and you really know your stuff. You're a great example not of a senior developer, but of a master jedi senior developer, and I really hope your channel keeps on growing.
@dumboluzz
@dumboluzz 7 жыл бұрын
yay finally I found another game engine designer on KZfaq 😂
@CubsYT
@CubsYT 5 жыл бұрын
this video is quite cool and great for beginners! This is not how some more complex games does the generation though such as minecraft since it can only provide elevation and not things like weirdly curved mountains or floating ilands you can sometimes find in minecraft
@kaninchengaming-inactive-6529
@kaninchengaming-inactive-6529 5 жыл бұрын
I couldn't understand the Video *THERE WAS TOO MUCH NOISE*
@wilfredreedman5683
@wilfredreedman5683 3 жыл бұрын
👏
@ThylineTheGay
@ThylineTheGay 3 жыл бұрын
ba dun tiss
@Andipri
@Andipri 7 жыл бұрын
Awesome video! Awesome channel! Subscribed :)
@guard13007
@guard13007 7 жыл бұрын
I've tried to do procedural terrain several times, and always failed to get something realistic looking. Turns out the key I was missing and was never told was to mix noise functions with different frequencies and amplitudes. Oh my god THANK YOU!
@Ironek250
@Ironek250 7 жыл бұрын
Wow Ive just found your video by Case :) especiali I am in the midle of writing my BSc Thesis and the subject is Automatic altitude control using laser in relative to the ground. In the program i need to implement the dynamic flight equations and how to generate a random terrain which I still dont know how to do that :) Your video give me the clue so thank you very much for your help :)
@kloakovalimonada
@kloakovalimonada 8 жыл бұрын
Nice video! But in No Man's Sky, planets do not rotate and gravity is fixed and doesn't interact with other celestial bodies. That's two of the many cut features of the game.
@ethanwasme4307
@ethanwasme4307 8 жыл бұрын
Doubt they were cut, more like modded in for media attention
@rodrigoappendino
@rodrigoappendino 7 жыл бұрын
What do you mean by "gravity is fixed"? If they don't interact, planets aren't orbiting stars?
@YoloMonstaaa
@YoloMonstaaa 7 жыл бұрын
+Rodrigo Appendino Gravity of one planet doesn't affect other planets
@rodrigoappendino
@rodrigoappendino 7 жыл бұрын
Grapenator X It would be too complex for a game, I think.
@ethanwasme4307
@ethanwasme4307 7 жыл бұрын
Rodrigo Appendino Could easily be done with curve graphs
@Freezee42
@Freezee42 8 жыл бұрын
Nice video :) I didn't played No Man's Sky, but I think that planets have names, and that those names are also randomly generated You could talk about random name generation, you take a database of words of the same type (for example, cities names in a specific country), you do a lot of probabilities calculations about how many chances we have to have the letter "T" after the letter "A" for example, and by doing all those calculations, you can make a city name generator that will make names that looks like real cities names We could also push the concept a little bit further if we have a bigger database, instead of making probability calculations for a specific letter after another specific one, we can make calculations about a specific letter after TWO other specific letters, so the result could be more realistic I will make an algorithm as soon as I can, if you like the idea I can give you a Java code when it will be finished :)
@erikthegodeatingpenguin2335
@erikthegodeatingpenguin2335 8 жыл бұрын
I'm replying because I am interested in this.
@PoliticRevolutionnaire
@PoliticRevolutionnaire 7 жыл бұрын
Please do generate one of these. Sounds very interesting.
@MushisCow
@MushisCow 7 жыл бұрын
Do it, do it please!
@Freezee42
@Freezee42 7 жыл бұрын
Sorry I didn't made anything yet because I have a lot of projects and I wanted to do that a while ago but I had other things to do, but some of your seems very interested in that, so I'll make it (or find one) as soon as I can :)
@MushisCow
@MushisCow 7 жыл бұрын
Freezee I'm interested in the results and how satisfying they'll be ^^
@papinkelman7695
@papinkelman7695 8 жыл бұрын
thanks for the vid... the learning continues
@AuliyaasGames
@AuliyaasGames 6 жыл бұрын
This video is super helpful, thank you! You reminded me that math really isn't as hard or as complicated as I seem to remember it being. I can't wait to try to generate a map in unity :) Also - wonder how this might apply in 2d games... hmm...
@harmitchhabra989
@harmitchhabra989 2 жыл бұрын
Heyy, how would you go about implementing collision detection with this procedural terrain? I am trying to recreate the fractal marble marcher by codeparade. Thanks.
@digitalbios
@digitalbios 7 жыл бұрын
Great channel, great video. A great example of procedurally generated terrain is Elite Dangerous....orbital mechanics and all.
@lukasmisanthrop8557
@lukasmisanthrop8557 7 жыл бұрын
your videos are amazing!
@PrjctMinecraftiaFan
@PrjctMinecraftiaFan 8 жыл бұрын
Nice video!
@Jay-zd9qs
@Jay-zd9qs 7 жыл бұрын
Great video. You do a good job of trimming the fat
@xxsurajbxx
@xxsurajbxx 3 жыл бұрын
i 100% just found a hidden gem channel
@henrysteven137
@henrysteven137 11 ай бұрын
I've been delving into procedural generation in Unity 3D, and to me the one of the most difficult aspects is introducing new variables to the generation, in the context of different biomes.
@cameronx49
@cameronx49 7 жыл бұрын
A good follow on idea to make a video for would be L-systems for generating Trees!
@NizarElZarif
@NizarElZarif 8 жыл бұрын
Thanks for the info.
@Haferfloke
@Haferfloke 4 жыл бұрын
I could finally understand it... Thanks
@losingdelta8535
@losingdelta8535 7 жыл бұрын
Are you going to have any more material on C++ anytime soon?
@Elliandr
@Elliandr 6 жыл бұрын
You explain things very well. I dont suppose you'd ever make a video tutorial on such topics, or maybe a full course on udemy?
@spiderobot
@spiderobot 7 жыл бұрын
This is great!
@krazyhand1653
@krazyhand1653 8 жыл бұрын
Hey Happiecat. Could you make a video explaining how the "Fire Emblem games-like" works? thank you if you answer. I love your channel :D
@CharIie83
@CharIie83 8 жыл бұрын
lovely content
@mozinator1
@mozinator1 7 жыл бұрын
Thanks for this video
@HamzahHusain_the_sexy_beast
@HamzahHusain_the_sexy_beast 7 жыл бұрын
I love your videos.
@thecomprehensionhub4612
@thecomprehensionhub4612 2 жыл бұрын
If you want to visualize this, play Minecraft on Creative Mode with Infinite world and scan the maps. The CPU program runs these mods to generate really impressive randomized terrains. Along with the ramdomly generated decorations on top of the terrain like vegetation and structures . And it's all just wave functions being expressed through pixels on a screen.
@DlcEnergy
@DlcEnergy 7 жыл бұрын
that black box of magic (noise) is actually really easy to explain starting with just a 1d noise function... the input is a float... if all you give in, is an integer, you get pure noise from the function... the floating point is crucial to these noise functions... (yes, give perlin noise a try) if you're looking to map some noise on integer points, you're meant to be scaling down your inputs, to add that variety... so if you imagine a 1d noise function... it's just some random values along an axis... but what's in-between? the fraction is used to interpolate between int(x) - int(x+1) random values... we map that fraction 0-1 to something nice and smooth... t*t*t*(t*(t*6-15)+10) (well, if you want to...) but hold on, now we've made this nice smooth wave of noise, peaking up down randomly... that's too smooth for my liking... we want details... so we take that same wave a couple times, with an increasing doubled/halved frequency/amplitude... mixing that together gives little rumples... so if you wanted to use 4 levels... you have amplitudes of 1 + 1/2 + 1/4 + 1/8 which were used on noise(x*freq,y*freq)*amp the frequencies used along with amps were 1, 2, 4, 8
@anonymoussloth6687
@anonymoussloth6687 3 жыл бұрын
How does a game like alto's adventure make terrain? Does it use noise, or does it use a mathematical function, or does it create different predefined segments of terrain and stitch them together in some random manner, or something else?
@davislast7891
@davislast7891 7 жыл бұрын
All of your videos are *very* well made and always teach me something :):):):):):):):):):):):):):):):)
@mattt2684
@mattt2684 6 жыл бұрын
So... Could you in theory use the rand(); function in C/C++ (of course using the proper srand method) to generate a heightmap like perlin noise?
@davidwuhrer6704
@davidwuhrer6704 6 жыл бұрын
Yes, but it's going to look boring.
@massimookissed1023
@massimookissed1023 4 жыл бұрын
Random on computers is usually a procedural pseudo-random, so by using the same seed you'll get repeatable results. Random terrain maps do look bad, just noisy. But you can do things like smaller amplitude / higher frequency random noise overlaid on larger ransom maps.
@AJChen-lw6ju
@AJChen-lw6ju 7 жыл бұрын
these are good vids
@prnzssLuna
@prnzssLuna 7 жыл бұрын
I wonder... what did you studie? This is very interesting, please answer my question :)
@Beatsbasteln
@Beatsbasteln 3 жыл бұрын
nice!
@Bloodyshinta1
@Bloodyshinta1 5 жыл бұрын
How is it that games that use this type of procedural generation are so small? Does the size of the game file increase as you discover and generate more content? and if so, how big would NMS be if you encountered every planet in the game? (big as in game file size)
@massimookissed1023
@massimookissed1023 4 жыл бұрын
Because of the deterministic generation. Planets and their terrain don't need to be saved, as they can be recreated identically each time you play. So long as the parameters used (the seed) for the procedural creation are the same each time, then only changes made by play need to be saved.
@Bloodyshinta1
@Bloodyshinta1 4 жыл бұрын
@@massimookissed1023 Thanks
@DatMilu2K
@DatMilu2K 7 жыл бұрын
hey, could you make a video about depth sorting? im currently stuck sorting my polygons to render an isometric world using GDI :3 I know that software rendering is bad but i just want to try it :) my zbuffer is toooo slow but my "painters algorithm" is buggy. I hope you can help me, like you did with teaching me how brainf**k works :D
@massimookissed1023
@massimookissed1023 7 жыл бұрын
Study binary sort trees.
@tennohack6704
@tennohack6704 6 жыл бұрын
Where's the how part?
@eggmeister6641
@eggmeister6641 3 жыл бұрын
was wondering the same
@gruffyddgozali
@gruffyddgozali 7 жыл бұрын
Could you explain how the spherical coordinates work, like go into more detail on the coordinates in general
@Clairvoyant81
@Clairvoyant81 7 жыл бұрын
Basically, instead of using the first two coordinates as X and Y on a plane, you use those as longitude and latitude on a sphere. The Z-coordinate then is interpreted as the radius at that point. if Z is "random" (for example, generated using Perlin Noise) you'll get a deformed sphere.
@gruffyddgozali
@gruffyddgozali 7 жыл бұрын
Oh thanks
@Clairvoyant81
@Clairvoyant81 7 жыл бұрын
no problem.
@jodhsingh8288
@jodhsingh8288 7 жыл бұрын
what clairvoyant81 said, but to elaborate, instead of X,Y you have (r, Theta) which means you imagine a origin point at the center of the sphere/planet, then imagine a telescopic rod which is stuck to the origin but the other end can be freely moved around in 360 degrees. The rod can be extended or contracted. So to define any point in the sphere you point your rod at it, The current length of the rod and angle of the rod define the point.
@gruffyddgozali
@gruffyddgozali 7 жыл бұрын
but if its a sphere how would the lengths differ, because they are radii aren't they all the same
@Gabzes
@Gabzes 7 жыл бұрын
Hey, just a random comment lol, you might want to take a bit of high frequencies on your mic :P anyway, good video :)
@MrAwesomeChel
@MrAwesomeChel 8 жыл бұрын
Please check out "Space Engine" project. It has a great example of procedural generated terrains(planets). It is free. But what is more impressive it was made by one guy(almost).
@The1Helleri
@The1Helleri 7 жыл бұрын
I've played around with terrain makers. I never really liked them because they all (the ones I've used at least) seem to translate on the vertical axis. If I want to do something like make a land bridge or even a spire that tapers out at the top or a cliff that over hangs terrain beneath it. I have to model that separately and drop it in. Then there is always the problem of making that look seamless. Like it belongs there. And if I want to do a cave I either have to skybox the actual cave and have the entrance be a teleportation point or punch a hole in the map and connect modular units I make to it. They always felt really limited. And so the results always looked...Not quite believable.
@ABaumstumpf
@ABaumstumpf 7 жыл бұрын
Simple heightmaps - it is very easy to generate good terrain with them, also easy to store the data, and easy to code the system that generates and uses it. The limitation is that you can not have any overhangs, cause all you basically have is a map form above telling you how high a specific location is. If you want overhangs, adding extra structures is your only way with those systems. You could also try out other forms of terrain-generators - for example there is a simple expansion to the concept of heightmaps. instead of only giving the height, you associate a 3D vector with each point. The result is that you can move the points horizontally too and can thus make overhangs if you want - but not bridges just yet. and this can be done quite similar to heightmaps - it can even be still saved as a picture, just instead of being greyscale, you now have Red green and Blue representing the X Y and Z location of the vector. those systems often feel restricting cause those restrictions make them really really easy.
@The1Helleri
@The1Helleri 7 жыл бұрын
I've not worked with height maps (unless you count sculpties on sl). I am talking about terrain generators/makers (I said so).
@The1Helleri
@The1Helleri 7 жыл бұрын
And speaking of sculpties on sl...Those can translate and rotate on other axis. I'v made ground and cliffs and such with that. even back drops. So it is possible. It just doesn't seem to be a common consideration by those who make the tools. I mean in that sense rokuro is more advanced then most terrain makers out there (that I've seen) lol.
@ABaumstumpf
@ABaumstumpf 7 жыл бұрын
***** *"I am talking about terrain generators/makers"* Well most are based on simple heightmaps. Of course there are different editors with different tools, but most are based on that. Rokuro - never heard of that. Quick search only showed me a small sculpting tool - is that what you are talking about?
@The1Helleri
@The1Helleri 7 жыл бұрын
Yeah Rokuro is for quick and easy sculpts (it can also export to .dea and auto generate the different LoDs). It has a 2D interface. You adjust two lines by setting and moving points on them. And you choose what 3D shape to apply that profile to. It's basically a lathe for simple 3D objects. But even though it is not a terrain maker, the results can be applied as terrain (you need to use the high LoD colladea export with med to high physical shape if you want people to be able to walk on it without being as much as 10m in the air). And it lets you work on two axis (which was the point). That was my dirty cheater tool when I wanted to no effort something simple. I mostly used Wings3D and Blender to finish things up. Terrain wasn't a main thing. Did a few Sim Surrounds and Some terrain and terrain features. But mostly stuff like this (I think these were the last things I made on SL): imgur.com/a/FlmRG
@atomictraveller
@atomictraveller Жыл бұрын
this is 6 years old and stuff but i keep seeing people do perlin terrain and not rectifying it to get those nice eroded-like slopes and peaks. shape stuff in 1d (audio) and it be gud. and do 1.f - abs(1.f - noise * 2.f)
@atomictraveller
@atomictraveller Жыл бұрын
(for trainwatchers, i made the animal voicing engine they used to make animal sounds for NMS, fauna vst.. i got a nice email, i wish they'd done procedural voicing as well..)
@rudis3311
@rudis3311 7 жыл бұрын
Can you please do unreal engine tutorials?
@itsvollx9684
@itsvollx9684 2 жыл бұрын
Explain Minecraft 1.18 World generation?
@sirgrem2988
@sirgrem2988 4 жыл бұрын
I dont think No Man Sky uses a spherical coordinates since gravity even affects you in space like it would be in a planet. You would see this in many glitches or if you jump out of frigates.
@DavidDolynny
@DavidDolynny 7 жыл бұрын
do you want to make a mbti personality type collab video? I'm an intp
@terraint3697
@terraint3697 7 жыл бұрын
Watch CitizenCon live stream on the 9th to see next-gen Procedural Planets!!!
@tylerhorton9807
@tylerhorton9807 5 жыл бұрын
I made a randomly generated terrain that's minecraft-style at first, then once the block generates it turns into the terrain type it needs and forms like real land and looks like it is rust-style afterward. It's going to be based off of a mix of one hour one life and rust... but it's on roblox.. I made this.. on roblox.. that's how easy this stuff really is. Thanks for the help, your video helped me understand how noise worked.. and helped me understand all the way 'round how it works.. I figured out a way to assign it not only to terrain, but to make certain areas into biomes... turn the underground into a mix of stone and many other blocks/ores and more.. but it's still being tweaked so I removed it temporarily until it's finished, so right now there's only one biome, but the link to the generation is here: www.roblox.com/games/2762705660/testing-commands No, I won't share my source code... I'd like to make this into my game, and no one steal my idea, everything here is made from scratch, and I taught myself how to do this all with some help from this, and other knowledge off youtube, and roblox wiki, so it's very possible for everyone to make this themselves, and teach themselves how, you just have to start at the right area.
@tylerhorton9807
@tylerhorton9807 5 жыл бұрын
I'll update the link once we've made it into a game just in case anyone wants to play, but we only have 3 devs... and I'm the only scripter..
@tylerhorton9807
@tylerhorton9807 5 жыл бұрын
Also beware... there's (((255*2)+1)^2) many blocks that have to generate... so give it a second please.. it's roblox.. don't expect a masterpiece.
@Pyrusdrago
@Pyrusdrago 7 жыл бұрын
No idea how to start this so I guess I'll just throw words out there and hope for the best. Loved video games my whole life. Recently have fallen out of love with them since I feel it's either the same thing over and over or people are just throwing graphics out there in the absence of story line or play-ability. I'm looking to get into game development so I started looking up the basics and ran into your videos to try and get some info. I'm glad you mentioned the Civ series since that is the first thing I want to work on. Soooooooo...hope you don't mind the questions If you were to make a Civ game, what engine would you use? Where would you start in making a Civ game? Since the maps are procedurally generated and you mentioned if was just a formula, how big can you make it? I'm a huge fan of the Civ series but even on their "Huge" maps....they're not that big. So is this something that they purposefully limited or is it just not possible yet? With this style of game, they not only limited the size of the maps but also how close you can get to your towns and characters. Is this for ease? Like, well if we don't add a lot of animation for people to see it wont bog down a system and it's easier for us to make. Or is it a computing issue? One of the features I would like to add is the ability to get in closer to these spaces so I'm curious if that's just their style or if it's an actual limit of computing. Thank you very much for any answers you provide and I look forward to hearing back from you :)
@massimookissed1023
@massimookissed1023 7 жыл бұрын
Civ & Tetris are great examples of gameplay being more important than graphics. Beautiful graphics and no gameplay is not a game, it's just art. Procedural maps can be theoretically infinite, the limit is the accuracy of the coordinates' numbers. Civ generates procedural maps from a random seed value, but their size is limited by having to be stored once generated. The game needs to remember changes that have occurred on each map tile, ~ like road built there, tank sitting there, etc.
@Pyrusdrago
@Pyrusdrago 7 жыл бұрын
Which I fully get and that's why I'm curious how demanding these maps are on a system and if that really is there max for current standards. If it can get bigger, I want that.
@massimookissed1023
@massimookissed1023 7 жыл бұрын
For procedural terrain it's quite possible to zoom from a planet down to a grain of sand, & do it @ 50fps full HD. (There are some stunning examples on YT) Thing is, do you want to interact with any single sand grain? Does the game need to remember that interaction? It could take 12 bytes just to store its new position. What if you move 1000 grains? Do you want realistic physics of granular flow? Will remembering those sand grains slow the game down later, when you're busy fighting hordes of North Korewoks on another continent? If so, it wasn't worth it. That's just the terrain. Objects like cities & tanks, how much detail is enough? Someone has to graphically design those objects, & that detail info has to be stored, that could be a problem on limited machines or phones. Many things will be a trade-off between size, speed, detail, and gameplay. Deadlines could be a deciding factor too. You may have decided it would be cool to see a green stench of city pollution, but the publisher has a release date set, and those pesky Korewoks need better AI... (Green stench, realistically wafting in accurately modelled atmosphere will just have to go in your *next* game :)
@Pyrusdrago
@Pyrusdrago 7 жыл бұрын
Which again is fine and I get. I don't need all of the sand animated lol But I'm curious as to why Civ didn't go closer or add in more detail. We have some of the most beautiful games ever and then Civ is still very far removed and at a distance so that's why I'm curious if it really is that taxing on a system or if that's just the style they went for.
@massimookissed1023
@massimookissed1023 7 жыл бұрын
I'd say it's its style. Civ is a turn-based strategy game, like a super-convoluted chess. It's more about "how can I weasel these guys into joining me in war against the big dog, so that *I* become the big dog..?" than awesome graphics.
@pianogoat3717
@pianogoat3717 7 жыл бұрын
You're explaining terrain generation in 3D. I'm stuck with text-based python I'm sad now :(
@ichspiellp3685
@ichspiellp3685 6 жыл бұрын
Piano Goat Try harder Better now?
@seditt5146
@seditt5146 6 жыл бұрын
No, she is explaining it in 1D ... Perline is as many Dimensions as you ask, the general function is relatively a 1D function which you convert to strings and arrays of values for other dimensions.
@hodgkinsstuff3766
@hodgkinsstuff3766 8 жыл бұрын
Im Jealous of your smarts >:(
@krazyhand1653
@krazyhand1653 8 жыл бұрын
intelligence*
@rodrigoappendino
@rodrigoappendino 7 жыл бұрын
Instead of being jealous, just study to become better.
@TheKingCreeperChanne
@TheKingCreeperChanne 6 жыл бұрын
BrewNCode r/whooooosh
@Death-nq4tj
@Death-nq4tj 6 жыл бұрын
knowledge*
@jm08a31
@jm08a31 6 жыл бұрын
The problem with perlin noise is you can't create a object that is higher than the other and is larger, because the noise is just a heightmap.
@JamesPetts
@JamesPetts 7 жыл бұрын
Ahh, yes, perlin noise. That's what Simutrans uses.
@gekk1985
@gekk1985 6 жыл бұрын
great content ((=
@rodrigoappendino
@rodrigoappendino 7 жыл бұрын
What kind of cool things can be made using cellular automata? I mean, in games.
@deathawer21
@deathawer21 8 жыл бұрын
how save and load works in game..
@htetpaingMM
@htetpaingMM 7 жыл бұрын
You sound like Pyrrha Nikos from RWBY.
@ashutoshrautela3454
@ashutoshrautela3454 7 жыл бұрын
This Girl is too smart. 😮
@Deaker24
@Deaker24 7 жыл бұрын
hi happie cat if I give you all my art work can you make my game work lol its a pokemon fan game lol.
@gulliver831
@gulliver831 7 жыл бұрын
I'm lazy and insecure lol
@jaredloveless
@jaredloveless 3 жыл бұрын
Ah I'm from the distant past and I'm frightened and confused. Help!
@macstevins
@macstevins 7 жыл бұрын
Terrain generations was possible on minecraft by perlin noise.
@coconutbliss1444
@coconutbliss1444 7 жыл бұрын
this method is not realistic atall, it only seems so cus of its randomness, in actuality nothing is random in the world. just go to some filed where you can see some mountains and observe. not tomention its very rare that these kind of generators are fun to play into. 1 game that comes to mind thats fun is Imperivm 3 TGBR and yes its imperivm
@toshobg
@toshobg 7 жыл бұрын
"giant game like No Man's Sky" lol !
@mlgdoge2540
@mlgdoge2540 7 жыл бұрын
Todor Velichkov You know this game is big?
@weewilly2007
@weewilly2007 7 жыл бұрын
Clearly your idea of sharing knowledge involves incurring hidden costs in the interaction. If the bar being set for acquiring information is accepting the rather underhanded way this is being done, while ignoring the alarm bells raised by a potentially duplicitous situation/personality (with other veiled factors possibly in place) What is being offered - an artificial world, albeit one that can be programed to your liking -, in exchange for a pleasant experience in this one, doesn't sound like a very good deal if you ask me.
@jodhsingh8288
@jodhsingh8288 7 жыл бұрын
weewilly2007 what book or movie is this from?
@AxelWerner
@AxelWerner 7 жыл бұрын
beep boop beep
@ABaumstumpf
@ABaumstumpf 7 жыл бұрын
Oh come on - you had to just take the first result that google was spitting out and copying that shit? Brownian motion and Perlin noise got NOTHING to do with each other. Brownian is a random process that has a few specific characteristics (expected value 0, and a given variation). Where perlin noise is a pseudo-random pattern that is based on a fixed seed-value. Note the big difference - Brownian is real randomness and can NOT be controlled. Repeating this bullshit just makes even more people believe those lies.
@invntiv
@invntiv 7 жыл бұрын
FRACTALS!!!!!!!!!!!!
@radusdk
@radusdk 7 жыл бұрын
I came here in the hopes of learning something new, but this was very very basic stuff.
@rinkaenbyou4816
@rinkaenbyou4816 5 жыл бұрын
感觉无人深空被翻译成了无主之地十分难受
@skeltor1446
@skeltor1446 7 жыл бұрын
1:42 The moment where you don't know what the fak is this girl talking about
@SufferDYT
@SufferDYT 7 жыл бұрын
It's pretty simple to grasp, watch it a few times.
@allanfloyd8103
@allanfloyd8103 7 жыл бұрын
Stay in school and you'll learn about sines and multiplication eventually.
@RetroGamingClashOfClans
@RetroGamingClashOfClans 5 жыл бұрын
Earth is flat thus , "No mans sky" is a lie...
@MrBenMcLean
@MrBenMcLean 7 жыл бұрын
It is really nice to hear a female voice talking about game dev topics who isn't trying to push politics on us or whine about how hard it is to be a game dev, but instead is actually covering legit technical subjects. Hats off to you m'am. I wish there were more like you.
@AcceptYourDeath
@AcceptYourDeath 7 жыл бұрын
Ohhhhh that`s why they forgot to make a fun game....I see. I got the trees and the sun, the rest was above me.
@NoisySheep7
@NoisySheep7 5 жыл бұрын
0:55 why us 0 black? This video racist. Reporting...
How to turn a few Numbers into Worlds (Fractal Perlin Noise)
15:24
The Taylor Series
Рет қаралды 187 М.
How to Game Dev in Any Dimension
14:03
TheHappieCat
Рет қаралды 89 М.
Looks realistic #tiktok
00:22
Анастасия Тарасова
Рет қаралды 105 МЛН
Red❤️+Green💚=
00:38
ISSEI / いっせい
Рет қаралды 78 МЛН
Dear Game Developers, Stop Messing This Up!
22:19
Jonas Tyroller
Рет қаралды 696 М.
How are memories stored in neural networks? | The Hopfield Network #SoME2
15:14
When Your Game Is Bad But Your Optimisation Is Genius
8:52
Vercidium
Рет қаралды 1,4 МЛН
Minecraft terrain generation in a nutshell
25:49
Henrik Kniberg
Рет қаралды 150 М.
How Networking Works in Games
10:21
TheHappieCat
Рет қаралды 130 М.
A new way to generate worlds (stitched WFC)
10:51
Watt Designs
Рет қаралды 518 М.
Coding Challenge 11: 3D Terrain Generation with Perlin Noise in Processing
22:44
How do games render their scenes? | Bitwise
13:12
DigiDigger
Рет қаралды 564 М.
КРУТОЙ ТЕЛЕФОН
0:16
KINO KAIF
Рет қаралды 6 МЛН
Зачем ЭТО электрику? #секрет #прибор #энерголикбез
0:56
Александр Мальков
Рет қаралды 648 М.
Красиво, но телефон жаль
0:32
Бесполезные Новости
Рет қаралды 1,5 МЛН
Cheapest gaming phone? 🤭 #miniphone #smartphone #iphone #fy
0:19
Pockify™
Рет қаралды 4,3 МЛН
Battery  low 🔋 🪫
0:10
dednahype
Рет қаралды 12 МЛН