Project Frontier: Week 4

By Shamus Posted Friday Jun 24, 2011

Filed under: Programming 134 comments

I thought I’d end the week with another snapshot of how things are going. Yes, I’ll have a post detailing the trees and sky and how they were made, but in the meantime here’s some shiny things to distract you.

Link (YouTube)

Note that I didn’t bunny-hop my way through this demo. If you’re used to Spoiler Warning you may need to shake your monitor up and down to avoid the nausea associated with smooth, non-hopping movement.


From The Archives:

134 thoughts on “Project Frontier: Week 4

  1. Nyctef says:

    The trees remind me of Morrowind, for some reason. 0:44 is Feralas from WoW :)

    Anyway, great work! It looks very realistic, even though the graphics aren’t exactly high-fidelity – everything’s in the right place.

  2. Kell says:

    Phenomenal, Shamus. Absolutely phenomenal. I really hope this leads to Big Things.

    1. Kaeltik says:

      Agreed. Well done sir.

  3. Adam P says:

    You say those trees aren’t done, but they already look much better than practically all of the trees in WoW.

  4. Colin says:

    This stuff is really really awesome Shamus: I first found your blog from your procedural city, and your programming articles are my favorites!

  5. Robyrt says:

    I still got that bunny-hopping / seasick feeling, because the player is currently following every tiny sine wave bump on the landscape. In real life, I only change my height delta every time I put my foot down; you can get a similar effect by ignoring small elevation changes and only tracking the broad shape of a hill or valley.

    There were also a couple of shots where the grass color was much brighter than the trees above them, which lets the player know you don’t have a lighting model yet – but that’s a very minor nitpick.

  6. Raygereio says:

    Shamus, out of curiosity; how long do you estimate have you been working on this?

    Also my first reaction to the grass and flowers was that they’re to bright in comparison to the world around it and provide to much contrast.

    Yeah, modern videogames do bad things to people.

    1. Deadfast says:

      As the title says it should be 4 weeks now. He is re-using some older code though.

      1. Raygereio says:

        I know that, I was fishing for a rough hour-estimate from the start of the concept stage to now.

  7. Jjkaybomb says:

    The trees still look pretty good for not being done. Cartoony, yes, but if that’s the end goal, they may not need much more work.

  8. Tobias says:

    Now the real question is if shamus manages to implement a player movement model, where bunnyhopping is really slower than running normaly.

    1. Winter says:

      The real question is… should he?

      (The answer is “no”!)

  9. Kdansky says:

    I was very vocal against trees. Damn, these are pretty (and slightly surrealistic). I’m going to eat my shoes now. Great ambiance.

  10. StranaMente says:

    Great work! As you said this adds really comparison to the world. But not necessaraly in a good way. Grass seems to be at the right heighness, but now the player looks like a dwarf, and there seems to be no real mountains. I think that you should work proportions better before keeping on going.

    1. Drexer says:

      I do believe Shamus hasn’t implemented ‘real’ mountains yet. All we were assuming before as mountains were just small hills which looked as such due to the lack of reference points.

      1. StranaMente says:

        But those crevices assume another meaning now. I feel my brain is trying to reconcile what my eyes are seeing. Some things are too small, other too big.
        For example, from 0:04 to 0:24 the height seems right, but as he gets near the mound at 0:25 suddenly he seems very small, almost a ground vision.
        The crevices in the forest at 0:45, they add variety, but they’re too small, or everything else is too big. From this point of view they seem to be about 2 or 3 feet tall at most. They’re too small to be this steep. There are hardly this kind of small canyons in reality.

        Around 2:00, you seem to be at the same height of an ant. At 2:10 everything seems in the right proportion except the player who seems stomping aroung between hills and a river.
        And even the end of the river at 2:25. At the same time it looks big and small. Small if you consider the grass (hardly more than ten feet from side to side), if you consider what seems small hills in the background instead, it kinda looks quite large (even a hundred feet or more).

        Problem is, trees look about the right height compared to the player, and maybe a bit small compared to the grass. The grass looks really, really big (at times) compared to the player and to ground. Slopes, hills and crevices and other formations look normal if not compared with anything else, but they look really small if compared to anything else.
        TL;DR (with images):
        For example, can you tell how big is this archipelago: http://www.shamusyoung.com/twentysidedtale/images/frontier5_8.jpg?
        Miles? Feet?
        Let’s try to imagine some trees and wonder what height should have.
        If you imagined something like this:
        Then you thought the same thing I thought when I saw that archipelago.
        But instead what most likely is happening at the moment is this:
        Where trees, grass and everything else is really taller than the rest, and all the perspective is out.
        Things seems out of proportion and when you move the things get worse as one moment they seem really big and the other, really small.
        Sometimes flowers are right under your chin, and sometimes you look taller then hills.

        1. StranaMente says:

          Here are some example of what I think that archipelago should like if it was real:
          http://www.tourismzone.com/photos/asia/thailand/phuket/phuket-beach-spot.jpg and
          It’s easier to understand the correlation between things this way.
          Ground is vast, slopes are steep, trees are small, isles are awesome.
          That type of ground is correct only for this scale, I think.

          As it is now, those crevices look like this:

          1. Atarlost says:

            I guess Shamus is halfway through implementing the sprinkler system.

          2. Kacky Snorgle says:

            Exactly. The world is not self-similar at macro scales; a two-foot “cliff” doesn’t look like just a smaller version of a two-hundred-foot cliff.

            Small-scale topography erodes so rapidly that you never see a small cliff, or a small canyon, unless it’s quite newly formed. They quickly turn into small slopes or small valleys, respectively. (In StranaMente’s last image, there’s no way that crevice was there a year ago.) Big cliffs and big canyons are much longer-lasting, so they exist in quantity.

            Unless you’re trying to build a world that was just shattered by a huge earthquake last week, I don’t think you want all these small-scale landforms that are so sharply defined they interrupt the grass in a very grassy biome. I think your difficulty with “real mountains” may be that you’ve already got them, but you’re thinking of them as hills! Just shrink all your vegetation, and your eye-height, by a factor of ten or twenty, and you’ve got it.

    2. StranaMente says:

      Watching the video again… unlike the others, I think that the green is not too saturated, instead it goes well along the not-realistic-pseudo-cartoonish art style you’re following.
      To add a small variety, you could add fallen trees or bushes.

  11. scowdich says:

    Very impressive, Shamus. The trees are looking a little Seussian right now, but I look forward to how much awesomer they’ll be in even just a week. I love that the world makes sense – climates depend on latitude, rivers flow to the sea, plant life depends on climate. This is more thought than a lot of game developers will put into an entire world.

    1. psivamp says:

      I think I liked the Dr. Seuss puff-ball tree the best actually. I’m not saying the others weren’t good as a work in progress — I’m always amazed at how much you can do in a given timeframe — but I really liked the Dr. Seuss puff-ball tree, I think it fits brilliantly.

    2. Dev Null says:

      Its a very Dr. Seuss-style tree isn’t it? I like that. A lot of what has come before has seemed almost too realistic for its own good; this adds a touch of style and whimsy to the project.

    3. Andrew says:

      I actually like the trees for exactly this reason. I’ve yet to see a game pull off trees that don’t look a little uncanny valley. If you’re going to make something that looks unrealistic, may as well do it with style.

  12. Chris says:

    This looks really great! I’m excited to see where it goes.

  13. Reijii says:

    I just had a stupid idea. About the rivers.

    Why not spawn them at the ocean coast and trace lowest slope uphill?

    1. Nick says:

      You still have all the same routing problems as you did before (just in reverse) and there are many, many more places to choose from for starting points?

      1. Reijii says:

        In case of starting river over land, you can’t know how long (and wide) it will be. Starting backwards gives you control of this. I.e. you can parametrize lengths of rivers (and, hence, maximum widths).

        Otherwise, yeah, all the same problems.

        ninja-edit: Also, no, not many starting points. Starting point would be defined by ending point (on coastline) and length of river.

  14. Piflik says:

    That looks so great…I can’t even tell you how much I like that…but I can tell you what I don’t like…

    – The rivers…you can see the edges of the polygons cutting into the water, creating some wedges of missing water…don’t know if that is fixable, but it’s something I noticed (I guess it’s the diagonals of the terrain’s quads…maybe you could turn them to follow the river).

    – The abrupt change between different LODs.

    – The grass is a bit too saturated in some parts, for example at 2:45 in your video…that neon green looks really off compared to the rest of the world…I don’t want you to go AAA and make everything brown, I really like the strong colors, but that one color really doesn’t fit.

    That being out of the way…the mood is fantastic and the speed in which the world is created is stunning considering its size…and you’re just 4 weeks in…

    I hope someone with tons of money notices it and throws them in your direction ;)

    Oh…and I am really looking forward to your post on the creation of the trees…I am currently working on some lowpoly trees and if there are some shortcuts, I’d be glad to know them :D

    1. aldowyn says:

      “the speed in which the world is created is stunning considering its size”

      Heh. Shamus was like “waiting… done! I just created a new world the size of World of Warcraft!” After that, I thought “… showoff” :P

      Really, it’s pretty spectacular that you can make a world that huge and that diverse in just a few seconds. Procedurals ftw!

  15. Daemian Lucifer says:

    Shamus,you really should make this appear on escapist for it to reach wider audience and,more importantly,more developers.

    1. Joshua says:

      As a side note, what is happening with the Escapist? No recent Stolen Pixels or Experienced Points recently.

  16. Kdansky says:

    I dislike the muddy riverborders though. Real rivers are all but completely overgrown. Your correction went into the wrong direction. Especially in the last shot: Imagine there to be tall ferns or bushes near the river. It would look a lot more natural.

    Except for that minor nitpick: So gorgeous.

    1. Sean says:

      I think that depends pretty strongly on where you are, and the size of the rivers. I grew up in a river town in the Midwest – the smaller creeks especially had nice, wide muddy banks, likely because of how they tended to overflow and wash away the banks in heavy rain.

      The larger rivers, though, it was very location dependent. Mostly it had lots of things growing near the water, but there were plenty of places where it was just a muddy, gently sloped bank.

      So, that said – I think I might agree as well. Some more growth near the river might be good. Trees often tend to be larger near the river, too, and there may be greater frequency of trees (I don’t actually know how true that is).

      1. Kdansky says:

        Something that all natural rivers have in common is the abundance of vegetation in the vicinity. Sure, sometimes it’s more ferns and dirt, and sometimes it’s proper trees, but water and plants are generally highly correlated.

        It doesn’t get much greener:

        Even riverbanks that overflow often (Nile?) are smothered in plants. If that’s not the case, it’s probably man-made. Currently, the rivers look like trenches after heavy rain, not like rivers.

        1. StranaMente says:

          Well, every river has some sort of bank, smaller or bigger, so it isn’t very wrong. Let’s say it may be improved (later).

    2. droid says:

      How a river looks depends on the climate around it. The trenches he has now would be correct for the desert (without water in them of course). It might help to use a rocky texture for steep areas or all stream shore areas. If they are rocky you can make the slopes steeper.

      How close the plants get to the water is determined by how high the water floods. Highly regulated streams (such as one coming from a fishery) have constant flow and so the leaves of the plants around the edge are basically growing on the surface of the water. If there is any snow pack upstream there will be a slight daily variation that will push vegetation back (the variation comes from snow melting faster in sunlight). If there are floods frequently there won’t be much more than moss very close to the water.

      There are some species of tree that depend on flooding to spread their seeds, so you mostly see them near rivers. You might want to think of a few other distribution patterns and use them for different species, such as clusters, high points, low points, steep rocky areas, flat sandy areas, and so forth. It will give the plants some character.

  17. Jarenth says:

    Around the three minute mark, I found myself whistling the Morrowind tune.

    At one point (also the three minute mark) you say “Here I’m just showing off the variety by having it generate a bunch of different trees“. I would just like to point out that the last eleven words of that sentence are superfluous.

  18. Simon says:

    At 1:10 the fog color doesn’t make a lot of sense, the fog should always be equal to or darker than the sky color, since it’s not generating it’s own light. I’m sure you’re aware of this but just thought I’d mention it since it’s a typical thing that a lot of games get wrong.

    1. Piflik says:

      Actually fog is brighter than the sky, since it has bigger and more particles to scatter the incoming light from the sun.

      1. Simon Buchan says:

        Specifically, the sky should be the fog color mixed with the black of space depending on how much of the atmosphere you are looking through. Air does color shift closer to white/yellow from blue as you look closer to the sun since it acts as a prism, but that’s probably too minor to worry about.

        1. Piflik says:

          The blue sky color comes from Rayleigh Scattering. The light from the sun is scattered by small molecules in the atmosphere and the scattering is stronger the smaller the wavelength is, so the blue part of the spectrum is scattered the most. That’s also the reason why objects far away loose contrast and look more blueish and generally lighter…the light reflected from the object itself mixes with the light scattered by the air between the object and yourself. The red sky at dusk/dawn is also caused by this…the light has to travel further through the atmosphere due to the angle and by the time it reaches your eye, the blue part is all but filtered out and leaves mainly the red part.

          Science is great :D

          1. Simon says:

            I guess I should have been a little more clear. I wasn’t talking about fog and sky in general or in real life, what I meant was that fog will never make the silhouette of a dark tree brighter than the background sky at the horizon.

            In real life, fog is everywhere and shows up both in front of the tree and in front of the horizon. In fact, the horizon will have way more fog in front of it. But in games you typically exclude the skybox from the fog pass, so while the tree has fog in front of it, the horizon has none at all.

            If you were to imagine what this strange scenario would look like in real life to an onlooker, he would see cones of fog projecting from your eyes toward every object close enough to be loaded into the world, but outside of the cones there would be no fog at all.

            Since that is pretty far from reality you need to compensate for it by painting some fog on the skybox texture, and if you really want to do it properly you should use the skybox instead of a flat color so that the fog can be a different color in different directions and perfectly match the skybox.

            1. Shamus says:

              The problem is that this is un-solvable in the case of a sunset without using pixel shaders. You can’t do per-pixel fog coloring with a fixed pipeline.

              A quick solution is to just make the fog dark first, and then begin the sunset. That may have drawbacks of its own. I don’t know. I’m sure I’ll be revisiting this once I have some shaders.

  19. Looking very cool. I like the trees a lot, some of the base trunks can get a little bit large, but maybe that’s the style you’re going for.

    Personally, I would add in a ‘wind direction’ or similar variable so that trees in a certain region curve in the same direction, as it can look a little odd when two trees are bending towards each other.

    Really nice though, can’t wait for the post on your algorithms for it :)

    1. Wtrmute says:

      The wind direction is basically the humidity gradient, isn’t it? Perhaps perturbed a bit by some low-amplitude noise.

  20. Brett says:

    Re: the sky, remember that the night sky with the stars out isn’t static; the sky wheels around the North Star at a rate of one revolution per day.

    1. Dev Null says:

      Speaking of stars, how did you generate them Shamus? I’m always irked in games when there are so many bright ones that its too crowded to make up constellations…

      1. Shamus says:

        Scattered noise in an image editor. :(

        1. TSHolden says:

          I think an article on procedural stars would actually be a great read, even if at the end you just write the results to an image file.

          Really, procedurally generated stars that somehow link to the world would be very cool. Reuse the overall world height to create a density bias (center of the map = north?), effectively giving the very observant player a map they can check via glancing up.

          Also, I always like hiding little details in the stars in my designs: my stylized initials almost always end up in there as a constellation. It’s a fun way to hide little references.

          1. jwwzeke says:

            Ohhhh. Idea. Shamus, unless this directly conflicts with the game concept you already have in your head, you should use the same starfield for every generated “land”. Just rotate it based on the seed value you’re using for the “land”. That way each of these islands are part of a greater world/planet and they share the same sky… they are just viewing different parts of it. Some constellations would be shared between lands, some wouldn’t be known to others. Fun.

            And of course I think you should generate the starfield procedurally to be true to the project goals… but given it would be the same every time… that may not be necessary.

    2. Robin Z says:

      I was going to mention that – it was a little immersion-breaking for me, and I don’t think it’d be too hard to fix.

  21. X2-Eliah says:

    Hm, the trees make a whole ton of difference in terms of perspective. I really like how the engine looks now, much better than in the last video. The rivers still seem quite, er, narrow? Imo, you could easily (at least design-wise, don’t know if there’s a code limit somewhere) double the starting and ending width of the rivers.

  22. Glenn says:

    Yep, those’re Morrowind trees if I’ve ever seen them. Great work so far.

  23. Risven says:

    This looks really really amazing. I had sort of an eye-shock when watching this video; I haven’t seen this much color in a game for quite some time. Beautiful. The trees look great too.

    Around 1:43-ish, it was a bit strange to see the sun actually moving in the sky, but I think I’d like that in a game. I could, at any time, look up at the sky and be able to tell how much daylight I’d have left. Sort of neat, I like it.

    1. Kell says:

      “I could, at any time, look up at the sky and be able to tell how much daylight I'd have left. ”

      You mean exactly the way you can in Minecraft? And FUEL? And Oblivion?

      1. Risven says:

        Of those, I’ve only played Oblivion, and I’ve never noticed it.

  24. Nersh says:

    I said this before, but shut up and take my money.

    1. uberfail says:

      If you really want to make your point there’s always the ‘Donate’ button.

  25. Adam says:

    Wow, we leave you alone for one week, and you do all this? You should go on holiday to some abandoned grotto and just code all the time, and you’ll have a functioning universe simulation going by the end of the year.

    1. Bubble181 says:

      We’re actually *in* his simulation as we speak.

      That’s right, Shamus wrote the Matrix.

      1. burningdragoon says:

        And now Shamus (or simulated Shamus??) is going to write the Matrix in the Matrix. Procedurally generated universe that procedurally generates more procedurally generated univeses? I.. um.. brain hurt

        1. Trix says:

          Hey, it’s only like looking into two mirrors facing each other :p

          Juuuust a bit bigger in scale.

        2. uberfail says:

          I don’t think we need to combine the Matrix with Inception…

    2. Ander the Halfling Rogue says:

      Yes, but what if we left you alone with a typewriter? *dodges thrown book*
      I say it because I care. About me. :p Seriously, Free Radical’s good stuff.

  26. Mephane says:

    Especially the part with the sunset and the ambience light color changes make me wish this engine later be expanded co accomodate generating alien worlds ranging from subtle differences to what we’re used to up to vastly different types of landscapes that look truely alien.

    I still wish I’d be into 3D graphics, but one of the previous posts explaining the issues about graphics programming, shaders, SDL etc make me not even want to start. Especially for private projects, I don’t want to deal with that kind of crap, I get enough of that at work, I am a coder by heart and I want to code interesting stuff, not spend hours mucking around weird library dependencies, incompatibilities etc; that’s also why I am doing my private projects, so far, in F#, it’s a) efficient and b) provide the full .NET libraries where I don’t need to download 3 totally different libraries from 3rd party just to get some simple things done.

    By the way, anyone got some tips on where/how to post projects in a possibly backup-friendly (as in, the external hosting also serves as a backup) way? I was thinking about sourceforge, but I don’t know if you can use that for the “closed source until deemed ready for public”? Because I really would love to put my stuff out as open source in a Create Commons fashion, but I still want to decide when I want people to see the actual thing, and not the possibly embarassing first steps, heh.

    1. Simon Buchan says:

      If you’re not worried about portability (and I wouldn’t when starting out), it’s *crazy* easy to set up Direct3D 9:
      * Learn C++. I don’t recommend learning graphics programming in any other language, although I haven’t used XNA, but I hear good things about it.
      * If you already have the windows sdk 6 or 7 (which you do if you are using VS2010) you literally need only ‘#include <d3d9.h>’ and importing d3d9.lib. Otherwise grab the Direct3D SDK.
      * MSDN isn’t great at starting off complete newbies to Direct3D, but read the sample projects to get an idea. Also, I hear the XNA site is often handy, even for C++ DirectX usage given how close they are.
      * Once you’re up and running, and have an interesting project, grab the full DirectX SDK if you haven’t already to get handy debugging tools.

      RE: external code: I’m not sure about sourceforge, but most Mercurial (bitbucket.org) and Git (github.com) hosting sites will let you private host. Read up on their FAQs, I guess?

      1. Shamus says:

        I’ve used Mercurial / BitBucket for a few days now. Very happy with it so far.

        My only complaint is that I can’t figure out how to get the GUI to remember my dang settings, so I have to type in the URL AND name AND password, every single time I push changes. Seems like a missing feature, there.

        1. Mephane says:

          I’ve always only heard good about Mercurial, yet not tried it out myself. I think I will give it a go.

          @Simon Buchan:
          I do C++ at work. I’ve got no issues with the language, but the dependency and linktime management sometimes is real hell. In my private project I prefer to have something where I can really concentrate on the code and not spend 3 hours trying to get some external DLL not to corrupt my heap, heh.

          1. Simon Buchan says:

            That’s the benefit of using platform supplied DLL’s :)

            #include <d3d9.h>
            #pragma comment(lib, “d3d9.lib”)

            1. Blake says:

              #pragma comment(lib)? Ew.
              I’d rather keep my project depedencies in my project settings and my source in my source.

              I found OpenGL much easier to play with at first than DirectX, I wasn’t the greatest programmer at the time and everything returning iUnknowns was very infuriating for me.

              I could handle it much easier now, but haven’t actually had to do any graphics programming since uni.

        2. Nathon says:

          If you look in your repository, there’s a directory called .hg. In there, there’s a file called hgrc. That’s the one where the magic lives. You can tell it where your bitbucket repository lives with these two lines:

          default = https://www.bitbucket.whatever/path-to-your-repo

          The username and password stuff is described here:

        3. Heron says:

          I don’t know what Mercurial client you’re using, but TortoiseHg has been good about remembering that sort of thing for me.

        4. Mephane says:

          Thank you, Shamus. I have just right now installed it, registered at bitbucket, set it all up, created a repository and made my first commit according to the HgInit tutorial (why can’t all tutorials be like this?), and done. Up and working. From the command line. And I am usually not the command line guy when it comes to stuff like this, because most command line tools are awkward to use if you don’t know 20 cryptic parameters at heart, heh.

    2. Dev Null says:

      accomodate generating alien worlds ranging from subtle differences to what we're used to up to vastly different types of landscapes that look truely alien.

      That’s where I’m hoping Shamus goes with this; space sim where you can fly to totally new planets and explore them. Its a perfect match for procedural world generation, because all you have to do is store the seed parameter values when they fly away, and they can come back and find the same worlds they left.

      1. DmL says:

        YES, something like Noctis would be awesome.

      2. Piflik says:

        Like a space MMO, where the first player to visit a new planet ‘creates’ the landscape for everyone else…hmm…reminds me of quantum theory (the real one, not the game…you know…Schrà¶dinger’s Cat and such)…the new world is a superposition of all possible worlds until it is observed and its quantum state collapses…

        1. MelTorefas says:

          *finds this idea very interesting*

        2. Mephane says:

          Heh, this is brilliant. What if the real universe is filled exactly this way? After all, quantum physics is so strange that it could very well be the case…

          1. Piflik says:

            Well…if we can trust the quantum theory (at least the Copenhagen interpretation) then the universe is created this way ;)

            1. Will says:

              But Many Worlds makes way more sense than Copenhagen.

    3. Leonardo Herrera says:

      By the way, anyone got some tips on where/how to post projects in a possibly backup-friendly (as in, the external hosting also serves as a backup) way? I was thinking about sourceforge, but I don't know if you can use that for the “closed source until deemed ready for public”?

      If you are starting a commercial project but don’t have any money yet, you and your buddy can use Kiln & Fogbugz for free. You get the best bugs/cases database ever and a really nice frontend for Mercurial, with code reviews, and some other niceties.

  27. DanMan says:

    If modern video games have taught us anything, it’s that your color sceme is way off. You need a lot more brown and light bloom, otherwise it doesn’t look realistic. (End sarcasm).

    Truthfully, I think it looks great. If you are going for photo-realism, the obviously you have a lot farther to go. However, depending on what kind of game you are trying to make, I would say this world looks good enough to play in.

    I know that there are still things to do and people with more experience then I have will point out things that are wrong, but it really does look like a world to walk around in. Mad props

    1. burningdragoon says:

      There is also a very glaring lack of chest-high walls. But maybe that feature is in the works.

  28. decius says:

    Just for a sense of scale, could you include an object of known length every so often? I can’t tell how tall anything is.

    Also, how fast is the movement used in this video? How long would it take to travel from one edge to the other?

    Once you find a world you like, can you view and export the parameters that made it, to share it with others/use it again?

  29. Reet says:

    This just keeps getting better and better. You’re really blasting along pretty quickly all things considered. I’m eagerly anticipating the end product!

  30. Jeff says:

    It looks lovely, like a super-high-end game from the late-90s. Ultima Overworld 3? (I mean this in a good way.)

    Edit: …actually, no, Wizardry 8 was in 2001, and this looks better than that.

  31. webrunner says:

    A great example of protreedural content.

  32. Rayen says:

    Just a quick note. you say you don’t have enough trees for temperate climates, thing about temperate climates there isn’t a lot of variety of trees. different continents have different varieties but without human interference/transplanting Trees don’t usually have alot of variety in one area.

    However this world looks beautiful. It has a kind of alien world vibe to it. especially since there isn’t anything noticeably man-made anywhere, it just seems like you just crashed on an alien planet. don’t know where you plan on going gameplay wise but this definitely a unique and different world.

    1. TSHolden says:

      Not to be a stickler, but temperate zones can have plenty of arboreal variety. I live in Appalachia: in a 5 mile radius we have more floral variety than all of Europe combined.

      The (current) determining factors in plant variety is recent glacial activity combined with mountain placement: if the last ice age wiped everything out in an area, and the mountains kept much variety from coming back, you end up with low variety. If the mountains aren’t creating a blockage, or the glaciers never made it to the area, you have immense floral variety, such as the 130+ hardwood tree species in my area, or the 2,000+ species of ferns and flowers.

  33. MoonBeans says:

    Man, I am stunned by how great looking this is. I mean, considering my procedural work, this is like heaven.

  34. Zak McKracken says:

    Actually, the trees look great! Most of them, anyways. Especially the first batch of trees in the video are superb. Not very realistic but artistically very very pleasing. If you managed to keep a similar style for the other trees as well as any animals you might be making later, I’d love it!

    About the rivers: Some scenes are good-looking, the empty river-bed at the beginning less so (although seasonally dried-out river beds are a cool idea, just not between green grass). Also it seems that every river is running in a bed with artificially looking banks at a constant angle. No trees dunking their roots into the river, nor grass reaching the water. Also they look kind of straight on the overview map (as does the distribution of dry/rocky areas). All of that is probably barely visible from a player perspective but shows on the overview. So depending on how important that is, maybe something could be improved there.

    I just realised that these issues are not on the level of problems I would have thought to find in a four week old project … man, you’re good, and this thing is working out pretty pretty well! I hope you’ll be able to turn this into something more than a concept demo, it looks so promising!

  35. BenD says:

    I LOVE all the things “wrong” with the trees. They are familiar, yet alien.

  36. LOVE IT!!!! Looks awesome and I love the Seussian/alien trees.

    Issac says: I miss you and that was AWESOME and GREAT. I was excited about teh forest with the sun setting. And You’re doing great. i love you! I think you did great on the video.

    Esther: I miss you and THATWASTOTALLYAWESOME!!!!! I am drinking coffee. :D

    Rachel: Good job, I love it! Keep up the good work! And I really miss you!!!!!!!

    1. Shamus says:

      Man I miss you guys.

      Two more days. Two more days.

  37. Zombie Pete says:

    It all looks awesome. Can’t wait to see where it’s going.

    That sun’s a little speedster, though, isn’t he? As Adam and Jamie showed us on this week’s Mythbusters, it’s hard to reflect the sun’s rays into an Egyptian tomb for illumination for very long because the sun moves. On your worlds it would be pretty frickin’ impossible! You might want to throw would-be tomb raiders a bone and slow that burning ball of pixels down to a nigh-impossible-to-detect rate of movement.

    1. Shamus says:

      I think 20 minute or 24 minute days is an excellent timescale in a game. Feels just right. In this demo, I think I had it set to 5-minute days, just so we could see an entire sunset without spending half the video on it. :)

      1. Kell says:

        24 minutes has been my choice while idly contemplating My Ideal Procedural Open World Game. I think players like having a comprehensible simplification like that: 1 real minute = 1 hour in-game.

        Also: please, please, do not make the day and night equal lengths.

        Since we’ve just passed the summer solstice, it’s as good a time as any to point out that except for very few places on earth, for very short periods of time, day and night are different lengths.

        There really is no need for them to be equal in the games that have dynamic day/night. Even when the ‘cover of night’ has gameplay implications, there’s no need to burden players with the paralysis of not being able to explore for half the time they’re in the world.

        My preference would be for a day of 16 and a night of 8 minutes. Those are nice round numbers, and make for comfortable periods of different kinds of gameplay activity. A quarter of an hour, for example, is a good length of time to play an FPS map, or go for a drive in FUEL.

        Anyway, just sayin’. Since you are evidently making My Ideal Procedural Open World Game, do you want my money yet?

        1. Shamus says:

          In the past, I’ve designed day/night cycles that operate on 12 hours of day, 2 hours of sunset, 8 hours of night, and 2 hours of sunrise. Not realistic, but it’s a nice way to give a fair amount of darkness, good coverage of playable light-time, and it shows off the most attractive parts of the cycle.

          1. MoonBeans says:

            Maybe you should make the day/night cycle change over the year. Have a 64 day year, and have the day/night cycle along with the weather change along with that.

            1. Kaeltik says:


              The starmap should also shift, to model axial tilt. It may not mean much to some, but every winter I look for my buddy Orion to come back out and play.

              This isn’t purely aesthetic: it seems easier to locate the Dippers, Polaris, and thus North with Orion as a starting point.

              Damn the scorpion.

          2. Mephane says:

            Personally, I prefer not to make the night shorter for the sake of having more playing time during the day. Well, but I am also the person who thinks that night in MMOs is generally far too bright, and should be really dark and maybe require torches or light spells, heh.

  38. craig says:

    I really hope you can maintain this as a platform independent project. I really hope that I can eventually explore this stuff on my macbook. It already looks so good!

  39. Cybron says:

    I absolutely LOVE the look of what you’ve done so far. The trees have a delightfully Doctor Seuss vibe to them, and the overall effect is a pretty interesting stylized landscape. It feels both alien and familiar. I would love to see some procedurally generated bizarre foilage pop up here and there.

    Oh, and also: Shut up and take my money.

  40. henebry says:

    kudos for your work ethic, and for the extra trouble you go to in sharing your progress with us.

  41. Ithilanor says:

    This is absolutely amazing. Keep up the great work, Shamus!

  42. MoonBeans says:

    What about river rapids? Faster and slower parts? How about waterfalls? Fun!

  43. Carra says:

    Even before you mentioned it, it reminded me of WoW.

    Which is a good thing :)

  44. Gndwyn says:

    I want to play this game.

  45. Susie Day says:

    awesome! … as others have said, I hope i can play this on my linux machine .. otherwise I’ll have to dig out a windows install disk :-(

    Make sure to vary the height and type of the trees more in the forests.

  46. Crystalgate says:

    Looks great, but I have two complaints so far.

    As has been mentioned before, you bob up and down way to much when moving over bumpy terrain. A car would behave like this, but a human would not.

    Related to the bumpy terrain, there’s a lack of flat lands. I know that grass fields rarely are completely flat, but often they are flat enough that you won’t notice they variances in elevation on a glance.

    1. jwwzeke says:

      Was going to mention this myself, but now that someone else has, I’ll just reply here instead.

      You need some flatter spaces.

      Okay, to be fair I have spent the last 30 years of my life living in the middle-to-southern part of Saskatchewan (Canada). About an hour drive from here you can literally see the curvature of the earth in the same way you can while out on the ocean. (Apparently people from the prairies actually make great sailors, because we don’t freak out when we can’t tell where we are when looking around from the side of the boat.)

      I think you need a more sporadic function to generate at least the macro level terrain map. More widespread flatter spaces for one. More extreme mountain ranges would be possible too… although it sounds like you have something else planned for those.

      Having said all that I realize that you’re working on small-to-mid sized islands… and you probably don’t get as many prairies showing up on those… but it would be nice to see one every once in a while. :) If only for those of us used to seeing them.

      Anyway, seeing some lower flat islands, high rocky mountainous ones, or even just those features occupying bigger chunks of the nice rolling hills (New Zealand-ish?) islands you have going right now would be cool. It’d be fun to hit that rebuild button and get Gillian’s island one time, and Fiji or the Hawaiian islands the next.

  47. EÃ¤rlindor says:

    This is coming along so beautifully, Shamus. :)

  48. Slothful says:

    I think that either your camera is too low or your grass is too tall. Seems like the grass is up to your chest at least.

    other than that, lookin’ good.

    1. Chargone says:

      or the model is of the wrong type of grass.
      went over this in the last thread i think? grass can get that tall.

  49. SteveDJ says:

    Ok, enough with the speed-reading project, ok? You put up a paragraph of text at 3:06, and two seconds later it’s gone! I had to rewind and pause to be able to read it. Next time, how’s about 5 or even 10 seconds to read the message?

    Oh, as for the project and the trees and all, SUPERB! WONDERFUL! I can’t wait to play it – or whatever you have planned.

  50. TrentB says:

    Man. So awesome.

    I know this may be presumptuous etc, but I’m excited to see what sort of gameplay you come up with… You have so many excellent opinions on existing games, I have complete faith in you to come up with something just as innovative as this terrain project.

    Much love.

  51. James Pope says:

    It’s starting to remind of Spore, except prettier and less clever cartoon garbage.

  52. Coderro says:

    On the subject of the camera’s elevation seeming off: could the field of view of the camera be to blame?

  53. kreek says:

    i kinda like the way the trees look
    it kinda fits the low tech procedural aesthetic of the game

    already that looks like a world id like to be able to hop in and start building a settlement or something

    im currious about your intentions with this project, personally id like to see a game where you can plunk down buildings complete with npc to make a village

    sortof a simcity in fps view

  54. Veloxyll says:

    Will there be a spoiler warning movement mode where you jump instead of walking in all directions?

  55. Donald K. says:

    This looks absolutely wonderful, Shamus. I’m really looking forward to each post you make on this project. And the trees are looking excellent, I think.

  56. John says:

    The outerra engine already does this and is better at it.


    So obviously you are not going for max realism. Have you consider using bulletphysics for your procedural gaming world? The guys at Introversion are using it for their procedurally generated city / subversion game.

    I think you should make this into an “Easter Island” kind of game. Basically like minecraft except when the native population run of out resources they will “dieoff” and collapse… kind of like what is happening to our global economy in this post peak-oil world…

    Are you going to do some kind of virtual currency / sims3 / farmville / 2nd life / stuff?

    It would be fun if this is set in the postindustrial era… like when the colonists first landed in new america… and had to settle and survive…

    I don’t think anyone will be interested in (buying) your code, but you should make it into a game and sell it online… give Notch a run of his monies if you can.

    Are you going to make this into a dating game where people find romance? Please make this into an online dating/love/romance game.

    1. Kian says:

      I don’t think the comparison to outerra is a fair one.

      To start with, that project has been going on for at least three years (first blog posts seem to be from 2008). There seem to be at least two contributors to the blog, a cursory look through the site didn’t reveal how many people are actually working on it. It’s silly to compare a one month old sketch to a polished piece that’s been in development for three years. Plus this one is meant to work on old hardware, it didn’t look like Outerra is targeted at those.

      While there’s procedural generation for terrain, details and the like, the terrain data is from Earth, not procedurally generated. There’s quite a leap from trying to give a realistic shape to random data, to starting from a realistic shape and trying to stream it and decorate it. There’s esentially a whole, very difficult first step that Shamus is working on that those guys had solved from the outset. Their engine couldn’t create a whole different world at the press of a button in five seconds.

      Finally, they haven’t realeased a game, or product yet. They’ve got an interesting physics engine and amazing technology, but a game is a lot more than that. Shamus hasn’t said what he means to use his program for, but he has hinted that he has that particular bit figured out.

      Finally finally, and this is a repeating pattern that has been bothering me a bit, the notion that ‘someone’s already done something similar, so you shouldn’t bother’ is nonsense. If Shamus has a cool idea he wants to see built, and he has the resources and knowhow to build it himself, he should. It makes the world a richer, more awesome place when people build cool stuff, and that alone is enough justification. Competition of ideas is something to be encouraged, not dismissed. Otherwise we’d be saddled with a single vision and no room for exploration and innovation.

      Just to reiterate, though, until someone actually -releases- a game, no one has actually ‘done’ anything better than anyone else.

      PS- Also, they look like they only have one kind of tree, so Shamus has them beat there already :P

  57. Vekni says:

    Procedural and random generation has always fascinated me, especially the “how” of it-keep it up, good sir!

  58. NotACat says:

    Seriously, 32km across? That’s a one-day hike in friendly terrain in good health. For some reason I got the impression that WoW was much bigger than that””obviously you can tell I never played it!

    I had an idea for generating””or rather representing””whole planets, and I’m looking for a good place to put it: some-place much earlier in this project I’m sure there was talk of using hexes versus squares, which would be an appropriate spot. In the meantime, if I mention “buckyballs” here, does that make sense?

  59. Alex says:

    Shamus, this is amazing!
    I can’t wait to get a hands-on.
    This is actually inspiring me to get into some game coding. Cause this is impressive as all hell.
    Well done, sir.

  60. Fat Tony says:

    The colours are really vibrant, almost beautiful in a cartoony way.

  61. Thom Mollinga says:

    You, sir, are a genius!
    Nuff said.

  62. Violet Black says:

    I think I just died of pretty…

  63. WJS says:

    As cool as most of the rest of it looks, I have to say I find the rivers rather disappointing; that tiny stream we first see? That should not be blue! You’re not going for total realism, and I don’t even know what you could do better at this point in the project (seriously, how the hell did they do water before shaders were a thing?), but it really stands out. It’s not so bad with the bigger rivers, and obviously the ocean pretty much does look like that, once you pass the shallows at any rate.


You can enclose spoilers in <strike> tags like so:

You can make things italics like this:

You can make things bold like this:

You can make links like this:

You can quote someone like this:

Leave a Reply to Blake Cancel reply
