Battlezone Universe

Battlezone Universe => Archive Vault => 1.3 Public Beta 5: Tech Alpha 5 => Topic started by: ScarleTomato on September 02, 2009, 09:37:00 PM

Title: pregame VisbilityRange option?
Post by: ScarleTomato on September 02, 2009, 09:37:00 PM
It'd be cool to have the sky.fogrange and sky.visibilityrange options available for the server before the game starts.
Does this option exist or would it be a possible to implement?

I tend to make maps that look good with a 1500-4000 meter visibility, and absolutely love to play on them over a local network. Playing over the internet is a different issue though and I usually have to cut it down to something a little more manageable. My next option is to release two versions but that can get confusing.
Title: Re: pregame VisbilityRange option?
Post by: Rocket on September 02, 2009, 09:59:54 PM
you mean 150-400 visibility right?

and, i believe that the visibility range is actually built into the map files.

also, some maps are made with special visibility ranges for reasons... (i think Venus in bz1)
Title: Re: pregame VisbilityRange option?
Post by: AHadley on September 03, 2009, 03:46:30 AM
No, he means 1500 to 4000. And yes, it's built into map files, but since the editor can change it it may be possible for the shell to change it. In a new patch of course.
Title: Re: pregame VisbilityRange option?
Post by: TheJamsh on September 03, 2009, 07:56:43 AM
You can change it in game with the console. nevertheless it wouldn't be hard to add some buttons to the escape menu with pre-sets that do this automatically. That seems like the best idea to me. Trouble is once changed you wouldn't be able to re-set to default, unless you knew what it was.

My advice, if youre making a map with a ridiculous visibility range (which 1500 to 4000 IS, REALLY ridiculous), then id suggest using a larger grid size.
Title: Re: pregame VisbilityRange option?
Post by: Nielk1 on September 03, 2009, 11:04:51 AM
This is a map settings. Some maps with custom DLLs make a point to reset the values often to prevent cheating.
Title: Re: pregame VisbilityRange option?
Post by: mrtwosheds on September 03, 2009, 11:54:54 AM
Clearly ScarleTomato has a very good graphics card. Attempting 1500 using my one would cause some very ugly things to occur, 4000 would not be playable even in one player mode.

QuoteDoes this option exist or would it be a possible to implement?
It would be a very bad idea, extending the visibility range is one of the lamest mp cheats there is. Dragging the whole mp game down by reducing your pc,s performance, and being able to see exactly where all the enemy are (when they cant see you) isn't a bad strategic move if you are A Deadly Veteran who is keen to strike their opponent exactly at their weakest point.

I have been there, it really sucks when you realise your not playing on a level field, Do you think a setting allowing you to reduce your enemy's visibility range would be a good idea? No. Increasing your own is no different.

[rant]
Yep been there,(1.2) listened to Unamed-Notorius-Vet cussing "noobs" for slowing the game down by having any graphics options turned on at all, only to find out that he runs with visibility range 800 when every one else is on 300 and wondering why every time they build a constructor, a team of thugs warp in to blow it away before it even gets off the recy. People like that ruined 1.2 and turned it into an elite's playground, where those who did not know and use all the tricks could not compete.[/rant]
Title: Re: pregame VisbilityRange option?
Post by: ScarleTomato on September 03, 2009, 02:20:01 PM
@nielk didn't think about custom DLLs, that's a good idea that wouldn't be that hard to implement i don't think.

@mrtwosheds the reason for making it a pre-game option is so that the server can set it to whatever and the new range propagates to ALL the players once they enter the world. Basically like they've done with "multiworld.frequency". No one-sided stuff here. The reason for it is so that the people who are able to can see the unhindered beauty of the map and the people who aren't can still participate.

@TheJamsh indeed you used to be able to but the option has been omitted in the latest patches. Don't want to use different grid sizes because i'm actually thinking about this for MPI maps, which i believe i would need at minimum a recycler variant to match the change.

btw, not actually that good of a graphics card anymore, :-P NVidia 8600 1GB ddr3
Title: Re: pregame VisbilityRange option?
Post by: mrtwosheds on September 03, 2009, 03:15:03 PM
Ok.  :-)
Maybe some experiments are required to determine what distance settings are now acceptable to the lower end in spec pc's with the newer patches. I don't think it is likely to get implemented as a pre-game setting, but we need some idea of what the game can now do and remain stable, it would be useful knowledge for map makers. Just tried some large values in the editor in the latest version and was very surprised at what it can now do there!

