Navigation

    Fuze Arena Logo
    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Users
    • Groups
    • Help
    • Discord

    Terrain Generator

    Work In Progress
    12
    21
    1692
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Martin
      Martin Fuze Team last edited by

      Very nice, I'm impressed! Looks like it's pushing the switch quite hard

      1 Reply Last reply Reply Quote 0
      • T
        TheDearHunter F last edited by

        Very impressive, will be very interested to see what comes of this, keep up the good work

        1 Reply Last reply Reply Quote 0
        • mixaal
          mixaal F last edited by mixaal

          Thank you :-) Well, not sure what comes out of this, I'm more engine/library writer rather than a game developer but who knows :) . But I shared this work so whoever is interested in it can re-use it as as. It would be nice to put the references to the original blog posts (included in code).

          @Martin I'd be interested in the profiling since it seems the interpreter when generating the terrain takes its time, but it's expected since there's quite some math behinf (opensimplex noise). But the drawing itself should go straight to switch gfx pipeline...

          The complexity is as follows: terrain is 256x256 heightmap array resulting in 255x255x2 triangles - which is around 130k. Typically I draw around 600 trees (the max is 1500). Each tree might have 100-200 triangles? (just guessing) resulting in additional 60k or 120k triangles. All in all I should be under 500k triangles which is not that much :)

          N 1 Reply Last reply Reply Quote 1
          • N
            Nisse5 F @mixaal last edited by

            @mixaal I would also like profiling. I've encountered some code that runs very slow and it's not clear to me if there's a specific task that is very slow or if it's a equally distributed slowness.

            1 Reply Last reply Reply Quote 1
            • mixaal
              mixaal F last edited by

              The current status includes grass, clouds and skybox, also cleaned-up the code a bit ;)

              Some clouds in the sky:
              clouds01.jpg

              Overcast:
              overcast.jpg

              In the highlands:
              in-the-heights.jpg

              1 Reply Last reply Reply Quote 8
              • Jongjungbu
                Jongjungbu F last edited by

                This looks so cool! Awesome job man.

                1 Reply Last reply Reply Quote 0
                • mixaal
                  mixaal F last edited by

                  @Jongjungbu Thanks a lot :) !

                  1 Reply Last reply Reply Quote 0
                  • Dave
                    Dave Fuze Team last edited by

                    Absolutely awesome beyond words. Just took a look at the code.. Think I've got some homework to be getting on with!

                    I think you should add a single, randomly placed, random object and the goal is to find it. (It should be ridiculously small)

                    1 Reply Last reply Reply Quote 0
                    • mixaal
                      mixaal F last edited by

                      Hi @Dave , Thanks for these words ! Good idea to make it a little more like a game rather than a demo. Will take a look at it !

                      1 Reply Last reply Reply Quote 0
                      • Jongjungbu
                        Jongjungbu F last edited by

                        Ridiculously small? @Dave
                        You are brutal!

                        1 Reply Last reply Reply Quote 0
                        • brillianceguy
                          brillianceguy F last edited by

                          Isn’t that why people talk about needles in haystacks? Because they’re fun to find, right?

                          1 Reply Last reply Reply Quote 0
                          • sys64738
                            sys64738 F last edited by

                            amazing work!

                            1 Reply Last reply Reply Quote 0
                            • Jonboy
                              Jonboy Fuze Team last edited by

                              So tell us Mixaal... what could we do to the terrain generator to help you on this quest - any limitations? what does it need. The truth is it is an early function and one very much open to expansion. At this stage no one is better qualified to comment than you. I am truly 'gob-smacked' (classic English phrase!) by what you have achieved so far.

                              1 Reply Last reply Reply Quote 0
                              • mixaal
                                mixaal F last edited by mixaal

                                Hi @Jonboy
                                Thank you for your interest ! The limit I hit was the terrain size, anything bigger than 256x256 didn't finish (more precisely, didn't wait for it to finish), it might be that opensimplex noise uses quite a lot of math. So to put these into some RFE list:

                                1. Be able to generate huge terrains 4096x4096 or even bigger
                                2. Having something like ROAM in place, i.e. user generates the terrain and the terrain is drawn in an optimized way, the further you're the bigger patches are drawn:
                                  https://www.gamasutra.com/view/feature/131596/realtime_dynamic_level_of_detail_.php
                                  https://developer.nvidia.com/gpugems/GPUGems2/gpugems2_chapter02.html
                                  The latter one can be very efficient on modern GPUs when displaying large terrains
                                3. Having simplex noise or perlin noise implementation in F4NS might speed up things a lot, the noise generation is handy not only for mountains but for any "map": water, clouds, maze, 3D fractals (rocks), etc.
                                4. I almost forget! Be able to specify textures for the terrain.
                                5. Sometimes be able to draw triangle on my own would be handy ;)
                                1 Reply Last reply Reply Quote 1
                                • Myddrak
                                  Myddrak last edited by

                                  Loving the terrain generator... I had a brief play and came across the same 256*256 limit.... Also something strange happens when the camera passing through zero on the Z axis...? (I started off at Z0 looking at Z0 and the image doesn't appear at all..... took me ages to work out what was wrong!)


                                  Full code is in the first frame... still amazed at what you can do with so little code!

                                  1 Reply Last reply Reply Quote 2
                                  • pianofire
                                    pianofire Fuze Team last edited by

                                    Talking of terrain generation have you seen this one from Japan:

                                    1 Reply Last reply Reply Quote 3
                                    • Dave
                                      Dave Fuze Team last edited by

                                      This is absolutely awesome... Mandelbrot set is so fascinating and to see it like this is incredibly exciting.

                                      1 Reply Last reply Reply Quote 0
                                      • mixaal
                                        mixaal F last edited by

                                        Hi @Myddrak

                                        Yes I assume this is a bug Fuze team is aware of since they have in their tutorial - 0.0001 shift for the camera Z-axis view as well ;-) I was wondering why and I bumbed into the same bug as you described here.

                                        1 Reply Last reply Reply Quote 0
                                        • ILoveFuze
                                          ILoveFuze last edited by

                                          I found a bug. When you hit the -- button the clouds seem to studder a bit.

                                          1 Reply Last reply Reply Quote 0
                                          • Martin
                                            Martin Fuze Team last edited by

                                            Thats not a bug. When the program is running, pressing minus takes a screenshot capture and uses it as the project thumbnail. The stutter you're seeing is just that background process running - the Switch only has so much of everything to go around.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post