Search Unity

  1. Improved Prefab workflow (includes Nested Prefabs!), 2D isometric Tilemap and more! Get the 2018.3 Beta now.
    Dismiss Notice
  2. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  3. Let us know a bit about your interests, and if you'd like to become more directly involved. Take our survey!
    Dismiss Notice
  4. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice
  5. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice

[RELEASED] CityScaper - Procedural City Generator

Discussion in 'Assets and Asset Store' started by Tiki, May 24, 2014.

  1. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    Overhaul in progress!

    Current Version: 1.0.6


    CityScaper is a procedural city generator script that attaches to a GameObject and makes use of the libnoise engine to create dynamic cities that include your own models.



    Originally created as a simple tool for a WIP Game Project, CityScaper was designed to create varied city backgrounds for level to level sidescrolling city gameplay. It's since been improved to be capable of much more, and we're sharing it with the Unity Asset Store to help us fund our current game project, and begin releasing new assets, some of which seamlessly integrate into CityScaper.

    Rather than rendering geometry for you, CityScaper takes meshes you create, and assembles them in city formations. The generation system is based on a 5-point concatenation, similar to a smooth voxel engine. You have direct control over the look and purpose of the city. This can currently all be done through the Inspector after attaching the script. View the sample video and check out the Asset Store for a short tutorial on using the script.

    Features:
    - Works with Procedural Materials from Substance Designer 4
    - Exposes the powerful libnoise engine
    - Can be rendered with or without colliders
    - Buildings can be built within 3 sizes
    - Uses density values to give you control over where buildings are placed
    - Can generate any type of heightmap terrain

    Intended Uses:
    - Generate cities for background or interactive purposes
    - Generate and save cities for further detailed editing
    - Generate cities during load times through scripting for procedural levels

    Creative Possibilities:
    - Generate procedural caves, dungeons and mazes.

    (We apologize for the audio quality, this video is only temporary)






    Purchase CityScaper on the Asset Store

    Planned (not yet included) Features:
    - Draw Call Optimization
    - A growing set of street possibilities to create more complex shapes including:
    a. A highway system.
    b. A railway system.
    - Full-Size Editor

    Note before purchase:
    - This generator only comes with 8 basic building models, and basic street meshes. You are intended to fill it with your own 3d content.
    - This program contains support for Substance Archive files from Substance Designer, however it currently only randomizes exposed colors, further functionality is planned in the near future.
    - This program currently renders a high amount of draw calls in large cities. An integrated Atlas Creator is planned, but until then solutions are still available for free and at a premium in the asset store.
    - We've had very little opportunity to properly QA this product, please report any errors you encounter or features you think are missing.

    Asset Store

    Visit us on facebook.

    Read our blog.

    Please post suggestions and requests! Help us improve this product!

    I'm personally quite anxious to see what people make with this script, I encourage posting pictures of your results!

    ChangeLog
    - Initial version: Please post all suggestions and requests here on this thread, or email them to thetiki@gmail.com with the subject "CityScaper - Request"
    - Version 1.0.1: Asset folders repackaged to follow Asset Store's folder structure. Added Tutorial Video and Support thread to Asset Store Description.
    - Version 1.0.2: Code has been cleaned and optimized slightly, small edits to the demo scene for quality purposes.
    - Version 1.0.3: Noise-Based District/Density System. Fill Blocks Option.
    - Version 1.0.4: City Smoothing Option. A slider that integrates diagonal and curved roads to smooth your city around the edges.
    - Version 1.0.5: Terrain Generation added. Select "Generate Terrain" to see more options. Multiple noise functions exposed. Terrain presets for Hills, Valleys, and Mountains are included.
    - Version 1.0.6: Fixed bugs related to scale and position, particularly with Terrain alignment.
    Capped LibNoise references to avoid compatibility errors.
    Added labels to fixed lists so it's easy to identify which entries need which street pieces.
    Added a basic error reporter, advised to simply copy the debug logs and email them instead.
    Updates below are pending review:
    Updates below are being packaged for review:

     

    Attached Files:

    Last edited: Oct 8, 2015
  2. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    Revisions sent to Review team

    - Version 1.0.1: Asset folders repackaged to follow Asset Store's folder structure. Added Tutorial Video and Support thread to Asset Store Description.

    I've also started a blog I'm going to keep updating, which will follow the whole experience we've been going through, as well as leave tutorials and other useful information for other developers.
    Feel free to take a visit over at:
    http://tikihubgames.blogspot.com/

    At this point I'm going to begin working planned features until I can stir up some community feedback. Please remember I'm *looking* for requests, if you purchased the product already, please let me know if you need any help or have any concerns/comments/suggestions/requests.
     
  3. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    I had originally posted that there are a large amount of draw calls, but I had honestly only been assuming this as I'd not performed any major optimization on that end. I had not anticipated the power of Unity's current batching system. There are still a large number of objects, but only if you're rendering a very large city. Currently it's batching about 40%* of the draw calls due to my use of .sharedMaterial

    $drawcalls.jpg

    I still plan on building a custom atlas system for CityScaper, but any existing program that automatically creates Atlas' would also work. For now I'm moving on to optimizing the generation and thoroughly cleaning the code of excess comments, unused variables, reiterated processes and other nuisances that may weigh down the already fast generation process. I'd like to be able to send that update by the end of the weekend to ensure it reaches the store this week.

    By the end of tonight I should be finished with that and beginning work on an integrated terrain generation that will allow you to render mountains and rivers within your city's pattern. I hope to update that by the end of the week, and get it to you (on the store) sometime around Friday or the following week.

    As I finish any of these updates, if you can provide me with your invoice #, I am glad to provide you with these updates directly, as well as any other updates or requests you may need.
     
    Last edited: Mar 1, 2015
  4. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    - Version 1.0.2: Code has been cleaned and optimized slightly, small edits to the demo scene for quality purposes.

    General Optimization is finished, there wasn't that much to do. Mostly reducing declarations and removing extra lines. Next is the integrated terrain generation, I think that's something that will really add to the effect of the scene. The idea is to introduce a patch of procedurally generated terrain with an adjustable size that will integrate with the shape of the city. I've already built a small voxel engine in Unity, it should be relatively quick to accomplish. The next post will be pictures of the result. This should allow for the formation of coastal, river side, mountain base, florida-flat and other city types, before you even begin introducing your models.

    On a side note, I'm looking for other ideas, if anyone has any requests for other scripts, please let me know.

    I haven't had any feedback, I'm not sure if that's good or bad, but please feel free horde us with questions and comments!
     
    Last edited: May 25, 2014
  5. GeorgeAmos

    GeorgeAmos

    Joined:
    Sep 17, 2013
    Posts:
    16
    Hi Tony,

    Your package looks interesting!

    You also mentioned caves and dungeons.

    For instance, if I replace the streets meshes with a castle-type dungeon floor, and instead of buildings, I place walls
    e.g instead of 6x2 I place an wall 6 x 0.5 for coridors,
    3x2 I place walls for a room 3 x 0.5 (wall width 0.5)
    - and if this package would help by placing the wall type symmetric along the floor - I think this is a good start for a dungeon.
    Is it possible to have stairs, bridges, the floor on 2-3 levels, and definition of starting room and goal room like in the package named DunGen (Dungeon procedural Generator)? If this would be possible, I am more than interested in buying this.

    Thank you,
    George
     
  6. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    Hello George,

    I the future I'd like to make CityScaper do quite a number of things. One would be to allow you to create a terrain of your own, and attach the script to that terrain. It would then map a city out over this terrain with your models (This would be after the current planned features are completed). So I suppose you could create a terrain to properly manipulate the script into doing something like that once the script reaches that point. Otherwise, I'd also like to create multiple states for this script to allow better toolsets for dungeon and terrain/foliage generation, but the dungeon functionality would be one of the later projects unfortunately, and I'm unsure (at this point) if I would simply convert it and post it as a new asset, or integrate it into CityScaper. How far in the future that is would be something I can't tell you yet.

    I began work on the terrain generation, but at the suggestion of goat, I plan on integrating a noise based district system today, and then beginning to add options allowing you to leave the current city structure, with main streets and the buildings along them (ideal for aesthetic purposes like skylines) or start to fill out more buildings (better for interactive cities, first person or strategy). I'll post an update as soon as I've got some visual progress.
     
  7. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,519
    How is it possible that your asset is approved to be sold in assetstore while its using libnoise?
    Many packs were declined because they were using libnoise.
     
  8. GeorgeAmos

    GeorgeAmos

    Joined:
    Sep 17, 2013
    Posts:
    16
    Sorry for asking this, but:

    Why a pack using libnoise (which is open-source) would not be approved?

    libnoise is a portable, open-source, coherent noise lib for C++ ==>

    Does the C++ lib libnoise dependency mean the project only works on PC and Linux (and not on iOS/Android)?
     
  9. aubergine

    aubergine

    Joined:
    Sep 12, 2009
    Posts:
    2,519
    I dont know why, but mine and many other peoples assets which using libnoise ports were removed from the store before.
    And i want to know if this has changed now.
     
  10. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    I'm very curious about this myself. I had actually left a note about it when submitting the asset. It's an incredible tool, and meant to be used for purposes like this. It seems a shame to deny that kind of evolution for it.

    Also, this is not technically using LibNoise. It is LibNoise.net, which is a port to C# by Jason Bell. I will update that in the description.
     
  11. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    I didn't get as much time as I'd like to work on the program today, between running errands and answering emails, I was consistently distracted. I did get the base for starting the district system built, and even started adding new features using the base. There's now another Toggle option that allows you to fill in the tightest blocks completely. Not necessary for a skyline, but when setting up districts, it's better I integrate this for interactive cities now. Here's a screenshot:

    $filledblocks.jpg
     
  12. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    The last few days I've been setting up a nested list in the Custom Inspector, something I've been challenged by since I first started toying with Unity quite some time ago. After three days of troubleshooting and stupid mistakes, I feel I've got a very firm grip on nesting lists in the Editor interface as many times as I'd like. Here's a little info on what I've been going through.

    Anyway, I'm just getting to the density set-up now, after having completed new interface, block types included. You begin without block types to edit, once you insert your first building entry, block types will show up. I'm finishing the final functionality right now, which is to allow the block types to filter the available buildings by their density, making them easier to modify visually. Once that is done, I get to actually incorporate these arrays to make the blocks identify themselves as one of your block types, based on the noise function already being used, then fill in buildings associated with that block type. Any streets not part of a block will generate a density value of their own, and apply appropriate buildings, preventing the "too uniform" predictability that would otherwise arise.

    Here's the interface:
    $newinterface.jpg
     
  13. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    Another update. I'm preparing this one for upload, which may take another day due to debug system requirements. Don't want you guys creating infinite loops because you haven't filled all the density values. Included is the Fill Blocks option, and the density system. This should add a lot more control to the look of your city, as you can directly influence where buildings appear in your city. Here's a screenshot to give you some idea. The update I'm packaging won't include a more sophisticated example just yet, but my designer has been doing some great things, and I'm excited to get this engine's example scene really showing off what it can do. For now, here's a great example of how far the engine has come in just a couple of days. Please leave suggestions!

    $densityexample.jpg

    Think of each repeated building as an archetype, which you can fill any number of buildings into to make the city look how you'd like. Of course, this pattern is just a result of the 6 noise variables and random chances.

    *Please leave suggestions*
     
  14. TheNorthridge

    TheNorthridge

    Joined:
    Jan 4, 2012
    Posts:
    193
    I think curved roads and diagonal roads will make the citys seem more believable. Just my 2 cents
     
  15. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    I'll spend some time tomorrow integrating diagonals. Curved roads will take more time, they require a bit more in the way of pattern recognition, but I'll start on it. I've got the terrain generation pretty far along, but it's not calibrating correctly yet, I'll pick up on that when I'm done experimenting with the rest of my road concatenation possibilities.
     
  16. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    Alright, I'm getting to work now on diagonals and small curves. The generation system is based on a 5-point concatenation, generating the world in a similar fashion to that of a smooth-voxel engine. The diagonals and small curves come from two easily identifiable permutations, and should not take long to integrate, however I will have to make a couple of new models and textures to represent them as well, I'll put up another post when I've got some pictures.

    Update: Got a lot of other stuff done today, mostly errands and personal stuff, but I haven't started coding in the diagonals yet. I have finished writing up the generation steps for them though. I'll have to create the new models first, so I'm going to get those finished up tonight, and tomorrow I should be able to get them integrated by the end of the day.
     
    Last edited: Jun 2, 2014
  17. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    It's been too long since I could get an update up here, and I'm about to post to the blog with a longer description of what exactly I've been up to this week. In a nutshell, I spent a good chunk of time approaching the diagonals from what I would not call the wrong approach, but managed to set up a neighboring array as a result which will make pattern recognition a breeze from this point forward. The only hard part will be figuring out how to pin down a pattern possibility exclusively to integrate large curves and more organic shapes, I've got a nice headstart already as a result of the "wrong approach".

    Meanwhile, I took what I would call the right approach, and now there is an City Smoothing option to move between three values in order to smooth out your city with diagonal street meshes. Here's a preview of the 2nd and 3rd option, as the first you've already seen. The chances on the 2nd are about 80% sharp, 20% diagonal.






    These diagonals will have buildings next to them, and then I'll be integrating a 4th and 5th option that allow for small curved roads which don't generate buildings. This update will be uploaded by the end of the night, so expect 1.0.4 to hit the asset store this week or next.

    Lastly, I'm leaving the current start to the terrain generation with the interface toggle commented out. If you purchase the product and have coding experience with terrain generation in Unity, you have the tools to generate what you'd like available until I finish that addition as well.

    As I continue to work on more creating more complex shapes, does anyone have any suggestions or requests related or unrelated to CityScaper?
     

    Attached Files:

  18. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    Revisions sent to Review Team
    - Version 1.0.3: Noise-Based District/Density System. Fill Blocks Option.
    - Version 1.0.4: City Smoothing Option. A slider that integrates diagonal and curved roads to smooth your city around the edges.


    Terrain Generation is up next! There's is a bare bones code snippet accessible by uncommenting the editor lines for "Generate Terrain:" included in 1.0.4. This version gives you significantly more control over the look of your city, have fun experimenting with the density values!
     
  19. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    I'm giving the thread a little mid-day bump.

    Regardless of your interest in purchasing the product - Does anyone have any suggestions for CityScaper? I'm down to just a few modifications on the board, and once I hit the end of them I'll be switching to another asset I've got nearly complete already. I'd like to gather as many ideas and suggestions as I can in this early stage of my game's development.
     
  20. Rico21745

    Rico21745

    Joined:
    Apr 25, 2012
    Posts:
    410
    Few things I can see that may be missing:

    - Support for prefabs instead of meshes.
    - Optimization (culling zones, static batching)
    - Terrain hooks/features
    - Different kinds of types of city (low density, high density) for example difference between New York and a small town area.
    - Connecting those different little city bits you seem to be creating together by a road system.

    I have my own code that does some of these things (minus the roads/terrain interaction) atm but its missing the noise approach to doing things.
     
  21. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    Thanks for the reply, I've been dying for some ideas.

    Prefabs instead of meshes is a great idea, I actually will need to do that for my next asset as well, so it'll be nice to get a headstart here.

    The basic Unity optimization for screen culling and static batching is actually working rather well. I do plan on integrating a procedural texture atlas system, however. That will likely be one of the later updates, as it's nearly an asset of its own.

    I'm actually working on a procedurally generated terrain as we speak, and there's a broken version commented out in the code for anyone interested. I also plan, thanks to goat's suggestion, to set up a system that recognizes the terrain object the script is attached to, and generates a city within it. If that isn't what you mean, please explain further, I may not be understanding you correctly.

    The way the script is set up, each instance of the script should represent a different type of city, I've simply supplied some basic models to represent what the engine can do while I continue to add functionality. So you can add a set of buildings that represent items you'd find in a farm town, and have an instance of it generate a farm town using them.

    I just set up a neighboring array, so I'll put some time in after the terrain generation recognizing independent structures and connecting or removing them based on size. Right now that's just a result of the noise values, so you can still modify the noise values to ensure the frequency is tight enough to keep everything connected.
     
  22. c-Row

    c-Row

    Joined:
    Nov 10, 2009
    Posts:
    799
    Railroads maybe? Rules should probably differ slightly from those applied to roads.
     
  23. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    I'm already planning on adding a highway system after I've completed some more street possibilities ( like larger curves, roundabouts and plazas ). I imagine setting up a railway system would use a similar set-up to what I'm planning there. Thanks c-Row!
     
  24. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    Version 1.0.4 has just hit the marketplace! If you've already purchased the script, you should be able to update it within the hour.
     
  25. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    So I had an issue understanding how the Unity terrain is set up as far as scaling goes. I didn't realize that it forces the resolution (as the name "resolution" would suggest) to an 8-bit double. So I kept creating a smaller or larger scaled version of what I intended to create. Here's a quick preview of a few minutes spent optimizing the terrain generation since I got it to properly sync. Can't wait to get you guys another update with some more realistic looking terrains, but for now - the first basic mountain town:



    Essentially what comes now is exposing more noise options to allow the formation of interesting terrains, and then perhaps some presets to help you get started.

    Edit: Another pic to example the curves from the last update, and give a better view of the terrain working:



    Edit 2: I've spent some time adding controls for the LibNoise "Select". Now you can choose three noise types to be combined, and the terrain responds quite nicely:

     

    Attached Files:

    Last edited: Jun 11, 2014
  26. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    Revisions sent to Review Team
    - Version 1.0.5: Terrain Generation added. Select "Generate Terrain" to see more options. Multiple noise functions exposed. Terrain presets for Hills, Valleys, and Mountains are included.









    As always, please leave any suggestions, comments, concerns or opinions!
     

    Attached Files:

  27. Rico21745

    Rico21745

    Joined:
    Apr 25, 2012
    Posts:
    410
    One suggestion I would make is focusing on the city gen aspects of things and just making sure that wherever the user places the city, it knows to flatten the terrain under it. That way people can use other assets from the store like TerrainComposer to build their terrain and then use this to generate their cities.
     
  28. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    Believe it or not, that's already taking place. I can expose a variable that declares exactly how far out from the buildings to flatten terrain if that makes things easier for other assets?
     
  29. Rico21745

    Rico21745

    Joined:
    Apr 25, 2012
    Posts:
    410
    Yeah I'd say that as long as you leave it generic enough so that it works with any Unity terrain it should be fine. You're also going to want to remove details/trees/objects from under the city, fyi.

    Source: I've done this for my own system. (For my own game, not for sale on Asset Store).
     
    Last edited: Jun 12, 2014
  30. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    I hadn't even thought of the detailMap yet, thanks for mentioning that. Right now it just levels the terrain it generates. I'll make a ver-1.0.5.1 that clears the local detailMap and levels any terrain the script is attached to as well, to make sure there's no overloading problems on the user end.

    Ver 1.0.5 just hit the marketplace today. You can download the update if you've already purchased it. I'm working on a 1.0.5.1 that includes some features discussed above. Meanwhile I'm also doing some work on an inventory system, which I've posted a WIP on.
     
    Last edited: Mar 2, 2015
  31. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    It's been some time, I am planning release of my story game demo in just a couple of weeks, we skipped the preview step to avoid confusion. You will be playing it in a short time. Directly afterwards, plans are in motion to add a *bug reporter* to CityScaper and finish off our inventory plugin. If you have been having issues with CityScaper, we appreciate your patience as we pull our company together, and you can expect a full report system incorporated shortly that will allow us to fix all your compatibility errors. Similarly, with the breadth of knowledge and skills I've gained building my story tool, I will revamp the program significantly to reflect better coding habits and provide faster city generation with fewer draw calls. Keep tuned for more about our upcoming game. As always, please send questions and debug logs to thetiki@gmail.com.

    Update Feb. 27, 2015: So here we are at the end of the month, and the story game is basically done. We are just writing stories and drawing graphics. I apologize heartily for the long, long wait. It's certainly been hard to pull away from this project after putting so much time into it. On the bright side, I'm working on an error reporter, and with everything I've learned, this plugin will be in excellent shape in a very short time. Please check out my twitch feed if you're curious what I'm up to, I will be posting a video of the story game progress and am usually on after 8pm est.

    twitch.tv/tikihubtony
     
    Last edited: Mar 2, 2015
    MarcusWatson likes this.
  32. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    Version 1.0.6 being Packaged:

    Fixed bugs related to scale and position, particularly with Terrain alignment.

    Capped LibNoise references to avoid compatibility errors.

    Added labels to fixed lists so it's easy to identify which entries need which street pieces.

    Added a basic error reporter, advised to simply copy the debug logs and email them instead.
    Found under Help -> Email Debug Logs

    Note: If you'd like to use the error reporter, Unity has limited functionality in this way. Open the "Email Debug Logs" window and leave it open while working and anticipating errors. The window will record debug entries while it is open, when you are ready to send the email, it requires a low-security gmail account, so it is advised you use a tertiary account with a unique password for this purpose. Once created, you simply enter the credentials through the Email Debug Logs window, enter a receiver (my email is thetiki@gmail.com). You can attach any additional comments you'd like, the subject will automatically be "Cityscaper Debug Logs: ", but you may add more specific information. The debug logs listed will automatically be added with stack trace included.
     
  33. Autarkis

    Autarkis

    Joined:
    Oct 10, 2011
    Posts:
    269
    hi Tiki,

    In the video, i couldnt see any way to setup meshes with multi materials. is it something you'd consider adding? :)
     
  34. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    Hello Autarkis, do you mean setting up multiple textures for the buildings to use?
     
  35. Autarkis

    Autarkis

    Joined:
    Oct 10, 2011
    Posts:
    269
    Yep. For example, one building that has multiple material elements. I could only see you assigned a mesh for a building, and then being able to assign only one material for that particular building?
     
  36. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    That's an interesting thought. I had approached this with substances as a solution, I guess I overlooked the simpler solution of just offering multiple material slots. I'll make sure to add that with the next update, that's a simple enough thing to integrate.

    Edit:
    I'm also working on a new Editor Window interface (both original and new interfaces will be included), and Unity 5 Compatibility.

    Edit 2:
    If anyone has had any compatibility errors with other plugins or your own files, please email me the debug log with stack trace at thetiki@gmail.com. I need the File and Line that was flagged. Example: "CityGenEditor.cs: 1054". That email will be changing soon, but will also forward to the new one.
     
    Last edited: Mar 7, 2015
  37. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    Just to be clear Autarkis, you are asking if I can add functionality that allows the tool to assign multiple materials to a building, so that it will randomize one of those skins for each instance of the building? Or are you asking if I can set up so that the building has multiple materials when rendered, like a "transparent alpha" submeshing system?
     
  38. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    1.0.6 is out. Working on 1.0.7 with Unity 5 compatibility, though 1.0.6 converts flawlessly on my machine.
     
  39. Mikeedee

    Mikeedee

    Joined:
    Jan 5, 2015
    Posts:
    42
    This looks pretty awesome. Sorry if this has been asked before, but is there a demo available anywhere ?
     
  40. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    No, I'll rig up a webplayer demo asap. Thanks for the question, it hasn't been asked and hadn't really occurred to me! I'm almost done integrating the 4.6 UI features into the inventory system asset I'm building (multi-slot items that rotate for multi-slot containers like old Diablo style or PoE). Once that is packaged and uploaded for review (hopefully a matter of days), I'll be revamping CityScaper heavily, including a Window Editor interface that will save your generation settings and no longer require any scene set-up, re-writing the "pixel engine" code to be a little more efficient, adding more run-time functionality, and multiple material slots to randomize from by request of Autarkis.

    At this point, the biggest concern is draw calls. It can be easily managed with the right settings and thought out building pieces, but could use a dynamic texture atlas on the patch following that, it's on the list :p.

    If you have any more questions or suggestions please let me know!
     
  41. Meceka

    Meceka

    Joined:
    Dec 23, 2013
    Posts:
    301
    Hello, why don't you make it so that it will place prefabs in the scene? It would save lot's of time, instead of placing stuff to mesh and material slots, we can just reference prefabs.

    Does this asset create a very large chunk of mesh, Or does it instantiate objects in scene and allign them?
     
  42. jrDev

    jrDev

    Joined:
    Nov 5, 2008
    Posts:
    1,596
    Hello Tiki,

    I am interested in your asset because I am planning a game that uses procedural city generation when the player starts a new game.

    I have noticed that you haven't responded to the person above about using prefabs. Is this still planned?

    Thanks,
    jrDev
     
  43. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    Hello! Overhaul is currently in process, prefabs included. Progress is planned to be rapid. This tool is being rebuilt from the ground up to take full advantage of Unity 5's capabilities. Along with release will come a WebPlayer Demo.

    One major change to be noted is that it will now allow folder selection. The process of adding buildings 1 by 1 will be eliminated. Build content into a Resource folder and the program does the rest.

    More information and updates will come over the next few days.
     
    Last edited: Sep 20, 2015
  44. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    Overhaul is still in progress, you can try out the new compact and separate free asset TerrainScaper, which is included with CityScaper, at this thread:
    http://forum.unity3d.com/threads/terrain-generator-ready-for-release-free.359301/
    or until it's uploaded, go directly to gitHub to download it:
    https://github.com/TheTiki/TerrainGenerator

    Here is a picture of the overhaul's current progress!
    splinesemigrid.png
    You can set up as many main roads as you like, and render them when you are ready at the click of a button. If you don't enter any main roads, it will automatically place randomized splines. Each City you set up in the editor is under it's own archetype, just like TerrainScaper. So when you are done, you can access it at runtime and chagne the seed to provide a randomized version of your city, or set up several archetypes, and randomize between them as well. If you don't set up main roads, runtime will again automatically randomize the splines, creating a very diverse randomization, though unpredictable (still working on the placement algorithms). My next task is setting up the render system (which is already planned out), and I will upload a new picture as soon as that is finished.

    Thank you to all customers of CityScaper for your patience in waiting for this update, and welcome anyone who's just checking this asset out for the first time! This project is my #1 priority until finished. All suggestions and questions are both welcome and invited!

    CityScaper will go up in price with the new update, though we are on decided how much, we don't anticipate a large increase. This is obviously free those who have already purchased it, and the new asset I believe will be a bargain for the value.
     
    Last edited: Oct 8, 2015
  45. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    closer.png For the most part, splines are lofted. However there is still a couple kinks to work out, I will keep this thread updated :). Once this step is done, the next will be to fractal a series of sub roads between the generated main roads.

    Edit Update (11:24PM EST, 10/8/2015):
    It looks like the only remaining kink is related to the direction vector being used at the given cut section of the bezier. When doing a squiggle (two arches in one bezier), it twists the direction in 3d space and results in this neato looking spiral shape. Will update this thread when I've reached a solution for leveling the direction vector.

    spiralspline.png

    Edit Update (10:06AM EST, 10/9/2015):
    Spline lofts are stable and level, going to add a few more points to form a curb as well, but here is an image of diffuse textured lofted splines generated entirely through cityscaper's new hand controls. The number of road "cuts" (quads) is currently fixed to 10, but on release it will set a number of cuts based on the approximated length of the curve and a user-input cut length.

    splineworking2.png
     

    Attached Files:

    Last edited: Oct 9, 2015
  46. RTSlang

    RTSlang

    Joined:
    May 3, 2013
    Posts:
    56
    So - I haven't had this working since I purchased it. I left a message on the store about it not working 6 months ago and I have not heard a response. I would love for support on this.
     
  47. Tiki

    Tiki

    Joined:
    Mar 3, 2013
    Posts:
    299
    Hello, I apologize for this release, it was my first, and has had both success and failure in its time. I have some free time available again and anticipate having the new version done with this next push on it. I have a working build of the current version for anyone who sends their invoice number to my email - thetiki@gmail.com. Again, I work on this in my spare time and do what I can to make ends meet, so it has not received the attention from me that I had hoped when releasing it. I'm doing what I can to remedy that and simply wanted to inform you all.

    There has been significant progress on the new version since the last post, I will update this thread soon with that progress.
     
  48. MarcusWatson

    MarcusWatson

    Joined:
    Dec 9, 2014
    Posts:
    52
    Thanks for the update - appreciated :)
     
  49. Blueberry

    Blueberry

    Joined:
    Apr 5, 2013
    Posts:
    159
    Any news about this development?
     
  50. zangad

    zangad

    Joined:
    Nov 17, 2012
    Posts:
    176
    I'm interested in buying this, but it looks like it's been in an "overhaul" state for almost a year? And the last update was over a year ago (Mar 2015). Is there an expected timeline for finishing the overhaul?