Navigation

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

    Terrain Generator

    Work In Progress
    12
    21
    1699
    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.
    • 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