QuoteDon't want to use different grid sizes because i'm actually thinking about this for MPI maps, which i believe i would need at minimum a recycler variant to match the change.
All terrain owning buildings reconstructed at least. And bigger grid size is ugly.
Title: Re: pregame VisbilityRange option?
Post by: Zero Angel on September 03, 2009, 03:42:46 PM
I posted the visibilityrange 'cheat' on bz2maps.com, for everyone's benefit. I'm gonna rehash my argument when I say its acceptable because PCs at the time of BZ2's release had trouble keeping up with even a 400m visibility, its a little different. I'm pretty sure we wouldve had a decent view range in 99 when bz2 came out if we had PCs as powerful as we have now.

A >650M vis range gives you more of an advantage when it comes to tactical awareness (knowing where scavengers are, ability to place nav points and order units from greater distances), but mostly it just makes BZ2 look really good since you can actually see distant terrain. I mean if you have people running dual cores and graphics cards with >256MB of memory then the situation is much different.

Quote from: mrtwosheds on September 03, 2009, 11:54:54 AM
Clearly ScarleTomato has a very good graphics card. Attempting 1500 using my one would cause some very ugly things to occur, 4000 would not be playable even in one player mode.
It would be a very bad idea, extending the visibility range is one of the lamest mp cheats there is. Dragging the whole mp game down by reducing your pc,s performance, and being able to see exactly where all the enemy are (when they cant see you) isn't a bad strategic move if you are A Deadly Veteran who is keen to strike their opponent exactly at their weakest point.

I have been there, it really sucks when you realise your not playing on a level field, Do you think a setting allowing you to reduce your enemy's visibility range would be a good idea? No. Increasing your own is no different.

[rant]
Yep been there,(1.2) listened to Unamed-Notorius-Vet cussing "noobs" for slowing the game down by having any graphics options turned on at all, only to find out that he runs with visibility range 800 when every one else is on 300 and wondering why every time they build a constructor, a team of thugs warp in to blow it away before it even gets off the recy. People like that ruined 1.2 and turned it into an elite's playground, where those who did not know and use all the tricks could not compete.[/rant]

MYTH: Reducing your FPS makes you warpy and thus a more skilled player.

FACT: No it doesnt.

Have you ever tried dogfighting vets on ~15FPS? It sucks bigtime. No type of vet would purposely cause his FPS to drop below acceptable levels because its a stupid thing to do if you care about keeping your ship. In fact some mediocre vets who had previously been playing on a crap PC have come back with decent PCs and their skills are way better because you can see the enemy's movements smoothly rather then them just skipping all over your screen every frame. I also know this because the latest Nvidia drivers (9.3.0) are buggy with BZ2 and they cause me to drop to ~15FPS after a certain amount of time playing. I can't hit anything, but I am perfectly hittable to others.

------
Additionally, vets who are planning to go out and dogfight usually pack phantom vir, everyone knows that its more important to watch the radar moreso than what's right in front of you. Your eyes can deceive you, radar does not.
Title: Re: pregame VisbilityRange option?
Post by: Zero Angel on September 03, 2009, 03:49:32 PM
There will always be people who suck at BZ2 who blame others for their shortcomings.
Title: Re: pregame VisbilityRange option?
Post by: ScarleTomato on September 03, 2009, 04:24:01 PM
nielk you woun't happen to have the source for that custom dll you metioned do you?

or know of a method call that works in ta5? my fear is that with the console option being nixed the old dll might not work either
Title: Re: pregame VisbilityRange option?
Post by: mrtwosheds on September 03, 2009, 04:33:21 PM
QuoteHave you ever tried dogfighting vets on ~15FPS? It sucks bigtime. No type of vet would purposely cause his FPS to drop below acceptable levels because its a stupid thing to do if you care about keeping your ship.
Well thats bz2 for you, you don't have to be very good at fighting if you are the commander(though it does help!), the Notorius Vet In question, who you have played many times, did not tend to do allot of fighting back then, he would nose down vertically drive around the map or his base at full speed building up his warp, and then (he could see the other end of quarry from his base) lead his thugs in, without doing allot of fighting himself, he got the other team to chase his ghost while his thugs did the damage, the visibility range gave him the ability to do it at just the right time...I observed the conversation where he admitted altering his range, it gave him the edge he needed to keep his team on top.
Every fraction of a second counts in a game like this, seeing further than your opponents is a big advantage.

Sorry ZA I don't mean to slag of the 1.2 community, most of them are good ol boys, if you think about it, you will know exactly who I am talking about, the after game arguments almost became a tradition.
I have played the good and the bad, and lost to most of em  :-D I don't mind. But when I know someone is tipping the table, I loose interest in playing them at all.
Title: Re: pregame VisbilityRange option?
Post by: Avatar on September 03, 2009, 06:42:49 PM
Keep in mind that visibilityrange and fogrange need to be in some sort of balance... if you're going to set up some sort of shell option you might need to include both settings.

