Larian Banner: Baldur's Gate Patch 9
Previous Thread
Next Thread
Print Thread
Page 2 of 2 1 2
Joined: Aug 2014
old hand
OP Offline
old hand
Joined: Aug 2014
I added a mediocre video and a tutorial in the first post. What's better screencast software? I used screencast-o-matic and it makes these dumb pings when you click, and it doesn't seem that smooth. What program did you use Sniper, or do other people have suggestions?

https://www.youtube.com/watch?v=O-sJqPF08dM&feature=youtu.be

Joined: Jul 2014
R
addict
Offline
addict
R
Joined: Jul 2014
Open Broadcaster Software is the one I use when I record stuff.

Joined: Aug 2014
old hand
OP Offline
old hand
Joined: Aug 2014
Thanks Rhidian, I tested it out and made a slightly longer video. The quality still isn't that great, especially while moving the camera, and I'm not sure why, but here it is anyway.

https://www.youtube.com/watch?v=7Eih7CW4ph8&feature=youtu.be

Joined: Aug 2014
old hand
OP Offline
old hand
Joined: Aug 2014
Two big changes:

I've turned night into two seperate atmospheres, dusk and dawn so that the shadows fade in and out from the appropriate directions. This has the effect that night is twice as long, but night seemed too short to me anyway. Dawn is lighter than Dusk so it's not super dark the whole time.

I've also made the game remember what atmosphere you had when you load the level (from a save, an underground zone, etc.) Basically the DB_NextAtmosphere saves your current atmosphere, and I added the previous atmospheres to DB_Atmosphere so when you load a game, the atmosphere is instantly set to the previous atmosphere and starts transitioning to the next one. So if you save 5/6 through the evening atmosphere, it's going to reload at noon and go through evening again. Since I use 200 second transitions, this might be somewhat noticeable, but it's less jarring then always starting at morning. There's probably some problems with the code, but I haven't noticed any so far.

Code

Code
DB_Atmosphere("Morning", "Morn", "Dawn");
DB_Atmosphere("Evening", "Eve", "Day");
DB_Atmosphere("Dusk", "Dusky", "Evening");
DB_Atmosphere("Dawn", "Dawny", "Dusk");
DB_Atmosphere("Night", "Nightingale", "Dusk");
DB_Atmosphere("Day", "After", "Morning");

DB_NextAtmosphere("Evening","Day","Eve"); // sets the initial
 morning to day atmosphere switch


IF
RegionStarted("Evendar")
AND
DB_NextAtmosphere(_Next,_Atmosphere,_timerName)
AND
DB_Atmosphere(_Atmosphere,_AtmosphereTimer,_PrevAtmosphere)
THEN
TriggerSetAtmosphere("c48cc57f-9bf0-49dc-b262-7518cc4435cd",_PrevAtmosphere);
ProcAtmosphereChange(_Atmosphere, _Next);

IF
TimerFinished("Morning")
THEN
ProcAtmosphereChange("Morning", "Day");

IF
TimerFinished("Day")
THEN
ProcAtmosphereChange("Day", "Evening");

IF
TimerFinished("Evening")
THEN
ProcAtmosphereChange("Evening", "Dusk");

IF
TimerFinished("Dusk")
THEN
ProcAtmosphereChange("Dusk", "Dawn");

IF
TimerFinished("Night")
THEN
ProcAtmosphereChange("Night", "Dawn");

IF
TimerFinished("Dawn")
THEN
ProcAtmosphereChange("Dawn", "Morning");


PROC
ProcAtmosphereChange((STRING)_Atmosphere, (STRING)_Next)
AND
DB_Atmosphere(_Atmosphere, _timerName, _PrevAtmosphere)
AND
CharacterGetPosition(CHARACTER_Player1, _x, _y, _z)
THEN
ProcClearAtmosphereDB();
ProcClearPosition();
DB_NextAtmosphere(_Next,_Atmosphere,_timerName);
DB_CharacterPosition(_x, _y, _z);
TimerLaunch(_timerName, 2000);



IF
TimerFinished((STRING)_AtmosphereTimer)
AND
DB_Atmosphere(_Atmosphere, _AtmosphereTimer, _PrevAtmosphere)
AND
CharacterGetPosition(CHARACTER_Player1, _x, _y, _z)
AND
NOT DB_CharacterPosition(_x, _y, _z)
AND
DB_NextAtmosphere(_Next,_Atmosphere,_AtmosphereTimer)
THEN
TriggerSetAtmosphere("c48cc57f-9bf0-49dc-b262-7518cc4435cd",_Atmosphere);
CharacterDisplayText(CHARACTER_Player1,_AtmosphereTimer);
TimerLaunch(_Next, 10000);

