DSHack

Archive Generated December 23rd, 2018
[TUTORIAL] How to do checkpoints properly
Author Posted on 2016/03/06
#1530
B.B OK, I see this problem from everyone who tries to do CTs for MK7. White screens from checkpoints. I suffered through it until I understood how to do checkpoints properly. So I'm gonna share my method.

Let me clear up two misconceptions I heard:
1) The checkpoints can't be too close or far away from each other

While yes, most of Nintendo's tracks have nice and clean checkpoints, this isn't taken into consideration. Obviously, you want your checkpoints to be clean so you can go back and edit them later, but the game doesn't actively check how close they are to each other.

2) The checkpoints can't overlap.

Generally you don't want your checkpoints to overlap, if at all possible. It can cause position jump bugs, and worst of all, ultra shortcuts. It also messes with respawn points if done wrong, especially if done over elevating turns. A few of Nintendo's own tracks suffer from these bugs. Maka Wuhu had an ultra shortcut due to this (it got patched) and Neo Bowser City can sometimes respawn you on the bottom of the track around the last turn.

3) The amount of checkpoints don't matter.

You can have as many as checkpoints as you want. In fact, the chance is, the more you put, the lesser chance you'll screw up (and you get more options for respawn points anyway).

These things you should avoid doing, as a rule of thumb. But they do not cause white screens by themselves. These are several tracks in the Hack Store that feature these two things, and they load fine. But they have glitches.

----

Why do your checkpoints white screen? This is, 99% of the time, due to the following reason:
YOUR CHECKPOINTS ARE NOT CONVEX QUADRILATERALS.
(or "rectangular shapes" for the geometry-impaired)

When a track is loaded, Mario Kart 7 processes a quick algorithm check to see if the checkpoints are convex quadrilaterals. This is done to ensure all tracks follow general checkpoint rules, offering a lower chance of glitches as I described above. (MKWii had this same algorithm, but unlike MK7, it did not cause a white screen; this is why many early CTs had glitches.) Evidently, it's very annoying to deal with. What does this mean?


Obviously: your checkpoint can't be a triangle. Some of Nintendo's tracks look like they have triangular checkpoints, but they aren't. So keep your checkpoints, at least, rectangular. Secondly, do NOT place two check POINTS on top of each other. This never works.


In this image, you can see different types of checkpoints. The green areas are areas found by the algorithm, and the red areas are not found. The more triangular the checkpoint becomes, the less of a chance the game will find it. Therefore, a white screen occurs.

Your best bet is to understand how Nintendo does their checkpoints. Let's look at a few examples. Pay attention to the amount of checkpoints on curves so the developers avoided the more triangular shapes of the checkpoints.


Here is Toad Circuit's checkpoints. Toad Circuit follows the misconceptions above. Some checkpoints are close to each other, a few are far away. Some checkpoints are angular, and some follow curves. This track can prove that your checkpoints can look sloppy, but can still work.

There is one thing I must point out that will also ensure your checkpoints are proper quadrilaterals:

All of Nintendo's tracks follow the general rule that one side of the checkpoints, on curves, are circular and gradual. Look at the points in the arrows. The red dots in the upper-right corner are circular, but the connected green points outwards are sloppy and rectangular. So: make sure, on curves and turns, one side of the connected points follow the curve closely. The other side does not have to follow as closely.

If you're still confused, let's take a look at Coconut Mall, which is the best examples of checkpoints in my opinion.


Notice the many curves on Coconut Mall. The red dots follow the curves closely, whereas the outer green dots are further spread out, but they are still curved, avoiding triangular shapes or concave quadrilaterals. All the quadrilaterals are spaced fairly as well.

~~~~

Here is an example of checkpoints I created that work.


This is from my CT, Shower Circuit. The checkpoints here are all over the place. They overlap, they curve, they become narrow and then widen out, and aren't spaced right. However, it still works properly. I mainly wanted to show you how these sloppy checkpoints can still work.

You might notice the triangular-looking checkpoints on the top-right side. But if we look closer...

The points are not exactly on top of one another. Even when the points are this close, the checkpoints still work properly.

And now I'll show you a more sleek set of checkpoints from my port of DS Shroom Ridge.


Shroom Ridge is almost entirely curved, so to compensate, I had to make a lot of checkpoints despite the simplicity of the track itself. Almost all the curves follow the road closely and look nice. I was able to get this done on the first try.

---

So in the end, I just wanted to show how checkpoints are done in Mario Kart 7. Many people get frustrated at this, and I do as well. But eventually you start to understand it better. This is mostly for those new to hacking MK7 CTs and can't get it to work.

If anything you can always quit regular tracks and make boring battle tracks. :)
Author Posted on 2016/03/06
#1531
MK7tester Nice tutorial. Now for your next challenge, figure out why in the hell does this KMP refuse to work?

Author Posted on 2016/03/06
#1532
B.B
Nice tutorial. Now for your next challenge, figure out why in the hell does this KMP refuse to work?


I already told you on Skype if I could have the OBJ for the map to make it easier and you never did. :P
Author Posted on 2016/03/18
#1579
CuriousTommy
Nice tutorial. Now for your next challenge, figure out why in the hell does this KMP refuse to work?


I already told you on Skype if I could have the OBJ for the map to make it easier and you never did. :P


If you do or were able to solve the problem, would be mind telling us what you did if that is okay with you?