I would love flight sim like view distances in BZ2 but have run into the terrain going nuts when the grid shown exceeds my card's fill capacity.  It's good to hear that some cards out there can fill faster than BZ2 can gobble it up...  :)

-Av-
Title: Re: pregame VisbilityRange option?
Post by: Zero Angel on September 03, 2009, 08:12:31 PM
Ah so the question is to make it a client side or server side setting, if it was made. Serverside high vis range would wreak havoc on players with low end computers. Client side high vis would be no different than it is now (unless its limited to a percentage or so)

Also I think the terrain is filled by the CPU or is capped somehow. 1000M vis ranges do cause a lot of terrain to get clipped, even on new videocards.
Quote from: mrtwosheds on September 03, 2009, 04:33:21 PM
Well thats bz2 for you, you don't have to be very good at fighting if you are the commander(though it does help!), the Notorius Vet In question, who you have played many times, did not tend to do allot of fighting back then, he would nose down vertically drive around the map or his base at full speed building up his warp, and then (he could see the other end of quarry from his base) lead his thugs in, without doing allot of fighting himself, he got the other team to chase his ghost while his thugs did the damage, the visibility range gave him the ability to do it at just the right time...I observed the conversation where he admitted altering his range, it gave him the edge he needed to keep his team on top.
Every fraction of a second counts in a game like this, seeing further than your opponents is a big advantage.

Sorry ZA I don't mean to slag of the 1.2 community, most of them are good ol boys, if you think about it, you will know exactly who I am talking about, the after game arguments almost became a tradition.
I have played the good and the bad, and lost to most of em  :-D I don't mind. But when I know someone is tipping the table, I loose interest in playing them at all.
Yeah, I know of a few players like this. Slyifer, for example, got good at guerilla tactics through lots of practice on DM: Titan. Generally my tactic for dealing with these types of players is

1) If you are in range to hit him, hit him enough to spook him or at least enough to kill him if he keeps fighting
2) If he runs, let him fly around while you resume hitting pools
3) Wait for your opportunity (ie: if he is cornered) and hit him with everything you have

If you have a good self-discipline in game, and are with a team that has good self-discipline, then these kinds of players aren't a big problem.
Title: Re: pregame VisbilityRange option?
Post by: Nielk1 on September 03, 2009, 09:29:56 PM
ZTV simply executes a shell command every game tick. You can do the same to force any setting. Now, doing it more dynamically, like making it not hard coded into the DLL but the value into the map, is a bit tougher, but still simple, but not done yet since there has been no need.

Having Ivars from the server set the range every tick would be very doable BTW. That would force everyone to what the server chose. This is not a good idea though as it can be used by some asshat server to be really annoying.
Title: Re: pregame VisbilityRange option?
Post by: ScarleTomato on September 03, 2009, 09:54:07 PM
hopefully it wouldn't need to be done on every cycle. I'm thinking something more along the lines of creating a couple of variables whose values are given from some ivars set before game. Then each time someone enters the world the visual and fog ranges get changed from the defaults to the variables.

Under "extra options" have two buttons. one sets the visualrange and fogrange to something around 500 and the second sets them to around 1000-1500 depending on the map

edit: i haven't really dabbled too much in the dlls but it looks like i would set the vars initially under the if(!didinit){} set under Setup(). It looks like this part might only be executed by the server though, so i don't think i want to actually reset the ranges there. I thought i had seen a while ago two different setup methods one for the server and one for the client but i can't find anything like that in MPInstant. The only place I see to put it would be in Execute() or DoGenericStategy() although that would make it reset every tick. I don't see where Execute is called from, is that called from the game itself?

edit: what is StratInstant? Is that used at all when using MPInstant? I think I'd rather put it in with the Init() right after the player gets deleted and remade. I think I'm gonna have to go play around a little bit and see how these dlls step along.
Title: Re: pregame VisbilityRange option?
Post by: TheJamsh on September 04, 2009, 01:26:44 AM
You will also need to adjust the skydome settings depending on the viewdistance. increasing/decreasing the fog/visibility will often leave you with a really ugly semicircle of solid fog at the base of youre skydome if you dont adjust its radius.

Any view distances over 800 make the game to warpy for me to enjoy to be honest. Terrain is now the main frame-cruncher in DX9 (besides lights and local fog). The thing is not everyone has a ridiculous machine, or the time and money lying around to get one. Large grids look great if you can get them right, but buildings are always going to be a problem.

EPIC has done well with it anyway, its just a lot harder to make it look right.
Title: Re: pregame VisbilityRange option?
Post by: ScarleTomato on September 04, 2009, 08:37:27 AM
took me a while to find out what you were talking about :P. you mean when the dome radius is larger than the visibility range? That is a good point but for now i was just thinking of leaving the skydome optimized for the low setting. That way the worst it gives me is the faded ring of fog if i'm up high enough.
http://stu.cbu.edu/~myarbrou/Images/flat2000.PNG

