Search Unity

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

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

  1. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
    hey all,

    I'd like to introduce a new project I've been working on that I aim to release soon on the asset store, it's called Strata. Any feedback would be much appreciated!







    Strata Overview

    Strata is an easy to use procedural toolkit for generating 2D levels which use a combination of hand-authored and procedurally generated content. It works in the Unity editor or at runtime without additional programming. Strata works with Unity’s native 2D Tilemap tools allowing you to hand-author pieces of levels and arrange and combine those pieces in interesting ways.

    The design philosophy of Strata is strongly inspired by both classic roguelike dungeon crawler design approaches along with the newer school of action roguelike / roguelite games. To this end the project contains demos both for a classic top-down roguelike dungeon generator, and a 2D platformer built from a connected chain of handmade rooms. Both serve as good starting points for your own creations.

    Programming procedural level generation tools can be complex and difficult, and with Strata I hope to open the creation of procedural content to artists, level and game designers and other non-programmer creators.


    Here are two videos, one is a short overview, the second is a ~30 minute walk through getting started with Strata.

    Setup Guide for Strata Easy 2D Level Generator For Unity


    Overview of Strata Easy 2D Level Generator For Unity


    How It Works

    Strata works by generating level data into a grid of ASCII characters in multiple passes using what we call Generators. Each Generator contains a procedural content generation algorithm ranging from the simple, like randomly scattering 100 instances of an object, to the complex, like generating a linked series of dungeon rooms. The Generators run sequentially. This means that each new Generator’s output is applied to the previous Generator's output. This means, for example, that we can choose to generate some organic cave shapes, carve out a series of rectilinear rooms from them and then scatter objects within the empty spaces of the result. The choice of Generators and the order that the Generators are sequenced in via the Unity Inspector interface can result in significantly different generated levels.

    One of the common problems in procedural generation is that you can end up with results which while technically unique, all feel the same to the player. This is sometimes referred to as the 'Thousand Bowls of Oatmeal' problem. Yes, they're all different, but who cares? To combat this, Strata supports the inclusion of hand-authored elements within the generation process so that you as the designer can choose to have as much or as little randomness as you prefer, and insert hand-authored set pieces and features for your players to discover.

    Features:
    • Generate complex, varied procedural levels without writing any code

    • Hand author content to integrate into your procedural levels using Unity's Tilemap tools

    • Multiple levels of random chance in generation: hand place items with a chance to spawn between multiple choices in authored rooms

    • Generate levels at runtime for new levels on each playthrough, or generate at edit time in the editor, polish the output by hand and save.

    • Supports deterministic seeded randomness and daily challenge style play

    • Generators Included:
      • Linked top to bottom room series for platformers

      • Middle-out room series for top-down dungeon crawlers

      • Cellular automata for organic cave shapes

      • Randomly placed rooms connected by tunnels (traditional ASCII roguelike style)

      • Random scatter X objects

      • Tunneler to connect multiple previous Generators

      • Save full tilemaps and feed them back into the Generation process (randomize existing levels)

      • Place objects within connected space (place player start and level exit)

      • Random scatter hand-authored chunks

      • Mirror / Symmetry generators for making ‘man-made’ feeling spaces.

      • Flood fill

      • And more coming soon!
    • Professional video tutorials, text documentation, and well commented C# source code.

    • Easy to extend for programmers with a modular framework based on Delegation pattern and ScriptableObjects

    • Rogue-lite platformer example scene

    • Top-down dungeon example scene

    • Just does one thing, generates map data that you can use in lots of ways, not a full game project. Doesn’t include a bunch of junk you don’t need!
    What Strata Is Not

    Strata is not a game-kit, engine or complete game project. It's designed to support multiple types of games which use 2D tile-based levels and procedural generation. The idea here is that you can start with strata as a procedural generation toolkit and build your game alongside it, whatever type of game it is.

    It’s also not a cookie cutter, samey, single approach, single algorithm dungeon generator. You can think of Strata as a set of creative tools, not a replacement for your creativity in designing procedural levels and gameplay.

    Pricing

    I have decided to price Strata affordably initially since it's new and I want to get people to try it out, so the target price will be 8$ USD. Due to the modular structure of the project, I intend to introduce new generation algorithms and examples and as I do, I will raise the price.


    Full disclosure: I've made a new account for this project to differentiate from my 'official work' for Unity as an Online Evangelist. This is a purely personal project for my independent company Mirrorfish Media Inc which is in no way affiliated with Unity Technologies.
     
    Last edited: Aug 23, 2018
  2. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
    Strata is available! While I'm waiting for the Asset Store review process to complete I've made Strata available via itch.io, you can find it here:

    https://mattmirrorfish.itch.io/strata-easy-2d-level-generator-for-unity

    I will update this thread when it's available via the Asset Store as well.

    I've also released a new video showing what I'm calling Chance Tiles. Chance Tiles allow you to author hand-made level pieces or rooms with pre-placed tiles that have a chance to spawn a random monster, item or whatever tile type you choose. The goal is to allow you to add variation to pre-authored pieces and avoid having them appear exactly the same, thereby allowing small amounts of content to be repeated without getting boring.

    Check out the video here:
     
    Neviah likes this.
  3. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
  4. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
    I've uploaded version 1.1 of Strata! Here are the release notes. Huge thank you to keybol and r618 on Itch for their excellent and helpful feedback. It's currently processing on the Asset Store, hopefully will become available soon.

    I've taken in some feedback and bug reports and hopefully fixed everything. I completely rewrote RoomChain and replaced it with RoomSequence and RoomTiler and I think they are both much much better, including addressing and fixing the previous problems. I also included the 3D demo scene I showed on YouTube and added a new TunnelBrancher generator type that spawns sub-tunnels while it tunnels.

    1.1 Release Notes:
    • Replaced RoomChain Generator and with RoomSequence and a RoomChain component. RoomChain Generator proved unreliable in generating chains of desired length. New approach is much more robust and always achieves minimum chain length. Also adds support for placing start/end rooms from a RoomList at the end of the RoomSequence.
    • RoomChain component is a data holding object that is created and destroyed during generation. It tracks progress of RoomSequence and RoomTiler generation so that that data is not stored in BoardGenerator, making resetting cleaner and easier.
    • Added RoomTiler. RoomTiler is like RoomSequence but instead of spreading in one direction spreads in all available directions marked by exits for a number of iterations. Grows buildings with connected paths branching off from a center.
    • Added TunnelBrancher: This is like WanderTunnel but has a percent chance to spawn new WanderTunnels every step. Useful for generating branching tunnel systems.
    • Added turnNoiseValue parameter to WanderTunnel, this flips the generation back and forth between preferring to tunnel horizontally first or vertically first based on a random percentage roll, this makes for more irregular, squiggly tunnels. Keep at 0 for clean 90 degree turns in tunnels. Also implemented in TunnelBrancher.
    • Moved some source comments into Tooltips, not all yet.
    • Fixed a path bug when setting up profile for first time
    • Added simple example scenes for TunnelBrancher, RoomTiler and RoomSequence to MiniRogue example.
    • Added Experimental CubeWorld 3D Example Scene: This demonstrates using Strata to spawn non-Tilemap tile data, in this case a world made of cubes. Note that all editing must still be done on 2D tilemaps, 3D editing is not supported.
     
    Neviah and tapawafo like this.
  5. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
    Update: Version 1.1 live on the Asset Store as well now! That was fast.
     
    tapawafo and Neviah like this.
  6. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
    I've uploaded version 1.2 to the Asset Store, it should be available soon. Here are the release notes:


    1.2

    • Added SimpleFill Generator: This overwrites the entire grid with a character. Useful when you want to start with a filled grid and dig out.

    • Added PerlinNoise Generator: Simple noise generator, no smoothing or post-processing, just fill the grid with noise, either overwriting what is already there or filling in empty space.

    • Added CaveDigger Generator: Another simple generator that does a random walk clearing out a pre-defined portion of the map. Will continue moving randomly and creating empty space until a desired percentage of spaces have been cleared this pass (not including other generator passes).

    • Added PathVisualizer component: This records information about the direction the path has moved in and draws an arrow Gizmo in the scene view, along with the name of the RoomTemplate that was drawn. Works with RoomSequence and PlatformerRoomChain. Useful for debugging generation.

    • Cleaned up some small bugs in the example scenes.
     
    tapawafo likes this.
  7. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
    And here's a short video I made walking through the changes in 1.2:

     
  8. Alic

    Alic

    Joined:
    Aug 6, 2013
    Posts:
    137
    Hey, just wanted to say you've done a great job with this asset, and this thread should be getting more love! It's great to have a simple, cleanly architected project for doing experiments with procedural level generation in unity. I can see using Strata for game jams, prototyping, and even getting some good shapes and room structures as starting points for levels in professional projects.

    Today I'm using it to carve out some varied level shapes In a terrain in order to prototype the exploration/wandering monster part of an entirely 3-D top-down RPG. Think Chrono Trigger field maps, where the AI chases you around parts of the level and combat starts if they touch you. Very useful to be able to quickly test out my AI chasing and battlefield area generation code on a variety of different level shapes.

    Thanks for your work!
     
    tapawafo and MattMirrorfish like this.
  9. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
    Thanks so much, I really appreciate the kind words. If you have a second to re-post what you wrote as a review on the Asset Store that'd be super helpful, I'm slowly trying to accumulate some reviews on there and would be super grateful for the help.

    Very happy to hear you've found Strata helpful! It's really interesting to hear all the different things people are using it for.
     
  10. qqqbbb

    qqqbbb

    Joined:
    Jan 13, 2016
    Posts:
    113
    Thanks for this one of a kind tool. I've been playing around with it and here is some feedback.

    The biggest problem with Strata is that it uses characters instead of enums to identify tiles. You'd never do this in a serious project. It cripples usability. I guess you did it for people who can't write any code. But in that case you can write an editor script to generate enums from tile names.

    Bugs:
    Documentation says when you create new profile and supporting files Strata will add BoardGenerator to existing gameobject with a tilemap. It does not happen.
    Perlin noise script does not use seed.
    ClearLevel function does not work in Cubeworld demo even in play mode.
    Quick start guide says Strata Content Editor Window is in Window menu.

    Suggestions:
    Uncheck random seed when daily seed is checked in board generator.
    Default values for SO that can be restored in inspector.
    Tile preview in board library.
    Prompt for file name when creating new room.
    Show exit and entry direction in room path visualizer.
     
  11. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40

    Hey there, thanks for trying Strata and giving feedback! It's much appreciated.

    I think you may well be right about the limitations of using characters. There are a few problems that it creates on the back end as well. I may actually switch to using more scriptable objects as a kind of 'extendable enum' to check equality instead. Or potentially the Tile asset itself. Or just straight up enums as you suggest. I thought that using characters would aid usability but in my own practice I don't find that it really does and generally introduces more problems than it solves.

    Re: bugs, thanks for the reports. I'm aware of ClearLevel in 3D mode, I shipped it as 'experimental' since I wasn't sure if people would be interested or use it but clearly people have been, so I intend to write more comprehensive support for it in a future update.

    The suggestions are all good ones as well. Thanks again!
     
  12. qqqbbb

    qqqbbb

    Joined:
    Jan 13, 2016
    Posts:
    113
    Not every script from the asset uses Strata namespace. This may cause problems when importing it into a project.

    In the docs you give links to resources about procedural content generation. There is also this great Unity blog post.
     
  13. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
    Thanks for the heads up re namespace, I'll do a pass to double check soon. And good call re Ethan's article, it's great.
     
  14. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
    FYI, in this 1.3 Update I've addressed the bugs raised by @qqqbbb. Thanks for bringing those to my attention. I've also added a Space Divider Generator which does Binary Space Partitioning to generate building like layouts. Learn more in this video:

     
  15. tgaldi

    tgaldi

    Joined:
    Oct 28, 2015
    Posts:
    102
    Hey, have you played around with using Strata and the new isometric tilemaps? I imagine it would work the same but curious if you have any examples?
     
  16. Zenanon

    Zenanon

    Joined:
    Jan 5, 2018
    Posts:
    1
    Hi there Matt, I love this tool and I look forward to using it more in the future. Was a little confused on room templates and adding them to the correct "opens to north/south/east/west" lists. It looks like the StrataContentEditorWindow is adding everything to the opposite list (i.e. clicking "Add to Enter from North List" adds to the library's "Can Be Entered From South List"). Is this just a bug, or am I really misinterpreting how that UI is supposed to work?
     
  17. MoFaShi

    MoFaShi

    Joined:
    Oct 25, 2015
    Posts:
    43
    Hey, I am wondering does this tool can generating 2D dungeon as Tallowmere does?
     
  18. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
    Hi there! Sorry somehow I didn't get notifications on these messages. I have not tried generating Isometric tilemaps or Hex yet. I believe Isometric should work in a reasonably clear way since they're are basically rotated squares, and I intend to address them soon. Hex may be slightly more complicated so I'm not sure if I'll implement it.
     
    tgaldi likes this.
  19. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
    hey Zenanon,

    I weirdly struggled with labeling those clearly as I had a hard time deciding to focus on the entrance or exit direction for labelling. Let me double check that it's not inverted. You can of course re-arrange them manually if the buttons are messed up. Feel free to email me at support@mirrorfishmedia.com as well.

    Thanks,
    Matt
     
  20. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
    Hey MoFaShi,

    So I have not played Tallowmere so I don't know the details of how it generates things specifically. However, looking at the screenshots I found online, you should be able to generate those types of shapes, yes. Strata is fully capable of generating platformer style level layouts, and there is an example scene of this type included. It's worth noting that Strata does not generate full games, just level shapes, so you'll need to cover whatever custom logic you want for traps, treasure, enemies etc within the levels Strata generates. You can spawn prefabs, but it won't handle the logic of what those things are, if that makes sense.

    Hope that helps!
    Matt
     
  21. smarble

    smarble

    Joined:
    Dec 17, 2012
    Posts:
    3
    I just had a few questions before I break everything myself...
    1) Is it possible to set the minimum amount of rooms between beginning and end?
    2) Is it also possible to set the character start position to either the left-most or bottom-most room?

    Thanks for making this!
     
  22. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
    Thank you! Yes, the RoomSequence Generator allows you to specify a minimum number of rooms and retry if it doesn't achieve them until it does. It also allows you to set either a defined start position or list of possible start positions, along with a custom start and end room. So if you want to have Strata spawn your player prefab or a player position, you can definitely do that. Feel free to email support@mirrorfishmedia.com if you have further questions.

    Best,
    Matt
     
  23. krupps

    krupps

    Joined:
    Oct 17, 2017
    Posts:
    159
    Do you have this project as open source to contribute to it?
     
  24. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
    Hey @krupps thanks for asking, I do not unfortunately, it's currently a paid asset on the Unity Asset Store. I actually think it would be great to do open source but as it stands the idea of it is to help me earn some extra money. I thought about doing a patreon and making it open source, which I might do once I have a few projects out. As it is now I don't think it would add up income wise to have a patreon with just this.
     
  25. krupps

    krupps

    Joined:
    Oct 17, 2017
    Posts:
    159
    @MattMirrorfish Completely understandable. I'm creating a roguelike game and I have a buddy who's going to do the levels and he's not a programmer. There are some features I need to add to make it very efficient. Seeing as im a mobile app developer/web developer, I can see the potential of this tool using more UI editor features to be really good. Plus there are some extra features I would need. Making a zelda/gauntlet/pokemon type game using your tool right now.

    Great tool! Already bought it.
     
    MattMirrorfish likes this.
  26. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
    Thanks @krupps I'm definitely open to feature suggestions. I agree that the current UI is a bit clunky. I wanted to make sure I got the core working and out in front of users before focusing on making it pretty and streamlined. My goal is for version 2 to try to write some nicer editor scripts for the interface and make it all a bit cleaner. I'm definitely interested to hear how you use the tool or if there are any changes you make, feel free to let me know. Zelda/Pokemon/Gauntlet roguelike sounds great. Very happy if my tool can help bring more such games into the world! :)
     
  27. krupps

    krupps

    Joined:
    Oct 17, 2017
    Posts:
    159
    Maybe create a github for submitting issues. It's a free forum. I'll keep you posted. This weekend i'll be working on it to see how fun it is.
     
  28. krupps

    krupps

    Joined:
    Oct 17, 2017
    Posts:
    159
    @MattMirrorfish Here's something to think about. So I have a room like your sample with a lake. Like the 1st boss with the World of warcaft Sea level. Ghoom-ra is on an island in the middle. https://www.google.com/url?sa=i&sou...aw1jRzNwdLEq3iTh-XWSQkpT&ust=1547575133433005

    So basically I want a random monster using your Monster tile, but I also need some sort of way point so he patrols whatever treasure in located on this island to force the player to kill him. I would need to be able to create way points per room and when the monster is generated choose a group of points (tuples?) so I can simulate patterns.

    Something to ponder. I can probably to add way point tiles in some odd algorithm or radius to build a series of them. I'm finishing up my state machine for the monsters today and i'll use your tool and post a demo of it to see how it works.
     
  29. RyuKagemoto

    RyuKagemoto

    Joined:
    Sep 18, 2018
    Posts:
    2
    Hey Matt,

    Thanks for creating this asset I'm loving it so far. I'm running into an error "An element with the same key already exists in the dictionary." Do you have any idea what might be causing this, or how to resolve it?

    Thanks!
     
  30. RyuKagemoto

    RyuKagemoto

    Joined:
    Sep 18, 2018
    Posts:
    2
    Just for clarification this issue only seems to pop up once I've created a second room and added them to my lists.
     
  31. tapawafo

    tapawafo

    Joined:
    Jul 25, 2016
    Posts:
    170
    Hello,

    I'm beginning work on a project where I'm hoping to utilize Strata. I was just curious as to the 'Version 2' you mentioned before - is this or another substantial update coming sometime soon? It would be helpful to know if I should wait, for the next update, before working on this aspect of the project.

    Thanks!
     
  32. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
    Hey there, sorry for slow responses here, somehow I haven't been getting thread reply notifications. For a quick response please just email support@mirrorfishmedia.com!

    Now, on to your question:

    The earliest I'll get an updated version out will be after GDC, so early April, and even that I cannot currently commit to. I think the refactor I need to do should be straightforward, but it's wide reaching. The goal will be to replace the current ASCII tile data format with extendable enums, probably using ScriptableObjects. So it will touch almost everything, and I'll need to re-do the documentation as well. I'm hoping after I get back from GDC to have some time in April to look at it. Sorry I can't be more precise!
     
    tapawafo likes this.
  33. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
    So what is probably occurring here is a duplicate character attempting to be created in the BoardLibrary. The sure fire solution is to build your entire pallette at once, so copy your entire tile palette into a single room and save it, then everything should be automatically set up correctly. If you're unable to do this you may need to look through and find the duplicate character. This is why I'm intending to move away from the ASCII based system I'm using in version 2, due to this issue. If you have continued trouble with it please reach out to support@mirrorfishmedia.com. Thanks!
     
  34. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
    I did something vaguely similar to this in a test project I built, where I used A* pathfinding to have them path to a set of randomly selected waypoints that were on the navmesh. I felt like tying the product to this enemy AI question though was getting too specific. I think the approach you describe could work as well. What you might do is define let's say 4 points all of the type 'monster point' and then pick one for a spawn point and the other 3 for waypoints at spawn time. Good luck!
     
  35. theindielawyer

    theindielawyer

    Joined:
    Mar 25, 2016
    Posts:
    21
    Hi Matt! How is version 2 coming along? Keen to see how the ASCII free Strata fits into a project I'm working on at the moment :)
     
  36. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
    hey there! Progress is slow at the moment as I've been super busy with work (I'm the head of Online Evangelism at Unity as my day job) but I will post some updates when I have them. Thank you for your interest!
     
    gferrari, Lars-Steenhoff and tapawafo like this.
  37. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
    Micro update: I'm back at work on Strata and have started refactoring to replace ASCII with custom ScriptableObjects. I like the way it's going so far! I'll give another update when I have more to report.

    Also I've improved the authoring workflow a little bit with some small quality of life stuff in the process.
     
    tapawafo likes this.
  38. theindielawyer

    theindielawyer

    Joined:
    Mar 25, 2016
    Posts:
    21
    Busy times at Unity I imagine!
    Thanks for the update - really excited to see it and hope you enjoyed GDC!
     
  39. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
    Thanks @Dragonbladeon ! Yeah it's busy times at Unity, but that's pretty normal :)

    GDC was really great, thanks!

    With regard to update, I'm realizing that this changed approach may allow me to delete a lot (a lot!) of existing code which I regard as a good sign. So far no signs of any serious drawbacks but I'm not done refactoring yet, the only thing I'm worried about is that the workflow might get a bit more clunky with lots of little assets to manage, but I think that may be worth it if it goes as planned. More soon!
     
    tapawafo likes this.
  40. theindielawyer

    theindielawyer

    Joined:
    Mar 25, 2016
    Posts:
    21
    Exciting stuff man - can't wait to see it!
     
    MattMirrorfish likes this.
  41. bravery

    bravery

    Joined:
    Mar 26, 2009
    Posts:
    270
    Hi,
    Can I use strata to create a dungeon like "Blinding of Isaac" or even "Enter the Gungeon" ?

    If you will you please elaborate more on how to achieve that?
     
  42. Alkanov

    Alkanov

    Joined:
    May 15, 2017
    Posts:
    54
    Hi, which video can give me an idea of how to use this for a top-down 2d game? My plan is to generate the dungeon and to use it on the server and export it to client (or maybe use same seed to generate it on client, if that is an option..)
     
  43. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
    Hey there. Yes, you certainly could using RoomTemplates and the RoomSequence generator or RoomSpreader.

    Importantly though, Strata does not support functionality for linking pre-authored entire scenes, it only handles level generation in a single large map.

    I am actually working on an additional smaller asset, working title "Scene Engine" to handle this, but I want to release Strata V2 before I release that. I'd actually be interested to hear from folks in this thread would be interested in something like this. Basically: Hand author scenes and then Scene Engine procedurally builds a square grid of them linked by doors (with a minimap) and loads new scenes when you trigger a door. It's pretty much the scene management of Binding of Isaac. I figure there may be people who want to do small hand authored rooms instead of bigger overhead maps like Strata, that's the idea anyway. You guys interested?
     
  44. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
    Hey there, so Strata is pretty much pre-configured for a top down 2D game, I would use the MiniRogue example scenes as a starting point. This is a video talking through setting that up: https://www.youtube.com/watch?v=5fnuy193_dA

    As far as networking, generating the same seed on client and server should work since it uses the input string as a seed, and the two instances should generate the same maps.
     
  45. theindielawyer

    theindielawyer

    Joined:
    Mar 25, 2016
    Posts:
    21
    I like the idea of the scene engine, it seems like a natural progression of Strata (although sounds like it's being released as a separate asset). I'd certainly be interested as this is kind of the load out I'm going for, but right now it's just one huge map - having separate scenes sounds pretty good!
     
  46. MattMirrorfish

    MattMirrorfish

    Joined:
    Dec 8, 2013
    Posts:
    40
    Thanks for the feedback. Yes, it'll be a separate, reasonably priced asset. My goal with these tools is to release simple, focused things that do a task with strong functionality but not a lot of project specific fluff. I feel like Strata embodies that reasonably well in terms of 'flexible tilemap generation'.

    Also FYI if anyone is thinking about buying, the price of Strata will go up when I release 2.0, to reflect the additional work that's gone into it. It will be a free upgrade for existing users.

    I've got the removal of ASCII working, replacing with Tile level ScriptableObjects. I just need to remake the example scenes now and update the documentation, and am also thinking about adding layered/multiple tilemap support, since I've gotten a few requests. Still turning over the best way in my head for now but assuming I find a clean implementation that'll probably be in 2.0 as well.
     
    Aero1337 and tapawafo like this.
  47. theindielawyer

    theindielawyer

    Joined:
    Mar 25, 2016
    Posts:
    21
    Hey, if it's anything like Strata it'll be an absolute bargain - I'll definitely be picking it up! Looking forward to seeing how both assets progress.
     
    MattMirrorfish likes this.
  48. SpyrosUn

    SpyrosUn

    Joined:
    Nov 20, 2016
    Posts:
    144
    Instant buy for me, I actually wanted to ask you about this :D
     
    MattMirrorfish likes this.
  49. SarhanSoft

    SarhanSoft

    Joined:
    Apr 15, 2015
    Posts:
    65
    there only one word i say to you: Thanks :D
    i search about 2d level generate, but nothing (in past), then I try to search how can make 2d level by my hand, What is the key to map design? also i don't found anything.

    with your tools, and with your tutorial, I understand the key is make room with doors, also i found generate tools

    amazing
    thanks and good luck
     
    Last edited: Aug 17, 2019
    MattMirrorfish likes this.
  50. mccann

    mccann

    Joined:
    Sep 24, 2013
    Posts:
    30
    @MattMirrorfish - any new updates on the horizon?
    I bought last year. Wanted to check before I start trying to use it in my project.

    Also, I don't recall seeing this in the documentation... how should we leverage the underlying data structure?
    Since still on v1.3, I'm assuming everything is still ASCII character based for the underlying data, but if we want to manage (edit, verify) the data programatically, what do you recommend?

    Thanks!