Search Unity

  1. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice
  2. Ever participated in one our Game Jams? Want pointers on your project? Our Evangelists will be available on Friday to give feedback. Come share your games with us!
    Dismiss Notice

DunGen - Procedural Dungeon Generation

Discussion in 'Assets and Asset Store' started by Aegon-Games, Mar 7, 2014.

  1. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    Yes, it works with Unity 2019.1

    You can make rooms with Unity's tilemap tools and they'll work just fine. One thing worth mentioning though is that when a doorway isn't used, DunGen plugs the gap by enabling or spawning a GameObject. Ideally with the tilemapper, you'd want to just paint a wall tile there but that's not something DunGen supports at the moment - I'm looking into it though.
     
    Candy-Bomber likes this.
  2. danbusuttil

    danbusuttil

    Joined:
    Oct 12, 2017
    Posts:
    3
    Hi,
    My Dungeon take anywhere from 1 minute to 14 mins to load, which is pretty much unbearable to wait for. Is there any standout features of Dungen that cause the load time to be delayed? I am using quite a few random prop sets in each room, is there any optimization techniques that can reduce the load time?

    Thanks,
     
  3. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    Yikes. I've never seen the dungeon generation take anywhere near that long before. There are a few things you can do to figure out what's wrong:

    • If "Generate Asynchronously" is enabled in your dungeon generator, ensure "Pause Between Rooms" is set to 0 - a larger value should only be used to help visualise the generation process.
    • If "Generate Asynchronously" is disabled, try turning it on. That way you might be able to see at what point the generation is stalling.
    • The dungeon generator tracks a set of statistics about how long each stage of generation took to complete - that should help narrow things down a little. You can access these through code or just plug your own dungeon into the generator in the demo scene which is already set up to report these stats.
    • Try running Unity's profiler (with "Generate Asynchronously" disabled) to see what functions are using the most CPU time. I'm not sure how well this will work if it takes minutes to complete.
     
    matteumayo likes this.
  4. CF-Games

    CF-Games

    Joined:
    Jun 2, 2013
    Posts:
    128
    Hello,

    I have a few issues and was wonder if there's a good solution for these.

    1.) Is there a way to set Connection Chance per tile instead of globally? I would like to be able to have some tiles have only one entrance and one exit, but I'd like that room to still have multiple doorways set so it can automatically select a random entrance and exit from the available doorways. I can manually create duplicates of those rooms and remove all but two doorways, but then it will always use those two doorways instead of having it select two from multiple doorways.

    2.) Also related to Connection Chance, is there a way to make it so that tiles within a segment only connect with other tiles in the same segment? I currently have this issue in the images below:

    shortcut.jpg flow.png

    Light blue = start room
    White - first segment
    Dark blue = connector hallway between segments (my temp solution to issue #1 above)
    Yellow = second segment
    Magenta = third segment
    Black = boss room
    Green = goal room

    As you can see in the overhead camera image, the player is suppose to find keys and get through those 2 locked doors to get to the next part, but there's an unintended shortcut from segment 1 to segment 3 which bypasses all the locked doors. I have my Connection Chance set to 1 because I don't want it to be so linear so rooms can have multiple openings. In the documentation, it says unintended shortcuts can happen if it's not set to 0, but then it would be too linear with all rooms having only 1 entrance/exit.

    I'm not sure if this is related to the looping dungeons issue in one of the earlier posts, but I don't need the goal room to loop back to the rest of the dungeon. I just need the tiles to only connect to other tiles within the same segment and then use Nodes to connect those segments together like in the above dungeon flow image.

    3.) I seem to be having trouble getting the third segment (magenta tiles) to have more branching paths. More often than not, that segment always ends up being the shortest even though in that segment's archetype I have branch count set to 2-2 with branching depth set to 2-3.
     
    Last edited: May 16, 2019
  5. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    Your points 1 & 2 aren't possible in the current release version, but I was able to implement them pretty quickly. The new beta version below should allow for per-tile overrides to the connection chance (through the Tile component) as well as an option to only allow tiles to connect if they're on the same segment of the dungeon flow graph (in the dungeon flow settings).
     
    camta005, hopeful and Vincent13122 like this.
  6. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    Version 2.11.8 - Now Available on Asset Store
    Be sure to backup your project before updating to a beta version of DunGen
    Available on the Asset Store as of 05 August 2019

    Features
    • Added an option to override the global "Doorway Connection Chance" on a per-tile basis
    • Added an option to restrict connecting overlapping doorways to only tiles that occupy the same segment of the dungeon flow graph. This should help to prevent unintended shortcuts from appearing when this feature is used

    Enhancements

    • The documentation has been updated to include some recent features which had mistakenly been omitted. The documentation also includes a previously missing step when setting up the Lock & Key system
    • [New in Beta 2] An error is now logged whenever a tiles automatically calculated bounds are invalid (have a negative or zero size)

    Bugfixes
    • [New in Beta 2] Automatic bounds calculation should now work properly with newer versions of ProBuilder
     
    Last edited: Aug 5, 2019
    camta005, hopeful and Vincent13122 like this.
  7. CF-Games

    CF-Games

    Joined:
    Jun 2, 2013
    Posts:
    128
    Thanks for the quick update. The two new features work perfectly.

    For issue #3 that I was having, it seems to have been because my L-shaped hallway only had two doorways. So when it used that as part of the main path, it couldn't generate a branching path from it. I've added more doorways to it and now it works fine.
     
    hopeful likes this.
  8. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    Glad to hear everything's working now. Sorry for not addressing your third point, I had a response ready but I guess I got sidetracked with uploading the beta build.
     
  9. YunLiang

    YunLiang

    Joined:
    Jan 8, 2018
    Posts:
    8
    debug render error
     

    Attached Files:

  10. CF-Games

    CF-Games

    Joined:
    Jun 2, 2013
    Posts:
    128
    Hello,

    There seems to be an issue with the doorways when using Scene Objects instead of Random Prefabs. When using Scene Objects, two connected doorways show two doors instead of one. When using only Random Prefabs, it works correctly and two connected doorways only shows one door.

    This problem also happens with locked doors that are set on the tilesets. When using Random Prefabs on the tiles, only the locked door is shown, but when the locked door is instantiated on a doorway that is set to use Scene Objects, it shows both the locked door and the Scene Object door.
     
  11. YunLiang

    YunLiang

    Joined:
    Jan 8, 2018
    Posts:
    8
    The behavior of RFPSP NPC and Emerald AI 2.0 is very weird in the generated dungeon. Which AI asset has the best compatibility with Dungen?
     
  12. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    Are you using ProBuilder or something similar to create your tiles? DunGen needs to know the size of a tile before it is placed in the scene, but ProBuilder doesn't build the mesh until it is instantiated. I had a workaround for this issue but it seems that some changes to ProBuilder have broken it.

    To fix the issue you can either:
    • Set the tile bounds manually. Add a Tile component to your room prefab, enable "Override Automatic Tile Bounds", and press the "Fit to Tile" button
    • Download the newest beta build which has changes that should fix the ProBuilder workaround for the current version


    That's the intended behaviour for scene objects. I thought the documentation mentioned the differences between the two approaches, but I can't find any mention of it - I'll update the docs soon.


    Unfortunately, I have no experience using AI assets with DunGen.

    I assume RFPSP is Realistic FPS Prefab? Looks like it's been deprecated so I can't find any information on how it worked. Emerald AI looks like it runs on top of Unity's NavMesh system so I don't see why there would be any issues there as long as you're using the built-in support for it in DunGen (in the "Pathfinding" section of the documentation).
     
    hopeful likes this.
  13. CF-Games

    CF-Games

    Joined:
    Jun 2, 2013
    Posts:
    128

    Hello,

    I'll just use the random prefab doors, but is there a way to make those doors have a chance of appearing instead of 100% chance. When I put a door into the random prefab, it seems it always appears, but I'd like to be able to make it so it only has a chance at appearing.
     
  14. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    It's not ideal, but you can give it a chance to spawn a prefab by adding additional elements to the prefab list and leaving them blank. If it picks an empty slot, it just won't place anything.

    I'll look into adding a proper way to control the chance that a prefab door or blocker will spawn.
     
    hopeful and camta005 like this.
  15. YunLiang

    YunLiang

    Joined:
    Jan 8, 2018
    Posts:
    8
    NavMeshComponents 2017.2 and Unity 2017.4.27f1 and Emerald AI 2.2.1

    Failed to create agent because there is no valid NavMesh
    error2.PNG
    error4.PNG

    Failed to create agent because it is not close enough to the NavMesh
    error0.PNG error1.PNG

    NavMeshComponents 2018.3 and Unity 2018.3.14f1 and Emerald AI 2.2.1

    2018.PNG
     
    Last edited: May 28, 2019
  16. nnurgle

    nnurgle

    Joined:
    Nov 22, 2014
    Posts:
    6
    Hi, so far everything is working perfect for nice rectangular hall tiles. However I tried this with a cave asset pack. This asset is built so each cave end flares out and the models are meant to intersect and overlap each other slightly. I recessed the doorways of each cave piece to accomplish this overlap. Now when the final dungen is built, one random tile from the cave set is selected and the entire dungen is this single tile connected to itself over and over. The tile used changes each time I run, but it never mixes any of the tiles in the set. I get a bunch of straight hallways connected, or a bunch of Y caves built, but never any mix. Any ideas why tiles are able to be placed but no variation is seen?
     
  17. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    Those warnings happen because the NavMesh agent is placed before the actual navigation mesh is generated - the only way to prevent those warnings is to only enable your agent after the navmesh has been generated. With that said, I made a test project and am also getting those warnings, but my agent still paths properly anyway.


    I'm not sure why it would be only using one tile each time, but you might need to specify tile bounds manually if you're not doing so already since the automatic bounds might still encompass the entire geometry of the tile, leaving the doorways inside the collision bounds (and therefore unreachable).

    You can manually override the bounds by adding a Tile component to your room prefabs and checking the box labelled "Override Automatic Tile Bounds". The "Fit to Tile" button should give you a good starting point since it uses the same method as the automatic bounds.
     
  18. zh4r0naX

    zh4r0naX

    Joined:
    Oct 30, 2016
    Posts:
    65
    Hey Aegon Games,

    is it possible to flip rooms just randomly at x axis ? Got a topdown shooter with a 45° camera, while my rooms cant be allowed to rotate on y Axis, but should do it on x Axis.

    Could you add that feature if it doesnt exist ?

    @YunLiang iam using ThePathfindingProject and it works like a charm. I was using the procedural grid mover and i center it on each room after entering that specific room. Just search for A* Pathfinding Project - Oh and the free version is enough. Atleast for me.

    Thank you.
     
  19. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    Rooms can rotate around whichever up-vector you specify in the generator settings. For standard 3D scenes, this will be the Y-axis, but this can be changed to suit your needs.
     
  20. zh4r0naX

    zh4r0naX

    Joined:
    Oct 30, 2016
    Posts:
    65

    Alright, but ive got a 2d scene where i took the z axis to -1. So i could simply take the X axis and enable rotation ?
     
  21. saltysquid

    saltysquid

    Joined:
    May 1, 2017
    Posts:
    33
    New to DunGen, but having a slight issue. I'm following along with the included PDF and so far I've created 1 tile with a door on either side. When I run DunGen I get a long hallway (as expected) but the ends aren't capped with my "wall blocker". Also, every other room has a strange bit of blocks sticking through the floor. I've put my rooms together manually and there's just no way to get this extra blocks, so I'm completely stumped.

    My room is a combination of 1 floor (plane), 1 ceiling (plane) and 2 walls (cubes). The other 2 sides are potential doorways.
    room.PNG

    The steps I took are from the PDF. I didn't do any variations.

    Bits of extra materials:

    room2.png
     
  22. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    Does your blocker prefab have position and scaling applied to it? The prefab's position, rotation, and scale are overridden when DunGen places them so those blocks sticking out of the floor are probably your blocking prefabs.

    If you need to adjust the transform of your blocking prefabs, you'll need to make the mesh a child of the prefab's root object, rather than the root itself.
     
    hopeful likes this.
  23. saltysquid

    saltysquid

    Joined:
    May 1, 2017
    Posts:
    33
    Hmmm.... interesting. My wall is just a cube scaled up to (1,20,50). I'm not sure how to create a cube the size I need it without scaling. It sounds like I need to make it a child of an empty game object which has not been scaled? Is that right? I'll give it a shot and let you know. Thanks for the speedy reply

    EDIT: I attempted to put the wall under a (1,1,1) game object and use that prefab for the wall blocker. This DID get rid of the mysterious chunks of stuff on the floor! However, my dungeon beginning and end are still not capped off with a wall... they open into empty space and I can run right out. Any tips? Thanks!
     
    Last edited: Jun 18, 2019
  24. saltysquid

    saltysquid

    Joined:
    May 1, 2017
    Posts:
    33
    I think I have it now. I just threw more room tiles at the generator and it seems to be working.
     
  25. Remer

    Remer

    Joined:
    Mar 24, 2013
    Posts:
    70
    Hello,
    I have a room (the dungeon entry room) with 1 door, and I want this room to connect ONLY with a specific room (instead of one of those in the tile list).
    Is there a way to do this?
     
  26. camta005

    camta005

    Joined:
    Dec 16, 2016
    Posts:
    271
    I think you could just make a new prefab that has the entry room connected to that specific room. So combine them in a new prefab.
     
  27. Remer

    Remer

    Joined:
    Mar 24, 2013
    Posts:
    70
    I could, but I have the same problem with other rooms, some of them can only be linked by 3 of them compared to the tile list that contains 10
     
  28. SpyrosUn

    SpyrosUn

    Joined:
    Nov 20, 2016
    Posts:
    124
    Do you by any chance have a video tutorial or demo that showcases how Dungen would work on a 2d game ? Something like enter the gungeon or Binding of Isaac i.e. Thanks !
     
  29. bigdaddio

    bigdaddio

    Joined:
    May 18, 2009
    Posts:
    218
    I would like to adjust some settings before the dungeon is generated. I want to specifically adjust the global props before generation. lets say I have a number of health packs in a level. To raise difficulty I'd like to lower the number of health packs. It would be great to adjust this before the dungeon is generated. It would be great if I could create a DungeonFlow structure and then pass it in before calling generate.

    This also brings up another issue with global props. I'd like to have only a possible 1 per room, but have like multiple spawn points, at the moment I put say 8 global props in a room and only 1 usually appears since the number is small enough. Otherwise I will end up with the players always looking in the same place for the spawned prop.
     
  30. vanhalen17

    vanhalen17

    Joined:
    Apr 19, 2015
    Posts:
    84
    Hi all,

    Trying out DunGen this week and have most things up and running. The only problem I am trying to solve for is a pathfinding one. After my dungeon is generated, I have trap walls that move and close off certain paths once the player is nearby, but I don't want my walls to block off any critical paths to the goal or keep them locked into a dead end.
    Using the Unity Navmesh Components, does anyone have suggestions on how to check for this?

    Even as simple as something like giving a room id and asking DunGen if it's on the crticial main path would help.

    Much appreciated,
    Avh
     
  31. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    There's a very simple 2D demo scene included in the folder named "2D Test", but unfortunately I don't have any video tutorials for DunGen.


    You can alter the settings by disabling "Generate on Start" and instead calling the Generate() method manually, but assign your new settings beforehand. You can instantiate ScriptableObjects (such as the Dungeon Flow asset) at runtime just like you can with GameObjects - all of the properties are public so you can tweak anything you like. Here's an example.

    For your second point, there's no built-in way to do that. You could write a custom post-processing step which randomly deletes all but one of your global prop spawns per-room before DunGen runs its prop logic. The DungeonGenerator class has a RegisterPostProcessStep() method to do this (Note: The phase needs to be set to BeforeBuiltIn in order to run before DunGen's built-in prop logic).


    For each tile, DunGen keeps track of some positioning information that you can access through scripts. All rooms will have a Tile component attached to them with a 'Placement' property. Placement.IsOnMainPath will tell you if a tile was placed along the main path or not.
     
    vanhalen17 likes this.
  32. vanhalen17

    vanhalen17

    Joined:
    Apr 19, 2015
    Posts:
    84
    Much thanks Dan, got walls up and running by using isOpen to disable mesh links and also obstacle carve feature. They check if they cut off main path or lock player into branching path and don't spawn.
     

    Attached Files:

    camta005 likes this.
  33. bigdaddio

    bigdaddio

    Joined:
    May 18, 2009
    Posts:
    218
    Yea I kinda figured that out after I asked since I already load the Flow from another structure before I manually generate. I just thought there may another type of callback like PostProcessStep.

    Thanks!
     
  34. christougher

    christougher

    Joined:
    Mar 6, 2015
    Posts:
    500
    Aegon-Games, hopeful and Vincent13122 like this.
  35. Vincent13122

    Vincent13122

    Joined:
    Oct 26, 2014
    Posts:
    66
    christougher likes this.
  36. Keaneo

    Keaneo

    Joined:
    Mar 7, 2015
    Posts:
    80
    Hi,
    The profiler suggests that a huge percentage of CPU time is used by BasicRoomCullingCamera.SetIsCulling. Any idea why that may be? My frame rate seems to have gone through the floor :-(
    dungenculling.png

    Edit:
    Seems to be getting called from within the editor...?:
    dungenculling2.png

    Thanks.
     
    Last edited: Aug 5, 2019
  37. Keaneo

    Keaneo

    Joined:
    Mar 7, 2015
    Posts:
    80
    Nobody else getting this :-( ?

     
  38. Keaneo

    Keaneo

    Joined:
    Mar 7, 2015
    Posts:
    80
    Is the developer around? Rhetorical question I guess :-(
     
  39. Vincent13122

    Vincent13122

    Joined:
    Oct 26, 2014
    Posts:
    66
    I havent tried this myself, but culling can be quite cpu heavy in situations with a lot of gameobjects. Maybe try lowering the amount of objects you have by combining them if possible.
     
  40. Keaneo

    Keaneo

    Joined:
    Mar 7, 2015
    Posts:
    80
    Thank you - I'll take a look. I just needed to know if it was a common problem or something otherwise fixable.
     
  41. Keaneo

    Keaneo

    Joined:
    Mar 7, 2015
    Posts:
    80
    One thing I should mention is that all the "doors" are open - does culling still work in that case? i.e. is it done using "line of sight" from the player or is the algorithm more like "the door is closed, so I'll cull all rooms beyond that door"?
     
  42. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    Sorry for the late reply and the issues you're having with the culling.

    The basic culling included in DunGen only culls rooms that are not adjacent to the room you're currently in. The only difference doors make is that it will also cull rooms that are behind closed doors, even if that room is adjacent.

    I'm looking into the performance issues now. Sorry for being so slow, it's crunch time for another project and I don't have much time to allocate to DunGen at the moment.

    Here's my thinking so far:
    The culling I implemented toggles the 'enabled' property of every renderer. I opted to turn any culled renderers off before the camera renders, then back to their original value after the rendering is done. I did this to avoid overwriting any renderer visibility toggles that developers had added for gameplay purposes. I cache the renderers so I'm not using any expensive Unity methods every frame, but it's possible that with enough renderers, just looping through a list and setting a property could cause the slowdown. I did test the culling with a more intensive scene when I first implemented it - it seemed fine back then but I'm getting that scene set up again right now so I can do some more meaningful profiling.

    Unfortunately, there's no good solution for toggling the visibility of renderers without stepping on developers toes. Whether I modify the renderer.enabled property or change the object's layer so the camera won't render it, I'm potentially overwriting user-set values.

    I'll get back to you later today when I know more.
     
    Vincent13122 likes this.
  43. Keaneo

    Keaneo

    Joined:
    Mar 7, 2015
    Posts:
    80
    Thanks for getting back - really appreciate any advice/updates you can give.
     
  44. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    Version 2.11.9 - Released
    Be sure to backup your project before updating to a beta version of DunGen
    Available on the Asset Store as of 28 October 2019

    Features
    • [New in Beta 2] Added a new built-in culling component "Adjacent Room Culling" which is significantly more performant but doesn't work with multiple cameras and will overwrite any "renderer.enabled" values the user might set for gameplay purposes
    • [New in Beta 3] Added "Full Dungeon Bake" mode to Unity NavMesh integration which allows the entire dungeon to be baked as a single surface when generated

    Enhancements

    • Improvements to built-in basic culling camera
      • Improved performance by ~60% (3.19ms -> 1.29ms in test case)
      • Now optionally supports culling light sources
      • [New in Beta 4] Now supports culling doors
    • [New in Beta 4] Improved some inspector tooltips
     
    Last edited: Nov 5, 2019
  45. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    I was able to squeeze some more performance out of the current implementation (see beta version above). Now almost all of the time is spent calling Unity's Renderer.set_enabled() method so I can't optimize this much further.

    Unfortunately, I don't think this change will be enough. From your screenshots, it looks like the culling is taking ~26ms (13ms to enable, 13ms to disable) so with this new version you're still looking at 10ms for culling. I checked another culling solution on the asset store and they handle culling the same way and encounter similar performance problems with a large number of renderers.


    What I'll likely do is make a new separate culling component that toggles visibility when the player enters/exits a room, rather than doing it every frame. The new component will come with the downsides that it won't do culling per-camera and will overwrite whatever values you might want to set to Renderer.enabled during gameplay (I might implement both the renderer.enabled method and the layer method as options). The upside is that it will be much faster than the current implementation.
     
    hopeful likes this.
  46. Keaneo

    Keaneo

    Joined:
    Mar 7, 2015
    Posts:
    80
    Thank you - I'll take a look at this now. Sounds like the enter/exit room solution would save a ton of processing!

    Fantastic asset BTW. I just added "stairwell" rooms and now I have multi-level dungeons! Remarkable how easy Dungen is to use!
     
  47. RakNet

    RakNet

    Joined:
    Oct 9, 2013
    Posts:
    170
    I'm surprised no-one has pointed this out. If a Doorway component is on a disabled game object, DunGen will still find and connect it, but will ignore the bounds of the tile that contains the doorway. This results in overlapping tiles. The temporary fix is to remove the Doorway component.
     
    Last edited: Aug 30, 2019
  48. Aegon-Games

    Aegon-Games

    Joined:
    Mar 7, 2014
    Posts:
    452
    Thanks for letting me know. I'll look into it.


    I've just released a new beta version that has the new culling component. I haven't done much testing yet, but hopefully this will alleviate any performance issues.
     
    Vincent13122 likes this.
  49. DGordon

    DGordon

    Joined:
    Dec 8, 2013
    Posts:
    440
    Should this be working with the latest Sectr vis? I owned the original, and I know this worked great with it years ago ... just playing with a new project idea and upgraded to the new sectr ... I followed the few steps in your documention (added the component to the runtime dungen generator and the camera) but rooms are not getting culled for me.

    Before I take the time to really dig in and see what _I_ did wrong, I just want to confirm that the latest version of DunGen is working properly with the latest version of Sectr using Unity HDRP 2019.2. (If the exact version matters, let me know, since that means I have to be careful about upgrading/etc with this).

    Thanks!

    sectr_a.PNG sectr_b.PNG
     
    Last edited: Sep 4, 2019
  50. DGordon

    DGordon

    Joined:
    Dec 8, 2013
    Posts:
    440
    How will this work with multiple rooms in a row that the camera can see through, such as a hallway leading into a room?

    Do you see this being a better solution for DunGen, or do you expect Sectr Vis will be the best go-to if I already own it?

    With a couple of rooms I can get a stable frame rate of 60fps on my 1080gtx, but the moment I create a whole map ... everything dies :). Trying to figure out what the right approach is ... its a tile-based rpg like Legend of Grimrock.

    [Edit -- just noting that with some simple light culling (based on distance depending on if its in the players cone of vision or not) and getting the FOV / camera distance set correctly, Im running 40-50fps now, and thats without culling any of the actual rooms yet. So ... yeah, now I can start to just be happy about how awesome this product is, and not worry that I wont get my game playable :)]
     
    Last edited: Sep 4, 2019
unityunity