3089 Update: Terrain & Biome Progress

Hey all,

Hope you all are voting today — I know I am!

I’ve been working very hard on terrain generation. Since I am not using fixed biome types (forest, tundra, desert etc.), biomes have to be generated on the fly. This should give a more unique landscape to explore. I also want biome transitions to be smooth (e.g. “forest”-like areas creep in & out, instead of hard lines). Getting this problem solved (in an efficient manner) has been challenging & I’m still working on it. I do have some screenshots to share of my progress:

That is a “test” vehicle which you can enter and pilot. The model is pretty decent, but the texturing will need another pass. 😉

A water surface is yet to be added, but you can see where it will go in the screenshot above. 🙂

I’ve also added code to support foliage & other objects along the terrain. Right now, I just have a simple grass model. However, it will be easy to put in trees & other terrain objects at these points. Remember, at this point, it is all about laying down a solid foundation to build content on.

Item drops are now coded in, which spawn after destroying enemies with your projectiles (which is also coded in). Yes, that is grass coming out of rock… don’t worry, all those minor details will be ironed out as the project matures.

This is a visual issue I am wrestling with. I don’t want there to be such obvious lines between biomes (like the snow capped mountains here) without causing too much of a performance drop. I’ve got some ideas I’m working on though, so stay tuned.

Another issue I have to figure out is how “civilization” will be represented on this planet. Now, robots are the main population here, so the buildings will have to reflect that. There will likely be more things like charging stations, communication bunkers, repair & assembly buildings. There will be shops too, of course!

OK, I have to get back to work! Remember to follow me on Twitter @ https://twitter.com/phr00t_ where I will post smaller, more frequent updates. Also remember that updates will be posted here instead of the KickStarter page!

Thank you for reading,

– Phr00t

10 responses to “3089 Update: Terrain & Biome Progress

    • Thanks 🙂 I’ve been doing lots of tweaking to the terrain’s visuals. I want it to retain some of the pixelated feel, but I don’t want it to look “Minecrafty”. Now I just got to solve those hard edges (which happen to be where different terrain “chunks” line up…)

      • While I agree it’s nice to keep the pixellated form.. I would like to know if it will be possible to easily “mod” the textures in the game to increase the fidelity of the landscape for those of us with more powerful machines and different tastes..?

      • Right now, the textures are being procedurally built from a base “noise” texture. I will likely add support for adding specific textures in the future (which shouldn’t be too hard to do), but I’m going to focus on the procedural textures since they will give us more flexibility than fixed textures.

  1. Looking good 🙂

    About the transitions:
    Maybe you could either have a few ‘transition sets’ to render based on the two connected biomes (color and maybe some other parameters can determine the transition set), or allow for gradial shading from color to color?

    Alternatively: maybe introduce a lot of ‘props’ (foliage/vegetation/rocks) near the edge, to ‘conceal’ the border and make the line sinusoidal (with random multiplication every few periods)?

    • Good suggestions. The difficulty is that each terrain “chunk” is a single mesh that can only have one “material”… therefore, I need to code those sinusoidal/smooth changes within the shader, which will likely affect performance. This would also require the material to know what the material looks like in the other connected biome, so it can blend the two together. This is all possible, but I’m trying to find the most efficient way to do it while also looking good. Adding in some select foliage along the border may also help a bit, but I don’t want it to end up looking too unnatural…

  2. Doesn’t the terrain splatting stuff already solve this problem? Supply four textures and then have a 5th texture where the rgba values each say what strength to apply each of the 4 other textures. That way you can smoothly mix up to 4 biomes per tile…and then choose the 4 appropriately for each one.

    • Texture splatting is a method that I played with earlier, but there are some complications. I am using tri-planar texturing (so my textures won’t be stretched along sharp slopes) — so my terrain has no U/V maps (which is how splatting was mapped with the 5th texture). Also, I want different textures (or at least colors) for the sides & bottoms of terrain, so there is more information that needs to be supplied to the material shaders than just nearby biomes… I start to get worried when I need to supply 7-8 textures to a single shader… what I will likely do is just supply the primary color of the connecting biome & what direction it is in, and then fade towards that color as fragments are filled in that direction…

  3. Please take my feedback with a grain of salt.. I’m just thinking outloud as I look at the pictures etc

    Screenshot 1: I am hoping that there will be different types of vehicles in the game. Air, Land and Water based craft.

    Air craft could be like 3079’s aircraft where you are basically always moving forward but you could have others that are more like helicopter/hovering style as well.

    Land craft could be fast but low powered (for flatter land), slower but more powerful (for climbing hills and mountains), and could be a combination of wheel-based vehicles and hover craft vehicles.

    This leads me on to Water craft which could be a combination of conventional boats and hover craft (hover craft could move seamlessly from water to land and back again) as well as submarine style vehicles.

    Screenshot 2: I am hoping that there will be underwater areas that can be explored and discovered.. like a whole other world down there that you essentially “unlock” later in the game through gaining vehicles and other tech that allows you to travel efficiently underwater and so on. It wouldn’t be locked but you just couldn’t get there efficiently, so if there was an underwater area that was close to a shore that you found, you could go there earlier than normal.. but for the most part you’d have to discover the tech necessary to go there.

    Also would be nice if there was the ability for air-pockets and underwater buildings that are not filled with water. Maybe you could use an air-lock system similar to the way Gentrieve has “gates” between areas.

    Screenshot 3: Trees… are you going to procedurally generate the trees with fractals? Would be very cool if trees (and other things like that) were created with some degree of randomness to them, so that every one of them looks different and thus more realistic/immersive.

    Screenshot 5: Hrmm.. could you perhaps have “transitional biomes”? I’m not sure how you are coding the biomes etc but if you had a grass biome and a snow biome, why not have a transitional “tundra” (or to clarify, could be called the “snow-to-grass” biome) biome that incorporates parts of each of the snow and grass biomes together? So for each biome type, you would have another biome type that is a transitional biome type to other biome types. Also the clever use of trees, foliage and other objects can be used to hide transitions a little more.

    • 1) Yes, there will be different types of vehicles. I plan to procedurally generate them by scaling certain factors like size, health, speed & firepower.

      2) Yes, underwater areas can be explored & I plan on putting interesting stuff down there. I’m not entirely sure what yet… buildings are an idea.

      3) I’ll probably have a handful of tree “parts” that I will procedurally put together to make a complete tree. This should give them a unique look without a complex generation function…

      4) Yeah, I was thinking on transitional biomes, and they may work. Going to really have to experiment to see what looks good & has the least negative effect on performance.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s