No announcement yet.

Procedural Cities with Interiors [FREE]

  • Filter
  • Time
  • Show
Clear All
new posts

    Alex Chozabu P-B , you mentioned interest in city spidermaning, so i am wondering, are you familiar with another free (Github) procedural city generation system, by user Deema35? He is making kind of parkour game based on that. I probably should not spam here, but I can give links. Besides Github source, he has a web page with pretty good tell story how stuff works. Well, in russian, but google might be sufficient to translate. If questions, you can ask me, Russian is my second language (English being third). That's the least i can return your your breakthrough help here Also, on my Youtube there are video where I fly in city generated by Deema's system, you may see how it looks.


      Thunder_Owl Glad to hear it is working with this update! I've put alot of effort into finding that bug, but still somwhat trivial compared to all the work by magnificus I'm sure!

      I don't think there is a need to be secretive about similar projects in the FOSS world? I'd actually expect a project to link to other similar projects no matter which was developed first (people have different needs, it's good to get them on the project that fits them better!)

      Besides - I've not managed to find your video on youtube, or the project you are talking about, unless you mean this one: but I don't see any source code for it?
      Also seeing a bunch of interesting stuff with searches like Intending to have a look at similar tech and see what's the best fit for what I want to do, and have fun learning about the different people approach similar things

      Also, nothing to say I can't use more than one city generator in my project I'd quite like to have a few different ways of letting users generate random levels - Fairly sure I will be using this project at least! Good to have the heatmap setup combined with random seed - means I should be able to let users provide their own heatmaps and seeds, making sharing levels with each other trivial
      Last edited by Alex Chozabu P-B; 09-13-2018, 02:25 PM.
      Currently working on Wheelz2 and Zario


        Alex Chozabu P-B , i will post here references to that another city (kinda..) gen project that I know (and my test of it). We can "moderate" it later if something not welcome
        So, author named Deema35. Project on Github (as you will see, he is still active updating that):
        Page about it (in Russian): and, Google best translation shot at it:
        Here is my flying in "his world":

        About this one:
        That is by CoquiGames, not released yet. In active development. I am kinda consultant and ideas generator for that, or, simply a friend of Author

        P.S.: about this thread project, i understand there is not as yet "checkbox" for not generating interiors? Thank You again.
        Last edited by Thunder_Owl; 09-13-2018, 04:43 PM.


          Thunder_Owl interesting stuff, looks somewhat similar to this project in ways, but also very different - magnificus sure seems to generate nicer plots (shape can match any surrounding road, buildings can be made very interesting, can have very dense and rather realistic citys), deema seems to have some in-editor support, along with changing height of roads and interacting with landscape.
          Probably lots more differences I'm not aware of too.

          To me, the good plot generation is one of the more interesting parts. Also, May not use in my current project, but the interior generation is groovy

          On doing building shells only - for this project the easy way is to avoid using `MyCityCharacter`, and have the city generation set to "agressive procedurial" - this way the trigger to generate the insides is never activated (I think, seems to be working for me anyway)

          SS of trying out my grapple guy in the "Neon Magnificus"
          Attached Files
          Last edited by Alex Chozabu P-B; 09-13-2018, 09:19 PM.
          Currently working on Wheelz2 and Zario


            Mine will not build for some reason. The problem is that I’m getting 909 errors when rebuilding it in VS2017 with the launcher version of 4.20. What am I doing wrong?


              Blood-PawWerewolf you might try adding MCV dependencies and make sure full dependencies is checked also thank you Alex and Magnific for getting this working you guys are awesome


                "... sooo, where's that rope jumper guy, i am gonna shoot him down hard..."
                Attached Files


                  Blood-PawWerewolf , when i first tried to compile this 4.20 ProcCities, i had issues, but in my case all was fixed with VS2017 updated to latest. Now, when I download ProcCities from Github as .zip, I simply run City.uproject, and compiling goes successfully without any help from me. The same on workplace PC. So, I guess my point is - if you have recent version of VS2017 and ProcCities downloaded and unpacked from Github - you should be fine. Also, check if physics Apex plugin is enabled in 4.20 engine. Not sure if it is important here, but just in case.


                    Blood-PawWerewolf I recommend:
                    - close ue4 and MSVC
                    - update MSVC if possible (you can check by openening "visual studio installer" from start menu
                    - EDIT: pull latest master
                    - delete all files not controlled by git (including/also the .sln file, your .vs folder, and intermediate)
                    - right click on project file and "Generate visual studio ..."
                    - open the new .sln file, and see if it compiles

                    Thunder_Owl I'm actually tempted to put some physics based flying enemies in the game - working on various ways to make grapple-based combat fun enough to not need a sword/gun (but may well end up adding at least one of those anyway)
                    Last edited by Alex Chozabu P-B; 09-14-2018, 09:37 AM.
                    Currently working on Wheelz2 and Zario


                      Fixed it.

                      VS2017 was already updated, but I noticed that I was missing some components, repaired VS2017 and UE4.20. Don’t know which one made it give errors originally, but I really think it was the engine since the errors were on the engine’s side and not the project’s code.


                        I have been poking a bit now-working 4.20 version, and I also still have separate project with previous 4.16 one. In my case, new 4.20 one is trashing HDD super heavily when generating. Old 4.16 starts relatively smooth. Does anyone else can confirm (or not) that issue? Thank You.
                        Disclaimer: I know we are on semi-abandoned project, we are on our own, so, consider this simply as "observation".
                        EDIT: i uploaded .LOG file for first run, after project downloaded from Github. Lots of Warnings. Maybe someone smarter than me can guess what should be done to make this nice project more "clean".
                        I will post here types of warnings that are there most, so you know without looking into Log file:
                        [2018.09.20-07.26.43:416][107]LogMaterial: Warning: Material /Game/Import/street/mat_03.mat_03 missing bUsedWithInstancedStaticMeshes=True! Default Material will be used in game.
                        [2018.09.20-07.26.43:416][107]LogMaterial: Warning: The material will recompile every editor launch until resaved.
                        [2018.09.20-07.26.43:510][107]LogActor: Warning: ProcMeshActorBp_C /Game/FirstPersonCPP/Maps/UEDPIE_0_standardmap.standardmap:PersistentLevel.ProcMeshActorBp_C_2 has natively added scene component(s), but none of them were set as the actor's RootComponent - picking one arbitrarily
                        (this ^^^^ about "picking one arbitrarily" is massive in Log file)

                        EDIT2: Also, do I need that "Sympligon"? :
                        [2018.09.20-10.53.15:905][ 0]LogSimplygon: Simplygon DLL not present - disabling.
                        [2018.09.20-10.53.15:928][ 0]LogMeshReduction: Using SimplygonSwarm for distributed automatic mesh merging
                        [2018.09.20-10.53.15:928][ 0]LogMeshReduction: Using ProxyLODMeshReduction for automatic mesh merging
                        [2018.09.20-10.53.15:929][ 0]LogMeshReduction: Using QuadricMeshReduction for automatic static mesh reduction
                        [2018.09.20-10.53.15:929][ 0]LogMeshReduction: No automatic skeletal mesh reduction module available

                        LOG file (googledrive):

                        Last edited by Thunder_Owl; 09-20-2018, 07:01 AM.


                          Follow up:
                          I tried to change ProcMeshActor.cpp with this (bellow), but that did not make warnings away (i am not a C++ coder, i am just trying by search and common sense...)

                          I tried this:
                          exteriorMesh = CreateDefaultSubobject<URuntimeMeshComponent>(TEXT("exteriorMesh"));
                          RootComponent = exteriorMesh;
                          sndExteriorMesh = CreateDefaultSubobject<URuntimeMeshComponent>(TEXT("sndExteriorMesh"));
                          interiorMesh = CreateDefaultSubobject<URuntimeMeshComponent>(TEXT("interiorMesh"));
                          windowMesh = CreateDefaultSubobject<URuntimeMeshComponent>(TEXT("windowMesh"));


                            One more observation from me. Above I did write about super heavy hard drive trashing when generating the city. I have system drive SSD, but projects, and derived Unreal Engine caches, and also Windows swap file(s) I kept on otherd drives, old-school HDDs - to have less intense SSD read/writes.
                            Now, I did some experiments by placing this particular City Generator 420 project to SSD drive. That didn't help. Then I turned off all virtual memory in Windows (so, no swap files at all) - that did not help either. Then, I set in Unreal 4.20 Editor to put Derived Caches to SSD drive, and sure enough, no HDD trashing anymore.
                            Point is, there is excessive UE derived cache trashing when city generates - it does not happen so in old 4.16 version.
                            Another point, if you live "default Windows life", where Unreal Engine, and its Derived Caches, and projects itself are on C: SSD, you would not notice this "trashing" that I posted about. But, it is there, and it is not right.


                              Thunder_Owl nice log extracts, I'd noticed the one about missing root component, but good to see the others. I don't have useful answers, but will try and look into it.
                              Also not sure about C++ fix for rootcomponent, but it sure would be nice to have a cleaner log.

                              What are you using to measure disk usage? I'd like generation to be faster generally.
                              Currently no idea why this happens - could be a change in the project or in the way UE works...
                              Just tried it out on my machine - though running a simpler version with only 2 materials and no interiors, also on a SSD. TaskMan reported no unusual disk usage while generating the city

                              magnificus Is the project semi-abandoned?
                              I'd still like more info on the intention of "GetProperIntersections"
                              Currently working on Wheelz2 and Zario


                                About that my log earlier, I have fixed lines about materials, there was checkbox needed for each material, "use with instanced meshes" and saving.
                                About hard drive usage. Basically what I am saying: 4.20 version trashes drive transfer a lot if compared to old 4.16 version, and that "trashing" is in UE4 derived cache. Who knows, maybe it is just in my case. I had UE4 derived cache configured away from SSD. That is why I literary heard that something is wrong when spawning city - it sounded like HDD is about to explode
                                We could really wish some words from Author, about those "Rootcomponent" messages Or anyone else who knows things in C++ more. Thank You