Versión en inglés |
Exploremap |
|
**Explore Map**, by Thomas Voigt
Another PDK spinoff!
Current version: v1.0 (first public release)
Explore Map will create individual xyplan.dat files for each specified
player. Explore map will 'hide' planets that the player has not yet
'seen'. Making universe exploration more inventive a scenerio. As players
fly out into space they will 'see' new planets. These are updated to each
player's personal xyplan??.dat file.
PLAYERS:
Your host should send you a file, XYPLAN??.DAT (ie; xyplan1.dat - player1's
file, xyplan10.dat - player10's file) with _every_new_rst_. Copy this file
into your Main vgap dir as 'xyplan.dat'. (backup any maps that you need to
save for different games)
If your host uses PHOST v2.5 or later then you can share all planets you
ever scanned with your allies. Just send a comman processor message
(i.e. a message to yourself) containing
"xtern SharePlanets <players>"
(e.g. "xtern SharePlanets 2 4 11" will share all your planets with players 2,
4 and 11). The process is not automatic for later turns, you just tell these
players all planets you currently know. This information is not passed by
alliances (i.e. if player 2 is allied with player 6 then only player 2 will
get these planets, not player 6). Of course nothing prevents any player
from passing these info with xtern commands.
If you have allow a vision alliance to a player then he'll get all planets
you scanned (_not_ planets you own). If you allow a planetary alliance then
he'll get all planets you own (_not_ the planets you scan). Clearly, if you
allow both alliances then your ally gets all planets you know about.
That's it! (See "NOTES" and "PROBLEMS" below)
HOSTS:
Place Explmap.exe in your main vgap dir.
Place EXPLMAP.CFG in the host dir and edit it if you like.
ExploreMap will work with any HOST version and PHOST versions later than
v2.5.
Call:
Run ExplMap either after hosting (preferred), or after the Phost -2 phase.
You must run Explmap after each hosting, and distribute the output files to
the players with each new rst (as the maps will update due to exploration).
explmap [options] [data_dir] [root_dir]
where:
data_dir is the path of your host data ie; c:\vgap\game1
root_dir is the path of your main vgap dir ie; c:\vgap
Valid options :
-h ExploreMap will print a help screen and exit.
-v ExploreMap will print the version info and exit.
-f<filename> ExploreMap will use the config file <filename>
Explmap will create XYPLAN??.DAT files in the host data-dir.
Send the appropriate file to each player (xyplan1.dat - player1, xyplan10.dat
- player10 ...) after EACH hosting.
Once a planet is scanned, it is permanently saved to the player's xyplan??.dat
(explmap.hst is the history file)
Explmap writes an XYPLAN??.DAT for each player. Insure that you send these maps
to the appropriate player. XYPLAN1.DAT is player1's map, XYPLAN11.DAT is
player11's map...
CONFIGURING EXPLMAP
===================
Explmap uses the config file EXPLMAP.CFG to read its config. The following
options are available :
- ScanRanges : the scan range for each race. The scan range is the
maximum range how far the scanners of each race range.
- DetectRanges: If we don't use random scanning then we'll detect all planets
within scanrange. However, if we don't then we can set a range in which
planets are always detected. This is the DetectRanges config.
- DefenseBonusPercent: This option defines the defense rates of each race. The
values are the percentage at which the enemy scan range is multiplied.
If a race has a defense rate of 60% then their planets can only be
detected if the enemy is closer than 40% of his scan range.
- ShareAlliedPlanets: The "ShareAlliedPlanets" option will add the position
of all allied planets to the map if the planetary level of the alliance is
enabled.
- ShareScannedPlanets: The "ShareScannedPlanets" option will add the position
of all planets scanned by an ally to the map if the vision level of the
alliance is enabled.
- UseRandomScanning : This option decides whether all planets within scan
range are detected or not. If you set "UseRandomScanning" to "no" then
all planets in scan range will be detected. If you set it to "Yes"
then ExploreMap will do a random roll to decide whether the planet
is scanned or not.
To determine the chances of scanning a planet, let's assume this :
Range = ScanRange *(100-DefenseBonus)/100 (maximum scan range)
Vision = DetectRange*(100-DefenseBonus)/100 (distance at which you always
scan the planet)
Chances for detecting a planet are
100% if the distance is smaller than Vision
0% if the distance is greater than Range
100% * ((Range-Distance)/(Range-Vision))^2 if Vision <= Distance <= Range
Example :
If a race has a scan range of 200 ly and a detect range of 100 ly,
then the chances for detecting an unowned planet at 150ly distance are 25%.
If the planet is 175 ly away then the chance is 6.25%.
All planets within 100 lys will be detected, and no planets further than
200 ly will be detected.
However, if the planet is owned by a a race with 40% defense bonus then
the range for always detecting the planet decreases to 60 ly. The maximum
detection range is 120 ly, the chance for detecting a planet at 90 ly is
25%.
Each ship will scan for you, doing its own random roll, so if you scan with
several ships then your chances to scan a planet increase.
PROBLEMS
========
--ExplMap should dump the unknown planets near 0,0 or 10000,10000 (some extreme
position).
Hosts should tell their players that they shouldn't try to fly to these
planets ! The planets are NOT really there, in reality they are somewhere
else on the map, but ExploreMap has to put them somewhere on the player
maps to keep the checksums intact. For technical reasons they can't be
placed somewhere else. In most cases these planets will be far away from
the edges of the map, but you never know what happens if you use very
unusual maps.
Attempts to colonize these planets might lead to yellow or red alerts with
PHOST and CHECK.
- You should avoid using EXPLMAP with maps that have planets at very low
coordinates (0-300). Otherwise planets that are not scanned and got moved
to the outside might seem to be "normal" planets.
- EXPLMAP generates only a checksum over the X coordinates, as most versions
of PLANETS.EXE (and WinPlan) do not check the Y coordinates. However, I've
heard that there are versions out who do check the Y coordinates.
Therefore EXPLMAP will give you a warning if the checksum over the Y
coordinates is wrong. Usually you can safely ignore this warning.
- There is a problem with Crystal Ball v2.35 or earlier. Crystal Ball
copies the map into its own data files on the very first run. Therefore
CBall won't show any planets that you scanned after running CBall for the
first time. The only way to fix this is to delete planet.dbv in your CBall
data directory. You'll lose the information about planets that you orbited
earlier (and don't own now), but the minefield data and ship data remains
intact.
I've heard that there are severe problems with more recent versions of
Crystal Ball (v2.4 ?). So if it doesn't work then it's probably not your
fault.
NOTES:
--I tested ExplMap with WinPlan, Vplread, EchoView, Crystal Ball (see above)
and Informer, all seemed to work. If your favorite util doesn't like ExplMap
then either bug the author or switch to one of the 5 programs above.
--ExplMap's scan range does not effect the normal Visual/Sensor ranges.
That means if your sensor scan range is bigger than the range you
use for ExplMap then your players might get sensor sweeps from planets
they haven't scanned.
--ExplMap was written by Thomas Voigt, and is freeware.
You should use it with the understanding that NO WARRANTEE is given. If
something nasty happens, so be it -- you're using ExplMap at your own risk!
--This confusing doc was written by Gordy Pine <gpine@oz.net>
p.s. My thanks to Thomas for yet another great util!
Version
=======
This is v1.0, first public release.
Bug history :
v0.4 (beta) : ExplMap wouldn't work if alliances were disabled in the
ExplMap config.
Please report all bugs + problems to me. Have fun !
Thomas (spock@berlin.snafu.de)
#
# ExploreMap v1.0 config file
#
# Lines starting with a '#' are considered as comments
# First option is the scan range for each race. The scan range is the
# maximum range how far the scanners of each race range.
ScanRanges = 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100
# If we don't use random scanning then we'll detect all planets within
# scanrange. However, if we don't then we can set a range in which planets
# are always detected. This is the DetectRanges config.
DetectRanges = 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85
# The second option defines the defense rates of each race. The values are
# the percentage at which the enemy scan range is multiplied.
# If a race has a defense rate of 60% then their planets can only be
# detected if the enemy is closer than 40% of his scan range.
#
# To make it a formula : Planets of race A are undetectable for race B if
# ScanRange_Race_B * (100-DefenseBonusPercent_Race_A) / 100 > Distance
DefenseBonusPercent = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
# The next 2 options deal with PHOST alliances. They won't work in
# HOST games.
# The "ShareAlliedPlanets" option will add the position of all allied
# planets to the map if the planetary level of the alliance is
# enabled.
ShareAlliedPlanets = Yes
# The "ShareScannedPlanets" option will add the position of all planets
# scanned by an ally to the map if the vision level of the alliance is
# enabled.
ShareScannedPlanets = Yes
# The next option decides whether all planets within scan range
# are detected or not. If you set "UseRandomScanning" to "no" then
# all planets in scan range will be detected. If you set it to "Yes"
# then ExploreMap will do a random roll to decide whether the planet
# is scanned or not. For details see EXPLMAP.DOC
UseRandomScanning = Yes