File: mars.g

package info (click to toggle)
xconq 7.2.2-2
  • links: PTS
  • area: main
  • in suites: slink
  • size: 8,296 kB
  • ctags: 9,199
  • sloc: ansic: 107,849; sh: 2,108; perl: 2,057; makefile: 1,177; sed: 161; csh: 50; awk: 49; lisp: 39
file content (188 lines) | stat: -rw-r--r-- 4,175 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
(game-module "mars"
  (title "Mars")
  (blurb "Colonize Mars")
  (variants
    (see-all false)
	)
  )

(terrain-type plani (image-name "orange") (char "+"))
(terrain-type highlands (image-name "brown") (char "^"))
(terrain-type canyon (image-name "tan"))
(terrain-type co2-ice (image-name "white"))
(terrain-type water-ice (image-name "light-blue"))

(terrain-type wall (subtype border))

(define cell-t* (plani highlands))

(unit-type rover (image-name "hovercraft") (char "c")
  (help "slow, long-range"))
(unit-type boulder-car (image-name "hovercraft") (char "b")
  (help "fast, small, shorter-range, hard for satellites to see"))

(define ground-types (rover boulder-car))

(unit-type spy-satellite (image-name "spysat")
  (help "hovers overhead, observes all below"))

(define air-types (spy-satellite))

(unit-type base (image-name "village")
  )
(unit-type underground-city (image-name "village")
  )
(unit-type domed-city
  (help "large but vulnerable"))
(unit-type underice-city (image-name "village")
  (help "nearly invisible, can only be placed under water ice"))

(define city-types (underground-city domed-city underice-city))

(define place-types (base underground-city domed-city underice-city))

(material-type air)
(material-type water)
(material-type food)

;;; Static relationships.

(table vanishes-on
  (underice-city t* true)
  (underice-city water-ice true)
  )

(add place-types capacity 32)

(table unit-size-as-occupant
  ;; Disable occupancy by default.
  (u* u* 100)
  (ground-types place-types 1)
  (air-types place-types 1)
  )

(add t* capacity 16)

(table unit-size-in-terrain
  (u* t* 1)
  (place-types t* 8)
  )

;;; Vision.

;; The surface of Mars is well-known.

(set terrain-seen true)

;;; Actions.

(add ground-types acp-per-turn 8)

(add air-types acp-per-turn 4)

(add place-types acp-per-turn 1)

;;; Movement.

(add place-types speed 0)

;;; Construction.

(add u* cp (4 4 10 4 12 24 48))

(table acp-to-create
  (city-types ground-types 1)
  (city-types air-types 1)
  (base city-types 1)
  (base base 0)
  )

(table cp-on-creation
  (city-types ground-types 1)
  (city-types air-types 1)
  (base city-types 1)
  )

(table acp-to-build
  (city-types ground-types 1)
  (city-types air-types 1)
  (base city-types 1)
  (base base 0)
  )

(table cp-per-build
  (city-types ground-types 1)
  (city-types air-types 1)
  (base city-types 1)
  )

;;; Combat.

(add u* hp-max (1 1 1 10 20 20 20))

(table acp-to-attack
  (u* u* 1)
  (spy-satellite u* 0)
  )

(table hit-chance
  (u* u* 50)
  (spy-satellite u* 0)
  )

(table damage
  (u* u* 1)
  (spy-satellite u* 0)
  )

;;; Random game setup.

;;; Some defns for the fractal percentile generator.

(set alt-blob-density 10000)
(set alt-blob-height 500)
(set alt-blob-size 200)
(set alt-smoothing 4)
(set wet-blob-density 2000)
(set wet-blob-size 100)

(add cell-t* alt-percentile-min (  0  70))
(add cell-t* alt-percentile-max ( 69 100))
(add cell-t* wet-percentile-min (  0   0))
(add cell-t* wet-percentile-max (100 100))

(add u* start-with 1)

(area 60 30)

(world 400)

(scorekeeper (do last-side-wins))

(game-module (notes (
  "This game was inspired by Kim Stanley Robinson's `Red Mars',"
  "an excellent story of the near-future colonization of Mars."
  ""
  "The general idea of the game is to build up a colony and perhaps"
  "eventually contend for control of Mars, if players can't work out"
  "agreements."
  )))

(game-module (design-notes (
  "This game is far from complete."
  ""
  "Mars is 21240km in diameter, elevations range over 27km. To show"
  "canyons and such, would need a very large map."
  "10m intervals for elevation would be reasonable."
  "Scenarios could include solitaire game to establish a viable settlement,"
  "and a race for Mars that is competitive."
  ""
  "(should be able to mine for water(ice) and transport to cities)"
  )))

(add spy-satellite notes (
  "Satellites are spy satellites that can see much on the ground,"
  "but require so much observing and processing time that they can"
  "only focus on small areas at a time.  So the position of a satellite"
  "designates its focus area rather than its actual physical position."
  ))