Fog, vanilla ?

Over the last couple of years Fog has been an interesting new addition to DayZ and we feel it adds a lot to how the landscape feels.

However, there’s a degree of frustration and mourning at the loss of view distance, especially for players who enjoy a longer range gameplay (this is aside to any conversations about render distances) and being frustrated at just feeling you can’t see the landscape

Some servers have turned fog off as much as possible, or rather pushed it back as far as it will go. Here’s a scoped screenshot from TheRunningManZ on a ‘fog off’ server

There’s still fog, it’s just ‘pushed way back’. As part of this there’s also no weather variances and we feel this is not good for the game and that the weather is a living organism in the ecosystem of Chernarus

So we’ve tried to find a middle ground which allows the weather to live and Chernarus to feel ‘real’ (trees against the skyline in ‘No Fog’ servers is too stark to our eye), we’re trying some settings, thanks to help from GetSome, DRGullen and the TRMZ community mods to try and make clear days clearer. This is an ongoing effort which way haven’t got right yet but more experienced players could feel a difference on clear days

Is the server still ‘vanilla’, no, technically it’s not. vanilla is ‘OOTB’ and some would argue that even changing the server start messages or turning the nightlight off should stop a server being classed as ‘vanilla’

http://www.hacker-dictionary.com/terms/vanilla

Our Servers

The screenshots below are from the cliffs above Sinistok, I think it’s one of the best longest views in Chernarus

Chernarus is gorgeous, but even on the clearest of vanilla days, it feels ‘too much’ in our opinion.

Thanks to all the people that helped us work out how to do this. Tweaking will be ongoing. This is our current best guess

	//INIT ECONOMY--------------------------------------
	Hive ce = CreateHive();
	if ( ce )
		ce.InitOffline();

	// (MOVED UNDER ECONOMY INIT)------------------------
    Weather weather = g_Game.GetWeather();

    weather.MissionWeather(true);    // false = use weather controller from Weather.c

// Section A
//limits of clouds at any point in time. Valued between 0.0 and 1.0.
//( 1.0 , 1.0 ); max cloud all the time
//( 0.0 , 0.0 ); no clouds ever
//( 0.0 , 1.0 ); between no clouds and max clouds
//( 0.5 , 0.5 ); always half clouds
//you have to test with clouds on highest in video settings to test well

    weather.GetOvercast().SetLimits( 0.0 , 1.0 );
    weather.GetRain().SetLimits(     0.0 , 0.5 );
    weather.GetFog().SetLimits(      0.0 , 0.3 );

// Section B
//limits of how much clouds change over time
//( 1.0 , 1.0 ); clouds change 1.0 or -1.0 within time limits from Section C
//( 0.0 , 0.0 ); clouds never change
//( 0.0 , 1.0 ); clouds change between -1.0 and 1.0 within time limits from Section C
//( 0.5 , 0.5 ); clouds change -0.5 or 0.5 within time limits from Section C

    weather.GetOvercast().SetForecastChangeLimits( 0.2, 0.2 );
    weather.GetRain().SetForecastChangeLimits(     0.3, 0.3 );
    weather.GetFog().SetForecastChangeLimits(      0.8, 0.8 );;

//Section C
//limits how long it takes for clouds to change in seconds
//( 1800 , 1800 ); clouds take 1800 seconds to change by a value set in Section B
//( 1 , 1800 ); clouds take between 1 and 1800 seconds to change by a value set in Section B
//( 1 , 1 ); clouds take 1 second to change by a value set in Section B

    weather.GetOvercast().SetForecastTimeLimits( 60 , 600 );
    weather.GetRain().SetForecastTimeLimits(     60 , 600 );
    weather.GetFog().SetForecastTimeLimits(      60 , 600 );

//Saction D
//when the server starts it's session the intensity of clouds is equal to a number with a 6-7 decimal precision within 0.0 and 0.3
//you can change Math.RandomFloatInclusive(0.0, 0.3) to just a value
//for example: weather.GetOvercast().Set( 0.5, 0, 0);
//the server session's cloud intensity will be 0.5 on that session. It's still subject to change over time because of Section B and C, but the lower this value, the less of an impact the values in Section A B and C have

    weather.GetOvercast().Set( Math.RandomFloatInclusive(0.0, 0.8), 0, 0);
    weather.GetRain().Set(     Math.RandomFloatInclusive(0.0, 0.3), 0, 0);
    weather.GetFog().Set(      Math.RandomFloatInclusive(0.0, 0.3), 0, 0);


//Section E - Wind settings
//Maximum windspeed ever
//I think the values mean that wind changes within a factors 0.1 and 0.3 of the maximum value over a certain period
//(1.0, 1.0, 50) makes the wind 15 all the time
//needs some further testing because wind doesn't seem to always be insane
//(0.0, 0.0, 50) makes it wind speed 0 all the time
//this seems to be consistently no wind
//Again not 100% sure, especially the value 50 is difficult to see any difference when testing
//I don’t see any difference between 50 or 1 for example
//With lower wind speeds comes slower getting wet and drying up
//With 0 wind speed consistently, drying up takes a very long time


    weather.SetWindMaximumSpeed(20);
    weather.SetWindFunctionParams(0.1, 0.3, 50);

Reddit Post on weather by Mike

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *