Jump point and .system visibility under python control

For collaboration on developing the mod capabilities of VS; request new features, report bugs, or suggest improvements

Moderator: Mod Contributor

Post Reply
chuck_starchaser
Elite
Elite
Posts: 8014
Joined: Fri Sep 05, 2003 4:03 am
Location: Montreal
Contact:

Jump point and .system visibility under python control

Post by chuck_starchaser »

For the longest time, Privateer Remake and Parallel Universe have been needing this feature; and it becomes more pressing by the day.

Unlike Vegastrike, in the WC universe, jump points are NOT visible to the naked eye. The graphical representations are HUD projections; --or should be--; but the VS engine cannot properly represent the fact.

In the original Privateer game, you needed to buy quadrant maps in order to travel to other quadrants. If you didn't buy the maps, you could not browse them in the nav map.

Secondly, there were "hidden jump points" (not "hidden" in any physical sense, but simply off-the-maps); and until someone entered their coordinates into your ship's computer, you would not see the jump points at all.

Furthermore, we at Parallel Universe would like to incorporate all the rest of the huge WC universe, but we need means by which to lock portions of it out until the player can unlock them by completing certain missions.

All that this would require, really, is bit array in the save file, with one bit representing each system... --well, how about Hexadecimally coded, so it stays officially "text"? If the bit is off, the system is invisible. When the bit is turned on via python, the system (and all jump points leading to it) become visible.

If not the feature itself, pointers about what files to work and stuff would be appreciated. We got a couple of good coders now at the PU forum. ;-)
chuck_starchaser
Elite
Elite
Posts: 8014
Joined: Fri Sep 05, 2003 4:03 am
Location: Montreal
Contact:

Post by chuck_starchaser »

I don't know if I'm just imagining this or once saw something along the lines of a per-system "visited" flag. If so, the "visible" flag could piggy-back on that code.
SyntaxVorlon
Explorer
Explorer
Posts: 13
Joined: Sat Jan 26, 2008 5:45 am
Location: Ohio

Post by SyntaxVorlon »

Actually what you might want to do is put flags in the configuration file that switches off certain graphical attributes which could then get toggled by a Python script easily enough.
ace123
Lead Network Developer
Lead Network Developer
Posts: 2560
Joined: Sun Jan 12, 2003 9:13 am
Location: Palo Alto CA
Contact:

Post by ace123 »

I believe you are right about that, and I think visited is when the save variable you are talking about is set to 1, and visible is set to 2.

I believe Vega Strike sets all neighboring systems to visible when you jump into it... if not, there is a config option that makes every system act as visible.
(for example, in the Vega Strike universe, all of the jump points out of a system might be very easy to find with a ship's scanner, so it is only necessary to visit a system, whereas in privateer you have to buy maps).

Now, the question is how do we make jump points invisible.
Part of the problem is that jump points are handled as units, so we would need some way to allow AI players to target and interact with them, but prevent the players from targetting them or seeing them at all.

A preliminary way would be simply to prevent targetting them, and leave all else in tact.

However, it would still be possible to SPEC there and jump. It would be better to make them not render, prevent targetting and also prevent jumping through them.

This should be simple to do, perhaps based on a config option... it might also be necessary to cache this information somewhere.

As much as I would like to do it in python, it doesn't control rendering or jumping at the moment... and removing them altogether from systems is not the best idea in multiplayer since some players might have a map and others might not...
Neskiairti
Confed Special Operative
Confed Special Operative
Posts: 334
Joined: Thu Jan 11, 2007 4:10 am

Post by Neskiairti »

well remove the render.. and make a distance to target? so you can detect them once you come in to range of them, but otherwise your scanners will never know they are there (and space is VAST) or you could buy a map.. :P they have to find the jump points first time around you know.. so allow your scanners to detect them.
loki1950
The Shepherd
Posts: 5799
Joined: Fri May 13, 2005 8:37 pm
Location: Ottawa
Contact:

Post by loki1950 »

This is not for the vegastrike universe different history and fictional reasons for jump points in the WC universe you need super-computers to analyze survey data to map the points and the jump points are only shown on your HUD if you have a map that identifies it .

Enjoy the Choice :)
my box::HP Envy i5-6400 @2Q70GHzx4 8 Gb ram/1 Tb(Win10 64)/3 Tb Mint 19.2/GTX745 4Gb acer S243HL K222HQL
Q8200/Asus P5QDLX/8 Gb ram/WD 2Tb 2-500 G HD/GF GT640 2Gb Mint 17.3 64 bit Win 10 32 bit acer and Lenovo ideapad 320-15ARB Win 10/Mint 19.2
Neskiairti
Confed Special Operative
Confed Special Operative
Posts: 334
Joined: Thu Jan 11, 2007 4:10 am

Post by Neskiairti »

oh i know.. i found vegastrike through privateer remake (was a fan of privateer back in the day)
chuck_starchaser
Elite
Elite
Posts: 8014
Joined: Fri Sep 05, 2003 4:03 am
Location: Montreal
Contact:

Post by chuck_starchaser »

ace123 wrote:Now, the question is how do we make jump points invisible.
Part of the problem is that jump points are handled as units, so we would need some way to allow AI players to target and interact with them, but prevent the players from targetting them or seeing them at all.
Just an evil thought... perhaps we could give jump points the ability to cloak? :D
Dilloh
Elite Hunter
Elite Hunter
Posts: 1149
Joined: Mon Aug 14, 2006 3:56 pm
Location: Black Forest, Germany

Post by Dilloh »

Funny, the same thought came up my mind at the time ace mentioned that jump points are handled as units. Unfortunately, we cannot allow the jump points to have an AI as they'd cloak and decloak all the time, and besides that no unit I ever gave a cloak made use of it (at least in PR1.2).

Ace, I cannot speak for chuck, but I see no need to make jump points invisible - I'd be happy if they didn't exist at all and would be added to the game at a certain stage of the campaign, say like it happens with the Derelict Base. Do you think this is possible via python - maybe by modifing the derelict mission script?
ace123
Lead Network Developer
Lead Network Developer
Posts: 2560
Joined: Sun Jan 12, 2003 9:13 am
Location: Palo Alto CA
Contact:

Post by ace123 »

http://vegastrike.sourceforge.net/forum ... 2831#92831
me wrote:Also nice to have, and I don't think this will prove impossible since all the information is there. We'll have to figure something out so that it doesn't have to check a save variable each and every frame.

Maybe only display jump points if you have targetted them, and then combine that with checking for the save variable upon selecting a target, and upon attempting to activate the jump drive.

Only displaying them when they are targetted might actually prove to be a neat effect.
Creating and destroying them was how we used to do it in VS 0.2.9, however in a land of respawning, loading and multiplayer, creating and destroying them all the time might lead to weird issues where they just don't exist when they should unless the python scripts are extremely carefully coded.

True, cloaking them is a possibility, however it would still lead to odd issues with cloaking/decloaking as you were saying.
chuck_starchaser
Elite
Elite
Posts: 8014
Joined: Fri Sep 05, 2003 4:03 am
Location: Montreal
Contact:

Post by chuck_starchaser »

Well, if I'm understanding correctly that one can change the faction of systems and jump points, we could set up a Darlok faction with an AI that always, unconditionally cloaks. We make the jump points that shouldn't be visible belong to the Darlok, and pooff! gone they are :)
Post Reply