GDL allows you to define everything about every starting unit in the game. This is a powerful approach, but requires much preparation. An advantage of predefined units is that there are no unpleasant surprises. For instance, suppose you designed an empire game with ships and cities, but a random setup leaves some players entirely landlocked. Not only will those players be very unhappy, they might come looking for you before they've calmed down!
Asking for initial units is pretty easy, you can either type them into a file or create them directly, using the appropriate designer tool in a game.
(city) (city 11 12 1) (city (n "Brigadoon")) (city (@ 10 10) (n "New York")) (city (@ 20 10) (n "London") (hp 22))
The only info that you absolutely have to supply is the unit's type. If the position is missing, the unit will be placed at a random location. If the side number/name is missing, the unit will be independent or on the first possible side.
While the type, position, and side of units is important, exact values of the
other properties are rarely important for a scenario. Also, a unit with
fewer filled-in properties can be used in different games.
For instance, a list of the present-day major cities worldwide
really needs only name and location for each;
the game design can fill in everything else.
One way to do this would be to set up an appropriate
unit-defaults
just before including the module.
To make units start inside transports, you need to specify the t#
property for the occupant, and have its value be the id number or name
of some other unit. Your players may get an error message if the
occupant is not of an allowed type for the transport to hold.