Announcement

Collapse
No announcement yet.

BrickGame

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    BrickGame

    I've been working on a simple Minecraft-style procedural-world and user-building game using UE4. You might have seen it over in the Community Content forum, but now that I have a video I decided to post in WIP!

    I'm releasing it under a BSD license (open source); the code and a build from last night are on GitHub: https://github.com/AndrewScheidecker/BrickGame

    Click image for larger version

Name:	Screenshot.jpg
Views:	1
Size:	92.0 KB
ID:	1134011

    Andrew - Twitter - Web

    #2
    Awesome, keep it up!

    Comment


      #3
      minecraft evolved! Brilliant

      Comment


        #4
        Nice going! Is it using real voxels or something else?
        Game Developer @ LODZERO - My Twitter | tomlooman.com UE4 samples & tutorials | C++ Survival Game (Open-Source)

        Comment


          #5
          everyone tries to make minecraft with better graphics
          Game Artist

          Comment


            #6
            Originally posted by Prea View Post
            Nice going! Is it using real voxels or something else?
            What do you mean by "real voxels"? It stores a 3D grid of brick materials, which are technically voxels, but I am deliberately using the term "brick" to mean "voxels rendered as faceted cube" to distinguish it from the so-general-as-to-be-meaningless "voxel".
            Andrew - Twitter - Web

            Comment


              #7
              Minecraft evolved. Looks really nice, keep it going.

              Comment


                #8
                I worked on ambient occlusion today. I got it working pretty well, but it needs some tweaking. The biggest problem is that since each brick can affect the ambient occlusion all the way to the bottom of the grid, changing a brick causes a hitch as it recreates the rendering data for a large number of bricks. There's room to make that more efficient, as well as computing a tighter bounds for what needs to be updated.

                Click image for larger version

Name:	CaveAmbientOcclusion.jpg
Views:	1
Size:	253.2 KB
ID:	1050076
                Andrew - Twitter - Web

                Comment


                  #9
                  Looking good Andrew!

                  Comment


                    #10
                    We need a game like Minecraft but you build whole planets.

                    Comment


                      #11
                      Originally posted by AndrewJSch View Post
                      I worked on ambient occlusion today. I got it working pretty well, but it needs some tweaking. The biggest problem is that since each brick can affect the ambient occlusion all the way to the bottom of the grid, changing a brick causes a hitch as it recreates the rendering data for a large number of bricks. There's room to make that more efficient, as well as computing a tighter bounds for what needs to be updated.

                      [ATTACH=CONFIG]800[/ATTACH]
                      How did you calculate the ambient occlusion like that? Nice work.
                      Bacon Man : An Adventure (UE4)

                      Comment


                        #12
                        Originally posted by TheAgent View Post
                        How did you calculate the ambient occlusion like that? Nice work.
                        I just trace straight down from the top of the grid, and mark all bricks above the first solid brick as having direct sky visibility (and those below, not). Then I apply a 5x5 box filter in the XY plane to that to get a fractional occlusion value. Finally, I turn it into a per-vertex value by averaging the occlusion of the 8 bricks adjacent to each vertex.

                        The code is here, but it's poorly commented at the moment: https://github.com/AndrewScheidecker...tOcclusion.cpp
                        Andrew - Twitter - Web

                        Comment


                          #13
                          I posted a new build here with the ambient occlusion, plus a bunch of optimizations: https://github.com/AndrewScheidecker...eases/tag/v0.7

                          I also made an animated GIF comparing with/without AO!
                          Click image for larger version

Name:	WithAndWithoutAO.gif
Views:	1
Size:	498.0 KB
ID:	1050096
                          Andrew - Twitter - Web

                          Comment


                            #14
                            Andrew, you've been impressing me with your code since the days of your Terredit program

                            Necro's Bone Box, Necro's Utility Material Pack, Necro's Utility Material Pack #2, Necro's Rock Box, Necro's Tool Box on the UE4 Marketplace.

                            Comment


                              #15
                              Hey Necrophobic! It's been a long time.

                              I hacked LPV emissive to work last night, so my emissive bricks now light up the world:
                              Click image for larger version

Name:	EmissiveBricks.jpg
Views:	1
Size:	175.2 KB
ID:	1050109

                              However, the ambient occlusion value I use to prevent the sky ambient from affecting indoor areas also prevents those areas from being lit up by indirect and emissive lighting from the LPVs. I'm trying to figure out if there's a good way to work around this, or if I just need to do an ambient occlusion style CPU-lighting hack.
                              Andrew - Twitter - Web

                              Comment

                              Working...
                              X