Mod Ideas/Sticky Boots
Description
This little mutator will give everyone in the game sticky boots. What this basically means is that the player will always be perpendicular to the surface they are standing on. These wonderful little toys will also allow the wearer to run up walls and stick to ceilings. It will almost certainly work best with curvy levels and it should be impossible to run up right angled walls.
I've not decided what to do about jumping yet - I'm inclined to disallow it as it raises all sorts of complicated issues - like do they travel at right angles to the surface they are standing on or fall (and rotate) in the direction the gravity is pointing.
As far as I could tell it couldn't be done in UT. Admittedly I got side tracked by real life just as I was looking at this one, but it seemed tough to do. And I'll have to go and re-learn all the vector maths I've forgotten over the last decade. One of the few bits of maths I was good at.
Interested Scripters
If you are interested in developing this mod for UT2003 then add your name to the list. Once you start development you should indicate that below (and hopefully include a link to a journal page). Before you start development you should also check this section to see if anyone else has started.
Discussion
Tarquin: I read somewhere that there's a PHYSICS_Spider thing somewhere in UT. Either that or its in a custom thing. Or I dreamt it. erm...
Mychaeel: Indeed, there's PHYS_Spider built into the engine. Allegedly it even works, but it's not quite as sophisticated as for instance AvP's wall crawling. From what I read PHYS_Spider allows you to walk flat surfaces, but you'll fall down as soon as you reach a surface edge.
EntropicLqd: Yeah - I found that and tried it out. It sort of works but you wind up not being able to move and stuff - a right pain in the bum. Shame really.
Jb: According to the UDN UT2003 did not have the PHYS_Spider implemented yet. However that document was old so maybe they have by now?
Mychaeel: I frankly doubt it, unless they're using it in the game somewhere themselves.
Kuhal: If you stipulate that the boots work by some sort of anti-gravity "magic" and align themselves to the nearest hard surface, then you could allow jumping - even upside down. If the work by some sort of sticky ozze or something (fun idea) then you can make it so that the player must keep walking (i.e. 1 foot always on the ground) to avoid falling. The ooze evaporates rapidly which is the only way the player can move at all otherwise they would be stuck in place. In such a scenario, if the player stops moving, then the ozze disappears and they fall victim to normal gravity again. Could be very funny indeed. Similar thing would apply to spider style sticky boots or gecko-style....
Claw: Mychaeel –> They do? Never heard of that, but it would be cool if it was supported. In UT, PHYS_Spider was only a remains of Unreal, where some pawns used it. But it wasn't meant for the players, and there were no controls written for it. A "simple" matter of writing a "wall crawling" state for player pawns (and bots).
[Apoc]Death: I'm writing Reactor4's MatrixMoves for UT2003... Almost done too... Just chiming in to say PHYS_Spider is implemented in an unused PlayerSpidering state in Engine.PlayerController, and does work decently well (only a few bugs on some static meshes, and it by default was climbing invisible blocking volumes, but that at least i could fix). Writing my wall _running_ state has been anything but a simple matter though...
StormLord: The PlayerSpidering state also messes up aiming, since every time your floor normal vector changes, it rotates your view accordingly. I changed it a bit so that it always conserves your aiming direction and smoothly interpolates your left-direction (Y-vector) to be perpendicular to the floor normal. This way you can aim up and down and left and right, without your 'up-axis' causing problems, so you can stand on a wall and still fight. Is there a good place somewhere for me to post the code, so that everybody can use it? (Unfortunately I had to override the PlayerPawn class, so I had to create a new game type. Maybe someone here knows how to do it with a mutator?)
Graphik: This mod has already been done elsewhere. I'll look for a link.
T1: Fraghouse mod team's Stunt Man mutator implements a toggle-able glue mode that works like this, among other things.
http://fraghouse.beyondunreal.com/ut2004work.php <– Scroll down till you see Stunt Man.