Search Unity

Assets WIP - Maze Maker wanted?

Discussion in 'Works In Progress - Archive' started by telecaster, Nov 19, 2018.

  1. telecaster

    telecaster

    Joined:
    Jan 6, 2013
    Posts:
    29
    Hi,

    We are developing a new game, and in the process we ended up making a procedural maze maker. Basically any shape configuration can be made into a maze. quad, Hex, Octagon, triangle, irregular (10 sided connected to quads and triangles,...) anything goes. All you need to do is fill all the tiles into a dictionary and the neighbouring cell connections into a List in the dictionary and the dll will generate mazes based on seeds. We started off by using prefabs for the maze tiles (Dungeon, wall mazes, gap mazes), but we ended up using prozedural vectors as well. So now we have a dll and having fun experimenting with different maze concepts (you can even have multi level mazes).

    Question is:
    1) does anyone care or need such a tool for level / maze making?
    2) Would you pay money for it? Lets say a tenner?
    3) What features would you expect from a Maze-Maker (assuming you answered yes to 1)?

    Here is a video showing some very simple things you would be able to create (quality of the assets used in the video is not indicative of the maze making dll in itself):


    Thanks in advance for any feedback you can give.
     
  2. StevenPicard

    StevenPicard

    Joined:
    Mar 7, 2016
    Posts:
    859
    Currently there are maze generators in the Asset Store so it would need some unique features:

    - navmesh generation
    - ability to have walls, corners, floors (and optionally ceilings) objects randomizable (ex. based on a specified probability a prefab is chosen.)
    - It would also be nice to be able to spawn random clearings where other things could be spawn there and the maze builds itself around that (but making those areas accessible.)
    - It could be generated on terrain

    The type of maze I'd like to be able to generate is like this:


    In this maze there'd be points of interest, entrances to dungeons, enemies that I'd spawn, etc.
     
    Walter_Hulsebos likes this.
  3. telecaster

    telecaster

    Joined:
    Jan 6, 2013
    Posts:
    29
    Thank you for responding. we were about to abandon any work on the maze generator and simply focus on the game.

    a) Navmesh generation is fully supported. No issues there. We will introduce a flag to permit that directly from the class itself to make it easy

    b) That should be easy enough. We did some of this in the first part of the video with the dungeon.including objects, or any prefab for that matter. We will add this to become serializable with a probability by object

    c) I love the area/clearing/hall suggestion. Thank you for suggesting it. We will definitely include that as it is useful for the game too.

    d) This is probably the most intensive bit of addition but should also work. I hadn't considered it but it makes sense to offer that too (love the above picture btw)

    It occurs to me that we should also add a couple of things that are implied
    1) Save a maze (at the moment we are simply generating the maze based on a random seed and a bunch of parameters, and making the instantiated maze a prefab.

    2) Build a mixed maze in sectors

    3) curved pieces and circular constructs (this one might be tricky as the cell could be an entire ring

    Thank you again for your feedback. This was like water to a dying plant.
     
    StevenPicard likes this.
  4. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    1,316
    I would be interested in a simple one but it would have to work with a seed.
    So procedural randomized spawned worlds could use it.

    A simple function would be great for chunk-based worlds (Minecraft) if it ha a function like this:

    GetBlockForXYZ(Vector3 xyz, Long seed = 1234567890): BlockNumber

    and return for the given position a 0 for empty, 1 for wall, maybe Other values for a treasure lying on a ground, a monster standing on the ground etc.

    For me, this would be perfect. And it should be fast :)
     
  5. StevenPicard

    StevenPicard

    Joined:
    Mar 7, 2016
    Posts:
    859
    I originally included curved pieces in my list but thought I was pushing my luck so I removed that before I posted. lol

    Sounds like this will turn out to be a first day purchase and it would be a maze generator that stands all on its own (I've actually been hoping for something like this so I could do something like in that picture for my game.)
     
  6. telecaster

    telecaster

    Joined:
    Jan 6, 2013
    Posts:
    29
    Currently we actually don't handle the block itself, but simply the connections. So parameters that are passed to the dll are all connections between blocks:

    Code (CSharp):
    1. Dictionary<object, List<object>> openConns = mg.openConns;
    Each object is in the dictionary, and the List holds all open connecting blocks.

    We handle the rest in the block object itself. this gives us flexibility for any shape, any maze type, to be used.

    Having said all that I like the example, so it might be worth implementing an example scene that functions as you describe it. I will put it on the list.

    Thank you!
     
  7. StevenPicard

    StevenPicard

    Joined:
    Mar 7, 2016
    Posts:
    859
    Okay, you knew this would eventually come (and if not from me than someone else ;)): Estimated time of release? :D
     
  8. dev_2051

    dev_2051

    Joined:
    Jul 25, 2013
    Posts:
    92
    Just saw this post, with all these features such a product will be a day one purchase for me.

    If you can add some option to define rules for monster placement inside maze generator, then that will further boost sales on the store.
     
  9. telecaster

    telecaster

    Joined:
    Jan 6, 2013
    Posts:
    29
    Thanks for your interest. The maze maker dll is done and works well. The thing we are doing from next week on is padding out the class with more examples and features collected here. Then comes testing. I estimate early 2019 release with testing starting in December. Testing would be credited and the software is free for testers. Let me know if that interests you.

    Thanks. What would the rules need to be to place monsters. Everything so far is random based on location.

    Thanks for all the feedback - really appreciate it.
     
  10. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    1,316
    Another idea together with the seed Feature and the option for only having a function that Returns a "block" value (0 empty, 1 wall...) for Input position (vector3):

    3D Maze?
    Like initializing it with a Width, Height and Depth together with a seed value, Maybe a value for a mimimum and maximum "room width" and a mimimum and maximum tunnel width.

    If you include this Features, I would happily assist, test and buy it. :)

    Has to be performant /fast, I would like to use it in my game "Biotopia" which is a procedural randomized game with a world like minecraft, where each world Looks different...
    https://forum.unity.com/threads/bio...-free-and-gimme-feedback.509243/#post-3805558
     
  11. telecaster

    telecaster

    Joined:
    Jan 6, 2013
    Posts:
    29
    Wow - Biotopia looks like a fun. Love the project. Congratulations.
    How are you generating your tiles (vector or prefab)? Also what is the size?

    A very large maze is complex especially if irregular shapes are involved. for example a prefab complex maze will top out at 100X100, but 5 20X20 mazes are a lot faster so you can make compound mazes.

    If you test you do not need to buy. Plus Biotopia looks like it is free so we are happy to have a "includes" or something in the credits.

    We can do performance checks in advance before testing. So that would avoid you wasting time if we can't be performant enough.
     
  12. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    1,316
    We dymically bake meshes or selfmade cubes / vectors together in 10x10x10 chunks.
    And we dynamically spawn these chunks using some noise (fast noise just like perlin noise:
    https://assetstore.unity.com/packages/tools/particles-effects/fastnoise-70706

    And we store two seeds if the world is saved and loaded again at a later time. And we store each Manual Change and the Buildings etc.

    It would be great to have many "naturely" tunnel Systems (lots of mud with some free tunnels) and also some mazes (with manmade walls) everywhere inside our ground so users can often find them when they dig around, or sometimes they have some entries just in the landscape.
    That would be totally great for Explorers!

    The game is free but you can buy a licence for 10 bucks if you like it (nobody ever did) but we do it for fun and fame :) If we would get some Money, we would buy more assets or Maybe a console to test with.
    Of Course I'd give you a credit! Buying would also be no Problem if it works...

    I am free for testing some code everytime... I could Speed Things up like Settings some neighboured chunk to a bool "includesMaze" value, so only These are checked for a maze not all of them...

    Thanks! :)
     
  13. StevenPicard

    StevenPicard

    Joined:
    Mar 7, 2016
    Posts:
    859
    I would definitely like to test this. Sounds like the first maze generator that could potentially meet all my needs. :)
     
  14. tyjkenn

    tyjkenn

    Joined:
    Nov 26, 2012
    Posts:
    46
    I actually published a maze generator when the Asset Store was still new and when I was new to Unity (Maze Creator), and I was surprised by how well it sold. I probably got at least a hundred sales in total, adding up to a couple thousand dollars, although that was spread across many years. Since then, there has been a lot more competition though, so the success might have been mostly timing. My maze creator uses a sort of 3D tileset for corners, forks, etc., different styles of mazes, randomized objects in the maze, and the ability to pre-define a template path and then fill in the rest with random passages. Looking back, I probably would have done some things differently, and once I finish up my current project, I should go back and optimize some things.

    There's definitely room for more maze generators on the Asset Store if they do different things, and I recognize mine may be becoming obsolete (I was still in high school when I made it). Also, if you do end up adding some of the features discussed on this thread, you could probably sell it for more than $10. Mine sells for $20 and it looks like yours might already have more to it.
     
    StevenPicard likes this.
  15. StevenPicard

    StevenPicard

    Joined:
    Mar 7, 2016
    Posts:
    859
    How's the progress going on this?
     
  16. telecaster

    telecaster

    Joined:
    Jan 6, 2013
    Posts:
    29
    It's dead. Sorry. I was told to drop it. Apologies to everyone, but the funding people were clear, as the main project is still behind schedule. I am really sorry to have raised false hope, and thanks to everyone who replied . I am permitted to share the dll and sample code.if you are interested let me know: telecaster@gmx.co.uk
     
  17. StevenPicard

    StevenPicard

    Joined:
    Mar 7, 2016
    Posts:
    859
    No problem. That's completely understandable. I just appreciate you taking the time to let us know. Not many developer in your position even bother. Best of luck on your game!

    I'll send you an email and check out what you've done so far. Maybe you'll be able to return to it some day.