Announcement

Collapse
No announcement yet.

[SUPPORT] Advanced Turn Based Tile Toolkit

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    As for the game starting on Turn 2 I'm not seeing that. Can you give me the steps to reproduce this?
    This was my mistake. When starting a game I saw the hourglass marked "Turn 2" and misread that as meaning the current turn was turn 2, it was marking the start of Turn 2.

    Comment


      Is there a simple way generate tiles on a vanilla Top Down blueprint project? I don't need any of the turn based stuff, just the multilevel tile generation/navigation logic so that it restricts my character to a specific 100x100 square per move. Thanks in advance.

      Comment


        Is it possible to create a third non-hostile faction? For example if I had Team A and B controlled by players, but wanted a third faction of say civilians or something like that handled by AI, is that possible?

        How does cover work? I'm looking at the jungle map but can't see what activates it? I have the advanced grid manager on my custom map, with the cover system component, I even dragged in some of the tiles from the jungle map to my map but I can't get the cover system to seem to work on there. When I try to move a unit next to them, there is no shield icon.

        And what is the proper way to change the color of the overlay for the grid? I tried changing it on the grid manager in the world, but changing from blue to green did nothing.

        And as yet another question: The Laser Ability seems to be broken. it always hits, even when reporting a hit percent chance of 0. I edited my units to have lower accuracy and higher dodge, and even when the mouseover reports "0%" it still hits. Every time. And now that I've managed to decipher the blueprint here, of course it does, because you have it set to return a hit no matter what. Is this an error? or did you set this laser up to always hit? I even tried attaching the hit bool to that lower branch, but even when it returns false, the unit still takes damage. But I can't see why. The take damage is only on the true node.

        Click image for larger version  Name:	hitchance2.png Views:	1 Size:	139.8 KB ID:	1569893


        Click image for larger version  Name:	image_155185.jpg Views:	1 Size:	58.7 KB ID:	1569856
        Last edited by crossmr; 01-08-2019, 10:48 AM.

        Comment


          Hey Monokkel,
          first of all i wanna thank you for this amazing framework! Im trying to spawn Units in runtime. I know this is a frequently asked question, but the framework changed a lot over time and i couldnt get it work with the old advices you gave to other people on this topic. It would be amazing, if the system recognizes spawend actors in runtime. Maybe it would be easier for beginners, if frequently asked questions are summorized on a blog or something. Thank you a lot.

          I want to achive the following: when a unit enters a certain area another unit spawns randomly.
          Last edited by Lesuge; 01-08-2019, 11:03 AM.

          Comment


            Originally posted by Monokkel View Post

            Hmm, yeah seems like UE4 is detecting some dependencies. Not sure if it is a false positive, though, as I've now tested deleting the folder with no apparent issues. What issues are you seeing on your end?
            It's the BPI_Interact in the Maps 2d Core folder. When I try to delete it says it has 1 Asset Reference and 3 Memory references to BP_GridManager and if I do delete it, it does break the game.

            Comment


              What am I missing???? Click image for larger version

Name:	asdsad.jpg
Views:	39
Size:	319.8 KB
ID:	1570098

              Comment


                There is definitely something messed up with the included laser ability. I added some print statements and rewired the hit result into the branch as I think it should be. The first time a unit tries to laser fire in the game, the bool prints (it was true) and the unit was hit. Every attempt to fire a laser after that, results in nothing being printed but the sound plays and the unit takes damage. I fired this 3 times in the game I just tested, and only got a single print, but each shot resulted in the unit taking damage. I then added another print node to the false line, and even when it reports false it's running take damage, but how?

                On further inspection, it looks like even though the shot is missing, it's affecting the health bar. Now all I've done to customize this health bar is to change the material, and I updated the blueprint to refer to it's variable (progress instead of percentfill). if I inspect the unit it was still showing 100/100 health, however after being hit 4 times the body drops to the floor and it turns in to an invisible ghost. After another test with 2 units shooting at it, 1 hit, 1 failed. The health is 70/100 but the bar has been reduced 2 times as if it's been shot successfully two times. The third shot is a successful hit and enough to kill him if all the shots had hit. But they didn't. In the screen shot you can see the "killed" unit is invisible, but still in the game.

                Finally after a bunch of trial and error I found the problem. It seems like that entire section was not wired correctly. That hit result bool needs to be wired to that branch AND it needs to be wired to the bool of the queue action on the right. Otherwise it still tries to update the health bar of the targeted unit regardless as to whether or not it was hit. The updated wiring in the screen is what was required to make this work correctly, in case anyone else is having this issue:

                Click image for larger version