IF
TimerFinished((STRING)_AtmosphereTimer)
AND
DB_Atmosphere(_Atmosphere, _AtmosphereTimer, _PrevAtmosphere)
AND
CharacterGetPosition(CHARACTER_Player1, _x, _y, _z)
AND
DB_CharacterPosition(_x, _y, _z)
THEN
TimerLaunch(_AtmosphereTimer, 2000);

PROC
ProcClearAtmosphereDB()
AND
DB_NextAtmosphere(_Next,_Atmosphere,_timerName)
THEN
NOT DB_NextAtmosphere(_Next,_Atmosphere,_timerName);
ProcClearAtmosphere();

PROC
ProcClearPosition()
AND
DB_CharacterPosition(_x, _y, _z)
THEN
NOT DB_CharacterPosition(_x, _y, _z);
ProcClearPosition();

Joined: Feb 2015
M
stranger
Offline
stranger
M
Joined: Feb 2015
It is possible to have a day\night cycle mod even for the base game and campaign?

Even if only aesthetical it would be a great addition to the game!!!

I trust in modders community :-)

Max

Joined: Aug 2014
old hand
OP Offline
old hand
Joined: Aug 2014
Sadly, I'm not sure if it is totally possible because right now mods can't change many things in the main campaign. For example, I wouldn't be able to delete all the current atmosphere triggers and replace them with a single one. Even if I could do that, I'm not sure how I'd deal with underground zones because the way I deal with them in my mod is to put them on an entirely different level.

Possibly I could create custom day night cycle for every single above ground atmosphere trigger, which would be at least ten atmospheres on Cyseal alone multiplied by 5 for the different atmosphere states I use (morning, day, evening, dusk, dawn). These fifty atmospheres would all have similar structures, so it's less work than it sounds like, but it'd still be quite the task. So there'd be a dusk, day, evening, etc. for the burning undead zone in Cyseal, and then different dusk, day, evening, etc. atmospheres for the houses in Cyseal, and different ones for the skeleton king area.

Sadly, I wouldn't be able to make long transitions like there are in my mod because I can't modify the transition time of the atmosphere triggers. Even if I could, there'd still be a big issue with teleporting between different areas that I haven't figured out how to solve. Teleporting to a zone seems to finish the atmospheres transition time instantly. With 4 second transition times as is default on I believe all the atmospheres, the day night cycle would basically be, "it's day!" two hundred seconds later, it'd suddenly switch to evening. This would still be cool, and certainly it'd be less of a performance hit, but I'm not sure if it'd have quite the effect you're looking for.

In short, it might be possible to make a limited day night cycle, but it'd be quite a lot of work setting up the code and the atmospheres. Maybe someone would do it, but I'm busy enough with Of Doves and Demons and a loot mod for main I more or less have on hold right now.

Joined: Feb 2015
M
stranger
Offline
stranger
M
Joined: Feb 2015
Well, i hope the devs will release it as official feature one day.
Too sad for an Rpg to not have any cycle, i think almost all RPGs since early 90's had it.
Anyway, thank you a lot for your nice and detailed answer my friend and good luck with your mod!

hehe

Last edited by Mazisky; 05/02/15 09:51 AM.
Joined: Dec 2013
enthusiast
Offline
enthusiast
Joined: Dec 2013
/bump

had forgotten about this! Reading your last post..shame you're stuck really, was looking forward to it.

have you tried contacting anyone, see if maybe the new editor version (whenever that will be) will incorporate any changes that might be of help to you? Or whether someone from the studio would perhaps be willing to give you a few pointers?


Pride, honour and purity
Joined: Dec 2013
enthusiast
Offline
enthusiast
Joined: Dec 2013
not very comfortable sporting two posts in a row, but i do not suppose there's any chance work on this will recommense once the EE is out?

getting both would be pretty neat smile


Pride, honour and purity
Joined: Aug 2014
old hand
OP Offline
old hand
Joined: Aug 2014
Not sure if you're referring to the day night cycle working with my mod, Of Doves and Demons, or with the main game. My mod is on hold until the EE, and whether that gets finished will depend on whether my work is compatible with the EE. If it isn't, ODAD is surely dead. The atmosphere code is working fairly well in my mod, thought still not perfectly. Well enough, though.

If you mean whether I plan to apply the day night cycle to the main story, I don't really have any plans to do that. Maybe if there are some new editor features related to atmosphere and improved ability to mod the main game, I would try working on it, but I doubt it.

Joined: Dec 2013
enthusiast
Offline
enthusiast
Joined: Dec 2013
Missed your post Baard, apologies.

Frankly the question was in regard to the night n' day cycle being implemented in the main game. A mod is a mod. A system being implemented..is always more. If not for the same modder, then perhaps for another, hence my asking smile

Regardless, your answer was wholesome enough, so point taken. My thanks for your time!



Pride, honour and purity
Page 2 of 2 1 2

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