Larian Banner: Baldur's Gate Patch 9
Previous Thread
Next Thread
Print Thread
#520039 15/07/14 06:48 PM
Joined: Jul 2014
C
stranger
OP Offline
stranger
C
Joined: Jul 2014
I know the game has only just been released, but has anyone given any thought to making a day/night cycle mod? Since it has been made clear to me that the devs are not going to be adding this on their own (despite implying it in their KS update) it would seem that is up to the modders to do this themselves.

I don't know if full NPC scheduling is really feasible, although it has been done in other games; the NPCs in Morrowind, for example, were all given full schedules (as well as the engine allowed) by a user-created mod, so it might work here as well. The devs did say that the technology is present in the game to do this, as they had pretty much finished coding these systems, and that they could possibly be modded in.

Before you ask me why I don't do it myself, I'll say that I have no time for such an endeavor (I barely have the time to play games, much less mod them). But I'd gladly put off playing D:OS if a mod of this type was going to be under development.

Joined: Jul 2014
C
stranger
OP Offline
stranger
C
Joined: Jul 2014
If, by chance, the answer to my question is no, I'd like to know if there any practical or technical hurdles to creating such a mod, or if its just due to lack of interest. Just sheer curiosity on my part. Obviously I value this feature of RPGs more than some, so I have a great deal of interest in the matter.

Joined: Jun 2014
S
apprentice
Offline
apprentice
S
Joined: Jun 2014
From what I can tell, it definitely requires editing of the main module (or rather cloning it and editing it under a different name to avoid any issues) which would mean it would only function with a new save or a ported save (which requires some editing of a file iIrc).

The "moods" and "day settings" are set via atmosphere settings and triggers, they are local. One atmosphere per map file which is a "default state" and then there are triggers which alter it, so when you leave e.g. Cyseal, you will walk into a trigger which changes the atmosphere to e.g. dark and rainy.

Now, the problem is: To create a day night mod, one would have to have at least two triggers per location and a timer and some way to exchange said triggers on the go.
One trigger, which is in place during the day and moves away if a certain amount of time passes so that the night trigger can replace it. Then, one would have to tweak the transition times (not sure how to go about moving them and doing that, didn't work a lot with the toolset yet) to create a smooth transition from day to night. And it's not even said that two atmosphere triggers would be enough per environment. Eventually, one would need another one for morning and one for evening too.
Now, if what I said makes any sense to anybody or is in any way correct (this was solely based on a quick analysis and assumption on how the system works in the Divinity Engine), this would be the reason why.
I'm very sure it could be done with code (creating a special atmosphere trigger with day, night and morning/evening settings for example), but we simply lack any documentation on how to program stuff properly for usage in the game and it's all a trial and error process what most (including me regarding the editor and own modules) do with the given toolset.
It will take a while until we will get official tutorials on such stuff, I guess. Until then, we will have to continue experimenting and helping out each other with own tutorials.

But I can assure you, it was thought of. I'm pretty sure it will be just a matter of time until we have proper tutorials and modding skills to pull that off. wink

Joined: Jul 2014
C
stranger
OP Offline
stranger
C
Joined: Jul 2014
Thanks. That's very interesting. I will keep hoping then.

Joined: Apr 2013
N
addict
Offline
addict
N
Joined: Apr 2013
There are some script commands that you can (theoretically) use to change the atmosphere.

The triggering event:
Code
OnTimer (FIXEDSTRING:timerName)
Throw when a timer has ended


Funcs that change the atmosphere:
Code
SetAtmosphere (FIXEDSTRING atmosphereTriggerUUID, FIXEDSTRING atmosphere)
Changes the atmosphere of the trigger

ResetAtmosphere (FIXEDSTRING atmosphereTriggerUUID)
Resets the atmosphere of the trigger


Joined: Jul 2014
C
stranger
OP Offline
stranger
C
Joined: Jul 2014
I'd also like to note, again, the the devs did apparently code these systems in, and did outright say that they're in there and that modders could access them. So that has to mean something.

"Perhaps those who are disappointed may take comfort from the engine & toolkit supporting pretty much everything that's necessary for schedules, up to having NPCs sleep in their beds, so it's not impossible that somewhere down the line a mod or a derivative game is released that uses these features."

Seems pretty straightforward to me.

Last edited by Clocknova; 15/07/14 09:38 PM.
Joined: Jun 2014
S
apprentice
Offline
apprentice
S
Joined: Jun 2014
Nice find/quote, Clocknova!
I wonder if Larian will add day night themselves with a patch someday or decide leave it to the modding community.

I guess schedules should also be realizable once one has made a decision for the lenght of day and night and got it working. Having everything in synch is important after all. Of course, it would be wise to base it on the day-night schedule that is already present in the log ingame (Day 1, Day 2, etc).
I wonder if anyone here knows how long a day in D:OS is.
Originally Posted by Norbyte
There are some script commands that you can (theoretically) use to change the atmosphere.

The triggering event:
Code
OnTimer (FIXEDSTRING:timerName)
Throw when a timer has ended


Funcs that change the atmosphere:
Code
SetAtmosphere (FIXEDSTRING atmosphereTriggerUUID, FIXEDSTRING atmosphere)
Changes the atmosphere of the trigger

ResetAtmosphere (FIXEDSTRING atmosphereTriggerUUID)
Resets the atmosphere of the trigger


Interesting, eventually one should open a thread to discuss this in detail.
Did you try anything in those regards yet?

Joined: Jul 2014
C
stranger
OP Offline
stranger
C
Joined: Jul 2014
The main problem, as I see it (not knowing anything about modding this game) is adapting the game "module" itself to work with NPCs that have schedules and days that do not last forever. One would likely have to rewrite some dialogue and alter various quests and scripts, since the current game has been written with the assumption that these things do not exist, and that NPCs do not have daily routines. Of course, I haven't actually played the game yet, so I don't know the extend to which this is true.

If the quote I cited above is accurate, the technical details shouldn't be as much of a challenge.

Joined: Jul 2014
C
stranger
OP Offline
stranger
C
Joined: Jul 2014
I'm not sure how best to handle NPCs that have no homes. In Ultima VII, every NPC had a home; of course, there really weren't that many NPCs. The entire world was much smaller than it at first appeared. But the devs clearly intended for this to be a real working feature, and only dropped it relatively recently. The decision not to have a home for every NPC had to have been made long before they dropped the schedules.

Perhaps they will eventually give us some insight.

Joined: Jun 2014
K
member
Offline
member
K
Joined: Jun 2014
Well it's clearly possible in the editor to set it all up, and there are nearly enough beds to accommodate nearly every NPC in Cyseal, the rest could flock to the inn I guess.
A modder would also need to change entering any house or building apart from city hall and the tavern to illegal.

As a side note, a mod that allows windows to function as entrances for anyone with sneaking higher than 1 and be lock-pickable would be amazing.

Last edited by Kriss; 16/07/14 05:12 PM.
Joined: Jul 2014
T
stranger
Offline
stranger
T
Joined: Jul 2014
It'd be a simple matter to build a couple extra houses in Cyseal to house all the NPC's that do not currently have homes. Tents and floor mats for the legion, or expand the jail to include barracks. Maybe add some more guards to cycle out day/night shift.
There's a lot of extra space where stuff could be built. And as far as I know, the abandoned house in Cyseal serves absolutely no purpose aside from an exit point for a tunnel, so that could be converted to a house for some people.


Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.5