-
Notifications
You must be signed in to change notification settings - Fork 5
/
Modding.txt
194 lines (141 loc) · 7.83 KB
/
Modding.txt
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
189
190
191
192
193
194
Clonepoint loads maps from .tmx files generated by the Tiled Editor. You
can obtain the editor here.
http://www.mapeditor.org/
You can now try to convert custom maps for the original Gunpoint into the
tmx format that Clonepoint reads. This is a good way to quickly port level
geometry and entities, though it is recommended to make additonal fixes by
hand. Tile backgrounds are not preserved, and some crosslink connections may
not make it over. If a map has too many lights, it is recommended to remove
some so as not to slow the game to a crawl.
To convert a .lvl custom map, run `make gun2clone`, then supply the level
filename and then an output tmx file to write to. For example,
"./gun2clone input.lvl output.tmx"
Will create output.tmx from input.lvl.
Notes on making maps for Clonepoint:
- If you want to test your maps quickly, set the "debug_draw_scene_backgrounds",
"debug_draw_collision_outlines", and "debug_teleport_with_mouse3" variables in
config.cfg to allow you to easily visualize unfinished maps, and to teleport
to the mouse's position with the middle mouse button.
- Clonepoint considers all files in the data/ directory with the .tmx
extension as potential maps to load.
- It is highly recommended that you copy one of the existing maps and
use them as a template to quickly make new ones. template.tmx contains
all entities you need to copy into other maps as well.
- Don't make a map called template.tmx - Clonepoint discards this as
a potential map to load.
- Clonepoint only loads entities and collision volumes if they are in
the correct Object Group.
- There are no "collision" tiles, but collision volumes. To use them,
create rectangles in the "Collision" object group.
* To make glass volumes, make a collision volume with the type field as
"Glass". Glass volumes can be of any dimension, but the standard I use
is 4 pixels (or 0.25 units) for width or height.
* To make invisible volumes that only block enemies (used to keep them
from leaving a building and patrolling the end of the map), create a
collision volume with the type field as "GuardBlock".
- To add other entities with graphics, you can use Tile's "Insert Tile (T)"
feature to add a graphical representation of them in the editor. This is
for your convenience. Clonepoint's level loading function doesn't care
about what graphics you choose, but rather what "type" the object is in
the editor. If an entity you added in the editor is not appearing in the
game, make sure you wrote in the type for the entity and put it in the
right object group.
- To add guards, circuit boxes, and stairs, add them in the "Entity" object
group.
* Guards have type "Guard". Enforcers have type "Enforcer". Professionals
have type "Professional".
* By default, created enemies face left. To make them face right, add a
custom property called "direction" with the value "right".
* By default, created enemies stand still. To make them patrol, add a
custom property called "patrolling" with the value "yes".
- To add stairs, add entities with the type "Stairs" in the "Entity"
object group.
* To create stairwells, just create stairs with the same x position.
- To create circuit boxes that unlock a particlar circuit in the map, create
an entity in the "Entity" object group with the following names in the type
property.
* CircuitBoxG - Green
* CircuitBoxV - Violet
* CircuitBoxY - Yellow
* CircuitBoxB - Blue
- To create a spawn point for the player, add an entity with the type "Player"
in the "Player" object group. Creating multiple spawn points will cause the
player to be spawned in the last point.
- To add props in the map that serve no gameplay purpose, create them in the
"Props" object group. There are a few names you can write in the type property
to get a valid prop.
* Watercooler
* Shelf
* Trashcan
* Couch
* Plant1
* Plant2
* LightPanel
- To create objectives in the map, add entities with the type "Terminal" in the
"Objectives" object group.
* If no Terminals are found, the player can simply go to the exit to complete
the map.
- To create the subway entrance where the player can exit the map, create an entity
with the type "Subway" in the "Objectives" object group.
* Creating multiple subways will simply spawn one subway in the last location added.
* If no subways are found, the player may exit the map by going to the right
boundary of the map.
- To create linkable objects, create entities in the following object groups
* RedLinkable - for objects in the Red circuit.
* BlueLinkable - for objects in the Blue circuit.
* VioletLinkable - for objects in the Violet circuit.
* YellowLinkable - for objects in the Yellow circuit.
* GreenLinkable - for objects in the Green circuit.
- The following linkable objects may be added by writing in the correct name
in the "type" property and adding them in the previous object groups.
* Alarm
* SoundDetector
* TrapDoor
* Elevator
+ To create elevator shafts, just create Elevators with the same x position.
* Switch
+ To create handscanners, create a switch with a custom property "handscanner" as
"yes".
* VaultDoor
* Socket
* Scanner
* Door
+ By default, Doors spawn closed. To make them spawn opened, create a custom property
"open" with the value "yes".
* SecurityCamera
+ By default, SecurityCameras spawn facing left. To make them spawn facing right, create
a custom property "direction" with the value "right".
* LightFixture
- To make LightFixtures control other lights, perform the following actions.
* Create a entity with the "type" property "Light" in the "Lights" object group.
* Create a "polyline" (press L) object that goes from a LightFixture to the Light
in the "LightLinks" object group. Remember to right click after the link is made to
disable polyline creation.
- To make lights that are not controlled by a LightFixture, simply create a light in the
"Lights" object group without a LightFixture linking to it.
* By default, Lights emit light from all angles. To limit the number of angles, create
the custom property "numangles" with the value in degrees.
- To make linkable objects link to others when the map starts, perform the following action.
* Create a "polyline" (press L) object that goes from a linkable object to another in
the "Links" object group.
* Only objects in the same circuit will actually be linked when the map starts.
* To make a tilemap of graphics in the map, select the "Tile Layer 1" layer.
* The data encoding for the tile layer MUST be in CSV format.
* The "firstgid" property of this tileset MUST be 1. Multiple tilesets for a map
are not supported.
* There are other map properties you can set in the "Map Properties" area. They are:
* startingupgrades - The number of upgrades you want the player to start with when
upgrading jump power and time to charge jump.
* startingenergy - The starting energy the player has to perform certain actions.
Currently, the only energy-spending action available is linking between enemy guns.
If not set, starting energy is zero.
* startingammo - The starting ammo the player has for their weapon. If not set, starting
ammo is zero.
* timetosniper - The number of seconds the player has after firing their weapon before
the police sniper arrives. If not set, time to sniper is 1 second.
* backgroundyoff - The height that the "ground" is considered at, used for drawing layered
backgrounds. Set this to the Y coordinate of the collision volume (in tiles) you consider
to be the "ground" for best visual results.
* music - The music file in data/music that will be played while playing the level.
+ Clonepoint only plays music in the OGG format.
+ You don't need to specify the directory - just give the filename, including extension.