Name:	laser7.jpg
Views:	25
Size:	106.1 KB
ID:	1570115

                Click image for larger version  Name:	laser6.jpg Views:	1 Size:	185.2 KB ID:	1570111

                Click image for larger version  Name:	laser3.png Views:	1 Size:	142.9 KB ID:	1570105
                Last edited by crossmr; 01-08-2019, 08:59 PM.

                Comment


                  It work yaaaa. Thank you crossmr so much. I though it was something i did lol. You saved me big time me big time.
                  Last edited by Snowynight; 01-08-2019, 09:05 PM.

                  Comment


                    Originally posted by Snowynight View Post
                    It work yaaaa. Thank you crossmr so much. I though it was something i did lol. You saved me big time me big time.
                    No problem, you still need to customize their accuracy rates and things like that. The next challenge is the APs.. I created a new ability that needs 2 AP, but I can still use it after moving, which is not what i want. The Unit has 2 AP and the "Move" ability requires 1 AP, but after moving the unit can still use an ability that requires 2 AP. It looks like the AP is deducted after ability use, but not checked before. is there any built in system to check/disable abilities when not enough AP remain?

                    Edit:

                    After more digging around, it turns out the cover system is something that is built in to the sprint ability. Is this the best idea? I feel like checking for/displaying cover/etc should be something that is independent. But exactly what does this mean? Is only displaying the icon independent? if I use the regular move ability to move someone into a spot that should have cover, would they still have the cover benefit even if no icon was display when they moved there?

                    The other outstanding issues I have are these two:

                    Is it possible to create a third non-hostile faction? For example if I had Team A and B controlled by players, but wanted a third faction of say civilians or something like that handled by AI, is that possible is there any basic AI set up for a non-hostile faction?

                    And what is the proper way to change the color of the overlay for the grid? I tried changing it on the grid manager in the world, but changing from blue to green did nothing.
                    Last edited by crossmr; 01-09-2019, 11:07 AM.

                    Comment


                      Wow, lots of posts since last I checked. Sorry for the wait, guys. I'll get to answering.

                      Originally posted by crossmr View Post

                      This was my mistake. When starting a game I saw the hourglass marked "Turn 2" and misread that as meaning the current turn was turn 2, it was marking the start of Turn 2.
                      Ok, good to know. I guess this might still be something that would be confusing to players, though. I'll consider a rework for how it is displayed. Maybe just call it "next turn"?

                      Originally posted by CharlesJ5 View Post
                      Is there a simple way generate tiles on a vanilla Top Down blueprint project? I don't need any of the turn based stuff, just the multilevel tile generation/navigation logic so that it restricts my character to a specific 100x100 square per move. Thanks in advance.
                      Not entirely sure what you mean by generate tiles? You can always place down the grid manager in a TopDown project and just never start turn based combat in the Turn Manager if you do not need any of the turn based functionality.

                      Originally posted by crossmr View Post
                      Is it possible to create a third non-hostile faction? For example if I had Team A and B controlled by players, but wanted a third faction of say civilians or something like that handled by AI, is that possible?
                      Yep, just expand the faction enum with however many factions you want. Then add the faction to the allied factions set of whatever units you do not want harming it.

                      Originally posted by crossmr View Post
                      How does cover work? I'm looking at the jungle map but can't see what activates it? I have the advanced grid manager on my custom map, with the cover system component, I even dragged in some of the tiles from the jungle map to my map but I can't get the cover system to seem to work on there. When I try to move a unit next to them, there is no shield icon.

                      Edit:

                      After more digging around, it turns out the cover system is something that is built in to the sprint ability. Is this the best idea? I feel like checking for/displaying cover/etc should be something that is independent. But exactly what does this mean? Is only displaying the icon independent? if I use the regular move ability to move someone into a spot that should have cover, would they still have the cover benefit even if no icon was display when they moved there?
                      Cover is indeed handled by the abilities in the advanced example map. JungleRaid is an example map that shows possible ways for how you can expand the toolkit's base functionality to create an XCOM-style tactical game. One of the reasons I did not place the cover functionality deeper into the core of the toolkit is that it is a system that will only be used in some games, which would just be clutter in many cases. There is also an argument for keeping things as modular as possible. Having much of the cover functionality handled within individual abilities (albeit in tandem with the cover system component) allows the designer to flexibly design how each specific ability interacts with the cover system. The sprint ability does not really interact with the cover system on a server-side level (except for the AI), but just for displaying cover icons to the player. The real impact of the cover system is handled within the abilities that are affected by it, which by default is only BP_Ability_Laser. If a unit moved behind cover using the regular move ability they would still have cover against units using the Laser ability as hit chance is calculated there and not applied as a modifier on ending movement.

                      Originally posted by crossmr View Post
                      And what is the proper way to change the color of the overlay for the grid? I tried changing it on the grid manager in the world, but changing from blue to green did nothing.
                      Again this is something that is handled within the individual abilities. Change the materials of the tile marker HISMs in the ability you want. The values in BP_GridManager used to universally affect all abilities, but the values stored there now are just used as defaults if nothing is defined in the specific ability.

                      Originally posted by crossmr View Post
                      And as yet another question: The Laser Ability seems to be broken. it always hits, even when reporting a hit percent chance of 0. I edited my units to have lower accuracy and higher dodge, and even when the mouseover reports "0%" it still hits. Every time. And now that I've managed to decipher the blueprint here, of course it does, because you have it set to return a hit no matter what. Is this an error? or did you set this laser up to always hit? I even tried attaching the hit bool to that lower branch, but even when it returns false, the unit still takes damage. But I can't see why. The take damage is only on the true node.
                      Whoops, that's a mistake. I changed this temporarily as I was debugging the last update. Apparently I forgot to change it back. I'll put it on my bug list change this in a hotfix. Thanks for letting me know.

                      Originally posted by Lesuge View Post
                      Hey Monokkel,
                      first of all i wanna thank you for this amazing framework! Im trying to spawn Units in runtime. I know this is a frequently asked question, but the framework changed a lot over time and i couldnt get it work with the old advices you gave to other people on this topic. It would be amazing, if the system recognizes spawend actors in runtime. Maybe it would be easier for beginners, if frequently asked questions are summorized on a blog or something. Thank you a lot.

                      I want to achive the following: when a unit enters a certain area another unit spawns randomly.
                      Yeah sorry, there is an issue in the current version that means you need to add a couple of extra nodes when spawning a unit to get it working properly. I will also get to this in the next hotfix. Check out how to fix this in the present build here.

                      Originally posted by Locoweed View Post

                      It's the BPI_Interact in the Maps 2d Core folder. When I try to delete it says it has 1 Asset Reference and 3 Memory references to BP_GridManager and if I do delete it, it does break the game.
                      Yep, you're right. BPI_Interact should not be there. For a long time this interface was only used in the 2D map, but when I moved the functionality to the main grid manager it seems I forgot to move the interface with it. I'll fix this, but in the meantime move BPI_Interact to AdvancedTurnBasedTileToolkit/Core and then FixUpRedirectsInFolder (On AdvancedTurnBasedTileToolkit). Then you should be able to delete the map without issue.
                      Originally posted by Snowynight View Post
                      What am I missing????
                      Thanks for finding and providing the answer before I got to it, crossmr

                      Originally posted by crossmr View Post
                      The next challenge is the APs.. I created a new ability that needs 2 AP, but I can still use it after moving, which is not what i want. The Unit has 2 AP and the "Move" ability requires 1 AP, but after moving the unit can still use an ability that requires 2 AP. It looks like the AP is deducted after ability use, but not checked before. is there any built in system to check/disable abilities when not enough AP remain?
                      Yeah, I should add a check for this. The abilities in the JungleRaid example map are of the XCOM 2 type, where they can always be used as long as you have remaining actions, but there are better ways of handling this without making other types of AP systems more complicated to implement. I'll put this on my to-do list to update. For now, here is what you need to do:

                      In BP_Ability add the following:


                      In BP_AbilitySystem add the following:


                      In WBP_AbilityBox add this:

                      that should hopefully get you the result you want.

                      Thanks for letting me know of these issues crossmr. Let me know if you run into any other problems. Because of an imminent deadline I cannot promise to check in every day, but I will at a minimum try to make the time to provide answers every other day.
                      The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

                      Comment


                        Hello again.

                        I am having problems with dead units being referenced by the AI. The unit dies and is removed from map, but when the next Round starts the AI puts the Selected Icon (see photo) on where the unit died, and even moves it (the Selected Icon) around on the map until it gets to where it would attack, then the game freezes there. I think it usually starts happening when I get up to around 12 units in the game.

                        I see you delay actually removing a dead unit from game to let effects happen and stuff, but for some reason it is never actually be really deleted before the next round.

                        EDIT: I have narrowed it down to a second Ability I added. It does fine unless I kill the Unit with that ability, then the dead unit is still referenced by AI. At least I know where the issue is, so hopefully I can figure out what is going awry.

                        EDIT 2: Okay, found the issue. I was using your BP_Ability_Attack as my base to add a new attack ability. There is a problem in Execute Ability in that blueprint where if you have Use Unit Attributes unchecked, and change the value of the local variable Damage, the code is using 2 different Damage values because the code was written to get one of the Damage variables directly from the Owning Unit as shown in picture. So I removed getting Damage from owning unit and replaced with Get Damage and everything is golden.



                        Thanks, Loco
                        Last edited by Locoweed; 01-10-2019, 02:55 PM.

                        Comment


                          Cover is indeed handled by the abilities in the advanced example map. JungleRaid is an example map that shows possible ways for how you can expand the toolkit's base functionality to create an XCOM-style tactical game. One of the reasons I did not place the cover functionality deeper into the core of the toolkit is that it is a system that will only be used in some games, which would just be clutter in many cases. There is also an argument for keeping things as modular as possible. Having much of the cover functionality handled within individual abilities (albeit in tandem with the cover system component) allows the designer to flexibly design how each specific ability interacts with the cover system. The sprint ability does not really interact with the cover system on a server-side level (except for the AI), but just for displaying cover icons to the player. The real impact of the cover system is handled within the abilities that are affected by it, which by default is only BP_Ability_Laser. If a unit moved behind cover using the regular move ability they would still have cover against units using the Laser ability as hit chance is calculated there and not applied as a modifier on ending movement.
                          After messing around with that laser ability, I wanted to make sure. The laser ability was a bit complicated because the actual damage and the display of that damage were intertwined in an unusual way. It seems the death animation was triggered by health bar being depleted, and not a health check (this should be changed in my opinion) so even though I had hooked up the damage, the character was still dying because of the visual representation. I wanted some clarification on how the cover system operates. I knew the cover system was included in the grid manager, but I wasn't sure if that visual representation of the shield was a necessary thing to make sure a unit was in cover or not. Luckily I've based all the shooting abilities that I've made so far off laser, so I'm okay there for using cover. I'll have to look at sprint and see what I can take from there to make a new move ability and enable cover. I want my units to have access to cover, but I don't want them to be able to sprint. My maps won't be that large, so sprinting probably won't really be required. That's still in the testing phase, so I need to move all that cover interaction over to the regular move, or make a copy of sprint that only allows the base move and not the extra move.

                          1. also I seem to be getting some odd path issues around certain tiles. Any idea what I should check for that? As far as I can tell they're all lined up and there are no increased cost tiles placed. After more testing, I thought it was a good idea to make a video to illustrate what is going on. The unit seems to be having issues moving to the adjacent tile that is part of the same mesh. It's not even stepping from one mesh to another. https://youtu.be/h6Hhzav24vo You can see he can move diagonally to the left without issue and further out, but the right squares seem to cause some heavy pathing problems. after showing that i pause the game and highlight the mesh so you can see the problem tiles are on the same mesh

                          2. is there a way to refresh or update the grid at runtime? I'm having a scenario where doors may be closed. Characters can run up to them, activate a custom ability to open the door, and carry on through. The problem is when the door is changed/removed the grid doesn't update and doesn't connect the tiles on either side. This doorway is normally passable with the door starting open.

                          3. Can I calculate AP usage on a per tile basis? I tried setting my unit to have 6 ap and costing 1 ap per tile, which seemed fine on the first move (he could move 6 tiles) but after moving once, he was then allowed to move 4, and 2 and then 1 tile before finally his turn ended (this is after including the code above to deduct AP points)
                          Attached Files
                          Last edited by crossmr; 01-10-2019, 08:30 PM.

                          Comment


                            Originally posted by Locoweed View Post
                            Hello again.

                            I am having problems with dead units being referenced by the AI. The unit dies and is removed from map, but when the next Round starts the AI puts the Selected Icon (see photo) on where the unit died, and even moves it (the Selected Icon) around on the map until it gets to where it would attack, then the game freezes there. I think it usually starts happening when I get up to around 12 units in the game.

                            I see you delay actually removing a dead unit from game to let effects happen and stuff, but for some reason it is never actually be really deleted before the next round.

                            EDIT: I have narrowed it down to a second Ability I added. It does fine unless I kill the Unit with that ability, then the dead unit is still referenced by AI. At least I know where the issue is, so hopefully I can figure out what is going awry.

                            EDIT 2: Okay, found the issue. I was using your BP_Ability_Attack as my base to add a new attack ability. There is a problem in Execute Ability in that blueprint where if you have Use Unit Attributes unchecked, and change the value of the local variable Damage, the code is using 2 different Damage values because the code was written to get one of the Damage variables directly from the Owning Unit as shown in picture. So I removed getting Damage from owning unit and replaced with Get Damage and everything is golden.



                            Thanks, Loco
                            Hey, glad you figured it out. Issues like this are generally caused by the animation and gameplay code getting different input. I recommend checking out my tutorial on the Action System where I explain how this works if you have not done so already.

                            Originally posted by crossmr View Post

                            After messing around with that laser ability, I wanted to make sure. The laser ability was a bit complicated because the actual damage and the display of that damage were intertwined in an unusual way. It seems the death animation was triggered by health bar being depleted, and not a health check (this should be changed in my opinion) so even though I had hooked up the damage, the character was still dying because of the visual representation.
                            As I explained to Locoweed above, these sorts of issues are avoided by making sure the gameplay code and action system get the same input. The action system is the most unorthodox part of the toolkit, but it has a number of benefits. Decoupling gameplay code from what is animated means that you can simulate several different actions over a single tick and then send a queue of actions to be animated sequentially. This way you do not need to add lots of delays, callback events etc. to handle the flow of the game. With the action system you can run all your gameplay code immediately without waiting and can have the action system take care of handling animating in sequence.

                            Though it is a bit of a learning curve at first I have found this to be much easier to work with than the alternative. It has the added benefit of keeping a clean distinction between server-side and client-side operation, and eliminates perceived animation lag in multiplayer games by having an animation system that receives action commands from the server, but that animate on each client independently. Check out my video on the action system for a more in-depth explanation.

                            Originally posted by crossmr View Post
                            I wanted some clarification on how the cover system operates. I knew the cover system was included in the grid manager, but I wasn't sure if that visual representation of the shield was a necessary thing to make sure a unit was in cover or not. Luckily I've based all the shooting abilities that I've made so far off laser, so I'm okay there for using cover. I'll have to look at sprint and see what I can take from there to make a new move ability and enable cover. I want my units to have access to cover, but I don't want them to be able to sprint. My maps won't be that large, so sprinting probably won't really be required. That's still in the testing phase, so I need to move all that cover interaction over to the regular move, or make a copy of sprint that only allows the base move and not the extra move.
                            Making a copy of the sprint ability and removing the code that adds the extra sprint range is what I would recommend.

                            Originally posted by crossmr View Post
                            1. also I seem to be getting some odd path issues around certain tiles. Any idea what I should check for that? As far as I can tell they're all lined up and there are no increased cost tiles placed
                            Hmm, that is odd. Unsure what could be causing this issue. How is your grid manager set up? Have you enabled multi-level grids or TraceForWalls? Are you able to give me the repro steps for this issue?

                            Originally posted by crossmr View Post
                            2. is there a way to refresh or update the grid at runtime? I'm having a scenario where doors may be closed. Characters can run up to them, activate a custom ability to open the door, and carry on through. The problem is when the door is changed/removed the grid doesn't update and doesn't connect the tiles on either side. This doorway is normally passable with the door starting open.
                            What tiles can be moved between is defined in the GridEdges TMap in BP_GridManager. Each tile is represented by a key in the TMap and its connected tiles as a nested map of tile indexes and costs. In the case of opening/closing a door I would recommend using the AddEdgeBothWays function in BP_GridManager with the grid indexes of the tiles on either side of the door as input. When closing the door you would rather use RemoveEdgeBothWays. Note that if pathfinding has been calculated before opening the door, the pathfinding will not update automatically when you alter the grid, so you will need to run it again if you want it to take the changes into account.

                            Originally posted by crossmr View Post
                            3. Can I calculate AP usage on a per tile basis? I tried setting my unit to have 6 ap and costing 1 ap per tile, which seemed fine on the first move (he could move 6 tiles) but after moving once, he was then allowed to move 4, and 2 and then 1 tile before finally his turn ended (this is after including the code above to deduct AP points)
                            The move and sprint abilities should have a public variable for this called MoveCostType which you can set to FromPathfindingCost.
                            The Advanced Turn Based Tile Toolkit (Marketplace page - Feedback thread)

                            Comment


                              Hmm, that is odd. Unsure what could be causing this issue. How is your grid manager set up? Have you enabled multi-level grids or TraceForWalls? Are you able to give me the repro steps for this issue?
                              I'll attach an image showing my grid settings. The repro steps were to basically load this level, drag the grid manager in and that's it. The only changes that I've made have been the instructions you gave me for deducting the AP points, as well as the changes in the screenshot which I sort of copied from the jungle level. Other changes I've made have just been to create weapon abilities, update the health bar, some camera work to make certain objects disappear when they are in the way and that's about it thus far.

                              A little more testing here, and it feels somewhat inconsistent? I'm attaching another video so you can see two of the same characters running between two squares. Also if you put two different copies of the same character in the same square they get different pathfinding results. The two photos are two different copies of the swat character both at the start of the game. if I put the shotgun FBI character in that spot, he can move normally to all adjacent squares.. that makes little to no sense. All of the character BPs are duplicates of each other with very little changed on them beyond the skeletal mesh, and some accessories for those that need them (the SWAT character has no accessories it's a single mesh, as is the FBI character, some of the robber characters have additional things like hair/masks/etc put on them).

                              I've now tested all the characters in that spot from the police side and only SWAT are giving odd pathfinding on that square.

                              After a little further testing, I seem to have solved this issue. This had something to do with their weapon. I have no idea why, it seems most prominent on those with assault rifles (also the robber with the AK-47) but setting the SM_Weapon to "no collision" suddenly allows them to move normally. Your code is quite deep with a lot of functions, so I'm still getting used to where everything is and how to find exactly where I can look to start debugging things, but my guess would be that whatever path trace is being done for the unit is somehow impacting the gun and reading as a wall or something like that. The collision isn't special, I've attached a screenshot of that. I'll just make sure all the weapons are set no collision from now on.

                              What tiles can be moved between is defined in the GridEdges TMap in BP_GridManager. Each tile is represented by a key in the TMap and its connected tiles as a nested map of tile indexes and costs. In the case of opening/closing a door I would recommend using the AddEdgeBothWays function in BP_GridManager with the grid indexes of the tiles on either side of the door as input. When closing the door you would rather use RemoveEdgeBothWays. Note that if pathfinding has been calculated before opening the door, the pathfinding will not update automatically when you alter the grid, so you will need to run it again if you want it to take the changes into account.
                              Yes that's what i was wondering thank you. So.. "run pathfinding" this is what is run when the game starts correct? If so, do I need to bother using the "add/remove edge" function? The door itself can trace as a wall, so if I rerun pathfinding, won't it just detect the wall between the tiles and break that connection? or is that a separate function?
                              Attached Files
                              Last edited by crossmr; 01-10-2019, 10:52 PM.

                              Comment


                                Could you expand a little on what exactly allows a tile to be placed? I did some realignment of my grid, but it just refuses to draw some tiles in places they should be allowed. This door for example. It seems like the gap between tiles didn't line up correctly here. So I took all the meshes involved in that door, as a test and set them no collision. It still wouldn't allow a tile to be drawn there. I even deleted all the involved meshes, leaving a perfectly open area, and it won't draw anything there. If I then move my mesh slightly which puts a gap right where the wall would have been, it suddenly draws tiles, but i have no idea why that is necessary. To the right of that room, it's drawing tiles no problem, out in the main area. I sort of get why it it might not want to lay a tile that is part way across the door, but I don't understand why it refuses to draw a tile when the door is completely deleted from the level.I've even tried sliding the wall back so that it's in a gap between two tiles and it won't work.

                                I have the same issue at a second door, same mesh set, but a third door works just fine. So it isn't an issue with the door itself.
                                Attached Files
                                Last edited by crossmr; 01-11-2019, 07:41 AM.

                                Comment

                                Working...
                                X