Yeah, it was my fault for not being descriptive to the fullest extent concerning that video (well I thought I did). That video was just suppose to be a visual description, a guideline of some possible things to come if you will. Like an animated storyboard/artboard/concept board. We would need multiple programmers and artists working on it, since my concept was so extensive it would literally redo majority of the game visually (mostly), but retain the very core of the DF and use it as a foundation. Everything else were suppose to be rebuilt and or restructured and also added new technical solution, like adding voxel geometry to simulate vast forests/tall grass fields/deep snow. All of the characters should be translated into 3D geometry, but retaining their original feel and look. My idea/goal was to put accent, as you could see from the videos, on the feeling and atmosphere.

That's a bit disappointing, I hope some people take up the challenge I'd love to see this turned into a mod

Ok this is sort of message from Gavin and it is considering MOD building doors. Especially when they are moved - custom placed. I hope that this will be possible in the near future.

And thnx for the answer Gav.

Interkarma wrote:Yes, it would be possible. Here's one way this can be accomplished. It will need some coding done first, but the result will be fairly easy for content creators to use. Below, I use the tag DEV to show something developers need to do for enablement, and MOD as something mod creators do to utilise the support.

DEV: Create a custom component, let's call it CustomStaticDoor. This carries an empty copy of the StaticDoor information used to enter/exit buildings.

MOD: When creating a mod package with building prefabs, attach a BoxCollider and CustomStaticDoor component to a new GameObject (one for each door). Position GameObject(s) on your door(s) and scale BoxCollider(s) to wrap your door(s) - this is what the player will be clicking on. Make sure BoxColliders are all set to trigger only.

DEV: At time of injecting the prefab, use GetComponents<CustomStaticDoor>() and write the StaticDoor data for that building into all CustomStaticDoor components on that object.

Note the above is only possible with a packaged .dfmod asset with building prefabs using support built into core. It won't work with loose model swaps alone, because a model by itself can't carry any scene information.

There are a few ways to approach this, and some back-end considerations for developer to work out. For example, if building prefab is made of multiple pieces, or BoxCollider not on parent object, then dev will need to account for hierarchy when pulling CustomStaticDoor components.

Feel free to repost this in the thread discussing this. I'd be happy to provide support to TheLacus with helping him integrate this into his mod framework.

Better late than never, but i played a bit with this and i have a few questions.

* buildingKey is not set during individual model loading but after they have all been loaded for a rmb block. I need to have access to MakeBuildingKey arguments or find another way to link the new position on model with correct StaticDoor.
* What about buildings with multiple doors? We can require artists to set a fixed order, but this should correspond to the correct order used in game.
* Should prefabs include trigger BoxColliders or only a component with position and size, and create it only when necessary like vanilla? Thinking about a graphical feedback in editor, we can use Gizmos, or maybe a class derived from Collider which is directly seen by the game as a door, from which we retrieve position and size.

If you are interested in creating mods for Daggerfall Unity you can find the documentation here.

* buildingKey is not set during individual model loading but after they have all been loaded for a rmb block. I need to have access to MakeBuildingKey arguments or find another way to link the new position on model with correct StaticDoor.

I've just made a commit that calculates buidingKey in RMBLayout.AddModels(). Basic door data is also available at this time for building.

* What about buildings with multiple doors? We can require artists to set a fixed order, but this should correspond to the correct order used in game.

This may not be a big deal. When player clicks on an exterior door, Daggerfall Unity will try to position player to the physically closest marker inside building relative to there they are standing in outside world. It goes the other way on exit, and will try to position player outside to nearest exterior door relative to the interior door they clicked.

If for some reason it can't find an exterior door, it just pushes player forwards a couple a metres and triggers an exterior transition (basically just pushes them through the wall to outside).

It will hopefully be robust enough to handle a little punishment. The main deal is that building doors are at least somewhat close to where they were on the original model so that interior/exteriors still make spatial sense to the player.

* Should prefabs include trigger BoxColliders or only a component with position and size, and create it only when necessary like vanilla? Thinking about a graphical feedback in editor, we can use Gizmos, or maybe a class derived from Collider which is directly seen by the game as a door, from which we retrieve position and size.

I'm not sure on this one. I would try a few different approaches to see which works best overall then run with that one. The main goal is to make it as easy as possible for the modder just to wire up doorways to buildings.

So the difference is only for specific door data (size/center/normal etc) which is not meaningful for custom doors, but the building data (buildingKey/doorType etc) is the same for all doors on a given building?

I remember reading in one of your posts that triggers are created and destroyed when required because is more efficient than storing colliders for all buildings in scene. If so, i think we can do the same thing here. I wrote a component that store center and size in local space (visible with gizmos) and the game use it to make colliders at run time much like DaggerfallStaticDoors. If there is no need to link specific original door to new position, looking for the component on all children should be enough.

If you are interested in creating mods for Daggerfall Unity you can find the documentation here.

You've got it. All the doors have same buildingID. It's just a combination of block and record indices in that location. The rest of the data is unique to the door location, which you probably don't need as you'll be doing doors a new way for injected models.

Looking forward to seeing what you cook up. Let me know if anything else I can help with.

Hey guys, I see this theme is still open. I didnt get chance to do any new (MOD) stuff work for the Dagger, but Ive had some time to do some R&D and testings. It is inspired by the Daggerfall and could be applied to it with no problem, but Ive more imagined as a standalone fantasy rpg project.

PS -everything (textures) is hand painted. (But I also have some placeholders there from few other games )

R&D is based around what can you pull up with the Unity engine and I was quite pleased with the results.

Day time -overcast R&D

Last edited by VMblast on Sun May 13, 2018 9:31 am, edited 2 times in total.