I might try later on to set the sky settings as well with the preset buttons, it probably wouldn't be that hard to do. For the moment though i'm still trying to figure out how to set the range with the dll.
Title: Re: pregame VisbilityRange option?
Post by: TheJamsh on September 04, 2009, 12:52:10 PM
The map looks cool, but if i were you id use a larger texture on the ground (say 1024x1024 or larger), and maybe make the water tiles larger so there arnt so many of them? It can look very ugly from a distance, especially when it suffers aliasing.

Kudos for the sky and props though, sky flat in particular, i really like the colours you used in it.

The only problem with maps like that is that they make everything look so pathetic. Like weapons which range out at 100M and youre tank feels SOOO slow.
Title: Re: pregame VisbilityRange option?
Post by: ScarleTomato on September 04, 2009, 02:11:23 PM
i agree the sky looks great :P can't take credit for it though. the map is Scrap Valley 2 from FE. Just using it as an example sky. If i can figure out how to get the dll to work i was thinking about converting it over to 1.3. If i ever do i'll probably look into messing around with the tiling.
Title: Re: pregame VisbilityRange option?
Post by: ScarleTomato on September 05, 2009, 08:46:11 AM
alright, i've gotten a build that will change the visual and fog ranges based on an ivar. It works great with one person, but when someone else joins, it gamestates and goes back to the defaults. It's looking more and more like ill need to set it at every tick which i hate to do cause it seems like such a waste. Anyone know if theres a part of MPinstant that runs after a join? Or if theres a way i can change the actual visrange value so that when i gamestate i just default to it?
Title: Re: pregame VisbilityRange option?
Post by: ScarleTomato on September 05, 2009, 07:06:26 PM
well, i found out something that i hadn't noticed before. It does fine when you start up the map, but as soon as a second player enters the lobby, multiplayer rendering kicks in. This isn't actually that bad for the terrain, but the objects seem to have a limit of about 600 meters where anything further just doesn't show.

here's the map if anyone want's to play around with it. It should work on a clean ta5 install
http://stu.cbu.edu/~myarbrou/extBZroot.zip

tell me what you think, it it worth the trouble for me to include that option on more maps?


edit: i think that problem might be that the bridges need LODs for the greater ranges, right now no LODs are defined. Ill check that out later.
Title: Re: pregame VisbilityRange option?
Post by: Red Devil on September 05, 2009, 08:24:08 PM
From Gameprefs.ini:

// Values to allow the user to pull in (but never extend) the
// visibility, fog ranges on maps. If the values below are under the
// values set by a map, they are used. If they are above, they are
// ignored. These settings don't affect the Editor build, where you'd
// want higher draw distances.
// Note: also adjustable with "gameprefs.MaxVisibility", and similar
MaxVisibility = 99999.0
MinFogRange = 99999.0
MaxFogRange = 99999.0

// Multiplier applied to default visibility, fog ranges on maps. This
// value must be between 0.1 (can see only 10% as far as normal) and
// 1.0 (normal).  This multiplier is applied before the maxes are
// applies above, and may be more useful in trimming view distances.
VisibilityMult = 1.0
Title: Re: pregame VisbilityRange option?
Post by: Zero Angel on September 30, 2009, 04:34:37 PM
Quote from: Red Devil on September 05, 2009, 08:24:08 PM
From Gameprefs.ini:

// Values to allow the user to pull in (but never extend) the
// visibility, fog ranges on maps. If the values below are under the
// values set by a map, they are used. If they are above, they are
// ignored. These settings don't affect the Editor build, where you'd
// want higher draw distances.
// Note: also adjustable with "gameprefs.MaxVisibility", and similar
MaxVisibility = 99999.0
MinFogRange = 99999.0
MaxFogRange = 99999.0

// Multiplier applied to default visibility, fog ranges on maps. This
// value must be between 0.1 (can see only 10% as far as normal) and
// 1.0 (normal).  This multiplier is applied before the maxes are
// applies above, and may be more useful in trimming view distances.
VisibilityMult = 1.0

I think with this option, its now a good idea for mappers to increase the visibilityrange to something decent, like 500m
Title: Re: pregame VisbilityRange option?
Post by: TheJamsh on October 01, 2009, 01:03:08 AM
The LODS shouldn't make a difference, as i dont think there is a max range for them... Only the distance from your craft at which they are swapped around.
Title: Re: pregame VisbilityRange option?
Post by: ScarleTomato on October 01, 2009, 08:07:22 AM
meh, not that worried about it now, i'm just gonna keep making high range maps and give a notice on how to decrease the range in localprefs.