1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Ben - July 24 2015

Discussion in 'Developer Progress Reports' started by Benjamin, Jul 25, 2015.

  1. Benjamin

    Benjamin Lead Developer

    • Dev Leader
    Treeees!

    I have been doing a lot of work on flora and tree generation over the past week, and its getting close to a point that I would call "ready". During the course of the tree development I've hit a few pitfalls, had to scrap a few ideas, but I am happy with the current solution.

    In the last post you saw the ice cream code trees I made, after that I started working on branches. I started simple, with just random protrusions.

    [​IMG]

    Plenty of bugs in that pic ^. After that, I wanted to add sub-branching. The green nodes in the following image are where sub-branches would spawn:

    [​IMG]

    After that, my internet went out for 4 days straight (it was hell), so I didn't save many development images. Long story short, I made branching actually look like branching, with random angles and size interpolation, then added ellipsoid leaf generation. I also added mushroom cap generation, pine leaf generation, and multiblock flora generation! Let's start with multiblock flora. Simplest example is the death cactus. Don't prick yourself on this, or you will probably die a painful death!

    [​IMG]

    And now for a bunch of images I took while testing different tree types. Obviously you can make trees that are much better and more complex than this. Also notice the cyan crystal formations, you can make those with this system too! The framerate is low because I am not doing culling in this test screen. It will perform better in game.

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    It took 1 second to generate and place all the flora in the following image:

    [​IMG]

    I also added new interpolation methods. This shape is just 3 control points, with sine interpolation on bottom and cosine interpolation on top:

    [​IMG]

    After this point, I wanted to make branching better. Branches worked pretty well, but for really large trees they just didn't feel real. I turned to this paper and implemented Space Colonization for tree branch generation. It's not the fastest algorithm, but it gives very realistic results. As long as we are careful with the parameters, we shouldn't have to worry about performance.

    Here's some shapes I was able to generate with the algorithm (Just rendering lines):

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    I just finished implementing this today so I haven't had much time to test, fine tune, optimize, and smooth the generation, but I will work on that next. Here's a giant tree type I generated (sans leaves)

    [​IMG]

    If you look near the base of the tree you will see death cacti. Those are about as big as a person, to put the scale of this thing in perspective. (500 blocks tall I think) It took about 900 ms to generate the two of those collectively. Which seems really fast, but I think I can do better. There's a lot of room for optimization. Mainly, when generating the branches there's a lot of redundant node creations. I have a few ideas on how to fix that.
    Sevio, Jpr, Gingy and 4 others like this.
  2. NeonSturm

    NeonSturm Back Into Space

    • Member
    The treas from the last image look fat :D Maybe they fed on the light from two suns orbiting an alien planet.

    There should also be deadly palm-trees which lose coconuts (or cheap water-filled hulls) exactly when they will hit your head ;) The evolutionary reason for this could be animals feeding on wood.
    Benjamin and ColdFuseon like this.
  3. ColdFuseon

    ColdFuseon Lost in Space

    • Contributor
    Promising ! Good job as always
    Benjamin likes this.
  4. Arctic

    Arctic Giant Robot Advocate

    • Tester
    500 blocks tall = 250 metres
    Minecraft world height = 255 metres
    Wow.
  5. zeroinnocent

    zeroinnocent Tester

    • Tester
    wow Nice as always cant wait for those big mushrooms! going to make a house in one of them.
    ColdFuseon and Benjamin like this.
  6. Danarkivus-2

    Danarkivus-2 Back Into Space

    • Member
    yea great job and now i can make another video on your progress.
    ColdFuseon and Benjamin like this.
  7. Con No 1

    Con No 1 Tester

    • Tester
    Those trees look amazing, will those giant trees be in the game and will they have leaves?
    ColdFuseon and Benjamin like this.
  8. Benjamin

    Benjamin Lead Developer

    • Dev Leader
    They might not be this big but I do want to put a few giant trees in the game, and yes they will have leaves. I want something that looks like this: [​IMG]
    Benjamin, Jul 25, 2015
    Last edited by Benjamin; at Jul 25, 2015
    #8
  9. ColdFuseon

    ColdFuseon Lost in Space

    • Contributor
    ok this is god-tier i think we can all agree on the fact that we all want something like this
    Chaser04 likes this.
  10. zeroinnocent

    zeroinnocent Tester

    • Tester
    agree!
    ColdFuseon likes this.
  11. Lionitow

    Lionitow Reinvented The Wheel

    • Member
    Have you already tought about what physics will apply to the trees? For example, will they be "simple" as in Minecraft (floating stuff), will they implode when the base is cut releasing tons of wood or maybe feature some very complicated fall animations?
    ColdFuseon likes this.
  12. zeroinnocent

    zeroinnocent Tester

    • Tester
    If you play the game you can see that they will fall down sideways. quite cool efeckt
    ColdFuseon likes this.
  13. Lionitow

    Lionitow Reinvented The Wheel

    • Member
    Yep, however Ben said he's rewriting the voxel part much, we don't know what to expect ;) Also, the current effect has to be refined for me..
    ColdFuseon likes this.
  14. zeroinnocent

    zeroinnocent Tester

    • Tester
    ok. i think its going to be similar but more refined. i can be wrong thogh.
    ColdFuseon likes this.
  15. Benjamin

    Benjamin Lead Developer

    • Dev Leader
    We want to try to use bullet physics and use physics objects instead of just exploding the floating trees into a bunch of physics blocks, but I am going to have to do a lot of experimentation in that department. The new voxel compression makes it more expensive to check when things are floating, so I might need to look into other methods. Also, it would be really expensive to check for floating for something as large as this tree. We will see!
  16. Chaser04

    Chaser04 Reinvented The Wheel

    • Member
    Wow! This is really looking amazing! Great job!
    ColdFuseon likes this.
  17. Sevio

    Sevio Back Into Space

    • Member
    Great work on the trees! Also those mega trees remind me of Minefactory Reloaded's Sacred Rubber tree...
    [​IMG]

    On the topic of physics, being able to chop down trees at the base and having them fall over would be nice, but on the other hand floating/falling physics can really get out of hand quick!

    If we do get the ability to float blocks in large enough numbers whether by deceiving the physics engine or having some kind of antigravity blocks, I might recreate the magical kingdom of Zeal from Chrono Trigger in SoA.... :)

    [​IMG]
    [​IMG]
    ColdFuseon likes this.
  18. Lionitow

    Lionitow Reinvented The Wheel

    • Member
    Floating islands would be cool but a little unrealistic.
    Imagine chopping down the rubber tree with the current physics... my pc would melt :)
    ColdFuseon likes this.
  19. Danarkivus-2

    Danarkivus-2 Back Into Space

    • Member
    who's would not?
    ColdFuseon likes this.
  20. NeonSturm

    NeonSturm Back Into Space

    • Member
    Floating islands wouldn'T be too unrealistic compared to any FTL technology.
    • Imagine a bullet on ground-level flying the speed an orbiting object at this altitude would have.
    • Now imagine 4 of these bullets when they leave guns placed so that the start of their flight paths form a square - they would still orbit at that speed, or not?
    • Now imagine a ring, rotating at that speed in a vacuum chamber - wouldn't each atom of this ring and the ring as a whole be orbiting like the bullets?

    I think antigravity is only a matter of how much kinetic energy is stored in an object - either as classical kinetic energy or as omnidirectional (like heat - think of a balloon flying with hot air).

    The real problem realizing it is to contain these high-energetic states in matter and at the same time lock it in a place relative to you (after that we could just link it with a magnetic hook)
    ColdFuseon and Chaser04 like this.
Similar Threads: July 2015
Forum Title Date
Developer Progress Reports Ben - July 16 2015 Jul 17, 2015
Developer Progress Reports Ben - July 8 2015 Jul 9, 2015
Developer Progress Reports Matthew - -∞ -> July 2 2015 Jul 3, 2015
Developer Progress Reports Matthew - July 1 2016 Jul 1, 2016
Developer Progress Reports Matthew - Nov 17 2015 Nov 17, 2015

Share This Page