[Tips and Tricks] Teleportation |
Mousechris « Censeur » 1438050900000
| 4 | ||
Introduction! So, teleportation is admittedly very, very, hard to perfect, so make sure you pay attention to this thread. For if you manage to even get an understanding of it, you can advance your map making pretty far. Now, I'm pretty sure a lot of Map Makers, or at least the older ones, know about Impuredeath's video tutorial on his way to teleport, but his way is really restrictive (to just up), and relies on more XML editing, we want to make things as simple as possible, while making things very nonlinear, and we want to stay away from XML editing as much as we can. This way I'm going to teach you will require XML editing, but you'll just need to edit in three nines, and I'll walk you through it. Finally, this thread, took me a very long time to make, because I wanted to make sure even a nine year old could understand this, I even got the last thread locked for the soul reason that I didn't want past comments to confuse people, and to be honest, I doubt a nine year old could understand this even so, this is complicated so don't beat yourself over it if you don't understand. You're not alone. If you're really dedicated, read every word, ask all questions here, and just don't get upset, then you'll get somewhere. So before I show you any tutorials, it's very important you understand what is happening. What is going on here, is you're going to make it so your mouse goes so fast, that it will stop wherever it touches. Don't ask why the game does this because I don't know, I theorize it has to do with preventing the game from crashing, but it's not important. Let's look at some math, in the last thread I made in 2013 I showed you that we can achieve this speed, by multiplying the mouse's speed with restitution, which is what we'll do here but simpler. The problem with that one was it just didn't get enough speed, so it was extremely restricting the receiving ground. And even with that didn't work all the time. We need to make the mouse go sooooo fast that it will stop on any ground, even if it's not the same rotation as the final restitution ground. M = Mouse M × 9999^3 = Stop ≠ Complete Stop M × 9999^2 × 9999999 = Complete Stop (This means no matter the angle of the receiving ground, the game is going to force you to come to a complete stop. The first restitution ground your Mouse hits, will send your mouse up, then the second restitution ground your mouse hits, will send your mouse an equal but opposite angle that you received from. So if you went up 90 degrees, you'll go out at 0/180 degrees. (Assuming the second restitution ground is 45/-45 rotation.) I recommend you use a protractor to figure out the math for that. Now the last part is easy, once you hit the last restitution ground, it will launch you in the direction it's rotated at, no math, just point it where you want to go, and you're there. Now go to the next tab, it's time to actually start making this. Keep in mind for all the XML's you're bouncing a total of three times, no matter what it looks like. XML For Advanced Teleportation <C><P /><Z><S><S P="0,0,0.3,0.2,0,0,0,0" H="70" L="800" o="767f9f" X="422" c="4" Y="104" T="12" /><S P="0,0,0.3,0.2,0,0,0,0" X="50" L="70" o="767f9f" H="300" c="4" Y="220" T="12" /><S P="0,0,0000,9999,0,0,0,0" L="101" o="dc5629" H="44" X="50" Y="360" T="12" /><S P="0,0,0.3,0.2,0,0,0,0" L="30" o="324650" H="40" X="0" Y="349" T="12" /><S P="0,0,0.3,0.2,0,0,0,0" L="30" o="324650" H="40" X="100" Y="350" T="12" /><S P="0,0,0000,9999,-45,0,0,0" L="100" o="dc5629" H="60" X="29" Y="83" T="12" /><S P="0,0,0000,9999999,45,0,0,0" L="100" o="dc5629" H="60" X="813" Y="85" T="12" /><S P="0,0,0.3,0.2,45,0,0,0" X="654" L="100" o="767f9f" H="400" c="4" Y="244" T="12" /><S P="0,0,0.3,0.2,0,0,0,0" L="800" o="324650" H="100" X="400" Y="400" T="12" /><S P="0,0,0.3,0.2,0,0,0,0" L="150" o="324650" H="40" X="560" Y="350" T="12" /></S><D /><O /></Z></C> Look at all the ground properties of the orange grounds, as you can see, the very last one, has restitution at 9999999, no more, no less. With the combination of the first two grounds, this makes the mouse come to a full on stop, even when friction is at 0, cool, right? But how do you make the last ground have 9999999 restitution? Is what you may be wondering, after all restitution only goes up to 9999, is Mousechris a haxor??? Well that's where XML editing comes in, and trust me, it's the only part that includes it, do it once and you never have to again. So let's take a normal XML that contains a ground. <C><P /><Z><S><S H="50" P="0,0,0.3,0.2,0,0,0,0" L="800" o="324650" X="400" Y="380" T="12" /><S H="63" P="0,0,0,9876,0,0,0,0" L="132" X="523" Y="368" T="3" /></S><D /><O /></Z></C> I made the restitution for the lava ground 9876, so we can find it easy. Copy and paste the XML somewhere, I recommend the forum Text Box, just don't submit it as a comment, if you think you might forget and submit it as a comment, use Microsoft Word. Now do ctrl + f and type in 9876 and it will instantly show itself, change the value to 9999999. And just resubmit the XML into the Map Editor, so easy! Now as you can see from the first XML, I included a path to judge where the mouse will land, you should do this too, just remove the grounds once you're done. Notice the final receiving ground makes where you land wider than where you started, so you'll want some room for mice to well, not die. Position all the grounds so that you'll know you'll be sent to a certain location, and that's it. With this, so long as you're not obstructed by anything to your path, you can literally send a mouse anywhere in the map. Now that you've figured that out, this one should be EASY, or if you didn't figure that one out, maybe this is more suited for you. <C><P /><Z><S><S H="40" P="0,0,0,9999,0,0,0,0" L="120" o="e06a43" X="400" Y="380" T="12" /><S H="150" P="0,0,0.3,0.2,0,0,0,0" L="800" o="324650" X="400" Y="450" T="12" /><S P="0,0,0,9999,0,0,0,0" L="120" o="e06a43" H="40" X="400" Y="30" T="12" /><S P="0,0,0,9999,90,0,0,0" L="120" o="e06a43" H="40" X="290" Y="140" T="12" /><S P="0,0,0,9999,90,0,0,0" L="120" o="e06a43" H="40" X="700" Y="140" T="12" /><S P="0,0,0.3,0.2,0,0,0,0" L="200" o="324650" H="40" X="620" Y="240" T="12" /></S><D /><O /></Z></C> In terms of X/Y-Axis Teleporters, you should keep friction at 0, this will make it so mice won't get stopped when they teleport. So you can keep your speed. Really that's all there is to X/Y-Axis Teleporters, it's that simple. Just make sure each ground is the same length/height as one another and is on the same X or Y axis, that way there isn't a single pixel the mouse will hit that will kill it. Useful Tips! Use the Y-Axis Teleporters, and you can figure out that if you make the restitution grounds have negative mass, it all still works, this means you could connect shaman objects to these grounds, don't know what you could use this for but just pointing this out. <C><P /><Z><S><S P="1,-666,0,9999,0,1,0,0" X="400" L="120" o="e06a43" H="40" c="3" Y="380" T="12" /><S P="0,0,0.3,0.2,0,0,0,0" L="800" o="324650" H="150" X="400" Y="450" T="12" /><S P="1,-666,0,9999,0,1,0,0" L="120" o="e06a43" H="40" X="400" Y="30" T="12" /></S><D /><O /></Z></C> The color code to the background is 6A7495 if you want to hide any grounds used for advanced teleportation, without having to edit the XML. Because of how advanced Teleportation works, you'll only hit each ground once, this means you could potentially put dynamic objects around the sending platform and they won't get in the way. Unlike with X/Y-Axis Teleporting. When using advanced teleporting, make sure grounds look labeled properly, so use color grounds. I could say if I step on a yellow sending ground, I'd expect to be sent to a yellow receiving ground. If you need to send a mouse to a certain location, but getting there with three angled grounds won't cut it, just do some maneuvering with another ground that is equal to M = 9999^2 × 9999999. I think M = 0.3 so let's take that. Which would put bring your total multiplied restitution to 299939973005999.7. In other words, just find a way to add more grounds but get you to around that, and you should break the speed limit, which would force you to stop at any ground. Though that's a lot more complicated than you may think, I may update the thread later if I figure out a pattern to that. |
Uditya « Citoyen » 1438051200000
| 0 | ||
Very nice thread I'm sure that this will come in handy one day Dernière modification le 1438051260000 |
0 | ||
Awesome thread, this will be useful for me. Thanks, Chris. :) |
0 | ||
It seems like I knew almost half of this already :O yas i understand btw nice explimation lol |
Peridot1 « Citoyen » 1438116420000
| 0 | ||
Very interesting! Im not the best with portals but this should help! |
Candyxx3 « Citoyen » 1491662700000
| 0 | ||
Thanks |
Hydroper « Citoyen » 1502655600000
| 0 | ||
Perfect <3 I've did something similiar in a map. |
Ruhani « Citoyen » 1560669840000
| 0 | ||
Thanks |
0 | ||
Very helpful topic for map makers Thanks <3 |