prevnext   » SZS: Wiimms SZS Toolset » Guides » Initial setup of respawn points

Initial setup of respawn points

Contents

1.   Introduction

Beginning with v1.45, the KMP compiler supports an automatic setup of respawn points (KMP/JGPT) and also an automatic way to assign respawn points to the check points (KMP/CKPT). Beginning with v1.46, the KMP compiler supports flags for KMP sections ENPT, ITPT and JGPT to allow an easy deactivation of automatic calcualtions for single points.

This automatic respawn definition makes an initial setup much easier and faster. However, the user must edit the proposal especially on parts, where a check point overlaps another check point on different height.

The automatic respawn definitions is done in 5 steps:

  1. The user have to setup a good ENPT section (enemy points) with correct height. Alternatively the section ITPT (item points) can be used. Single points can be disabled for the automatic calcualtions by removing flags.
  2. The user defines some parameters and the KMP compiler creates a complete new list of respawn points (JGPT) with a good height and direction by using the enemy or item route. Flags will help to exclude points from the automatic creation. It is possible to add manuall defined respawn points.
  3. The user defines another parameter for an automatic assigning of the nearest respawn point to each check point (CKPT).
  4. The user edits the assignments for an optimization.
  5. A last parameter setting advices the KMP compiler to remove all unused respawn points and to reorder the others.

This tutorial use the KMP development of Yoshi Lagoon v1.2 as example. The new features of the KMP compiler were imlemented while editing the KMP. Look into the final KMP text file for details and to learn the power of the KMP compiler.

2.   Setup enemy or item route

Setup of the ENPT main route (blue line).
Good enemy and also item route are mandatory for each track. Especially the item route have to cover all standard short cuts, that players use.

As told above, we use Yoshi Lagoon v1.2 as example. First I remade the main ENPT route (see first image) and tested it. I used the same route for ITPT by creating a macro and call it in both sections:

@macro pt_route
 @param is_itpt # 0:ENPT, 1:ITPT

 @KCL-FALL-WIDTH    = 200
 @KCL-FALL-PRE-ADD  = 500
 @KCL-FALL-POST-ADD =   0
 @KCL-FALL-TYPES    = KCL$BORDER

 $GROUP G1,  next: G2A*2 G2B
 ...
@endmacro

[ENPT]
@:pt_route(0)

[ITPT]
@:pt_route(1)

For the test I watched the computer enemies at minimap and in real to find out, where I can optimize the route.


Complete enemy routes.
Once done, I added junctions and joins to cover all possible routes (second image). In all steps I placed the points in regard to respawn areas and exclude not usable points from automatic respawn by removing the flags 'J':

25  10050.0 5001.0 -23000.0  10.0  0x3 0xa  F--
26   7600.0 5001.0 -24800.0  10.0  0x3 0x1  ---
27   5000.0 5001.0 -25800.0  10.0  0x3 0x1  -SJ
Flag 'F' is also removed for some points, to exclude them from automatic height correction.

Another interesting aspect are route multiplactors:

 $GROUP G1,  next: G2A*2 G2B
Route multiplactors are only relevant for enemy routes. The example says, that 2 of 3 enemies go to G2A, and 1 of 3 to G2B. The sum of all multiplactors is limited to 6, because the KMP supports only 6 next entries. These multiplicators are ignored for item routes.

3.   Automatic definition of respawn points

This step is very easy. Go to section [JGPT] and define:

[JGPT]
@AUTO-DEFINE	= SECT$ENPT
@AUTO-DISTANCE	= 1000.0
@AUTO-ADJUST	= vy(1)
@AUTO-REMOVE	= 2
Remove all manually defined respawn points, that are not needed any longer. In case of Yoshi Lagoon all respawn points were removed.

Here you can set AUTO-REMOVE to 0, if you want remove the unnused respawn points later.

4.   Assign respawn points to check points

Check points.
Then I setup the check points. I began with a single section without any junctions. Then I add all needed junctions and joints step by step.

To enable the automatic assignment of respawn points and also the automatic calculation of next and prev references, I enabled both with:

[CKPT]
@AUTO-RESPAWN = 1
@AUTO-NEXT    = 1

Check points.
Another hint for junctions and parallel check point routes: The best is to cover the complete area. So it is possible and a good choice, that both routes overlay a little bit.

If you look at the image, you see, that the left border (red) of the upper route is slightly lower than the right border (green) of the lower route.

5.   Remove unneeded respawn points

If not already done, remove unneeded respawn points:

[JGPT]
@AUTO-REMOVE = 2