NiGHTS Tutorial

From SRB2 Wiki

Jump to: navigation, search
Image:ToDoIcon.png To Do
  1. Give a tutorial for manually placing NiGHTS Bumpers.
  2. Give a tutorial for advanced manual object placement.
  3. Give a tutorial on changing the mare signs. You'll have to wait a while for this one; sorry, guys.

This is a tutorial for object placement and track creation in NiGHTS Mode.

Contents


Single Mare

Image:NoteIcon.png Note
When creating NiGHTS maps, SRB2 Doom Builder is highly recommended, as vanilla Doom Builder and WadAuthor cannot outline the track, a feature that greatly reduces the amount of time to create it.

First go into SRB2 Doom Builder to outline all Things in Things mode. This way you can see your Axis track.

All numbers denoting Things refer to their respective flag numbers.

The Axis Points define the curved track that Super Sonic flies through. So put an Axis Point (usually known as "Axis") on your map. Since it is the first Axis Point, give it a flag of 1. Hmmm, let's make this one go counterclockwise with a radius of 256 fracunits. So set the angle of your Axis to 256. We'll have Super Sonic start on the south end of our Axis, so place an Ideya Drone there. Leave the Ideya Drone at Angle 0, that will denote a two-minute timer. Now let's break off from that Axis and go directly to another. Let's put an Axis Transfer somewhere on the Axis path, how about 256 fracunits directly east of the Axis Point? Since it will go to Axis Point 2, give it a flag of 2.

Note: NiGHTS tracks are much easier to make if you put these Axis Transfers due north, due south, due east, or due west of the Axis Point. This makes it a lot easier to make your next Axis as well as making it easier to complete your track.

OK, now let's make Axis Point 2. The first thing we need to is give it a flag of 2. Let's make it go clockwise and give it a 512 fracunit radius. So set the angle of your Axis to 16896.

Image:Hand.png WHOA! Where did that number come from?

Since Super Sonic will travel clockwise around this Axis rather than counterclockwise, you must add 16384 to the value of the radius to get the proper angle number. 16384 + 512 = 16896.

So that Axis Transfer 2 touches Axis Point 2, place Axis Point 2 exactly 512 fracunits due east of the Axis Transfer.

Hmmm, now let's have Super Sonic break off in a linear path. For simplicity, let's place an Axis Transfer Line 512 fracunits directly north or east of the Axis Point. Let's place it 512 fracunits north of Axis Point 2.

Image:Hand.png Why not south of the Axis Point?

This is why: the Axis Points' paths only actually span a limit of a semicircle's length from beginning to end. We'll cover making longer perimeters later in Axis Loops.

Wait. We've got to flag our Axis Transfer Lines, too, right? Yes, we do. Flagging works differently for these. The beginning point's flag number will be one greater than that of the Axis it broke off. So since it broke off Axis Point 2, we set the Axis Transfer Line to 3 and we've got ourselves Axis Transfer Line 3. Since this Axis Transfer Line is going eastward, we should put the endpoint directly eastward of Axis Transfer Line 3 so that Super Sonic breaks off smoothly. Let's place an Axis Transfer Line exactly 1024 fracunits east of Axis Transfer Line 3. Now flagging it? Make it one value greater than the beginning point of the Axis Transfer Line. Since the beginning point was Axis Transfer Line 3, the endpoint must be Axis Transfer Line 4.

An endpoint of an Axis Transfer Line must transfer to a regular Axis Point. Let's make an Axis Point with a radius of 512 fracunits going counterclockwise. So place the Axis point 512 fracunits north of Axis Transfer Line 4, give it an angle of 512, and flag it 4–because Axis Transfer Line 4 led to this Axis Point.

This is what your map should look like:

Image:Nightstut-pic1.PNG

Axis Loops

Image:Warning_icon.png Do not put these in NiGHTS races. Otherwise, other players will fall off the track if they get paralooped on an Axis Loop.

Now let's do something cool. We're going to make an Axis that makes a complete loop. First, let's break off from Axis Point 4 at its north end. So place Axis Transfer 5—remember to flag it!—512 fracunits due north of Axis Point 4. Let's make an Axis Point that has a 256-fracunit radius and have it go clockwise. Place Axis Point 5 exactly 256 fracunits above Axis Transfer 5 and give it an angle of 16640—remember that you have to add 16384 to your radius length if you want Super Sonic to go clockwise around it. But wait. Axis Point 5 can't make a complete loop. It can only make a semicircle. So let's do something clever:

