Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.

Assets Top-down 2D Procedural Tilemap Generator (asset idea)

Discussion in 'Works In Progress - Archive' started by Puggy, Sep 13, 2017.

  1. Puggy


    Jun 10, 2015

    I'm building a 2D topdown RPG and have been disappointed by all the procedural generation assets I've found on the asset store - they are usually 3D oriented, and even though they say they support 2D, it is usually tacked on. I've also been following Unity's upcoming Tilemap system (in 2017.2 beta right now), and after asking most of the developers of those assets, most of them have no serious plans to integrate it, if they've even heard of it before.

    So I've started working on a solution myself that is built around Unity's Tilemaps and I'm looking for feedback on whether it is worth making it more user-friendly and selling it on the Asset Store once Tilemaps are available in the public release. The primary purpose is to build something tightly integrated with Unity Tilemaps so that it should work well with any of Unity's systems or other assets you might purchase on the Asset Store. Here's an overview of what I'm thinking:

    First off, this asset would be specialized for top-down 2D games with square (not isometric or hexagonal) tiles to keep it simple and straightforward. It's possible it could be used for other games, but I am a solo indie developer so at least for now, it would have to remain focused to ensure it is a solid product.

    You would start off by creating a Tilemap to define your map regions. For each region, you'd choose a placeholder tile that you paint on the tilemap to define it's size and shape. This tilemap would be disabled at runtime and is just used by the algorithm to place appropriate tiles on other tilemap layers that you define.

    Then you would use a custom editor to set how each region would be generated, and assign a tile palette to generate the map with. You'd tell it which tiles are ground tiles, which are walls, etc. These could use Programmable Tiles, so you have a ton of control over how it looks and works.

    You'd have the option of setting up each region separately, with zone transitions (loading screens), or generate the entire world as a seamless map. You would also have the ability to set up transition tiles, used to create a border between regions. For example, cliff tiles between a mountain region and a forest region, so that it isn't an abrupt change.

    Entrances and exits between different regions could be configured, and the algorithm would, by default, ensure there is an accessible path between them. Custom Points of Interest (POI), similar to prefabs, could be created from groups of arranged tiles and placed where you want within a region. You would decide if it would appear along the main path so that it is always encountered, or down a side path so players would only find it if they explore.

    Of course, you would also have the option of simply manually drawing tiles onto the tilemap using Unity's tilemap interface. As long as you've registered with the asset any tiles that you use, it should then be able to stitch your designs to the rest of the generated region.

    If your map is very large, you could enable culling of non-visible areas of the map so it runs efficiently at runtime.

    This would also be built in a way to allow extension. If you needed a level generated differently than the packaged algorithms do, there would be a class that you could extend to implement your own algorithm.

    So please reply to this thread and let me know if this is something that you would be interested in, so I can gauge the amount of interest. Feedback or suggestions on the idea are greatly appreciated too. Wouldn't hurt to let me know how much you would be willing to pay for an asset like this, as well. Thanks!
    Last edited: Sep 18, 2017
  2. awesomedata


    Oct 8, 2014
    As a fellow 2D asset developer who loves tile-based stuff, I think you have a good plan here in terms of scope.

    The only thing I have to offer is that I think it might be better to consider marketing the runtime features over the tile-editor features to distinguish yourself from the pack. There are really nice 2D tile editor assets out there already, and as you stated, even the 3D ones are marketed as being able to "do 2D" too, so you are already entering a crowded market. No matter what features you add, you can't get past the fact that you have experienced competitors out there with a similar feature set that also do "more" on the editor side. On the other hand, the runtime side of things is barely touched in terms of tile editors. Even a system like TileEd or TileWorldCreator struggles in this regard, so it might be wise to consider it.

    Overall, I think you've got a good product here, but the challenge will be deciding where your focus should be to give yourself that "niche" you need to be competitive. It's easy to fall into the trap of thinking "with killer-app feature X or Z, I should be able to outsell my competitors who only have features W and Y because my product has W and Y too and people will really want X and Z when they see it!" -- In reality though, building a better mousetrap doesn't mean it will automatically sell better, because, if you were alive in the time before the internet, there were plenty of scams that sold like hotcakes. For example, remember the Nintendo Power Glove? It was supposed to be VR for the NES! -- People didn't know it at the time, but you were better off with your standard NES controller instead of spending $50 (back then!) on the latest and greatest marketing. The same still happens today with iPhones. It's all about your marketing position.

    Hopefully I've given you some food for thought.

    It's up to you to decide on direction (as direction affects price), but always keep in mind that direction in marketing vs. direction in your product features are very different and must always be kept separate, otherwise you enter development hell on a product you really don't enjoy working on anymore. This happens to a LOT of assets here not developed by experienced marketers, and affects the price they charge for their assets as well as their future sales and growth potential -- even their current status in the market -- all because they don't enjoy working on their product anymore (usually due to poor sales figures and a poorly chosen long-term project). The Asset Store won't make you rich anyway, and those who do make a lot of money on it usually have invested more than you or I would be willing to as solo devs, so being able to enjoy working on your asset is crucial to it being a good form of residual income for you over a long period, and if your asset is indeed superior, time will always push more sales your way, so it's important to be able to stay in it for the long-haul.

    I hope that makes sense. Just looking out for a fellow dev who seems to be in a similar spot as I was at one time.

    Good luck man.