Jump to content

YADC


Rick
 Share

Recommended Posts

32 minutes ago, gamecreator said:

It's easier to load in rooms models, like I tried to do.  But you have to generate a navmesh via code and world->SetSize is broken.  So I'm curious, Rick: how were you planning on generating the rooms and how would you handle enemy navigation?

Honestly, I've had bad luck with LE's navigation. Just always ends up being a decent amount of little issues to it when it comes to the AI moving along it. My plan is to just use A* with something like this since each room will be a square like shown. I'll grid out each room and have them move that way. I'll place props on the grid as well so it's nice and easy. I'm not allowing monsters to move from room to room, but when you are in a room I might sometimes block the doors until you kill the monsters so you are stuck in there and can't just go out to the next room to rest/heal. This example was 2 rooms in the map itself. The 2nd room wasn't generated on the fly but that would be the plan eventually.

Room generation is interesting. First everything would be on 1 level. I don't have plans to move up or down. Each room has at least 1 exit/entrance but can have more. My idea was to have a room model for all variations of exits. North.mdl, NorthSouth.mdl, NorthSouthWest.mdl, NorthSouthEastWest.mdl, etc. On map load the entire dungeon is generated. Start with the first room and pick a random exit room model, and build out from there. The themes would just be the material used on the rooms. Since each room is gridded for navigation I can also put the props on the grid as well. If each prop/enemy has an ID each room just becomes a 2D array of numbers. So these configurations can be built out in an editor but ultimately as just 2D arrays stored to file and picked from on load of the dungeon and creation of a room. This way I can have a bunch of predefined configurations to pick from so they look good. I could even make sure each level gets a certain configuration for each room if I wanted. Lots to think about.

  • Like 2
Link to comment
Share on other sites

1 hour ago, Rick said:

Honestly, I've had bad luck with LE's navigation.

Same.  The character controllers doing wacky things instead of just going directly for the player is really unfortunate.  A* in this case makes sense.  (I was debating using brute force for my tournament project since the rooms weren't going to be too complex.)

My version was going to have different size/shape rooms so my solution was to have a hole in the walls for each exit and also a hidden door and a hidden wall.  Then, depending on where the room had doors versus walls, I unhid the door or wall accordingly.  Worked pretty well.

Link to comment
Share on other sites

1 hour ago, Rick said:

My plan is to just use A*

If you have not done so already I have used Jumper pathfinding library for LUA and found it worked well and was easy to intergrate.

Just search google for it if needed.

Elite Cobra Squad

Link to comment
Share on other sites

On 3/22/2018 at 3:19 PM, gamecreator said:

My version was going to have different size/shape rooms so my solution was to have a hole in the walls for each exit and also a hidden door and a hidden wall.  Then, depending on where the room had doors versus walls, I unhid the door or wall accordingly.  Worked pretty well.

Thanks for the idea on this. I used this and it really works out great! I now have random dungeon rooms that match doorways correctly working which is just fun to regenerate new dungeons :)

Now I'm moving onto room prop population. The plan is that each room itself is a 2D array that's used for both AI pathfinding and prop placement. Since I can have 15 different rooms with exits ({ "n", "s", "e", "w", "nw", "ns", "ne", "sw", "se", "ew", "nsw", "nse", "swe", "nwe", "nsew" }) the plan is to have multiple room configurations per room exit type (can keep building on those over time). Since each room will be a 2D array I'll have each prop have an ID and just put the ID in the 2D array. So I'll have preconfigured prop placement rooms per room exit type to pick from after it's determined which room to make.

When the props are 1 tile in size this is easy. I have to figure out a way to do this with things that are greater than 1 tile and rotation of said object. I suppose I'll have to include rotation with the ID for the props.

Link to comment
Share on other sites

The thing I don't like about totally black ambient is losing the top part of the walls. When everything is black those are black too and the walls look paper thin which looks odd. What part specifically are you thinking doesn't work well when you see this in action?

 

Note, there is a roof on these that use the shader that makes it invisible but that's after lighting is applied to that the room is lit correctly and doesn't bleed outside the top of the room. Which is why when ambient is totally black the top of the walls can't be seen either.

Link to comment
Share on other sites

Maybe you could add a 45 degree bevel at the top to catch the light? I feel like the added chambers should be completely out of view.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

5 minutes ago, Josh said:

Maybe you could add a 45 degree bevel at the top to catch the light? I feel like the added chambers should be completely out of view.

It was just a bug I was trying to figure out as to why you could see them at the start. Just fixed it so now you can't see them at the start anymore and when you move from room to room they do go completely out of view so all good on that front.

 

 

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...