Put Axis Transfer 6 exactly 256 fracunits north of Axis Point 5. Make an Axis Point 6 with an angle of 16640 (just like Axis Point 5) and put it directly on top of Axis Point 5. Two semicircles make a whole circle, so it loops now! Let's break off at the point we started. So put Axis Transfer 7 directly above Axis Transfer 5.

This is what your map should look like:

Image:Nightstut-pic2.PNG

Completing the Map

OK, first we're gonna have to make some more track, so do this:

Object Angle Distance from Previous
Axis Point 7 17408 (16384 + 1024) 1024 fracunits north of Axis Transfer 7
Axis Transfer Line 8 1024 fracunits west of Axis Point 7
Axis Transfer Line 9 512 fracunits north of Axis Transfer Line 8
Axis Point 9 1280 1280 fracunits west of Axis Transfer Line 9
Axis Transfer Line 10 1280 fracunits west of Axis Point 9
Axis Transfer Line 11 3072 fracunits south of Axis Transfer Line 10

So far, we have this:

Image:Nightstut-pic3.PNG

We want that Axis Transfer Line 11 to be directly west of Axis Point 1. This way we can easily connect the track. We could take the distance between Axis Transfer Line 11 and the point 256 fracunits west of Axis Point 1, divide that in half, and get our angle to make our last Axis Point, but there's one problem: That would make going back into Axis 1 have an abrupt and yucky cusp. We don't want that. Making Axis Point 11 clockwise would cause the effect to happen entering Axis 11. So let's connect the track with two more Axis Points.

Place as follows:

Object Angle Distance from Previous
Axis Point 11 384 384 fracunits east of Axis Transfer Line 11.
Axis Transfer 12 384 fracunits east of Axis Point 11
Axis Point 12 16768 384 fracunits east of Axis Transfer 12

Looks like we have a looping track! But we actually don't. We need an Axis Transfer to connect back to Axis 1. So place it 384 fracunits east of Axis Point 12 and give it a flag number one greater than the Axis it broke off—this number is 13. Now it loops.

You may be wondering why we had to so carefully create the track after Axis Transfer Line 11. Couldn't we just put Axis Transfer Line 11 exactly 256 fracunits west of Axis Point 1? No, you can't. The reason is that Axis Transfer Lines can't actually loop the track. Only regular Axis Transfers can do that.

Regardless of how your map is set up, it must have an Ideya Capture. So let's place one in there. Also, we have to give it an Angle (its ring requirement), and give it a Z offset of at least 64. We'll choose 128. Now place a Player 1 Start somewhere. You can even do it right on the Ideya Drone, but we're not going to. Now it's finished and ready for testing.

This is what the finished map looks like:

Image:Nightstut-pic4.PNG

Now create your terrain!

Multiple Mares

Both NiGHTS Into Dreams and NiGHTS: Journey of Dreams have multimare maps. That means you have to destroy multiple Ideya Captures to complete the level. We'll make a three-mare track, à la Journey of Dreams.

Image:Warning_icon.png WARNING! This section of the tutorial assumes you understand and know how to make single-mare maps.

First Mare

Well, first of all, we have to create the first mare. Create level boundaries and a thok barrier. For simplicity, let's place the first Axis Point at the origin (the places where the map axes meet). Let's make the first mare as follows:

Thing Angle Relative Distance Absolute (X,Y) Coordinates
Axis Point 1 512 0,0
Axis Transfer Line 2 512 fracunits east of Axis Point 1 512,0
Axis Transfer Line 3 5184 fracunits north of Axis Transfer Line 2 512,5184
Axis Point 3 1024 1024 fracunits west of Axis Transfer Line 3 -512,5184
Axis Transfer Line 4 1024 fracunits west of Axis Point 3 -1536,5184
Axis Transfer Line 5 5184 fracunits south of Axis Transfer Line 4 -1536,0
Axis Point 5 256 256 fracunits east of Axis Transfer Line 5 -1280,0
Axis Transfer 6 256 fracunits east of Axis Point 5 -1024,0
Axis Point 6 16640 256 fracunits east of Axis Transfer 6 -768,0
Axis Transfer 7 256 fracunits east of Axis Point 6 -512,0
Ideya Drone 80 512 fracunits south of Axis Point 1 0,-512

