Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Assets [Released] Strata: Easy 2D Level Generator With Procedural Tilemap Tools

Discussion in 'Works In Progress - Archive' started by MattMirrorfish, Aug 17, 2018.

  1. theindielawyer

    theindielawyer

    Joined:
    Mar 25, 2016
    Posts:
    21
    I was holding out for an update about v2.0 as well, been quite quiet for a while now.
     
  2. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
    Hey there, sorry for the slow response. The v2 update is code complete for core features, I just haven't had time to package it up and deploy it and rewrite the docs. An unsatisfying answer I know, but the truth.

    As far as interacting with the underlying data, in 1.3 it's a just a two dimensional array of ASCII characters stored in boardGridAsCharacters, so you can write to that via any code you want.

    The recommended way to write to it would be to use this function in BoardGenerator:

    Code (CSharp):
    1.  
    2. //This is the function we use to write characters to our boardGrid, the parameters include x and y coordinates, the character to write, whether this should
    3.         //overwrite spaces that are not empty (overwrite previous data) and if it is generating space that we will want to connect together (empty, traversable player space)
    4.         public void WriteToBoardGrid(int x, int y, char charIdToWrite, bool overwriteFilledSpaces, bool inConnectedPlayableArea)
    5.  
    Thanks!
     
    tapawafo, mccann and DungDajHjep like this.
  3. DungDajHjep

    DungDajHjep

    Joined:
    Mar 25, 2015
    Posts:
    201
    Hi, this asset can support multi tilemap layer ??

    Capture.PNG

    I saw in the video you can create the rooms , can I spawn a gameobject at the doors?
    Can I create corridor connecting rooms?

    Please support multipe tilemap, im purchased one (like)
     
    Last edited: Oct 11, 2019
    oliver_unity892 and Aero1337 like this.
  4. claudiorodriguescampos

    claudiorodriguescampos

    Joined:
    Jun 23, 2017
    Posts:
    98
    Is it possible to export a scene created in Unity 2017.4 with Strata to a Unity 4.7 project?

    I mean, I don't need the Strata plugin on Unity 4, I just want to use the scene that I create on Unity 2017.4 to be exported to Unity 4.
     
  5. Aero1337

    Aero1337

    Joined:
    Nov 5, 2016
    Posts:
    1
    since i also working with multiple tilemaps a feature like this would be extremely nice
     
    DungDajHjep likes this.
  6. ScourgeGames

    ScourgeGames

    Joined:
    Aug 22, 2017
    Posts:
    239
    Hey Matt,

    Really cool stuff dude. I just picked up a license and I am a bit new to using tilemaps, so forgive me if this question seems dumb.

    Does the system support the use of prefab brushes as tiles? I don't want to hand place prefabs because it's imprecise, and it defeats the runtime procedural aspect I'm trying to achieve. I also don't want to have to iterate through the map data and try to wedge functionality into a tile via pure script because that code is usually buried and I like to use the component/prefab model to keep things modular.

    Anyway, I love the concept and I'm looking forward to seeing more updates. Hopefully I can suggest features or provide better feedback in the future.
     
  7. DungDajHjep

    DungDajHjep

    Joined:
    Mar 25, 2015
    Posts:
    201
    Hi you, learn how to make a custom tile, it'll help you resolve problem.
    https://github.com/Unity-Technologies/2d-extras
     
  8. oliver_unity892

    oliver_unity892

    Joined:
    Oct 28, 2019
    Posts:
    91
    Hi
    Is there yet a way to support multiple tilemap layers, with each being a different order within the layer group? So I might want my dungeon walls to look like this, with things on the walls for decoration. Like this. The stuff on wall are tiles on another tilemap grid with a higher priority. Also the sign on the floor is on another tilemap so that it has it's own collider.

    Sewer.png
     
    Last edited: Dec 8, 2019
    DungDajHjep likes this.
  9. DungDajHjep

    DungDajHjep

    Joined:
    Mar 25, 2015
    Posts:
    201
    off course, all feauture is supported, check 2d extra package example. With objects on the floor, its dont need is a tile, just drag and make its child of grid
     
  10. theindielawyer

    theindielawyer

    Joined:
    Mar 25, 2016
    Posts:
    21
    This isn't supported in Strata yet as I understand - I believe it's a stretch goal of Strata v2 but not guaranteed.
     
  11. oliver_unity892

    oliver_unity892

    Joined:
    Oct 28, 2019
    Posts:
    91
    Thanks @Dragonbladeon. Does Strata support "back walls" which are more than one tile high?

    My previous post had an image of my dungeon back wall. This is actually two tiles high, one for the bottom of the wall, and one for the top of the wall. Is that supported? That would let me have different types of wall-top to wall-bottoms, for extra variability.

    Otherwise I guess I could just merge the tiles in to one long tall tile.
     
  12. mccann

    mccann

    Joined:
    Sep 24, 2013
    Posts:
    30
    Hello Matt(@MattMirrorfish)! How's v2 publish to the asset store coming?
     
  13. BioBurden

    BioBurden

    Joined:
    May 28, 2018
    Posts:
    115
    This asset definitely seems interesting and I'm also interested in the other assets the author has planned. :)
     
  14. BioBurden

    BioBurden

    Joined:
    May 28, 2018
    Posts:
    115
    Realistically. how large of a level can I safely generate without running into performance issues?
     
  15. theindielawyer

    theindielawyer

    Joined:
    Mar 25, 2016
    Posts:
    21
    Sorry for the massive delay! I've pretty much abandoned this asset tbh becasue I was waiting for V2, but I'm not sure it will see the light of day (hoping I'm wrong) - just came back to see if there had been any movement and saw your comments!

    You should be fine with this setup if I'm understanding your description correctly, you would just need to make sure that the variants are spread across your room files.

    Depends on your machine (unhelpful, sorry), but I recommend looking into a sprite mask to cull the rendering of any tiles that your camera isn't currently viewing as this helped me generate much bigger maps without comprising FPS.
     
  16. urealaden

    urealaden

    Joined:
    Dec 21, 2019
    Posts:
    1
    Hello Matt(@MattMirrorfish ),

    I just got your plugin and am pretty excited to use it but after going through the initial setup I'm unable to generate a layout. I'm receiving the following error.

    ArgumentException: An item with the same key has already been added. Key: R
    System.Collections.Generic.Dictionary`2[TKey,TValue].TryInsert (TKey key, TValue value, System.Collections.Generic.InsertionBehavior behavior) (at <437ba245d8404784b9fbab9b439ac908>:0)
    System.Collections.Generic.Dictionary`2[TKey,TValue].Add (TKey key, TValue value) (at <437ba245d8404784b9fbab9b439ac908>:0)
    Strata.BoardGenerator.InitializeLibraryDictionary () (at Assets/Strata by MirrorfishMedia Inc/Scripts/BoardGenerator.cs:232)
    Strata.BoardGenerator.InitializeGeneration () (at Assets/Strata by MirrorfishMedia Inc/Scripts/BoardGenerator.cs:134)
    Strata.BoardGenerator+<BuildLevel>d__14.MoveNext () (at Assets/Strata by MirrorfishMedia Inc/Scripts/BoardGenerator.cs:140)
    UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <58a34b0a618d424bb5fc18bb9bcdac20>:0)
    UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
    Strata.BoardGenerator:Start() (at Assets/Strata by MirrorfishMedia Inc/Scripts/BoardGenerator.cs:60)

    I did my best to make it look exactly like the MiniRogueLike RoomSequence demo scene with no luck. Please help.
     
  17. Kellyrayj

    Kellyrayj

    Joined:
    Aug 29, 2011
    Posts:
    936
    Heyo!

    Loving the plugin thus far. Thank you for making it.

    Is it currently possible to make a room that has more than two exits on a single side that guarantees access to different rooms? Something like this:

    Screen Shot 2020-04-30 at 9.54.24 AM.png
     
  18. Junglerally

    Junglerally

    Joined:
    May 4, 2020
    Posts:
    14
    Hello, I was having trouble with this. I was trying to figure stuff out by watching your video, but I have been having an issue. In the video, it said that the Board Generator Script was automatically attached to the Tilemap. It was not, and I cannot figure out how to attach one. I am using a different tilemap than the ones provided, is that the issue?
     
  19. Junglerally

    Junglerally

    Joined:
    May 4, 2020
    Posts:
    14
    Nevermind. I was trying to attach the Board Generation profile, not the script.
     
  20. Junglerally

    Junglerally

    Joined:
    May 4, 2020
    Posts:
    14
    :eek:Wait now I cant attach my profiler to the script. HELP