A Primate's Introduction to Mazes
or
How to Make Some Unique Maps and Games
Erratum: if scripting Wormholes, see Post Script at end of article for information about a potential problem and how to avoid it - February 2004
From the Desk of Beezle
Arch Rodent
Sometime Friend of the Primates
Vice President of CleverMaps*
A Division of Scavengers Inc.
It is well known among the Scavengers that the Big Lumbering Primates are not as good as the Scavenger Race at putting odd things together to make surprising combinations. And Primates are not nearly as good at Mazes as those of us who are privileged to have rats in our distant evolutionary tree.
So I thought I would put together this list of observations on some "Things" (wormholes and jumpgates mostly) in VGAP4 and how these Things can be used to create unique features in scripted games.
Some of this is well known and some obvious but I want to make sure we have all the same basic understanding before getting to the complicated stuff and I encourage readers to correct any errors they see or add their thoughts.
I can be reached by emailing Drew Sullivan, the Big Lumbering Primate who acts as my social secretary at:
diealtekoenig
at
hotmail.com
Components
The main (but not only) components I willl discuss are Jumpgates and Wormholes.
Jumpgates (JG)
A Jumpgate has an ID, a name and a code.
The ID number is the unique, never reused number each object (ship, planet, pod, minefield etc. etc. etc.) is given in a VGAP4 game. You can't directly assign ID numbers to objects in a script but they get their ID number based on the order in which the objects are listed in the script. If you list an object 83rd in the script it will be ID # 83, and more germanely objects listed earlier in the script will have lower ID numbers. Thus you can control the order of their IDs. And it's the order more than the absolute value of the ID that matters here.
In this discussion when I say "JGs 21, 22, 23 and 24" I will mean "JGs whose ID #s are 21, 22, 23 and 24.
The Code is the 3 symbols you need in a Command Code (CCode) slot of your ship to use the JG. For JGs spontaneously generated by the game the name will be == its code. That's how most players determine the code of a JG is by scanning it and looking at the JG's name. The name need not be identical to the code in a scripted JG, however. In a scripted game you can give the JG "any" name and "any" code (see "any" below, a larger subject than it seem).
If you choose a name different from the Code you might think the code is hidden but one can see the code in the Data Pad (Usually. Sort of. More or less. See below)
For the effects of giving many JGs the same code, see "Precedence" below.
JGs have a stealth number. I have used as high as +50,000 and as low as -50,000. A very low Stealth number will create a JG that cannot be seen on scanners. If a JG is never scanned one cannot look at its name nor can one call up its Data Pad to look at its code. A high absolute value for Stealth (+50,000) will make a JG easy to see even from a distance.
You can assign a JG (from a script and with the appropriate word processor) a JG code composed of ASCII characters that can't be typed directly. "ASCII 255, ASCII 255, ASCII255" (ie ASCII decimal code 255 == ASCII Hexadecimal code FF for each of the 3 characters) for example. One way to enter these from the keyboard first hold down the "Alt" key then using the number pad (NOT the numbers across the top of the keyboard) enter the 3 numbers of the Ascii code you wish, then release the Alt key. You need to press keys for 3 numbers even if the ASCII code is lower than 100. ASCII 1 has to be entered as Alt 001 for example. This will lead to "goofy looking" symbols when you look at the code of the JG in the datapad. Some of these are decipherable but some are not (they may look like blanks or other codes).
Or you can remap your keyboard to send "Hex FF" when you press "Q" or whatever.
You can use the same Alt-numpad trick to enter some unusual ASCII codes in the Command Codes of ships too.
HOWEVER:
a) the client doesn't seem to accept all ASCII codes. You may enter ASCII 255 but what appears in the CCode will have been "translated" to something else. And you can't read all ASCII codes from looking at the Data Pad because some ASCII codes have characters that look identical. ASCII 127, 129, 142 and some others all show up as empty boxes for example.
Example:
the script has a line
code = "ABC"
You can make that into
code = "±≥⌠"
(That is 241, 242 and 244. It should look like a plus/minus sign, a greater than or equals sign and the top half of an integration symbol but depending on your word processor it may appear diffently)
code = "[1]
"
Is 001, 002 and 003. Those all look the same to me (little boxes). Then when I saved and opened this file in MS Word they looked like other odd symbols. Such are the mysteries of Microsoft Word. It keeps changing fonts for these odd characters.
Actually in practice I enter the ASCII codes directly from a hex editor to bypass Word. It's safer.
code = " "
Looks like 3 blanks but is really 255, spacebar and 255. It is "hard" to tell that from "spacebar spacebar spacebar"
But to quote Vince Lombardi, "impossible" is only a description of one particular level of difficulty, and "hard" is not even "impossible". If you are a truly brilliant and resourceful computer expert (I am not. Khobrah worked this bit out and I would never have figured out the details) you can get around this.
One can tell which of those "Blanks" are which ASCII code in the Data Pad and one can send those odd higher ASCII codes to the CCode slots. But when I say brilliant and resourceful I mean it. Simple things (remapping the output of the client so it goes to a cache or other program rather than to the screen, looking at the result and then remapping the keyboard to send the character to the CCode will not work. Heck I can think of simple things like that. You have to do way more to get around this problem, but it is possible.
I don't want to get into the details but from a scriptor's point of view the only way to hide a JG's code securely from the player with complete security is to make the JG completely invisible (very low stealth so even a Tachyon Scanner won't see it). For most purposes just using the higher ASCII Codes will suffice for most purposes and allows you to make the JG visible but the code invisible.
Making codes completely unknowable has its uses as discussed below.
The code does have to be 3 symbols long in a script, by the way. If you script a JG to have code "ABCD" or "A" or "" (null character string) or any text string not 3 characters long the Master will ignore that line and assign a random 3 letters A-Z.
Wormholes (WH)
A wormhole has a name and a code (a 9 digit code. eg "24567903"). "Natural" wormholes come as pairs sharing theidentical code. If you enter one you go to the other and vice versa. In a scripted game you can assign these codes so you can be more creative.
Wormholes do NOT send you to the exit-wormhole by the way, but to a spot at an x and y 7 up and 7 to the right of the WH. (if the exiting WH is at x,y = 3000,2000 you pop out at 3007,2007).
Common Properties of WHs and JGs
WHs and JGs both have a stealth number and can be made very visible or completely invisible.
WHs and JGs can be given creative, helpful or deceptive names.
WHs and JGs need not sit stationary at the same x,y but can be assigned a speed and waypoint!
This speed and waypoint a constant written into the script ("25") or a randomized constant - "DICE (12-28)". The randomization occurs only once, at run of Master. It can't be changed during the course of the game (at least I can't figure out how to do that). So if you randomize a JGs speed as DICE (12-28) the Master may, for a given game, come up with speed = 22 LY/turn but the speed will stay 22 LY/turn for the entire game.
As moving WHs/JGs travel across the map, the data pad gives their true waypoint and true speed, but gives an incorrect x,y. The Datapad lists the x,y at which the JG or WH began the game on 1, not it's current x,y. The map will show it's true location. (I am writing this at the time of the "1 LY bug" where some objects round their true location and their apparent map location slightly differently. That bug may well be fixed by the time you are reading this but the map shows the JG/WH "at or within 1 LY" of where it really is.)
In passing, Buoys can also be given speed and waypoint orders but do not seem to move and when you put values in here other than the defaults the Master sends an error message.
When a JG moves it moves before the JG movement.
Example: A JG starts a turn at (500,400) and is moving dues south at 10 LY/turn. It will end that turn at (500,390). So if you use JG movement to go to that JG you come out at the place where the JG ends the turn (500,390). When going TO a moving JG you will miss if you navigate to it by setting a waypoint. You will end the turn where the JG began, not ended the turn. This is exactly like setting a waypoint at a moving ship where likewise you will go where the ship began, not ends, the turn.
You can use Escort to "chase" a moving JG and be sure to go through it. I haven't explicitly tested the order of WH movement but I am pretty sure it will be the same and would suggest setting "Escort" to be sure you get to a moving WH. The WHs and JGs seem to move during the normal 200 ticks of movement as far as I can tell
(Note in passing that:
Moving JGs and WHs are not generally known.
JGs and WHs can be invisible and only known to exist because you tell the players (explicitly or by clues left in the game) where they are.
You can tell the player(s) a WH is maybe at 2000,2500 but in fact have a whole set of WHs, each with a different code and exit, each spread out and moving at the speed == the spacing (1000 LY apart and moving at 1000 LY/turn) it will seem to the player that he is hitting "the same" JG or WH when he is hitting a different JG/WH every turn. If every 4th WH actually went someplace else . . .
Nah, your Primates. You would never be that cruel.
Sadly you don't have a lot of room for such shenannigans on the map. The map has a max size of about 30,000 LY (x and y both about 0 to 30,000 (probably 2^15) and you can't have an object start at a negative x,y). So such a 'chain of WHs' can only be so long.
JGs and WHs have "mass" as a scriptable property but I can't figure out what that does. JGs/WHs cannot be towed even with low mass. Low Mass does not prevent large (or small) ships from entering or leaving WHs or JGs.
WHs and JGs have "life" and "energy" but again what do Life and Energy do for a WH/JG. I can't get either to vanish after a few turns by scripting them with low Life or Energy.
Precedence:
Complicated.
Oh, you want to know more?
JG Precedence:
Since you can assign a scripted JG any code you wish, you can assign the same code to multiple JGs. If you assign code "ABC" to all 4 JGs with IDs 21, 22, 23, and 24 then any ship entering any JG (including 21-24 and including any other JG with a different ID and code) will go to the JG with the matching code and the GREATEST ID number (JG 24 in this case).
Note that this means there is no way to access JG 23 so long as JG 24 exists. However there is a device (Anti-Matter Maul) that can destroy JGs so if you have an Antimatter Maul you can use code ABC to go to JG 24 (the highest in the ID hierarchy), destroy JG 24, move to another JG (since JG24 no longer exists you can't use it) and then with code "ABC" still set in your Command Codes finally access JG 23. You can obviously make this chain as long as you wish.
Note that "JG Busting" is a little risky for the player. He has to blow up the JG he knows to exist (by going to it) in order to see if that unmasks another, lower ID JG with the same code. Once he blows up the first JG there is no putting it back. If you want your players to follow such actions you should script in or give in the intial situation briefing the clues as to what to do in such situations.
This means that
a) In a game with no race capable of building a ship mounting an AM maul you can make JGs that can never be accessed.
b) In a game with an AM Maul players can change where code ABC (or whatever) takes one by smashing successive JGs to "unmask" lower ID JGs with the same code
c) In a game with no AM Maul possible on the native hulls of any played race, the game designer can still add a ship with this device, perhaps in a hidden or trapped location.
Wormhole Precedence:
As I said you can script a game with 3, 4 or many wormholes all with the same code, say "111111111". If you enter any one of these you will go to the WH with the LOWEST ID number excluding the wormhole where you start.
If WH 21, 22, 23, 24 and 25 all have code "111111111" then entering 23, 24 or 25 takes you to 21. But 21 takes you to 22 (22 is the lowest ID not including the ID 21 of the wormhole where you started) and 22 takes you back to 21. (If 21 took you to 21, the lowest ID wormhole then pairs wouldn't work properly. See why?)
If 2 wormholes are at ==xy and you end a turn there you will enter the WH with the lowest ID. So if you have 2 or more WH pairs all lead to the same point (all "entering" WHs have the other member of their pair at the same xy as all the other pairs) you can't go back to "your" WH from the other end but only back to the partner of the WH with the lowest ID. You the scriptor could put that partner right at that same spot or at some other interesting location. You can chain such WH sets together make a whole series of one-way gates this way.
If 2 JGs are at the same exiting xy you go through one of them (can't tell which) to the JG whose code you have in your CCodes. There can be many JGs at your arrival point and that won't affect things.
If you have several JG codes in your CCodes (ABC, ABD and ABE are all valid JG codes and I have all three of those in my 3 CCode slots) I think from studies I did a few months ago left most CCode (the "first" CCode) has precedence over the middle code and the middle code over the last/right most code as I recall studies done some months ago.
Note the key differences between wormholes and JGs:
WHs with identical codes take you to the lowest ID, JGs with identical codes to the highest ID.
JGs will take you back to themselves if you enter their code (and if they are the highest ID with that code). In other words if I am sitting at JG 24, code "ABC" and there is no JG with code "ABC" that has a higher ID than 24, I will go from JG 24 to JG 24 that turn. Check your log to confirm this. This has a useful gimmick associated with it.
WHs will NOT take you to themselves but to the WH with the same code and the lowest ID excluding their own.
WHs do not leave you right at the destination WH but offset you be x+7, y+7 relative to the destination WH. JGs, however, leave you right at the destination JG.
JGs can be created and can be destroyed during the game by players with appropriate ship devices. WHs can never be created nor destroyed (But I am working on creative ways of destoying or at least masking them i.e. turning them off during the game. A work in progress)
You can script a hundred JGs (easily) to prevent someone from AM Mauling ALL the JGs with higher IDs by having too many for this to be practical. I.e if you had to kill 1000 that would take 100 turns if you had 10 ships with AM Mauls.
Precedence of WHs and JGs relative to each other:
You can only go through 1 WH/turn even if another WH is at the exit (the +7/+7 Offset) of the first WH. I.e you don't cascade through WH after WH.
If a JG and WH are at the same xy and you go there in normal or hyp movement (haven't tested Chunneling but since it is before normal movement it will likely be the same) with a valid code for any OTHER JG, you go through the JG. If you have no valid JG code you go through the WH. If you come IN to a JG that is at the same x,y as a WH that WH doesn't affect you that turn. I.e. going through a JG makes you immune to the WH at the spot where you come out of the destination JG.
But if you go to a JG with the code of that very JG itself in your code you go from the JG to itself (per your log. Look at the log when you do this) then fall through the WH at that same x,y.
That is the only effect I have ever been able to find of the odd fact that a JG will send you to itself every turn if you sit at it with its code in your CCode.
Other Components:
As other components you can add ships, buoys and other objects that suit the plot of the game.
Useful ships to script would be ones belonging to a non-played race but containing either a device not otherwise available in the game. For example have an abandoned ship with an Anti-Matter Maul and no crew. Leave it with severe damage and no repair units but if located, boarded and repaired it can be the only way in the game (the game being designed with no other race included that can build a ship mounting the A-M Maul) to destroy a high ID JG so a lower ID JG with the same code can finally be accessed.
Or a ship with the only JG building device in the game.
Or a phenomenally powerful ship guarding a hidden, goal JG. A Slayer with only Ord weapons and with a small amount of Ord, only enough for a few shots is interesting. It would kill the first ship of first fleet to come through to that part of the map but would then be out of Ord and the second time you come through you would survive. Siren Haarp fleets and fuel grabber fleets would also be cute here as would Minefields (you can make them with very long lives as I read the scripting language. A web minefield with a countdown = 50000 would last the whole game or until swept.
Buoys are useful because you can put a longer text or explanation or set of hints/clues directions in them.
Pods are useful because you can have them docked with scripted ships. Then their names (which may be a clue to a hidden invisible WH or JG) can't be read until you capture the ship.
CAVEAT:
All of the one-way valves, trapdoors and hidden spots on the map described here can be circumvented by clever players (and we have some doozies) using combinations devices (mostly chunneling and JG builders to make their own JGs to get in and out) very fast ships (MBRs) and Dark Powers to happen to see things far far away.
Nothing here is perfect but you can make things very difficult and expensive. And you can exert a lot of control in this regard by restricing which races are allowed to play.
If you want to make a map which has a very distant cluster, only reachable through a trap door and which, once reached, is a trap from which one can never, never return to the main map don't include the Borg in that game. They (he? it? them?) will send a chunnel ship through the trap door and thereafter commute back and forth with ease.
The only races that have NO Chunnel and no JG Builder abilities are the Fed, Birds, Stormers, Crystals, Rebels, EE, Peeps, UEA, Aczanny, Lizards, Centaurs, and COM.
Systems:
How do you put these components together to make One Way Valves, Rail Road Switches and Mazes in a map?
Drainage System:
A Drainage System is a collection of components that bring people from many areas of the map to one area. That one area could be a killing ground, a fabuous prize or both.
One Drainage system would be a set of WHs with identical Codes. Call them 21, 22, 23 24 ...n.
All WHs 23 through n are scattered about. All will take the entering ship to 21. 21 only will take people to 22. If you put 22 near 21 (1 LY away or even right at the same x,y) you have a system ships can use to get from many areas of the map to one area, but they can't use that system to return to whence the just came.
Or you can have many pairs of WHs. Each pair has one of it's members at the same central x,y (say at 500,500). The other member of the pair can be anywhere. But also at 500,500 is a WH Pair with BOTH its members at 500,500. And that particular pair has the lowest ID of any of the involved WHs. So when you try to get back you can't access your original entering WH pair.
I can't see any practical difference between the first method and the second but maybe you can.
Uses:
You can use this to let players get from widely separated HWs to a central battle area, but not back to their HWs.
Or if you put WH 22 (in the first example) or the second WH of the pair with the lowest ID (in the second example) at some, perhaps at a great distance in an otherwise unreachable area of the map, you have a system where you have to go "through the Guardian's system" to get to "the knowledge of the Ancient Empire". And the central location you have to pass through could have a deadfall as a guardian (the Slayer described above or a fleet of 500 Lady Royales or whatever). Or it could just be a central place to fight the other players.
The WHs that send you to into the drainage system can be easy to see or invisible. Put them where people will blunder into them. Over planets with 500,000 Ghips and lots of metal or similar. . . Let the Primates see if they are smart enough to get the cheese, er, Ghips out of the trap without setting it off, I mean falling through the WH. Sorry. I was thinking of my ancestors and yours.
One Way Outbound:
This is a device that lets ships leave an area but not return to it (see warnings on chunneling and JG building races above).
A) Use a "drainage system" as above with just 3 WHs with the same code (WHs 21, 22, and 23)
Put WH 23 at the place you want to exit. You will go from there to 21. Put WH 22 at the same x,y as WH 21. 23 takes you to 21. 21 takes you to 22. Nothing takes you back to 23.
B) Or accomplish a similar thing with a WH pair taking you out of the area, but with another, lower WH at the same xy where you come out. That would prevent you from going back.
This latter (B) could be a long chaing taking you all around the map and then maybe finally back home. You might make player 1 have a WH near his HW that goes to the HW of Player 2. The only exit from there (for player 1 or 2) is to the HW of Player 3 and so on. The only way back to one's HW would be to follow this chain all around the circle, meeting and greeting in turn each of one's neighbors.
C) Use a JG with a hidden code. Hide the code either by making the JG invisibile (stealth very low) or a code that can not be typed (not as secure).
Differences between a, b and c:
"A" and "B" are really one way. "C" can be made selectively 2 way by letting some players but not all know the code of the exiting JG.
You could for example make the exiting JG at a player's HW invisible (high stealth) but tell that one player the code. Maybe someone will guess that code. It is "relatively" easy to get random generated JG codes by a brute force method. Did you know that? But more likely the dolt will leave the code in his command codes and get his ship captured but that's his look out.
The total possible number JG codes is not 26^3 by the way. It is higher. It is 255^3 if you want to count all possible codes but that includes some that can't be directly entered through the client and therefore which are impractical for this device. The number of enterable codes is probably about 100^3. So make the code hard to guess by including things like "A@]" or similar in the mix. But be sure the code can be entered as a Command Code through the client.
With methods "A" and "B" the One Way Outbound gate can be "blundered into" (you go to the x,y you get sucked through) but "C" requires you to set the CCode (unless you are so nasty you make the Code of the JG "BDA" or "NCH" or something. But remember, you didn't hear that from me)
"C" requires there to be 1) at least one other JG in the game 2) the player using this one way exit has to know the location of the exit-JG (which might be visible or invisible but with a described location) and 3) the player has to know the code of at least 1 other JG.
In passing let me say you can explicitly tell players where invisible JGs and WHs are, or leave clues in the game for them to uncover. For example you could have a drifting ship with pods (you can't see the names of the pods until you capture the ship) whose names are the x,y or the code of a completely hidden JG. Or have a ship named "Headed for JG Oblivion" which happens to have CCode "%m8" set. Make the ship an odd design from a race not otherwise in the game, and have it drifiting crewless. Set it's waypoint to the x,y of JG Oblivion. Or ..
Or spread the clues among several ships and buoys scattered here and there. To piece together the location WH named "WH Arthur" you could have a pod named "WH Arthur's X=2589" on one ship, and a different ship with a pod named "WH Arthur's Y=841" You could even split the X and y into first 3 digits and last 2 digits ("WHArthur's X ends in 347" and "WHArthur's X=3???") or give two factors that have the right x and y as their product so the necessary information is spread between more places. If one player finds all the clues he can deduce the location and use WH Arthur get to whatever treasures or horrors are hidden at the other end.
Make sure the clue can be reasoned out (don't make it the work telephone number of your father in law from which they should deduce to actually enter the home phone number of your father in law). If this is going to be a key feature of the game the players will have to be able to a) find the clues and b) reason from the clues to the answer.
If one player finds part of the information writes it down and destroy the ship/pod/buoy it he can negotiate with another player. The old "each of us has half the map to the privateer's treasure" gimmick. Or you can look at the message "WH Arthur's X=1747", right that down, change the name of the pod to "WH Arthur's X = 2177" and set the ship adrift again. . ..
Or you can just lie and tell one player you have the X part of the coordinates and another player you have the Y part. Trade with both getting X from one and Y from the other for nothing. The old "rock soup" gimmick.
Of course I would never even think to recommend such deviousness in a game of such high scruple as VGAP4.
Uses:
Make each race's HW relatively safe. You can build stuff there and exit your HW but can't get back or other people can't get to your HW too easily.
Make an "early map" where the players start and a "late map" where the endgame takes place. Make the two 25,000 LY apart and with only one way travel between them (and no Chunneling or JG building ships) you can get from A to B but not B to A. Or put most of the metal or contra on one side of the map and most of the natives on the other side. And make the routes from one to the other "inconvenient" (leading right through Crystal Space for example).
One Way Inbound:
This lets ships get to an area but
not leave the area. It is best used in a reallly isolated area of the map
(35,000 LY from any other planet and no fuel there. Or a lot
of scripted Fuel Grabbing Privateer ships). I call this "Wormhole
A) Drainage as above. Put WH 21 and 22 near each other. You can get to WH 21 from one or more places in the main area of the map but WH 21 only takes you 1 LY to WH 22 so the only way back is slowly across those intervening 35,000 LY.
B) With a JG make the Departing JG have a hidden code. This will only work if there is NO JG in the entire game which has a knowable/enterable code. There can be many Departing JGs, however. Just so no one in the game can ever enter their codes. Or there can be a limited number of JGs with known codes, but that will limit the way out of this area. Maybe going to a web minefield filled with Lady Royales . . .
As above, "A" can be blundered into, "B" requires the player to enter the right CCode.
Other Odd Devices:
Below are devices I am trying to make, but haven't completely figured out how to implement yet. Some of these devices I suspect may not currently be possible.
Chutes and Ladders:
To make this work you need a way to have the player 'jump twice'. I can't see any way to make WHs and JGs move the player twice in the same turn with the sole, trivial exception of taking JG movement from a JG to that same JG then to the WH (and that is no different than jut going into the WH). The reason I want this is to make "sieves" that will pass some ships and not others.
Anyone see how?
The Ship Flinger:
This is a device to scatter ships. One variant would be to scatter ships going through the WH or JG in the same turn, the other would make you come out in different spots when using the WH one this turn than you did using it on that turn (here on odd turns, their on even turns). I am trying to figure a way to do this with the Warp Bubble Generator (to toss the ships around in an area with LOTS of WHs. or with moving WHs (see above).
One gimmick is a "grid" of WHs all with the same code. 100 LY by 200 LY with a WH every 5 LY (automate the righting of the script and it's easy to make). Then make a second grid with a different code and overlap the two partially. Put a buoy in the middle of the Overlap "Danger - Chaos Zone - 100 LY radius" and then set the two Grids moving slowy at different speeds and vectors. One 1 LY/turn east and the other 2 LY/turn northwest. A given x,y will have a WH from a different grid at it on turn 13 than it had nearest that x,y on turn 8. Make the WHs all invisible and it will be hard to predict.
Real clunky though.
Problem is the moving WHs only move in a straight line (a circle or loop would be more useful. And if I use a Warp Bubble Generator in a region where there are lots of WHs the WBG displaces the ship it is on, so that ship falls down a random WH too. And since the WBG acts before movement, other ships still make it to the target WH or JG they are trying for (usually).
Maybe a region of very dense WHs, maybe 50 or 60 of them and all moving slowly in different directions?
How about Wandering (Wondering) WHs. How does one script these? I don't seem to get them to actually move on the map (other than the steady course and speed that any WH can manage).
Overall Game Design:
These tools hopefully will be useful in creating maps and games more imaginative than the old Homeworlds-in-a-circle-Echo-Map-Last-Man-Standing games where everyone can play their customary race confident they know the perfect actions to take for the first 15 turns. With odd map features like these people will have to think on their feet and adapt or quickly become extinct.
You can try
->Protecting an area of the map at least for a time. Drew Dowling wanted a game where player's could easily leave their HWs and go to a "main battlefield and KOTH planet" region of the map but where it would be hard either for the player himself or other players to get from the battle area back to a HW. You can achieve that with these tools (that was really the source of this investigation).
->A map with very different resources (moly, ghips) in only one area of the map. Make a map with NO ghips in most of the map. Tell players the Ghip Union Shop Steward (or the Sierra Club which has decided that Ghips are an endangered species) has moved all the Ghips to "GhipLand" way off in a distant, isolated area of the map. The players need to find a hidden path to get to the Ghips or the Moly rich worlds. And then maybe can't bring their loot back but need to use it there. Imagine - hardly any moly and everyone needs to put their main ship yards all the same crowded little corner of the map. Could this lead to war?
-> A "Knowledge of the Ancients" scenario with a ship that can open masked JGs or clues (buoys or abandoned ships) to lead players to some terrific technology or resource stash. Perhaps guarded by a horror. See above. Maybe a Slayer with Ord left for exactly 5 shots . . .
I very much enjoyed and appreciated the input of many people during the preparation of this manuscript particularly Quixote, Pyro and Khobrah who each came up with many very interesting observations.
And I would love to hear about the results of your own observations and experiences with JGs and WHs, particularly if they prove any of this wrong. Or ways to produce other Tricksy Maps.
Beezle
Scavengers Inc
(and his drudge, typist and cheese fetcher Drew Sullivan)
diealtekoenig
at
hotmail.com
* CleverMaps is a Trademark of Scavengers Inc. Copyright, Marka No Entrada and all that.
Be careful when scripting WHs...
...because even in the best articles (I mean this one by Drew Sullivan) I
found the statement that the WHs know to which exit they have to send the
ship by searching for the WH with the same data1 parameter and the lowest
ID except the own ID and this data1 parameter is a 9 digit value.
So in my script for GToeroe's Risk I wanted to use for my five hundreds WHs
data1 values like 100000xyz. Unfortunately this seems to lead to five hundred
WHs where 499 of them have their exit at lowest ID WH and
the lowest ID WH have its exit at ID+1.
A look at the client and scriptZ0r generated WHs let me assume the following:
1) The data1 is a 7 digit value
2) If one uses for the first three digits different values then it works.
First tests with manually generated WHs seem to fit to this.
This maybe the reason why in a games where WHs were manually generated players
sometimes got big surprises when they travelled through them especially when
they want to return...
Another thing to watch is that the maximum speed a WH can have, is 300. If you script speed = 1000, it will end up as 300.