Now since the last point in the first mare has a flag of 7, the Ideya Drone is already checked to appear in Easy, Normal, and Hard difficulties. Had we added the Deaf flag as well, Super Sonic would die if he ran out of time, à la NiGHTS: Journey of Dreams.

You'll notice that the Ideya Drone has an Angle of 80. That means each mare will have a time limit of 80 seconds to complete.

But wait. To go to the second mare, we have to destroy the first Ideya Capture. So let's put some rings on the first mare, as well as an Ideya Capture. It's easiest to place it on linear track, so we'll do that.

Let's place 8 Rings, all flagged Deaf, somewhere on the track. Further down the track, place an Ideya Capture. Give it a height of 128 (it must be at least 64!), and give it an Angle of 8. That Angle number means that it is the first Ideya Capture and it needs 8 rings to be destroyed.

At the spot where the Ideya Drone is, let's make a sector. Give it a floor height of 16. Put an FOF on that sector and give the control sector a floor height of 132 and a ceiling height of 196. Why? Otherwise, in a regular level, people may fly high over the Ideya Drone and miss transferring to the next mare. (In that case, the ceiling height of the FOF in a regular level should be higher.) Since this is just an example track, you won't feel any need to fly higher, so you shouldn't miss it when you test it.

Place a Player 1 Start near the Ideya Drone; after all, you have to spawn somewhere.

This is what your first mare should look like:
Image:multimare-1.PNG

Second Mare

The Ideya Drone defines the spot where one starts, but it also defines the spot at which Super Sonic is transferred to the next mare. So let's start making our second mare:

Place an Axis Point at the coordinates (0,256). Give it an angle of 768. Now, look here: Flagging the Axis 1 would give us the first Axis on the first mare. But the second mare's first Axis has a flag of 1025. So flag it 1025.

Exactly 768 fracunits east of Axis Point 1025, i.e., (768,256), is where we are going to put the Axis Transfer. So we flag that 1026.

Continue as follows:

Thing Angle Relative Distance Absolute Coordinates
Axis Point 1026 16896 512 fracunits east of Axis Transfer 1026 1280,256
Axis Transfer Line 1027 512 fracunits north of Axis Point 1026 1280,768
Axis Transfer Line 1028 448 fracunits east of Axis Transfer Line 1027 1728,768
Axis Point 1028 512 512 fracunits north of Axis Transfer Line 1028 1728,1280
Axis Transfer Line 1029 512 fracunits north of Axis Point 1028 1728,1792
Axis Transfer Line 1030 4544 fracunits west of Axis Transfer Line 1029 -2816,1792
Axis Point 1030 512 512 fracunits south of Axis Transfer Line 1030 -2816,1280
Axis Transfer Line 1031 512 fracunits west of Axis Point 1030 -3328,1280
Axis Transfer Line 1032 1024 fracunits south of Axis Transfer Line 1031 -3328,256
Axis Point 1032 512 512 fracunits east of Axis Transfer Line 1032 -2816,256
Axis Transfer 1033 512 fracunits east of Axis Point 1032 -2304,256
Axis Point 1033 17152 768 fracunits east of Axis Transfer 1033 -1536,256
Axis Transfer 1034 768 fracunits east of Axis Point 1033 -768,256

Again, we need to put rings for the second Ideya Capture. Place 8 Rings on the second mare, making sure to fix the Z offset as well as the difficulty/deaf/multi flags. Farther down the track, put an Ideya Capture. Give it a height of 128. Although we want to destroy the Ideya Capture with 8 Rings, giving it an Angle of 8 will not work. That was for the first Ideya Capture. For the second Ideya Capture, 1024 must be added to the Ring requirement value to get the Angle number. 1024 + 8 = 1032. So we will give it an Angle of 1032.

Now your second mare is completed. This is what it should look like:
Image:Multimare-2.PNG

Let's create one more mare.

Third Mare

The first Axis of the third mare is flagged 2049.

Let's create the third mare as follows:

Thing Angle Relative Distance Coordinates
Axis Point 2049 16896 512 fracunits south of the Ideya Drone 0,-1024
Axis Transfer 2050 512 fracunits east of Axis Point 2049 512,-1024
Axis Point 2050 512 512 fracunits east of Axis Transfer 2050 1024,-1024
Axis Transfer Line 2051 512 fracunits south of Axis Point 2051 1024,-1536
Axis Transfer Line 2052 2720 fracunits east of Axis Transfer Line 2051 3744,-1536
Axis Point 2052 16640 256 fracunits south of Axis Transfer Line 2052 3744,-1792
Axis Transfer Line 2053 256 fracunits south of Axis Point 2052 3744,-2048
Axis Transfer Line 2054 7328 fracunits west of Axis Transfer Line 2053 -3584,-2048
Axis Point 2054 16640 256 fracunits north of Axis Transfer Line 2054 -3584,-1792
Axis Transfer Line 2055 256 fracunits north of Axis Point 2054 -3584,-1536
Axis Transfer Line 2056 2560 fracunits east of Axis Transfer Line 2055 -1024,-1536
Axis Point 2056 512 512 fracunits north of Axis Transfer Line 2056 -1024,-1024
Axis Transfer 2057 512 fracunits east of Axis Point 2056 -512,-1024

Again, let's put some rings and an Ideya Capture. Remembering to adjust the flags and height properly, place 8 rings on the third mare. For the third mare, add 2048 to the ring requirement to get the Angle needed for the Ideya Capture. So give the Ideya Capture an Angle of 2056. The example map is now finished; this is what it should look like:
Image:Multimare-3.PNG

Subsequent Mares

Of course, you may want to put more than three mares in your map, e.g., NiGHTS into Dreams uses four-mare maps. You can actually put 64 mares in your map; however, each mare would be forced to be far too short, not to mention it would be very hard to keep track of what's going on. You probably shouldn't make more than six mares; three or four mares is recommended. Values necessary for subsequent mares are as follows:

Mare Flag Value of First Axis Point Number Added to Angle of Ideya Capture
Fourth 3073 3072
Fifth 4097 4096
Sixth 5121 5120
Seventh 6145 6144
Eighth 7169 7168
Ninth and up [(n – 1)×1024] + 1 (n – 1)×1024

Placing Objects

OBJECTPLACE

If you look at the map, it's going to be quite difficult to place things on the track, especially on the curving Axis tracks. Hoops have strange ways of being created as well, so you may want to use OBJECTPLACE. So run your objectless map; transform into Super Sonic; go into console; and type OBJECTPLACE ON. You should be able to see some coordinates and stuff. OBJECTPLACE works differently for NiGHTS mode, so look here:

Rotate Camera L Place Wing Logo
Rotate Camera R Place Ring
Throw Ring Place Hoop
Spin Place Custom Thing
MAPTHINGNUM <thing #> Specify Thing to place using "Spin" (console command)
WRITETHINGS Write Things to lump "newthings.lmp" in the SRB2 directory. When you are finished placing objects, use this. Then open your map in your lump editor; delete the pre-existing THINGS lump; and put newthings.lmp in where THINGS used to be, then rename it to THINGS. (console command)

Since there are objects like the Circles of Wings and/or Rings and the NiGHTS Bumper, use that MAPTHINGNUM command to change the Thing Type. The special Thing Types are as follows:

Thing Type Object
82 NiGHTS Bumper
47 Circle of Rings - Small
40 Ideya Capture - Egg Capsule
2007 Circle of Rings - Big
2048 Circle of Wing Logos - Small
2010 Circle of Wing Logos - Big
2046 Circle of Rings and Wing Logos - Small
2047 Circle of Rings and Wing Logos - Big
3007 Super Loop - NiGHTS Powerup
3008 Drill Refill - NiGHTS Powerup
3009 NiGHTS Helper - NiGHTS Powerup

Write this table down so you don't have to minimize the game every time.

Manual Placement

You still will want to manually place objects. This allows you to fine-tune your object placement, or, if you can't get NiGHTS OBJECTPLACE to work, this is the alternative. This also allows for certain hoop designs that are difficult to create properly in OBJECTPLACE.

Downloads

Single-Mare Map

Example WAD: Nightstut.wad

Notes

  • This example WAD should be played in single-player mode. It uses MAP01, replacing Greenflower Zone Act 1.
  • This example WAD is the map created by the single-mare tutorial. It is a reference in case anything went wrong.

Multimare Map

Example WAD: Multimaretut.wad

Notes

  • This example WAD should be played in single-player mode. It uses MAP01, replacing Greenflower Zone Act 1.
  • This example WAD is the map created by the multimare tutorial. It is a reference in case anything went wrong.

See Also

Personal tools